Ada Lovelace is known for being the first computer programmer, which is cool, except 1) she never actually ran her programs, 2) the programs were for a machine that was never built, and 3) neither her program or the machine had any influence on modern CS.
[ . . . ]
Why not instead use Barbara Liskov? The "Liskov Substitution Principle", the 'L' in SOLID, is named after her. Her work on CLU has influenced almost all modern languages. She invented abstract data types. She invented ITERATORS!
[ . . . ]
Or Frances Allen? First woman to win the Turing Award. Major, *major* innovations in optimizing compilers that compiled high level languages into FAST bytecode. Without her we might still be stuck writing assembly for anything that needs performance.
[ . . . ]
@clacke Looking in that 1974 ADT paper, for the examples they use some variant of PASCAL.
I remember coding in PASCAL. Takes me back to my early coding days, it was the second language I learned, after BASIC.
One really good thing in PASCAL that I saw now in that paper, is how you write assignments, to set x to 5 you write
x := 5
In my opinion that was much better than the x=5 that we write nowadays in these fancy-pancy new languages like C. π
@lanodan @clacke I had to look it up now, looks like PASCAL appeared in 1970 and C in 1972 so it's only 2 years difference. But C is a new language, compared to PASCAL. π
About the assignment operator, I was teaching C to beginners and there was always the question why we need to write == in if statements. I wanted to say to the students, "well, I often wonder that myself".
It is especially confusing for students who know a lot of math, then assignment with a simple = is really confusing.
@clacke @lanodan Ah, they made it optional. Probably part of the effort to allow programs to be typed with as few characters as possible, seems to have been considered an important goal back then for some reason. Now I'm not so sure that being able to type short-and-cryptic code is good at all.
I think it would be good if we had non-optional LET syntax or similar in C, that would make our programs easier to understand, and then we could have skipped the double == in comparisons.