Programming Languages

ziggy on 2002-12-27T20:51:33

Over on the perl advocacy mailing list, Uri Guttman mentions what it was like learning how to program at MIT many years ago:

the level of experience of the student body makes for a a different learning experience. in another class on compilers, the recitation (30 students) instructor asked to name languages we knew. we came up with over 100 in a few minutes. and that was 25 years ago. if they asked that in the CUNY class, i bet they would have topped out at 15 or so.
That got me wondering: how many programming languages have I used? I stopped counting when I hit 30. I know I'm forgetting a few, and a few on the list I forgot about until I thought about all of the projects I worked on at past jobs. To be fair, I'm not an upperclassman taking a compilers course at the moment. :-)


Quality, not quantity

jjohn on 2002-12-28T02:13:04

Is there value in experiencing different language design philosophies? Yes. Learning 30 C-like languages is probably not that broadening an experience. If you don't know perl, python or ruby, you ought to pick one those up. If you know python, why learn Perl? If you know ruby, what's python going to buy you? If you've never experienced the low-level chaos of an assembly language, go get your learn on. I think you only need to sample 6-10 radically different languages to get the point. Personally, I gravitate towards language laywers more than language tourists (then again, I'm only just monolingual).

However, your mileage may vary.

"guttural" languages

gizmo_mathboy on 2002-12-28T04:19:07

I've always pondered upon the value of learning assembly. I remember reading somewhere that if you didn't learn assembly when you were young (programming language wise I think) then don't when you older. I think it went something like, "it is a good thing to learn when you are young but a fool's errand when you are older."

So do you think it would be worthwhile?

Re:"guttural" languages

ziggy on 2002-12-28T15:06:53

So do you think it would be worthwhile?
Yes, depending on which assembly language you choose to learn. Intel's x86 architecture is nasty -- too many needless restrictions. The VAX and 68000 architectures were quite nice, but have been cast aside thanks to the incessant march of Moore's law. RISC assembly isn't meant for mere mortals to hand code -- it's designed for a compiler.

If you've never programmed in assembly before, the best way to get your feet wet is to play with parrot. :-)

Re:Quality, not quantity

ziggy on 2002-12-28T15:14:40

Is there value in experiencing different language design philosophies? Yes. Learning 30 C-like languages is probably not that broadening an experience.
True. I don't think there are 30 C-like languages out there. A few of the languages I counted were Bourne shell analogs on other platforms (DCL on VMS, Prime's DCL on Primos, etc.). I doubt that someone starting out today would see as many different languages because software has mostly stabilized around Windows and a small number of UNIXes, as well as C and it's progeny.

It used to be that once you learned about 10 random languages, you got exposed a decent variety of paradigms. I daresay that's still the case -- it's difficult to learn 10 C-like languages without seeing at least one procedural, object oriented, and task specific "little" language (sed, make, SQL, etc.).

Many of the languages I had counted are insignificant. Uri's professor had a point - that the One True Language fallacy is indeed a fallacy, and that there's a reason for multiple languages to exist (C, lex, yacc, sh, sed, awk, perl, etc.)