# Fuck you, Programming Language Concepts professor!

**URL:** <https://boards.straightdope.com/t/fuck-you-programming-language-concepts-professor/357592>\
**Category:** The BBQ Pit\
**Created:** [May 21, 2006, 1:19am UTC](https://boards.straightdope.com/t/fuck-you-programming-language-concepts-professor/357592 "2006-05-21T01:19:54Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![Derleth](https://avatars.discourse-cdn.com/v4/letter/d/b9e5f3/32.png) [@Derleth](https://boards.straightdope.com/u/Derleth)\
**Post date:** [May 21, 2006, 4:26pm UTC](https://boards.straightdope.com/t/fuck-you-programming-language-concepts-professor/357592/21 "2006-05-21T16:26:58Z")

</div>

> [@Finagle](#):
>
> An even nitpickier nitpick. This [timeline](http://www.levenez.com/lang/history.html#03) shows Kernighan and Ritchie C as having been released in 1978. While C existed before, it was K&R C that became the darling of the more hardcore academic community in the late 70’s.

Correction accepted. I should have known one was coming. 😉

> [@](#):
>
> Pascal was the programming language of choice because it supported modularity and (in theory) good programming design

Plus, of course, it was designed to be easy to compile on generally insufficient machines and standard Pascal’s I/O model (so ably skewered by Kernighan) pretty much assumes punch cards.

> [@Digital Stimulus](#):
>
> As to introductory CS material, my humble opinion is that C++ is probably the worst of the major languages with which to start computer science students (perhaps it’s OK for computer applications people, as they need all the experience they can get in the language they’ll most likely be using). Personally, I think Scheme is the best choice for a first course; syntax just doesn’t get any easier (assuming a parenthesis matching editor), debugging is relatively straightforward (as it’s interpreted), recursion is (necessarily) adequately covered, and students get some exposure to functional programming. Data structures should be taught in straight C; the concepts translate directly into code and you pretty much can’t get away with not understanding memory allocation and run-time performance (space and time complexity) and pass such a course. I could see using assembly, but it’s not necessary – best tool for the job, and assembly detracts from conceptual presentation. From there, professor’s choice; whatever works (except for Operating Systems, which should also require C). Oh, and it should be required that at least one of the beginning courses require Unix. It’s scary to me that a junior wouldn’t know how to work from the command line (yes, I’ve met some).

I agree with much of this, and I disagree only in detail. I think ‘odd’ programming languages should be taught more, languages like Haskell (to teach type systems other than the C model), Erlang (concurrency, basics of IPC), Smalltalk (object systems, GUI design), Forth (write a device driver, extend the compiler), and, yes, both Scheme and Common Lisp (Scheme because it has first-class continuations, Common Lisp because it has everything else). I like the idea of teaching data structures in Lisp because it’s so easy to turn data into code and turn data processing into an exercise in compiler design. Memory references and efficiency is a topic all its own and should be taught in C, but I don’t get the huge aversion to assembly. Knuth likes it well enough.

A better way might be to have students design their own languages that must support different paradigms to a given extent. This dovetails neatly into a course on compiler design, which necessarily requires data structures and cost/benefit analyses (treating strings as lists: defensible; treating numbers as lists: not so much). My thrust is that we should teach students that paradigms and strategies matter more than syntax (or the lack thereof, in the case of Forth and Lisp), and we should dispel forever the hoary old fallacy that all languages are equally powerful. (The next one who claims that rewrites Microsoft Word in INTERCAL.)

OSes are another area where students should be exposed to a whole lot more than they ever are. Smalltalk, Lisp, and Forth are all good entries into OS design. There needs to be some focus on OSes that handle persistence transparently, as opposed to the filesystem model (Smalltalk, again). Students should understand what goes into designing a GUI, and why GUIs largely have not changed for over 25 years. Of course, they should also learn the advantages of the command line, as well as the advantages of batch processing and how batch gave way to the command line. (Or hasn’t, in the case of the AS/400 and so on.) Virtual machines (hypervisors, to you marketers out there) should be taught not only because they’re a useful and interesting topic, but because it’s blindingly obvious that they’re the New Old Thing and aren’t going away again for a while. A compare-contrast between VM (as in CMS), VMWare, and Xen is in order. Again, concepts rule over specifics and the Great Wheel will turn.

---

<div class="post-metadata">

**Author:** ![Capt.Ridley\_s\_Shooting\_Party](https://avatars.discourse-cdn.com/v4/letter/c/cc9497/32.png) [@Capt.Ridley\_s\_Shooting\_Party](https://boards.straightdope.com/u/Capt.Ridley_s_Shooting_Party)\
**Post date:** [May 21, 2006, 4:27pm UTC](https://boards.straightdope.com/t/fuck-you-programming-language-concepts-professor/357592/22 "2006-05-21T16:27:41Z")

</div>

> [@](#):
>
> On a side note, it’s a shame that C++ isn’t the ‘standard’ programming languange taught in universities.

No it isn’t. C++ is a mess.

---

<div class="post-metadata">

**Author:** ![ultrafilter](https://avatars.discourse-cdn.com/v4/letter/u/3d9bf3/32.png) [@ultrafilter](https://boards.straightdope.com/u/ultrafilter)\
**Post date:** [May 21, 2006, 4:39pm UTC](https://boards.straightdope.com/t/fuck-you-programming-language-concepts-professor/357592/23 "2006-05-21T16:39:38Z")

</div>

> [@Dominic Mulligan](#):
>
> No it isn’t. C++ is a mess.

Maybe, but most programming jobs outside of web programming require a knowledge of it.

I like C++ as a teaching language because it’s impossible to just code and ignore issues of how memory and pointers work. You can’t be a great programmer if you don’t understand those topics.

---

<div class="post-metadata">

**Author:** ![WolfpackJeep](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/wolfpackjeep/32/2921_2.png) [@WolfpackJeep](https://boards.straightdope.com/u/WolfpackJeep)\
**Post date:** [May 21, 2006, 4:46pm UTC](https://boards.straightdope.com/t/fuck-you-programming-language-concepts-professor/357592/24 "2006-05-21T16:46:17Z")

</div>

> [@Digital Stimulus](#):
>
> Wow, I’m surprised at the sink-or-swim attitude expressed thus far.

In my experience, that attitude is very typical of CS people; I remember a professor responding to one of my homework questions by telling me I should change my major.

_Definitely_ look for a TA (a course like this should have more than one). Also, see if any of the student organizations at your university offer tutoring or study sessions.

---

<div class="post-metadata">

**Author:** ![FisherQueen](https://avatars.discourse-cdn.com/v4/letter/f/58f4c7/32.png) [@FisherQueen](https://boards.straightdope.com/u/FisherQueen)\
**Post date:** [May 21, 2006, 4:50pm UTC](https://boards.straightdope.com/t/fuck-you-programming-language-concepts-professor/357592/25 "2006-05-21T16:50:03Z")

</div>

> [@Digital Stimulus](#):
>
> But fer fuck’s sake, it’s like asking a freshman or sophomore math major to be able to do differential equations, or a beginning spanish major to translate a chapter from _Man from La Mancha_ from the original.

Translating part of **“Man of La Mancha”** into English would be well within the powers of any beginning Spanish major, as the work is already in English.

Now, a section of **Don Quixote** might be more difficult…

Just being helpful.

---

<div class="post-metadata">

**Author:** ![ultrafilter](https://avatars.discourse-cdn.com/v4/letter/u/3d9bf3/32.png) [@ultrafilter](https://boards.straightdope.com/u/ultrafilter)\
**Post date:** [May 21, 2006, 4:57pm UTC](https://boards.straightdope.com/t/fuck-you-programming-language-concepts-professor/357592/26 "2006-05-21T16:57:59Z")

</div>

> [@Digital Stimulus](#):
>
> …it’s like asking a freshman or sophomore math major to be able to do differential equations…

As long as we’re nitpicking, this is an entirely reasonable expectation. It’s actually not unreasonable to expect high school calculus students to solve very basic differential equations.

---

<div class="post-metadata">

**Author:** ![Capt.Ridley\_s\_Shooting\_Party](https://avatars.discourse-cdn.com/v4/letter/c/cc9497/32.png) [@Capt.Ridley\_s\_Shooting\_Party](https://boards.straightdope.com/u/Capt.Ridley_s_Shooting_Party)\
**Post date:** [May 21, 2006, 5:26pm UTC](https://boards.straightdope.com/t/fuck-you-programming-language-concepts-professor/357592/27 "2006-05-21T17:26:35Z")

</div>

> [@](#):
>
> I like C++ as a teaching language because it’s impossible to just code and ignore issues of how memory and pointers work. You can’t be a great programmer if you don’t understand those topics.

Yet they’re, in my experience, one of the hardest things to grasp. Enough people struggled with learning Java in first year here (one of the top five CS departments in the country) that I don’t think it’s unreasonable to believe that even more people would struggle if they’re having to deal with memory management as well. The drop out rate is high enough as it is (~300 in first year, ~40 third year).

The way our department now does it (different to when I started!) is to teach Haskell first, then Prolog, then Java, and C, Matlab, Python etc. is used in later years for specific courses. I think that that is a nice mix.

---

<div class="post-metadata">

**Author:** ![Digital\_Stimulus](https://avatars.discourse-cdn.com/v4/letter/d/aeb1de/32.png) [@Digital\_Stimulus](https://boards.straightdope.com/u/Digital_Stimulus)\
**Post date:** [May 21, 2006, 5:35pm UTC](https://boards.straightdope.com/t/fuck-you-programming-language-concepts-professor/357592/28 "2006-05-21T17:35:35Z")

</div>

> [@Derleth](#):
>
> I agree with much of this, and I disagree only in detail.

Thanks. I was gonna mention Forth, Smalltalk, and Prolog, but was already going a bit long. A lot of the other stuff I can’t really talk about at the requisite level – after all, I’m partially a product of exactly the type of academic program against which I’m railing.

> [@FisherQueen](#):
>
> Translating part of “Man of La Mancha” into English would be well within the powers of any beginning Spanish major, as the work is already in English.

> [@ultrafilter](#):
>
> It’s actually not unreasonable to expect high school calculus students to solve very basic differential equations.

Yeah–the danger of making a point by analogy. I was trying to come up with something not _too_ outlandish (e.g., a pre-med student performing surgery), but not elementary. Being neither a math nor spanish major, I attempted to make the examples reasonable. So long as y’all got the point. 🙂

---

<div class="post-metadata">

**Author:** ![Soapbox\_Monkey](https://avatars.discourse-cdn.com/v4/letter/s/ed655f/32.png) [@Soapbox\_Monkey](https://boards.straightdope.com/u/Soapbox_Monkey)\
**Post date:** [May 21, 2006, 5:56pm UTC](https://boards.straightdope.com/t/fuck-you-programming-language-concepts-professor/357592/29 "2006-05-21T17:56:55Z")

</div>

> [@Dominic Mulligan](#):
>
> No it isn’t. C++ is a mess.

Which is why I’m glad it’s my schools language of choice. When they start you out on one of the messiest languages, trying everything else is cake. Delicious cake.

---

<div class="post-metadata">

**Author:** ![ultrafilter](https://avatars.discourse-cdn.com/v4/letter/u/3d9bf3/32.png) [@ultrafilter](https://boards.straightdope.com/u/ultrafilter)\
**Post date:** [May 21, 2006, 5:58pm UTC](https://boards.straightdope.com/t/fuck-you-programming-language-concepts-professor/357592/30 "2006-05-21T17:58:08Z")

</div>

> [@Dominic Mulligan](#):
>
> Yet they’re, in my experience, one of the hardest things to grasp. Enough people struggled with learning Java in first year here (one of the top five CS departments in the country) that I don’t think it’s unreasonable to believe that even more people would struggle if they’re having to deal with memory management as well. The drop out rate is high enough as it is (~300 in first year, ~40 third year).

If they can’t hack a beginner’s C++ class, I don’t want to hire them.

---

<div class="post-metadata">

**Author:** ![scotandrsn](https://avatars.discourse-cdn.com/v4/letter/s/a4c791/32.png) [@scotandrsn](https://boards.straightdope.com/u/scotandrsn)\
**Post date:** [May 21, 2006, 6:10pm UTC](https://boards.straightdope.com/t/fuck-you-programming-language-concepts-professor/357592/31 "2006-05-21T18:10:43Z")

</div>

> [@ultrafilter](#):
>
> Maybe, but most programming jobs outside of web programming require a knowledge of it.
> 
> I like C++ as a teaching language because it’s impossible to just code and ignore issues of how memory and pointers work. You can’t be a great programmer if you don’t understand those topics.

Sadly, though, in the Visual Studio-dominated environment that represents far too large a chunk of commercial programming environments these days, C++ is not as useful as it once was.

A co-worker of mine did some benchmark tests, and found that on the .NET platform, using pointers and such, which was once a way of using C++ to access memory in a more direct and speedy fashion, results in a performance _hit_.

The sad fact is that programming is now so far up on its own high level of abstraction that it doesn’t relate directly to the hardware at all. When I progarm using the standard Python IDE, I feel as far from the hardware as I did doing Logo (with Turtle Graphics!) as a kid. So much of that interface is now a part of the OS that a course in that subject is now the only place it’s practical to address that level of hardware/software interaction.

A couple of years ago, I taught a web design class and an Honors CS class at the high school I work at. The CS students had a hell of a time grasping OO concepts in C++, whereas the Web kids grasped the ideas right away with Javascript.

I now introduce OO with Javascript in the CS class. I make up for it doing a heavy dose of harward and assembler as well.

---

<div class="post-metadata">

**Author:** ![Digital\_Stimulus](https://avatars.discourse-cdn.com/v4/letter/d/aeb1de/32.png) [@Digital\_Stimulus](https://boards.straightdope.com/u/Digital_Stimulus)\
**Post date:** [May 21, 2006, 6:11pm UTC](https://boards.straightdope.com/t/fuck-you-programming-language-concepts-professor/357592/32 "2006-05-21T18:11:45Z")

</div>

> [@Soapbox Monkey](#):
>
> Which is why I’m glad it’s my schools language of choice. When they start you out on one of the messiest languages, trying everything else is cake. Delicious cake.

Interesting. So, why’d you start the thread in the first place? Obviously, bison should’ve been trivially easy to pick up…declicious cake, right?

---

<div class="post-metadata">

**Author:** ![RaftPeople](https://avatars.discourse-cdn.com/v4/letter/r/6f9a4e/32.png) [@RaftPeople](https://boards.straightdope.com/u/RaftPeople)\
**Post date:** [May 21, 2006, 6:46pm UTC](https://boards.straightdope.com/t/fuck-you-programming-language-concepts-professor/357592/33 "2006-05-21T18:46:44Z")

</div>

> [@Digital Stimulus](#):
>
> Wow, I’m surprised at the sink-or-swim attitude expressed thus far…

Thanks for posting this. I’m reading through this thread thinking a number of thoughts:

1. If the prof isn’t supposed to teach him, then what is the prof supposed to do?
2. In my personal experience, being taught something is far more efficient than having to research and figure it all out on my own. There should be an appropriate balance.
3. I can’t think of any context in which the prof’s job is to “break you.”

95% of my computing history has been of the “sink or swim, learn it yourself” variety, and like most technical people that enjoy computers, I’m good at figuring stuff out in this manner. But that doesn’t mean my time wouldn’t have been better spent having knowledgeable people teach me.

---

<div class="post-metadata">

**Author:** ![RaftPeople](https://avatars.discourse-cdn.com/v4/letter/r/6f9a4e/32.png) [@RaftPeople](https://boards.straightdope.com/u/RaftPeople)\
**Post date:** [May 21, 2006, 7:21pm UTC](https://boards.straightdope.com/t/fuck-you-programming-language-concepts-professor/357592/34 "2006-05-21T19:21:16Z")

</div>

> [@Derleth](#):
>
> Of course, they should also learn the advantages of the command line, as well as the advantages of batch processing and how batch gave way to the command line. **(Or hasn’t, in the case of the AS/400 and so on.)**

I’m really confused by this comment. Given that the operating system for the AS400 is and always has been (as well as it’s predecessor the System38) a command line interface, what are you trying to say?

Here is a list of more valuable operating system concepts fairly unique to the AS400 in the commercial space that should be learned:  
Object Based  
Everything is an object with well-defined set of actions that may be performed. For example you can’t execute a “file”, only a “program”, etc.

Flat Memory Model  
128 bit flat address space. Every permanent object is assigned a location which is mapped to memory/disk etc. Programmer refers to object by it’s pointer, programmer never needs to know if object is currently in memory or not, operating system handles that.

Capability Based Security  
A very secure method of memory/object access that is of key interest to operating systems researchers. AS400 is one of few commercial systems that use this method.

> **[Capability-based security](https://en.wikipedia.org/wiki/Capability-based_security)**
>
> Capability-based security is a concept in the design of secure computing systems, one of the existing security models. A capability (known in some systems as a key) is a communicable, unforgeable token of authority. It refers to a value that references an object along with an associated set of access rights. A user program on a capability-based operating system must use a capability to access an object. Capability-based security refers to the principle of designing user programs such that they di...

Hardware Abstraction  
Same program that ran on an AS400 in 1988 will execute on a current AS400 despite multiple CPU changes including hardware address size change from 48 bits to 64, and a switch from CISC to RISC.

---

<div class="post-metadata">

**Author:** ![Rysto](https://avatars.discourse-cdn.com/v4/letter/r/ecccb3/32.png) [@Rysto](https://boards.straightdope.com/u/Rysto)\
**Post date:** [May 21, 2006, 7:35pm UTC](https://boards.straightdope.com/t/fuck-you-programming-language-concepts-professor/357592/35 "2006-05-21T19:35:25Z")

</div>

> [@RaftPeople](#):
>
> 1. If the prof isn’t supposed to teach him, then what is the prof supposed to do?

The prof’s job isn’t to teach him to use a specific tool like bison. Instead, he should be teaching the concepts that underlie bison(like CFGs and how you parse a program with them). It’s up to the student to apply these concepts.

---

<div class="post-metadata">

**Author:** ![ultrafilter](https://avatars.discourse-cdn.com/v4/letter/u/3d9bf3/32.png) [@ultrafilter](https://boards.straightdope.com/u/ultrafilter)\
**Post date:** [May 21, 2006, 7:39pm UTC](https://boards.straightdope.com/t/fuck-you-programming-language-concepts-professor/357592/36 "2006-05-21T19:39:02Z")

</div>

> [@RaftPeople](#):
>
> 1. I can’t think of any context in which the prof’s job is to “break you.”

It’s a bit of hyperbole, but assuming this is a freshman/sophomore class, weeding folks out is the right thing to do. Demand for slots in undergraduate computer science programs far outweighs the supply, and so they do have to figure out who’s serious about it and who will do well.

---

<div class="post-metadata">

**Author:** ![Linty\_Fresh](https://avatars.discourse-cdn.com/v4/letter/l/c5a1d2/32.png) [@Linty\_Fresh](https://boards.straightdope.com/u/Linty_Fresh)\
**Post date:** [May 21, 2006, 7:58pm UTC](https://boards.straightdope.com/t/fuck-you-programming-language-concepts-professor/357592/37 "2006-05-21T19:58:40Z")

</div>

I got my programming start in a votech institute specializing in computer programming, not the regular college kind of deal. We went full time for ten months, concentrating on different languages and concepts about once every month. Since that year, I have gotten a job in an academic library, and I’ve run into my fair share of CS professors, and they strike me as being more or less like the votech instructors I had.

I’m with the OP on this one, and in my opinion, most of these professors are sink or swim for the simple reason that they are lousy teachers. A lot of these guys don’t know how to talk to people, they don’t know how to get their points across to a class, and they absolutely _cannot_ remember back to the time when **they** were helpless newbies. Most of my teachers ran the gamut all the way from “simply awful” to “not too awful”, with one teacher who was actually quite good at teaching us C++.

These “teachers” were snotty, arrogant, misfit sons-of-bitches, who thought that they had learned everything in life that they needed to know once they learned how to program a computer. IMHO, one teacher could probably have safely been categorized as severely autistic–He was later fired after the administration found that he could not relate basic computer concepts to the class (and that’s saying something). If you didn’t walk into the program knowing the basics already, it didn’t matter what your background was; they treated you like shit. I saw more bad attitudes, more arrogance, and more cluelessness from those teachers than I ever saw during my four year army hitch (and that’s saying something, too).

They would mouth off at a housewife who had spent the last 20 years raising three kids or a truck driver trying to learn a new skill and then get mad when they were called on it. One incident involved my VB instructor, a young punk in his early thirties, calling an ex construction worker in his mid-40’s a “moron” when the construction guy took it upon himself to ask what turned out to be an excellent question. After the instructor had safely locked himself in his office and three of us had pulled the raving construction worker into the break room and talked him down, we returned fully expecting the instructor to be on the phone to the police, or–at best–the administration to get this guy expelled. Luckily, the instructor apologized, answered the question, and the incident was forgotten. He was actually a lot easier to deal with after that. (Note that I’m not happy about what the worker did. He could easily have been arrested, and in any case, threats of grievous bodily harm are just wrong.)

Now once you hit the rarified atmosphere of expertise in any given subject, you can expect your profs to be like that. But this was an introductory course _explicitly_ marketed to people with no background in computers. I didn’t expect to be mollycoddled. I _did_ expect just a _little_ recognition of the fact that some of us didn’t know what pointers were.

My advice to anyone considering the CS field without a background in computers? Teach yourself as much as you can before your first class. Instructors in most fields of study will refuse to hold your hand through the semester, but the dweebs in CS are among the few who will actively try to kick you out into traffic.

Apologies to Dopers who happen to be computer instructors if I sound bitter here. I’m _still_ paying off the loans for that computer class, and the quality of instruction I had to endure there still leaves me a bit bitter. I know that not everyone is like that. Just the ones **I’ve** happened across

---

<div class="post-metadata">

**Author:** ![Capt.Ridley\_s\_Shooting\_Party](https://avatars.discourse-cdn.com/v4/letter/c/cc9497/32.png) [@Capt.Ridley\_s\_Shooting\_Party](https://boards.straightdope.com/u/Capt.Ridley_s_Shooting_Party)\
**Post date:** [May 21, 2006, 9:37pm UTC](https://boards.straightdope.com/t/fuck-you-programming-language-concepts-professor/357592/38 "2006-05-21T21:37:47Z")

</div>

> [@Soapbox Monkey](#):
>
> Which is why I’m glad it’s my schools language of choice. When they start you out on one of the messiest languages, trying everything else is cake. Delicious cake.

Why don’t they start you off programming in machine code?

---

<div class="post-metadata">

**Author:** ![Voyager](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/voyager/32/133_2.png) [@Voyager](https://boards.straightdope.com/u/Voyager)\
**Post date:** [May 22, 2006, 12:11am UTC](https://boards.straightdope.com/t/fuck-you-programming-language-concepts-professor/357592/39 "2006-05-22T00:11:34Z")

</div>

> [@Derleth](#):
>
> Plus, the docs for yacc, the GNU Project implementation of bison, are pretty good.

Yacc predates GNU by quite a lot. It was developed at Bell Labs, and I used in the '80s sometime. I don’t know Bison, but it sounds like an extension of yacc.

> [@](#):
>
> By 1976, Unix had been ported to C and was being distributed to sites around the world in that form. C might not have been available to you, but it was hardly ‘pre C’\*. I do agree with the rest of the statement.
> 
> \*(Unless you used ‘pre C’ to mean ‘pre-Cambrian’. ;))

In 1974 or so the Bell Labs memo on C came to Illinois. As a PDP-11 assembly language programmer my reaction was "++, --, this is assembly language. 🙂 )  
Someone in my group actually did a UNIX port to a PDP-11 around '76, but it was in nowhere near good enough shape to put 100 students on. Some other people had developed the PDP-11 Pascal compiler, so we had some proprietary interest in it.

One of the reasons I have little sympathy for the OP was that for our assembly language class, the first assigment was a Pascal text formatter. It was a pretty easy assignment, but we graded the hell out of it. The purpose was to scare the students into using structured programming. We eventually dropped the lowest grade, but we did suffer student loss from this assignment - but their assembly language code was much better for this ordeal.

---

<div class="post-metadata">

**Author:** ![Rysto](https://avatars.discourse-cdn.com/v4/letter/r/ecccb3/32.png) [@Rysto](https://boards.straightdope.com/u/Rysto)\
**Post date:** [May 22, 2006, 12:28am UTC](https://boards.straightdope.com/t/fuck-you-programming-language-concepts-professor/357592/40 "2006-05-22T00:28:43Z")

</div>

> [@Voyager](#):
>
> Yacc predates GNU by quite a lot. It was developed at Bell Labs, and I used in the '80s sometime. I don’t know Bison, but it sounds like an extension of yacc.

Yeah, he got it backwards. Bison is the GNU implementation of yacc(get the pun?), with a bunch of extensions.

[Previous page](https://boards.straightdope.com/t/fuck-you-programming-language-concepts-professor/357592.md?page=1)

[Next page](https://boards.straightdope.com/t/fuck-you-programming-language-concepts-professor/357592.md?page=3)
