Slashdot Mirror


Slashdot Asks: What Was Your First Programming Language? (stanforddaily.com)

This question was inspired by news that Stanford's computer science professor Eric Roberts will try JavaScript instead of Java in a new version of the college's introductory computer programming course. The Stanford Daily reports: When Roberts came to Stanford in 1990, CS106A was still taught in Pascal, a programming language he described as not "clean." The department adopted the C language in 1992. When Java came out in 1995, the computer science faculty was excited to transition to the new language. Roberts wrote the textbooks, worked with other faculty members to restructure the course and assignments and introduced Java at Stanford in 2002... "Java had stabilized," Roberts said. "It was clear that many universities were going in that direction. It's 2017 now, and Java is showing its age." According to Roberts, Java was intended early on as "the language of the Internet". But now, more than a decade after the transition to Java, Javascript has taken its place as a web language.
In 2014 Python and Java were the two most commonly-taught languages at America's top universities, according to an analysis published by the Communications of the ACM. And Java still remains the most-commonly taught language in a university setting, according to a poll by the Special Interest Group on Computer Science Education. In a spreadsheet compiling the results, "Python appears 60 times, C++ 54 times, Java 84 times, and JavaScript 28 times," writes a computing professor at the Georgia Institute of Technology, adding "if Java is dying (or "showing its age"...) it's going out as the reigning champ."

I'm guessing Slashdot's readers have their own opinions about this, so share your educational experiences in the comments. What was your first programming language?

33 of 633 comments (clear)

  1. Fortran by jfdavis668 · · Score: 3, Informative

    Needed it for an engineering course. My first actual programming course used PL/I

    1. Re:Fortran by petes_PoV · · Score: 2
      A 6-week university course using teletypes on an old IBM. After that the college switched to Multics, PL/1 and 600 Baud VDUs. So much quieter.

      I can still write FORTRAN programs in any of the many, many, languages I use today.

      --
      politicians are like babies' nappies: they should both be changed regularly and for the same reasons
    2. Re:Fortran by Megane · · Score: 3, Interesting

      I'm not quite old enough to have used FORTRAN. I grew up on BASIC and Z-80 assembly language on a TRS-80 (and a bit of HP BASIC on equipment at school), but when I went to college in 1982, they were using PL/I. The first semester was even on IBM equipment, but fortunately they got a VAX late in the semester, because I managed to screw up my JCL by trying to reformat it to be readable. I still don't know why it took DEC so long to add the UNTIL statement to their PL/I compiler.

      Then I got into programming on the Macintosh, so I started using Pascal. Also, Turbo Pascal was a thing, and they were both UCSD variants. But one of the worst things to do is use Pascal and PL/I at the same time. (as in same era, not simultaneously) The function headers are syntactically backwards to each other.

      I didn't even officially switch over to C until after 2000. I even have one program I use sometimes that started with code I originally wrote in college in PL/I, then ported to Pascal, then again ported to C.

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    3. Re:Fortran by Mr+D+from+63 · · Score: 2

      BASIC on my own, a little bit of machine language which I did not have the patience for, then FORTRAN for school.

    4. Re:Fortran by lfp98 · · Score: 4, Interesting

      There was competition at the time between FORTRAN and ALGOL. Physics majors learned ALGOL, which was supposed to be more humane and logical, but the engineers learned FORTRAN, with its brutal efficiency in packing the most computing into the smallest possible space - a big consideration when each line of code was hand-typed on an individual punch card. I was particularly fond of the arithmetic IF: "IF (x-y/z) 10, 15, 20" would take the program to line 10, 15 or 20 depending on whether x-y/z (or any arithmetic expression) was negative, zero or positive.

    5. Re:Fortran by Hognoxious · · Score: 4, Funny

      Wasn't it still called Natural Philosophy then - and taught in Latin?

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    6. Re:Fortran by WalksOnDirt · · Score: 2

      FORTRAN

      Luxury. Our computer knew Fortran but it would take an extra step to use it. We were required to use assembly. Actually, I think that was a Good Thing.

      --
      a,e,i,o,u and sometimes w and y (at be if of up cwm by)
    7. Re: Fortran by Zero__Kelvin · · Score: 2

      How old do you have to be to use FORTRAN? I was unaware of any age requirement. I'm guessing you are unaware that FORTRAN is still widely in use? Google "gcc fortran", e.g.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    8. Re: Fortran by coats · · Score: 3, Interesting

      Frankly, modern Fortran (F-90 or later) is a very well-structured programming language, at a higher level than (more structured than, and safer -- not as subject to buffer-overruns -- than) C: character-strings and multi-dimensional arrays are first class citizens in Fortran. And for what it's worth, I've written more than 15K lines of production Fortran in the last month...

      --
      "My opinions are my own, and I've got *lots* of them!"
    9. Re:Fortran by haruchai · · Score: 2, Funny

      Wasn't it still called Natural Philosophy then - and taught in Latin?

      That's COBOL

      --
      Pain is merely failure leaving the body
    10. Re:Fortran by Rudisaurus · · Score: 2

      Not from Calgary, by any chance, are you? They brought in Multics in my 3rd year of engineering -- after I'd already put in 2 years of late nights in the computing centre in the basement of Math Sciences, submitting FORTRAN programs in the form of punched card decks.

      I can still read it, too; I read a paper last year with a FORTRAN subroutine printout appended and was able to pick out the transcription errors (undoubtedly made by the secretary who typed it up) which would have prevented it from compiling in the first place.

      --
      licet differant, aequabitur
    11. Re:Fortran by InfiniteLoopCounter · · Score: 2

      Fortran was still needed for physics in 1990. In fact, it is still needed in many subfields of physics in 2017.

      You are right that it is used still. Happily/sadly (depending on your perspective) there's a "new" version of Fortran coming out soon called Fortran 2015 (coming out mid-2018 because it takes this long to write the first program since its release).

      I never understood why c++ is not used for serious physics calculations given how much easier it is to write stuff, but there are people who are very sure that Fortran is superior to anything else. I just wish that Fortran would have a good way to print out results so you can see what is being calculated properly!

  2. Basic by nixer · · Score: 5, Insightful

    Like many from my era... It took years to undo the damage!

    1. Re:Basic by mdsharpe · · Score: 3, Insightful

      BASIC on the Commodore 64. You could just turn it on and immediately start typing lines of code :-)

    2. Re: Basic by AReilly · · Score: 2

      ACK Basic on a TRS-80. Wasn't very long before that was swept away by Z80 assembly language though. I remember magazines of the day containing articles that included listings (can't remember if it was asm or hex) that I would diligently enter. And then debug. I don't think that reading hex opcodes is something that the youft still get to experience, more's the pity.

      Javascript is OK. It's a bit like lisp in sheep's clothing, and that goes all the way back to the beginning.

      Highschool was only more Basic I think. University started with a local dialect of Object-Pascal and a little Fortran. C came later.

      I don't think that there is enough emphasis on assembly language these days. By by the time I had graduated I had used assembly for Z-80 and 8085, 68000, NS16032, VAX, PDP-11. Maybe early SPARC. Perhaps TI DSP32010. One machine that I built myself for a project. Probably 8086 and 80286. ARMv2.

      Lisp and its decendents (everything that uses garbage collection) are OK for theory and explorartory programming. Practice is important though. You have to understand what things cost, and why.

      --
      -- Andrew
    3. Re:Basic by BigZee · · Score: 2
      You bring up a very good point there. There is a second or two between hitting the on switch and being able to start coding. This was an issue that the raspberry pi was supposed to address. To a degree this is true but does not get you to that immediate prompt.

      For me, the first language was also BASIC but on a ZX-81 very quickly followed by a VIC-20. It's worth noting that with both computers, the manuals that came with them were almost totally geared toward programing immediately as well. Advanced stuff, like dealing with floppy disks, came much later if at all. The computer was a BASIC computer straight away.

      I also remember the joy after having following the instructions in the manual for a while when I started to realize that I understood what I was doing and what the computer was doing as well.

      Whilst I've done plenty of programming since and in many languages, given that my current role is a DBA, I think that learning BASIC was very useful given that most of my programming today is scripting rather than using compiled languages.

    4. Re: Basic by AntiSol · · Score: 2

      I assume that the parent means "built-in basic" on both machines.

      CBM BASIC was MS 6502 BASIC under the hood. The C128 even included a Microsoft copyright message. There is an easter egg in basic v2 on the PET which displays "Microsoft!" on the screen. The story goes that Bill Gates had an argument with Jack Tramiel and wanted to be able to prove that it was MS basic.

      See here and here

      According to the first link, the basic on the Apple II was called integer basic and was written by Woz. Though MS basic was available on tape and built into the Apple II Plus.

  3. Basic by Chardros · · Score: 3, Informative

    Of course.

  4. Rust by 110010001000 · · Score: 4, Funny

    I have only used Rust. The other languages excluded me.

  5. Showing my age... by fwc · · Score: 2
    Basic on an Apple II....and pretty much every other computer at that point. That pretty much was the choice for learning how to program back in the mid-80's.

    I also picked up Pascal and C shortly thereafter. C stuck, Pascal didn't. I seem to remember learning COBOL and PL/I at some point, along with a bit of fortran.

    I've learned so many languages over the years, that I've lost count. Right now I have active projects going in C, HTML5/Javascript, and Python. It's gotten to the point where another language isn't a big deal: it's more about learning libraries than the language itself.

    Java ranks near the top of my list in languages I prefer not to program in if I can avoid it.

  6. CHIP-8 by jabberw0k · · Score: 5, Interesting

    First computer was an RCA VIP, January 1977 (the TRS-80 and Apple ][ hadn't been introduced yet). To program the VIP, you flipped the RUN/RESET switch up while holding the 'C' key on the hex heypad, then '0' to write memory, then the four-digit address, then entered your hex codes. You had better have written your program out on paper ahead of time. Clear screen was 00E0. After awhile you could read programs just by looking at the hexdump. A lost art.

  7. 10 GOTO 50 by MacTO · · Score: 2

    30 goto 20
    20 goto 40
    50 goto 30
    60 print "HELLO BASIC, OLD FRIEND!"

    Huh. Why doesn't my program work?

    In all seriousness, I started with BASIC at home and later did a bit with it in middle school. High school was Pascal based, and my university started with C. (There were many languages in between, but since the summary is focusing on schooling ...)

  8. LOGO. Grade school, I think fourth or fifth grade. Version horribly translated in my language.

    --
    My first program:

    Hell Segmentation fault

  9. Pascal by jonwil · · Score: 3, Interesting

    When I was a kid I had exposure to Basic and LOGO and a few other things but the first real programming I actually did would have been in Pascal (Turbo Pascal 6 if I remember correctly). These days most of my coding is in C and C++.

    The most obscure thing I have ever programmed in would probably be assembly language for the 65816 CPU (an enhanced 16 bit version of the famous 6502 CPU). The main claim to fame for the 65816 was as the CPU in the Apple IIGS and also the CPU in the Super Nintendo (SNES ROM hacking is where I learned 65816 ASM)

  10. C & C++ by CustomSolvers2 · · Score: 2

    The first languages which I used to write properly-speaking programs were C and C++, when studying mechanical engineering at the university. Theoretically, I firstly used Basic in high school, but what we were doing back then cannot be called programming. My career as a programmer started some years later working as a mechanical engineer and with Fortran.

    --
    Custom Solvers 2.0 = Alvaro Carballo Garcia = varocarbas.
  11. LOGO by fadethepolice · · Score: 3, Informative

    https://en.wikipedia.org/wiki/... But I quickly switched to Basic as that was the language in all the magazines.

  12. Re:LOGO by lucasnate1 · · Score: 4, Interesting

    I really liked the logo translations. As a child it was very useful to be able to program in hebrew, when my english was developing.

  13. What ? No APL ? by Anonymous Coward · · Score: 2, Interesting

    Well, I must be REALLY old then. APL was the first language I learned, the most powerfull mathematical computer language in the 60's. It was decades ahead of its time. I remember, when I started getting familiar with other langauges like FORTRAN or BASIC, thinking how primitive those were compared to APL. Landed my first IT job in the 80's because of my APL skills which were very rare and in demand in the research job I was applying for.

  14. APL by zeke7237 · · Score: 2

    Even though I didn't actually take the course, my HS (in 1970-73) had a course called "Computer Math". The language was APL, we had a selectric typewriter and a 300 baud acoustic-coupled modem, and it connected to a System 360 at a university in the next town. I was obsessed with it .. along with a friend (who actually took the course and had credentials I could borrow) we used to sneak into the university computer lab so we could use the VDT instead .. Weirdly enough, I currently program in a language derived from APL (k3 from kx systems)

  15. Applesoft Basic by Tronster · · Score: 2

    I first learned to program on an Apple ][e at school; was ecstatic when we got one at home. Technically this was after being taught Apple Logo, but I don't consider that my first language.

    In Middle school I still remember learning IF PEEK(-16384)>127 THEN a key was pressed; the most important statement in moving from prompt based games to action based games. (Another good one POKE(49200) for a "click" through the speaker).

    In High school I learned about Beagle Bros. and their BASIC compiler; running some of my games 10 times after... really allowing me to make something fun.
    http://beagle.applearchives.co...

    Eventually that gave way to Turbo Pascal, which gave way to C++.

  16. Pascal not "clean"? by lsllll · · Score: 5, Insightful

    WTF? Pascal is not clean? Pascal was DESIGNED to be clean. It is very clean. It has strict type checking and is extremely sensitive to syntax. It doesn't allow any hanky panky to take place with any of its variables. You can't modify any variable without its assignment operator. Variables have to be declared, or else you get a runtime error. How is that not clean? Tell me one thing Pascal (Not Turbo Pascal and other flavors, but the language as it was created) does that is not clean?

    Now, don't get me wrong. Pascal was a great language to learn straight programming, but was very limiting for every-day programming. Come Turbo Pascal. I must have written dozens, if not hundreds, of TSR programs that created ISRs, from sitting in the background and capturing keyboard input to recognizing that you changed your password on a NetWare server and sync it up to other servers. I even wrote a visual Connect 4 game that you could play over the network with your buddies, when the only LAN game I was aware of was "ncsnipes". Now those are things Pascal wasn't meant for, but Turbo Pascal extended the language very successfully and created a world where there was no end to what you could develop.

    --
    Is that a roll of dimes in your pocket or are you happy to see me?
  17. English by IHTFISP · · Score: 3, Interesting

    English.

    Then arithmetic. Then algebra. Then geometry. Then integral/differential calculus.
    Then TRS-80 Basic. Then 6502 assembly language. Then Forth.
    Then Scheme. Then dBase II. Then C on Unix w/ tcsh & bash. Then Java. Etc.

    Note that the question was “programming language”, not computer “programming language”.

    First order logic came into play fairly early on, too, but that's not a language per se so much as a technique/methodology.

    --
    Error: NSE - No Signature Error
  18. Basic-Pascal-C-C++-Java- by ghoul · · Score: 2

    Started out with Basic in 5th Grade(1990). Put one floppy in to load dos. Put the other floppy in to load Basica or GW-Basic and you are off to the races. Hard Disks? What Hard Disks?
    Then Grade 7 we start with this cool new Language Pascal. Structs Cool!!
    Grade 9 We start C. Pointers. ugh!!!
    Grade 11-12 C++. Well we pretty much kept writing C code just used objects.
    Then this cool new hot Language comes around everyone is excited about Java!!
    Get to college- Computer Sci 101- Fortran. WTF? Well our professor is smart. He says we will use Java even though the course is called Intro to programming using Fortran. (The college was a state college and it used to take 5 years to change the official course).
    So we use Java and C++(MFC&ATL) in college.
    First job - Training on Cobol!!! WTF squared. Anyway lucky enough to get assigned a group using C++ and not to a group using Cobol , VB , .net or Java (Though had to take the training on all of them). Yes it was one product with each module in a different language . Go figure
    Then get on a project porting the old code base from C++/Tuxedo to Java/J2EE. Good times. Not much time to do laundry, sleep or take showers but good times.
    Leave to go do a Masters and the first course is AI . Learn Lisp. Then ML, of course Java and C are around as is C++ templates and one wierd Machine learning class that uses Algol.
    Leave college and go to a job. The company is doing Java, C++ and .net. Mess around with all of them. Get interested in Python as a scripting language. Then get interested in Android. New job. PM for a group doing mobile development. Learn ObjC so that the developers cant bullshit me.
    Now Java 8 and scala are bringing functional programming and closures . For someone who did Lisp and Objective C thats old news.

    What I am trying to say is the languages change and each one teaches you something. Each has its place. As long as you are willing to keep learning the particular language you are using today does not matter.

    --
    **Life is too short to be serious**