There was a thread on this topic back in 2010 (link), but it only garnered four replies. So I decided to start a new one.
Back in college (late 1980s) I had to learn Fortran 77, Pascal, and C as part of the EE curriculum. I got pretty good at Pascal. But the one that really stands out for some reason is Modula-2. It was taught by a professor Messick at the University of Cincinnati, whom I just discovered died three years after I took the class. I still have the printouts of my code for the various assignments. I think some are 30 pages long. I remember spending many evenings in the computer lab on campus, tapping away on a terminal (VT100? Not sure) trying to get my code to compile on the DEC VAX mainframe computer.
Not sure if Modula-2 is used nowadays. Doubtful, but that’s true for a number of languages. Am also curious if any other Dopers learned it or used it for anything.
But as a late 1970s CS undergrad and dev in industry at the time, I’ve got a long list of languages (& OSes) I learned for school or earned money using that are ancient and mostly or most sincerely dead.
OTOH, this question inherently gets into when a language has evolved so much as to be something different.
e.g. Current version Visual Basic 16.0 released in 2019 using .Net Core is a vastly different beast from the BASICs that ran on 1970s processors. But it only takes a glance at a program listing of both to see the common ancestry. OTOH, if we teleported a 1970s commercial BASIC programmer to now, they’d be utterly lost in VB16.0. And unless a current VB16.0 programmer is old enough to have vague memories of Ye Anciente BASICK Versiones, they’d be lost if teleported back the other way. But they’d probably be in better shape to get productive quickly.
I learned Fortran 77 in a programming class and used it at my first job, but after that I never used it again. Just a few years ago I learned Python and used it for a few projects, but then never used it again.
MUMPS (M) and MIIS, along with a variety of derivative languages. Assembler for a bunch of processors. COBOL, APL (both briefly). Forth. Can’t count all the varieties of BASIC I used. Several oddball implementations of common languages like C and FORTRAN.
ETA: Almost forgot about Pascal until I saw @RitterSport’s post below. Also a brief encounter with ALGOL.
I attended electrical engineering school in the late 90/early 2000s. We had courses in Fortran 90, C, C++, Motorola microcontroller assembly, Alterra VHDL.
I learned Pascal on my own when I was in high school, and then it was a required class in college, and I used it during a summer job back in the late 80s. Then, never again.
My contribution was going to be SAS. I used it heavily for a very long time, but haven’t used it at all in at least 10 years. I did a quick search for “most used programming languages” to see where it ranked. The ranking for all languages are all over the place.
The top few are always pretty constant: Python, javascript, java, C, etc., but beyond that it could be anything. Fortran rates remarkably high in some lists. I know it isn’t dead, but more popular than R? Other lists put it very low.
I guess there are just too many ways to judge popularity. Number of github projects, number of job postings, engineers claiming experience, amount of training available, Internet buzz, plus more, and combinations of all of those.
So if we’re going to do dialects, I’ll have to say VAX BASIC. I doubt it was widespread in 1991 or so when I used it, and can only have gone down since.
I learned a half-dozen languages as a CS major in the 70’s (including Pascal and Fortran), and learned another half-dozen in my working career. There was no overlap between the two.
Jeez, Algol. When I was first learning to program, I only heard of APL and Algol as sort of legendary languages that no one used anymore (in the late 70s and 80s). I guess I did a fair amount of 6502 assembly programming back then, and not since.
ETA: Oh and I learned FORTH back then, wrote a few things, and never used it again.
I first learned BASIC, FORTRAN, and COBOL in high school math class. A few years after graduation, I then learned the particular dialects of BASIC used for all three versons of the TRS-80 Color Computers. I also learned assembly language for the CoCo3.
Algol was the primary high level language for Burroughs computers. It was also available for IBM 360 and I had to adapt some ALGOL code written with that to use on Fortran. Converting software across languages became my specialty so I was exposed to a lot of weirdware.
I started my professional IT career developing in a 4GL called Clarion, initially on MS DOS and later on Windows. I transitioned to Business Intelligence in 95-96 and moved away from development.
I started training in 1976 (tech school, not university). We learned RPG II — the programming language, not a game — COBOL, FORTRAN and (extra credit) Assembler on an IBM System/3. S/3 Assembler was a tad weird because the system could only add and subtract, which made multiplication and division interesting.
During my 41+ in the game I used RPG, COBOL, VB 3-6, VB.Net, C#, dBase IV, Oracle and Microsoft SQL, and a strange tool for programming voice response applications. I retired in 2018, and with the possible exception of COBOL (used at my last job) and C#, I doubt I could program my way out of a wet paper bag using any of them.
I remember one class in college where we learned Lisp as part of the class. All I remember now is “eval” and a shitload of parentheses. And back in those days we didn’t have editors that would highlight pairs of parentheses, so you pretty much had to count them by hand to make sure they matched up.
Other CS classes used either Pascal or C, both of which I used early in my professional career, but haven’t used either for many years.
I taught myself QuickBasic as a child. It was pretty common at the time for hobbyists to use it, but now it’s only used by retro programming enthusiasts.
Very likely a VT100 as they were very common “dumb” character-mode terminals of the day. We had lots of them in the computer lab where I used to work, plus a bunch of VT105s which were VT100s with limited graphics capability.
As for languages, there were lots that I knew back in the day. FORTRAN IV was probably the one I most often used, but just off the top of my head there was also ALGOL, BASIC, PL/1, and many others, plus the machine languages for the PDP-8, PDP-11, and PDP-10. The only ancient language from that era that’s still used is COBOL, ironically the oldest of them all.
Very true, and this was mentioned before in some other discussion. Visual Basic is actually a pretty powerful object-oriented language, and because it’s so tightly integrated with the Windows paradigm it’s a great tool for rapid prototyping.
I became quite proficient in it when I was managing a large software development project and we were trying to establish the system requirements, only to discover that the client didn’t really know what the hell they wanted except in very general terms. I took it upon myself to learn VB and quickly developed literally hundreds of interactive screens. They didn’t actually do anything but they demonstrated proposed workflows and UI content and allowed the client to play with different ideas until they had something they liked.
At which point all the screen shots and their descriptions and the workflows that connected them became literally a major part of the functional specification document, which we informed the somewhat ditzy client would be considered frozen once they signed off. Of course that never really works, but it conditioned the client to expect a formal change review process and impact assessment every time they got a new hare-brained idea.
I wrote plenty of BASIC back in the day, for several different microcomputers. Some Modula-2 (and wrote a compiler for a subset of Oberon, but that was in C.)
I suppose the oddest programming language I’ve every worked with a bit was PL/M, a rather low-level language originally written to run on Intel microprocessors. It was on its last legs when I encountered it in the early '90s, but Intel still had a cross-platform compiler for it. It was the original implementation language for CP/M, so a little bit of it survives in Windows, in a Ship-of-Theseus way.