Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?
Education Java Programming

Slashdot Asks: What Was Your First Programming Language? ( 633

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?
This discussion has been archived. No new comments can be posted.

Slashdot Asks: What Was Your First Programming Language?

Comments Filter:
  • Fortran (Score:4, Informative)

    by jfdavis668 ( 1414919 ) on Sunday April 23, 2017 @07:16AM (#54286315)
    Needed it for an engineering course. My first actual programming course used PL/I
    • 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.

      • 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
    • by coats ( 1068 )
      Also Fortran. Needed it for a physics course in 1969.
      • Re:Fortran (Score:5, Funny)

        by Hognoxious ( 631665 ) on Sunday April 23, 2017 @09:02AM (#54286699) Homepage Journal

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

        • Re: (Score:3, Funny)

          by haruchai ( 17472 )

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

          That's COBOL

    • My first one as well. I had a computer science teaching assistant ask the class what language we programmed in once. I answered, "Fortran." The whole class laughed, and she said, "No, seriously."

    • by jmccue ( 834797 )

      Same here, FORTRAN.

    • Re:Fortran (Score:4, Interesting)

      by Megane ( 129182 ) on Sunday April 23, 2017 @08:30AM (#54286593) Homepage

      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.

      • 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 i

    • BASIC on my own, a little bit of machine language which I did not have the patience for, then FORTRAN for school.
      • by Z00L00K ( 682162 )

        ZX80 Basic for me, followed by ABC80 Basic then some Forth and Assembly followed by Pascal on a MicroVAX II.

    • Re:Fortran (Score:5, Interesting)

      by lfp98 ( 740073 ) on Sunday April 23, 2017 @08:41AM (#54286625)
      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.
    • by niks42 ( 768188 )
      Another vote for FORTRAN. One of my sixth form friends had a father that worked at Cambridge University. We had some time on their IBM 1130, and our little club of three friends would write simple bits of code, bang them onto punch cards and watched the output tumble off the line printer.
      • 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.


      My copy of that book looks pretty much like that picture.

    • by johnw ( 3725 )

      Likewise Fortran. Then BASIC, more Fortran, various assemblers, Babbage, Pascal, C, Cobol, Ratfor, C++, Perl, Python, Ruby, JavaScript.

      Today's schoolchildren all seem to start with Scratch.

  • Basic (Score:5, Insightful)

    by nixer ( 692046 ) on Sunday April 23, 2017 @07:17AM (#54286321)
    Like many from my era... It took years to undo the damage!
  • Basic (Score:3, Informative)

    by Chardros ( 3099 ) on Sunday April 23, 2017 @07:19AM (#54286333)

    Of course.

    • Re:Basic (Score:4, Insightful)

      by mdsharpe ( 1051460 ) on Sunday April 23, 2017 @07:36AM (#54286409)
      BASIC on the Commodore 64. You could just turn it on and immediately start typing lines of code :-)
      • by lorinc ( 2470890 )

        Yeah, me too. Good memories of something that in retrospect was not that great.

      • by BigZee ( 769371 )
        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,

        • To reply the thread, my vote is also for basic, specifically GW-Basic on the TRS-80 Colour Computer 2.

          Advanced stuff, like dealing with floppy disks, came much later if at all. The computer was a BASIC computer straight away.

          Can you imagine the reaction* of people if you took a 256GB microSD card and showed it to them? Told them about the speed of the thing?

          * to the kids out there, you'd first have to teach people of that era what a megabyte is (maybe), then explain what a gigabyte is (most probably). You c

  • Not sure that language has a name, though.
  • Rust (Score:5, Funny)

    by 110010001000 ( 697113 ) on Sunday April 23, 2017 @07:23AM (#54286355) Homepage Journal
    I have only used Rust. The other languages excluded me.
  • by fwc ( 168330 ) on Sunday April 23, 2017 @07:23AM (#54286359)
    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.

  • JavaScript, then PHP, SQL, then python, then C++

    True millennial

  • CHIP-8 (Score:5, Interesting)

    by jabberw0k ( 62554 ) on Sunday April 23, 2017 @07:32AM (#54286389) Homepage Journal
    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.
  • Having an interpreter appear automatically when you press ctrl-C while playing a game is pretty nice. Too bad that things are less accessible that way today.

  • Sinclair ZX Spectrum BASIC, specifically. Self-taught from the book that came with every Spectrum.

    Later came Pascal (in college), then after a semester of Pascal they switched to C, skipping the basics of C to go straight into second-semester concepts. That spoiled programming for me for a long time.

    These days it's XSLT, Windows cmd, Autohotkey and the occasional bit of Python in a mostly non-programming job.

  • When I grew up the C64 had Basic built into the CLI, so that was the obvious way to start experimenting. But when I later moved over to x86 architecture things started to get a bit messy. I had a short fling with QuickBasic, but quickly needed something more advanced and moved to TurboPascal for a while. Needing more speed I then overcompensated going full x86 asm, which was fun and very helpful for my later career in terms of experience and understanding the hardware. But not very productive, so C/C++ beca
  • On a Sharp PC 1500A.

  • C for servers and tools, c++ for web applications (using libwt).
    I would use C alone if there were a web framework for it.
    • Can you explain why?

      I simply don't get why any sane person would chose C over C++

      Especially considering the context, libwt ... WTF, how do you want to replace something as fine as that with pure C code? That does not make any sense at all!

  • Started learning with SmartBASIC on an Adam/Coleco. Moved up to Apple's Basic on the Apple IIGS, then Apple Assembler.

    When I got a PC, I did some BASIC, then moved on to PASCAL (and took some formal PASCAL classes in high-school), then C++ in college. Learned Perl along the way. Picked up Java at my first job out of college. My second job out of college I learned ActionScript. Now days I do mostly Java and C++.

    I really hope they continue to teach a typeful language. Learning things like memory manageme

  • by MacTO ( 1161105 ) on Sunday April 23, 2017 @07:43AM (#54286425)

    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 ...)

  • Many thanks to a progressive Dutch primary education system.
  • by fph il quozientatore ( 971015 ) on Sunday April 23, 2017 @07:44AM (#54286437) Homepage
    LOGO. Grade school, I think fourth or fifth grade. Version horribly translated in my language.
  • Pascal (Score:4, Interesting)

    by jonwil ( 467024 ) on Sunday April 23, 2017 @07:45AM (#54286443)

    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)

  • There are two separate questions with different answers brought up here:

    1. What language did you first learn?
    2. What is a good first language for people now?

    For me:

    1. FORTRAN on punch cards
    2. Sure, let's bring up a prime Holy War issue, I'm sure we'll have great productive discussion about it!
  • by CustomSolvers2 ( 4118921 ) on Sunday April 23, 2017 @07:48AM (#54286455) Homepage
    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.
  • LOGO (Score:4, Informative)

    by fadethepolice ( 689344 ) on Sunday April 23, 2017 @07:50AM (#54286461) Journal [] But I quickly switched to Basic as that was the language in all the magazines.
  • .. of course. Such a clean and slick language, that made fumbling with the PCs-hardware very easy.

    I use it till today to talk to the ISA/TTL Bus on DOS.

  • I started with 6800 machine code as I was using a Motorola D2 copy I had build and it had hex key pad for input and 6 digit 7seg LED display for output, so it was not like you could use something fancy like an assembler.
  • On punch cards. We had to post them from our country school to a data center in the nearest town (Invercargill) who would run them and post the output back. Turn around for bug fixes was a week.

  • FORTRAN was offered only to engineering students; everyone else took PL/1
  • The other languages are for pussies.
  • Summer school course at Wellesley Middle School. A Teletype connection to BBN in Cambridge. I would have been 15.

  • Fortran II on an IBM 6020, puched cards; then IBM 7044 also punched cards. On microcomputers, Altair 8800, I used
    8080 Assembler, Z80 Assembler, Altair Mits BASIC (by Bill Gates), then dBase II under cp/m 1.4 and 2.2. Those
    were the days, noisy machines, teletypes, chain printers (scary!), and *lots* of blinking lights: incandescents too,
    not LED's like later. Today I use mostly Bash Scripting with extensions for hardware manipulation.

    A quick comment on BASIC. The disadvantage of Basic is sphagetti code du

  • CRT terminals were still in the future. Later; FORTRAN, PDP-11 machine code, Forth, and various flavors of assembly language. It was really a big deal when Turbo Pascal was released.
  • I learned programming at university using the FORTRAN language, picked up Basic on my own later when one of the engineering profs bought a Data General Nova on his own dime so we'd get some "minicomputer" experience. But my first job required assembly programming on a military Univac 1218. I loved that thing (then), because it was so computery: every register was displayed on the front panel and you could set/clear the bits by pushing the light button, and when it ran, they all flashed. Very very cool. Prog
  • It simply refuses to die.. even when it's dead.

    • It simply refuses to die.. even when it's dead.

      Well, it always did have lousy garbage collection... :-)

  • Apple Soft Basic, only messed around with INTEGER Basic to 'patch' some games.
    6502 assembly and Sweet 16
    Atztec C ... still on an Apple ][, never relly understood that types basically were completely ignored, error messsages were a pain in the ass. But I learned about the tool chain you need(ed) for 'real programming'.
    Pascal, then Modula 2
    Then around 1988, 'better C' (wrote some GUI stuff in C for OpenView connecting some Prolog programs to each other)
    Quickly later I switched from Pascal on Macs to a subset

  • by jrq ( 119773 )
    on a PDP-11
  • Should have been C or assembly. They way I was taught, which is how I think it should be taught, you start with transistors and work your way up. Logic gates, circuits, integrated circuits, assembly, compilers, high-level languages. C lets you see how the language is integrating to the hardware below it. You have registers, heap memory and a stack, interrupts, pointer arithmetic. Python et al are all just theory. C is reality. From there, you can move up to learning high-level things.

    I'm not saying

  • It came on the Amstrad CPC, and you needed to type commands like run"monty just to run your games. Magazines had type-ins and 'pokes' and so on.Back then there was nowhere to hide from the need to at least know how to type 10 print "hello"... 20 goto 10... run.

  • Filling out bubble cards for an IBM 1160 - ca. 1977. Program printouts came back two days later.

    Teacher was a drunk the administration couldn't fire, most kids used the class to a) socialize or b) make pictures out of different letters. I remember a particularly impressive Corvette logo.

    My proudest achievement was figuring out how to program multiplication/division as repeated addition/subtraction. All by myself, just using the manual.

  • Basic. Dartmouth Basic. (At school on an interactive terminal to a Prime 300 IIRC)
    Fortran (At school. On punch cards fed to some IBM mainframe in the basement.)
    Intel 8080 assembler (At school, IMSAI 8080 running MP/M)
    Fortran (At work, PDP-11 running RSX-11M)
    Macro-11 (At work, PDP-11
    Pascal (At Work, in service class)

    At some point I heard about C and got "The C programming Language" and started to learn that. I've used that for more projects in the ensuing 30+ years than anything else. Along the way I also le

  • Changed my major to CS in 1974; my first CS class (BYU), we started with a IBM 360 pseudo-machine code (on punched cards) and then moved on to actual 360 assembly (also on punched cards). Later in the semester, we had to buy a FORTRAN text (which I still have), teach ourselves FORTRAN, and pass a proficiency test. (My professor for that class was Dr Alan Ashton, who would end up being on of the co-authors of Word Perfect. Great teacher.)

    At the same time, I started working part time for a computer-assisted t

  • Growing up near the college, they had free accounts. My High School had a teletype & modem.
    Later, my school got Commodore CBM/PET systems.

    We also had a SuperPet. It had APL, Interpreted Pascal which I tried. It had Fortran, Cobol and 6809 Basic which I didn't try.
    I had an Apple ][+ and did lots of Basic, some assembly and Apple Pascal with the built in Bugger. Simply recompiling would sometimes clear up errors.

    In college, I learned Fortran (MS and Vax) and dabbled with Turbo Pascal. After college, C

  • For a few years HyperTalk (the programming language of HyperCard) and a single reference book was my only contact with programming.

  • interpreted version of Fortran for the IBM 1620. The machine had 10K BCD digits plus the deluxe 10K add-on; the interpreter took up 15K of that, so you had 5K for your program. I/O was on cards or a console typewriter.

    We also had a compiler for Fortran IV.

  • I started with BASIC on a Commodore Vic-20 and P.E.T. then moved on to assembly on a Commodore C-64 (thank you Jim Butterworth for your two books). After that, I programmed in Pascal, C and Visual Basic dependent on what I needed to get done and how much time I needed to dedicate to it.
  • I started learning BASIC in the summer time with a Timex 2048, in the autumn a TRS-80 at school, by november BASIC in XTs, and December went full head down on Z80 assembly.
  • What ? No APL ? (Score:2, Interesting)

    by Anonymous Coward

    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.

  • yeah, I'm that old
  • 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 der
  • 1970, my high school had a Teletype model 33 connected to the timeshare mainframe at the local university. I was on my own with absolutely minimal documentation. Learned bad habits that took years to break.
  • FORTRAN, followed by Algol.
  • high school, circa 1973, on teletypes, with acoustic modems and paper tape.
    FORTRAN... the first language I was taught in CS when I decided it was time to get out of working on hardware...around '84
    Pascal... intermediate CS of my last CS classes work in the late 90s
    PHB...when I was pushed into management

  • BASIC, then Pascal.
  • BASIC on a TRS-80 MC10 []. When teaching myself how to program using the "BASIC Games for All Computers" type of books, Radio Shack actually had knowledgable employees who taught me what a function is, and how to translate DEF FN to something useful in its version of BASIC. As an elementary school kid, I had no idea that functions were a "math thing" until probably high school.

    Later, BASIC on my C=128, some 8502 assembly just to speed things up, then Turbo Pascal once I got into the PC world. Later, C/C++/Obje

  • My high school got a Wang 360 programmable calculator. Programs were punched into IBM Port-a-punch (hanging chad fame) cards. My project was Barrowman's equations to compute the center of pressure of a model rocket. My first conventional language was FORTRAN on an IBM 1620, then machine language for that machine. 4900796 Then 1401 Autocoder, playtoy Lisp, 360 assembler, Pl
  • Though I did dabble with a bit of BASIC to get the hang of things before that, but ditched it pretty quickly. I suppose my first real "language" was Turbo Pascal quite a bit later.

  • BASIC, the some machine-level cose. First programming class was FORTRAN. Still program in C.

  • Earliest language (high school): BASIC, operating on a time-shared (Honeywell?) minicomputer using punch-tape program storage and a teletype for input / output.

    Earliest college language: FORTRAN on a time-shared CDC Cyber. Initially wrote software using a teletype on IBM punchcards, then stood in line to pick up my output from a high-speed line printer. It was quite the thrill the first time I was able to sit down at a VDT and type / run / save my software using a video interface.

    Earliest application pr

  • Specifically, WATFIV and ALGOLW at CMU. I was exposed to Basic early on but never had any opportunity to write anything in it. A couple semesters before I got there, they were starting students out on PLAGO (a reduced PL/I for student use that attempted to do fancy error detection and correction), but they left PL/I behind for Fortran. Very shortly afterwards, I got into PDP-8 assembly.

  • by Tronster ( 25566 ) on Sunday April 23, 2017 @09:46AM (#54286913) Homepage

    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. []

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

  • by Revek ( 133289 )

    Texas Instruments basic to be exact. First taught language was pascal.

  • I self-taught myself Basic, followed by RBase / DBase, if those can be considered proper languages. My first college level language course was COBOL, of which I remember the formatting, but no syntax. C is still my favorite, mainly because it's so simple and powerful, but sadly it's rarely practical anymore. Golang is my second favorite.
  • by lsllll ( 830002 ) on Sunday April 23, 2017 @10:50AM (#54287217)

    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.

  • English (Score:3, Interesting)

    by IHTFISP ( 859375 ) on Sunday April 23, 2017 @12:16PM (#54287611)


    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.

I don't want to be young again, I just don't want to get any older.