Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Programming Education

Are There Generational Differences In First Coding Languages and Learning Resources? (hackerrank.com) 168

"Under the age of 39? Odds are that most of your peers learned to code in C.

"Most Baby Boomers and Gen Xers — or, those between the ages of 40 and 74 in 2020 — learned to code in BASIC."

That's just one of the interesting conclusions from HackerRank's third annual "Developer Skills Report," which this year compiled responses from over 116,000 developers (from 162 different countries). Developed for educational use in 1964, BASIC was a popular instructional language in college classrooms. But that began to change in 1972, when Bell Labs invented C, allowing portability of the Unix operating system. Though it wasn't an instant hit, the language rose to popularity in the late 70s and early 80s alongside the growth of Unix. Today, the language is celebrated for its longevity, flexibility, and ease of use — just some of the reasons it's still popular for Gen Zers learning to code today.

Gen Z is more likely than any previous generation to utilize bootcamps. Nearly one in six say they've leveraged bootcamps to learn new skills. On the flip side, they're less likely to learn coding skills from older generations' go-tos, like books and on-the-job training. As Gen Z comes to rely more heavily on non-traditional education sources like bootcamps, they're poised to become a key talent pool.

Jaxenter also summarizes another interesting finding from the survey. "72% of hiring managers reported that bootcamp grads were equally or better equipped for their job." The I-Programmer site even noted the top reasons managers gave the surveyors for why bootcamp grads exceed:
  • Ability to learn new technologies & languages quickly (71%)
  • Strong practical experience (61%)
  • Eager to take on new responsibilities (52%)

And they also summarize another interesting result. "Almost a third of developers at small companies (1-49 employees) haven't obtained a Bachelor's degree -- a proportion that drops to only 9% in companies with 10,000 or more employees."


This discussion has been archived. No new comments can be posted.

Are There Generational Differences In First Coding Languages and Learning Resources?

Comments Filter:
  • Basic, yes but (Score:5, Insightful)

    by hcs_$reboot ( 1536101 ) on Sunday February 09, 2020 @08:01AM (#59707062)
    I belong to the second category 40-74(!), and "auto" learned the Basic language. But It quickly occurred to me that to get most of the machine, the next step had to be assembler.
    • by Applehu Akbar ( 2968043 ) on Sunday February 09, 2020 @09:05AM (#59707178)

      My first code was written in FORTRAN II pressed into clay tablets.

      • Re:Basic, yes but (Score:4, Interesting)

        by grep -v '.*' * ( 780312 ) on Sunday February 09, 2020 @10:51AM (#59707358)

        My first code was written in FORTRAN II pressed into clay tablets.

        My first was in FORTRAN IV. After that in college, I learned and wrote in binary. NOT assembly: binary. 8 individual switches for data, 16 for address. And a STORE/STORE NEXT toggle. My roommate actually had his computer in the dorm room.

        You wrote your program out on a notepad in assembler, looked at the CPU cardboard sheet and complied it by hand producing octal (YETCH! HEXADEMICAL) codes, and then you toggled it in. ... And forget programming errors, you hoped like hell you din't mis-toggle something in. Then you hit the RUN toggle, then the STOP toggle. (I think they were the opposite ends of a 3-way toggle switch, where the middle position wasn't connected.)

        And THEN you entered the address where you stored the result (in binary via the address switches) and read the 8 individual LEDs on the display. (Not LED segments, LED lights -- singular.)

        Later on we upgraded to like 4K of RAM and eventually a keyboard and monitor (and editor! .... though we had to save and load data with a cassette at blindingly fast 300 baud.) And the source code couldn't be that big, either.

        • by stevew ( 4845 )

          Yeah - Fortran First.

          Basic 2nd - in parallel with COBOL. Was the lab assistant for the computer lab teaching Basic in Junior College - never took a class for it. This is coincident with the Altair 8080 system MS Basic coming available.

          Pascal in college - never really used it. Also - IBM 360 Assembler.

          FInally - took a class in C programming for my job in very early 80s - and have written many thousands of lines since.

          With my current job - Perl/Tcl/Python.

          • And no doubt you used to count from 1. Just like in school. But now you count from 0.

            Of all the nasty things in C, that is the worst because it has now infected so many other things. Element 2 is the third element.

      • by sl149q ( 1537343 )

        Ah the good old days of WatFour Fortran and punch cards.

      • In 1974 my first language was APL, then PL/1 and Fortan IV on S/370.

        APL was the best calculational scratchpad until Mathcad.
    • by Jhon ( 241832 )

      6502 assembly rocks!

    • I learned to program as a kid on a Sinclair ZX81 in 1981 which had a 8-bit Z80 and 1KB of RAM. I thought myself Sinclair BASIC and bought magazines that contained programs, mainly games, that I could type in. Realising that some programs were poked in from REM statements I investigated and discovered Z80 machine code. I got my mother to purchase me a brilliant book called "Programming the Z80" by Rodnay Zaks by Sybex https://en.wikipedia.org/wiki/... [wikipedia.org]. This book was very concisely written and showed exactly

      • I remember in 6th grade filling up the 2K of RAM on my Timex/Sinclair 1000, trying to write a hangman program. At which point instead of stopping me from typing more code, the machine just hung.

        After that I just wrote my code on paper, and typed it in at school. Less frustration, wasted time, data loss.

        Graphics were whole pages of POKE codes. I didn't even realize I was learning "machine code."

    • by Slicker ( 102588 )

      I went from TRS-80 Color Basic to M6809 Assembly to C.. Then to Windows in C. Then to C++ and OWL (Borland's Object Windows Language).
      Next was Visual Basic, VBA In Access, SQL for SQL Server, DB2, Oracle, MySQL, then SAS, Perl, then PHP, and finally at my happiest in JavaScript and Node.js.

      Of course, I commonly also work in other languages but I think those above were more core to my history. Right now, a lot of C# and PowerShell. However, my favorite by far in Node.js. I do some things in C.. haven't d

    • by lkcl ( 517947 )

      I belong to the second category 40-74(!), and "auto" learned the Basic language. But It quickly occurred to me that to get most of the machine, the next step had to be assembler.

      likewise. i wandered into it (Commodore Pet 3032 at school in 1978), then a ZX Spectrum (original) and for a couple of decades my amusing claim to fame of software purchases was the Spectrum Basic Compiler and IDAPro: one compiler and one *de*-compiler.

      even at university in 1988-1991 i picked up c through "auto" learning, because Imperial College, due to its high reputation, specifically explained to us that they were teaching us Modula-2 (the successor to Pascal) and Hope (an in-house version of Prolog) v

      • now i hear stupid kids - and i'm sorry to have to use that word but unfortunately it's appropriate - whining "oh c is just a direct translator to assembler therefore it's shit, everyone should stop writing code in c and do it in java or c# or python or Rust" and i am left there stunned, wondering how the hell they managed to get through a degree without being informed that major critical infrastructure projects like the linux kernel, apache2, samba, the python interpreter itself, the web browsers they're re

        • My nephew has computer science in school. In two years he will go to university. If he would tell me the force teach him C or C++, I would put him into a different university.

          Why don't you let him make his own choices, he's not even your child. And you're not exactly a beacon of education yourself, how the fuck would you know what a good school is?

          • I studied at the best university in Germany ... obviously my bar is quite high. http://www.kit.edu/english/ind... [kit.edu]
            As his father has no clue about CS, but I have, I obviously are the one to make suggestions.

            Why don't you let him make his own choices,
            Obviously he will do his own choices ... no idea what you got wrong, again ...

      • "oh c is just a direct translator to assembler therefore it's shit," ...
        and i am left there stunned, wondering how the hell they managed to get through a degree without being informed that major critical infrastructure projects like the linux kernel, apache2, samba, the python interpreter itself, the web browsers they're reading this on and many more, they're *all written in c or c++*.

        Or like, "what does a compiler do?" Hint for stupid kids: "compiling" is a very small part of it.

    • I'm 46. I FIRST programmed in BASIC. I LEARNED to code in Pascal.

    • Turbo Pascal to test a concept, then assembler to make it work in real-time. I am that old.

    • Same,
      I learned on an Apple ][ and it had a mini assembler build into its ROM.
      But I switched quickly to Pascal, and C ... Atztec C, quite nice environment, obviously idiotic slow on disks and the assembly it created was laughable ... but trying to compile a "16+ bit language" down to an 8bit processor is ofc. challenging.
      They should have tried to simulate a kind of 16 bit processor, like SWEET 16, in the zero page and generate code for that.
      I basically did assembly to put &hooks into the BASIC interprete

    • But It quickly occurred to me that to get most of the machine, the next step had to be assembler.

      Exactly this. I'm in the same demographic, and BASIC was my first language, running on an HP 2000B. I quickly picked up IBM 1130 assembler language and then I truly was up and running. I never gave up on assemblers: IBM 360/370, PDP-8, 6502, Z80, 68000, PowerPC, x86/AMD64, and ARM. I also never gave up on high level languages, either: ALGOL, FORTRAN IV, COBOL (hard to admit to that one), PASCAL, C, C++, Java, plus a zoo of interpreted and scripting languages too long to list. They've all served me well on m

  • by serviscope_minor ( 664417 ) on Sunday February 09, 2020 @08:02AM (#59707064) Journal

    I learned basic first, then asm then pre standard C++ then C.

    I know people now only a few years younger who learned flash (Actionscript) first. Not a bad choice by the sounds of it.

  • by dwarfking ( 95773 ) on Sunday February 09, 2020 @08:19AM (#59707086) Homepage
    I was in high school in the 70's and we didn't have computer classes. I learned BASIC on my own from my Commodore64 (assembly coding as well), but my first college classes were taught using PASCAL not C. I did pick up C, again on my own, but PASCAL was the main in the school I went to.
    • Same here, although a decade later.

    • What a piece of shit. ;)

      Had to learn GWBasic from a *reference manual* with zero former experience. Keeping pointers, stacks and I/O riddles to me. ;))

    • Same here, Turbo-Pascal was used in college classes.

    • I was in high school in the 70's and we didn't have computer classes.

      Same here. But we had a one semester course called "computer math" in which we developed algorithms that we programmed into a big old calculator using octal codes on punch cards (had to poke the holes out with a pencil, and feed the cards in the reader one by one). It supported looping and conditional branching, so we couldn't really ask for more.

      From there it was FORTRAN in college -- keypunch machines and mammoth automated card readers. It was fun to watch the cards being sucked through those thing

    • Actually, I'm surprised that isn't listed in the options.

      I would think everybody who started programming from around 1983 to 1990 would have started with Turbo Pascal and not BASIC.

      You had to buy/pirate GW-BASIC if you didn't have a genuine IBM PC and Turbo Pascal was cheaper and produced faster running code.

      • Many people learned in schools ... and simple computers like Atari 800, Comodore CPC, Apple II had BASIC build in. And/or the school had UCSD Pascal fro them. Turbo Pascal is an Z80/8080 thing ... I doubt it ever existed for a 6502.

      • by jstott ( 212041 )

        I would think everybody who started programming from around 1983 to 1990 would have started with Turbo Pascal and not BASIC.

        Borland programs (like Turbo Pascal) only ran under MS-DOS. Not an option for the rest of us who got started on Apples, Commodores, or Ataris. TP also had to be purchased separately while BASIC came pre-loaded with pretty much every computer you could buy in that time frame.

        We kids learned on BASIC first because that's what was available. As many have pointed out, the next step

  • by Proudrooster ( 580120 ) on Sunday February 09, 2020 @08:28AM (#59707110) Homepage

    Learning Basic (Check)
    Learned C (Check)
    Have a Computer Science Degree (Check)
    Did BootCamps, Lynda, Udemy courses (Check)

    I do find that the early 'classical training' I had in C and Computer Science helps keep me stay grounded in thinking, performance tuning, and debugging. From my view, not much has changed, we are just creating more layers of abstraction and keep moving father and father away from the hardware as we enter era of cloud computing.

  • First, I'll assume "Hiring Manager" means HR and leaving it at that. This is an apples to oranges comparison. Either one can program using an object oriented language or not. I find a mere 52% "eager to take on new responsibilities" to be insufficient for the real world and would force me to fire someone like that. Boot camp is real experience? No, that comes after 3 to 5 years of plying one's trade on the job. Techies actively learn new skills by their very nature all the way from Gen Z to Boomer.
    • true, bootcamp means you can pick up new languages quickly... and do what with them? Hello World and a heap of cut n paste from stackoverflow?

      In my day we had managers who did that and thought they were now programmers.

      • Bootcamps, at least for programming, are not meant to "teach you to program." (And if that's what they claim then they're shit.) They're meant for people who already know how to program. A good bootcamp is meant to teach one specific thing, for example the syntax and paradigm for a specific language. Or maybe how to use a particular API.
        • A good bootcamp is meant to teach one specific thing, for example the syntax and paradigm for a specific language. Or maybe how to use a particular API.
          That does not make any sense.
          You learn that in 20minutes by looking at the grammar of the language. Probably 5 minutes ...

    • Hiring manager doesn't mean HR. It means the manager who is is doing the hiring. That's the person you'll report you once you get hired. At least in the company I work at.

    • The bootcamps appeal to hiring managers because they are designed to appeal to hiring managers. They are teaching to the test, as it were. They look at what is involved in a programming interview and teach exactly that.
  • And C++ even more so.
    After having merely toyed with Basic, and disliking it.

    In favor of (Turbo)Pascal, assembly, ObjectPascal, Java and then Haskell and Python.
    With Lisp, Perl, Prolog, on the side, and JS/PHP as a deep dark secret. ;)

    Quite happy with my choices.

    I *highly* recommend not getting stuck with C-likes.
    Unless you have a degree in theoretical CS, nothing will give your skills a boost like Haskell/Lisp. (Although the latter feels a bit like coding in Unlambda. Sugar-free candy. ;)

    • If you want a job outside of academia and don't want to do web dev then you HAVE to know either C/C++, Java or Python. End of. Learn Haskell or Lisp if you want but don't expect to earn much of a living from it.

    • Turbo Pascal was amazing, I forgot about that. I had always hoped it would compete with 'C' but it never did and here we are today in the land of buffer overflows and pointers.

    • Why on earring did you recommend against C and C++? You by your own admission have avoided then so you clearly don't know enough about them to make the call.

    • by oddtodd ( 125924 )

      I learned PL/? (can't remember C or I) in the late 80's for my CS degree, never saw it outside the classroom.
      I originally learned Fortran in the early 80's for my ME degree, used it some at USGS in the 90's and ADEQ in the 00's.
      The semester I took Fortran was the last one that used punch cards, it was a pain but looking back now, it was a good experience for a historical perspective.

      • I spent many years with PL/I, on IBM System/360s.

      • by Dunbal ( 464142 ) *

        I'm old enough to remember helping my dad to feed the punch cards into the computer at the factory that did the payroll :)

        Was taught BASICA in high school when they offered "weekend courses" in the computer lab for extra credit, self taught myself ASM, then C/C++/C#. Never really had formal training and I code for a hobby because it's fun.

    • by tricorn ( 199664 )

      PL/C was the first language I learned in a classroom, my first year in the CS major intro programming course. I tested out of that class in the second week (with BASIC and Data General Nova assembly language as my only previous practical experience), and got into the second semester CS course using Pascal and PDP-11 assembly. Fortran, COBOL, RPG II, 8080 (CP/M), CDC Cyber assembly (NOS), Tutor, 68K and Pascal on Mac, and eventually C, were my primary languages initially (i.e. first ten years after gradua

  • I'm 75 and learned to code in IBM assembler. Halt and Catch Fire anyone?
  • ... are better at technology X because they went to a bootcamp for technology X.
    This insight is brought to you by CORI - Captain Obvious Research Institute.

    No news here.

    Point in case: Fully understanding the entire point about this bizarre thing called ReactJS requires you to think so far out of the box of traditional web development that you might as well start from square one to get up to speed. I know what I'm talking about, I'm a traditional webdev diving headlong into this React right now. For real. It

    • heh. Reminds me of a stackoverflow answer that had a really complex SQL query in a stored procedure that was quite slow. The PHP dev rewrote it in 4 client queries and it went faster.

      Then everyone pointed out he'd made it worse - because if he had rewritten the stored procedure to be 4 queries, it would have gone a lot faster, and without the network IO dragging the 4 result sets back to the client to be processed.

  • Poor Kids (Score:5, Insightful)

    by bill_mcgonigle ( 4333 ) * on Sunday February 09, 2020 @09:41AM (#59707238) Homepage Journal

    My parents signed me up for a programming class in 4th grade with the Rec. Department. The guy running it had a VIC-20 and the 32K memory expansion never shipped for BASIC. So we learned on 6502 assembler loaded off a tape at the beginning of class and were encouraged to get a C=64 for home after the class to learn BASIC.

    It wasn't until I took Pascal in high school that I found out that assembly was an advanced topic I'd get in college. Somehow it didn't seem so mysterious. I actually took a summer course in high school at a technical college in Mass. and the other kids in EE were happy for me to program the 8080 while they did resistors and stuff. 68K in college was even easier.

    The point being that we didn't have the luxury of being coddled and it wasn't necessary. A dozen average 9-year-olds from a mill town with a good teacher had no problem with the subject. Guys a little older than me talk about keying in bootloaders with switches when they were that age.

    Today I hear things like kids need highly abstract visual CASE tools to get started because they're only twelve. Baloney - stop underestimating the next generations.

    • At the same time, even low-end computers these days are extremely complex compared to what we had back then. The C64 had a 6502, which is easy to learn, comprehend and even memorize because of its size. The Raspberry Pi, on the other hand, has an extremely complex CPU and GPU that you can't even get complete documentation for.

      My suggestion to anyone looking for the same kind of "experience" we had with the C64, TRS-80 Color Computer, Timex Sinclair 1000 and other entry-level computers from that era, is to p

  • Said no one ever?

    • Just what I was thinking, If I'd had to understand pointer dereferencing or printf formats aged 10 I'd have given up gone out to play football with the other kids :)
      OTOH if you do master C you have a far better understand of how a computer really works than from almost any other language bar assembler.

      • IMHO, only assembly will give you that. C doesn't teach you about CPU registers, interrupts, etc. The concept of pointers is still used today, for example when you use arrays. There's nothing magical about it.

        • Pointers and arrays are NOT the same thing. Either you've never learnt C properly or youre just crap at it.

          • I'm not saying a pointer and an array are the same thing, but unless something changed in the last few decades and x86 is completely alien compared to a Z80, the basic principle is the same. A pointer has the whole system RAM as its array (like some CPU registers, which act as pointers), while an indexed array uses an index to point to specific items in the array. In both cases, they hold a value that points to an address/offset.

      • OTOH if you do master C you have a far better understand of how a computer really works than from almost any other language bar assembler.
        No, you have not. Neither from C or Assembly. And it is completely irrelevant any way.

        How many ALUs does your processor have? How many "register banks"? How do you switch between them in C? Oh, you can't. How in assembly? Oh ... you can't. Processors or "computers" have nothing to do with assembly, C or machine language.

        What is a bus? What is an address bus? What is a dat

        • uh-huh - now try writing code to take advantage of the number of ALUs and processing units in Java or whatever vaunted language you think is better than C.

          I'll wait.

          • The ALUs are utilized by the implementation of the processor, not by C or Java or assembly.

            If you don't know that, why commenting bullshit?

            • by gweihir ( 88907 )

              The ALUs are utilized by the implementation of the processor, not by C or Java or assembly.

              If you don't know that, why commenting bullshit?

              What? Maybe get at least a basic understanding how a CPU (yes, even a modern one with a scheduler and instruction reordering) works?

              Hint: If you have an arithmetic or logic operation in your instruction stream, it will be executed by one of the available ALUs.

        • So you cant access specific registers or the data bus in assembler? Really? I think you've just thrown a lot of words you've learnt into a post in order to sound like you have a clue. Start with 8 bit chips and PICs tomsee what assembler can do then look at all the instructions 64 bit x86 asm has and allows you to do Then get back to me.

          • by gweihir ( 88907 )

            Indeed. This person obviously has never done it. Even with things like register renaming, you obviously can address registers. Even with a modern CPU, you have either memory-mapped IO and port-based IO or both. And more than ever, with a modern CPU, details of the caches matter for performance and sometimes security.

        • by gweihir ( 88907 )

          C programmers, probably the dumbest species on the planet, the hubris is all yours. (Actually it is written hybris, btw.)

          Ah, yes. The old fatal combination of incompetence and arrogance. You make a perfect example.

          Ever tried to explain a timing-attack to a Java coder? No? That is because you cannot. They just do not understand what you are talking about.

  • Both my high school and university taught Java first.

  • Considering what the choices were circa 1977-1983. Apple Basic on Apple ][ and MS-Basic or IBM Basic on IBM PCs was free.

    I wasn't thrilled with Basic, and thought there must be something better, but didn't know what it could be until I took my Intro to Algorithms class around 1979 or so and discovered Pascal.

    Lattice C for MS-DOS was $500 back then. I suppose there were APL and PL/1 compilers around, probably for a lot of money. I used Microsoft Pascal on a job around 1987-1988; it had some PL/! and C-
  • For sure. I'm 43. So I went from self-taught BASIC as a kid with home computers and progressed through Pascal to C and X86 assembler. I never progressed past this to stuff like Java or Python, although I did some sloppy PHP and HTML to build and internal web portal for a company I worked for. I never cared for "web" or database programming but to each their own. I work in a very different industry now and don't have any real interest in programming anymore.
  • Then again we had a Mac growing up, but you work with what you have.

  • by az-saguaro ( 1231754 ) on Sunday February 09, 2020 @10:43AM (#59707338)

    Fortan and DEC assembler.

    I was fortunate to have an opportunity in 1968 to learn about computers at the University of Pennsylvania, a summer program for high school kids. We used IBM 360/65, RCA Spectra 70, and a variety of DEC PDP's. For the mainframes, we used Fortran IV. For the mini's, it was octal assembler. Some of the classes were in the same room where the ENIAC was built and operated. It was exciting. Back at high school, we had a PDP-8S, about the size of a countertop microwave oven - an amazing thing for its day - all of 4K or 8K of memory as I recall. For that, we had a high speed paper tape reader from which we could load a Fortran compiler, then write code in assembler or Fortran, just like on the big machines.

    "Fortran" was named from "formula translation", meant to be a high level language for scientific computing. It is still a darn good language for number crunching.

  • by zmooc ( 33175 )

    Starting at age 7 in 1984, I went through GWBASIC, MS DOS, QBASIC, Turbo Pascal, x86 Assembler, Delphi, Elan, C, SPARC Assembly, Clean, Java, JavaScript, PHP, C++, Python.

    Also gave Erlang, Rust, Haskell, Scheme, Groovy, TypeScript, Vlang and Unison a try. Still looking for the ultimate language, though, because none of these is...

  • That was the programming course taught in the school board I was in at the time (1977ish) Assembly Language (for the IBM 1130 - we'd code in assembly on bubble cards, send them into the data processing centre and you'd get back a printed listing, build results and, if the build was okay, a step by step execution listing two days later. I seem to remember the listings were limited to two pages (to avoid infinite loops).

    Interesting course because the teacher was a lush and this was somewhere they could stash

  • by cascadingstylesheet ( 140919 ) on Sunday February 09, 2020 @11:28AM (#59707430) Journal
    BASIC is literally designed to be, er, basic, easy to learn. Heaven forbid we learn basic programming techniques in an environment designed for learning.
    • by AmiMoJo ( 196126 )

      Some people used to say that BASIC ruined programmers and they had to unlearn all the bad habits it encouraged.

      I think it actually helps. When you have tied yourself in knots a few times your start to understand why good programming is so important.

  • High school had access to the mainframe downtown in the mid-70's. Fortran or Cobol, and I used Fortran. I think it was pretty cutting edge to have a HS programming class in '75. First college course was Ratfor, an early structured programming language. Next up was Pascal, followed by a survey course which included Algol, Snobol, APL, PL/I, and a couple of other oddballs. Same time I took a CDC assembler class. On the EE side of the school we used C and 6800 assembler. EE had DEC, CS had CDC's. The survey cl
  • I've never heard of Hackerrank before? Should that say something about the bias in their results?

  • I learned to program in college starting in 1975 with Fortran, Cobol, PL/1 and assembly. I don't recall hearing anything about Basic until personal computers began to become common late in the decade. In grad school starting in 1979, the most common language was Pascal, with C becoming more prevalent a few years later. I suspect the current generation isn't starting out with any of the languages listed, but maybe Python or something. It'd be interesting to see more, but I'm not going to fill out their c
  • Coding is really pretty much a no brainer. You pick a task you wish to perform, you google, watch some videos and hack. This is how it has always been. Computer science allows people to do a lot more than just hacking, but in most cases, it is an education that simply is not needed. For example, with my education, I can write a neural network and improve on it as well as optimize it. By simply hacking, I can use a ML library, watch a few videos, cut and paste some code and adapt it to my needs.

    No... a quick
    • by ptaff ( 165113 )

      You pick a task you wish to perform, you google, watch some videos and hack. This is how it has always been.

      Always been like that? Hahahahaha. Most GenX people didn't even have a machine connected to a network when they learned programming.

    • Are you familiar with reference manuals?

      They were an archaic technology that existed before literally everything you just described as the way it's always been.

      Many of us learned to code before Google. I know it's hard to believe, but many people were still able to learn things before Google and Internet video.

    • by gweihir ( 88907 )

      Spoken like somebody that has actually understood absolutely nothing. Fascinating.

  • then cobol at 15, then rpgII at 16, then pascal (by myself) at 16, then C at 18 in the university.

    I am only 47, and not cs, but electronics engineering.

    but on another note, I see (and sincerely hope) python becoming the next basic.

    We need something like basic, easy to learn, installed in all machines, interpreted, "kinda sorta" universal.... Wether that is python or swift or something else, the new generation needs it...

  • Gosh, I learned to cut code using hand-assembled machine code on a Signetics (a division of Philips) 2650 microcomputer back in 1977 or 78.

    Just me, the reference manual, a lot of paper, a 2650 CPU with PIPBUG ROM (1MB) and a few KBytes of RAM.

    This was a pretty steep learning curve for someone coming from an analog electronics background but I must admit, it was a hell of a lot of fun!

  • by johannesg ( 664142 ) on Sunday February 09, 2020 @12:18PM (#59707576)

    We had something called "books". It was like a web page, but printed out on paper, and without any hyperlinks in it. It was still kinda neat though.

  • The college I attended switched from Pascal to C while I was there, so I got the basics of Pascal and then an advanced C course which assumed prior knowledge I didn't have.
    I'd done quite a bit of BASIC programming before college, Pascal seemed a logical step up from that but C was... alien.

  • Back in the 70s, we learned Fortran, COBOL, and assembly on cards.
    But in the 80/90s, you learned basic if a CIS, while CS/CE learned Pascal, Modula, then C++ depending on years ( CS changed as languages progressed ).
  • BabyBoomer who's first language was taught by a 13th dimensional calculus prof on sabbatical. Started with Assembly then APL writing compilers on IBM1130 with 3K memory stack.

  • Anybody who thinks C is "easy to use" versus most higher-level languages needs their heads examined.

    Simply allocating and de-allocating memory is a huge PITA.
    • by AHuxley ( 892839 )
      C was fast and ensured the very smart people could code to a good level of skill.
      C did not try to block users from trying new idea.
      C is what sorted the best of a very smart generation from people who could type out code from a book.
  • Obviously (Score:4, Interesting)

    by John_Sauter ( 595980 ) <John_Sauter@systemeyescomputerstore.com> on Sunday February 09, 2020 @04:45PM (#59708354) Homepage

    Of course there are generational differences in first languages and learning resources--how could there not be?

    I was born in 1945. I read about the IBM 1401 but did not see my first computer until 1963 when I visited the local university and saw Spacewar being played on a DEC PDP-1. My first languages were Algol on the Burroughs B-5000, FORTRAN II on the IBM 7090 and assembler language on the PDP-1 because that was what was available. My learning resources were the people at the Stanford Computation Center, because that was what was available.

    I socialized with the grad students at the Computation Center, learned PDP-6 assembly language, was invited to work on the Algol-W compiler, the predecessor of PASCAL, got to hack on the B-5000's Algol compiler, and became the system programmer for the Stanford AI Project.

    When I moved to New Hamsphire my learning environment changed: I got to support an IBM 360 in addition to a PDP-10, then went to work for DEC where I learned Bliss and got to know some highly skilled programmers, though they were called "Software Engineers" by then. I didn't use BASIC until 1978, when I worked on the run-time library for VAX BASIC.

    I imagine the same is true for all programmers: your first language and your learning environment depend heavily on your location in time and space.

  • by Brett Buck ( 811747 ) on Sunday February 09, 2020 @05:59PM (#59708534)

    The first language I learned, and was taught on, was FORTRAN 66. FORTRAN 77+DEC extensions was a significant improvement, everything else was either no improvement, or steps backward (C++, in particular). I now use FORTRAN 95 for most things, only because I have to work with non-standard binary output written by C and C++, solely to open files with ACCESS = 'STREAM'.

    Along the way, I learned a lot of other languages, but the only really useful applications have been in FORTRAN, JOVIAL, or Matlab (which isn't much of a language, like C, and I don't need it to be as good as the others for the purposes I use it). I can follow most assembly code pretty easily, with some extensive experience with PDP-11 and MIL-STD 1750A.

          I am really not that interested in programming as a thing unto itself, none of the other goofy languages like Python, LISP, etc. I wasted 3 months of my life learning Pascal, which is when I first realized that "computer science" AKA "enhanced clerk-typist" was diverging from a tool to a religion.

          The language does not really matter, most of the time. If you have the proper degree of discipline and a clear vision of how to go about it, you can right crap code or very clear code in just about any language. It's a tool, not an end unto itself, and you need to remember that ever second. I know every clever trick in the book, but I routinely reject code that uses a lot of them. Clarity and ability to understand it is more important than showing how clever you are.

  • Spent three years on a 3 person team writing a paint package on a TI TMS34020, all in asm.
    Its memory was the frame buffer and it drew everything nearly instantaneously.

    The 020 was 32 bits, but bit addressable. Kind of a GPU, kind of a CPU.
    I wrote the flood fillers and Type 1 font rendering. Kids today have no idea how all
    of the low level base library functions they can just call had to be written by somebody once.

    The company was an OEM to other paintbox vendors and when they saw what we did,
    they thought th

  • First job out of high school was at the waste water treatment plant.
    In a basement. With a hose. And a raincoat. Clearing overhead conveyors. Ick.
    The front office had a beautiful PDP8E. Behind glass, all brown and yellow and blinky.
    It controlled valves and life gates throughout the city. First computer I ever saw in real life.
    Quit. Enrolled in college. Learned Basic on a Xerox Sigma. Drew graphics on a Tek 4013
    in APL. Married, back to factory work. Factory got a computer, needed a programmer.
    Wrote inventory

  • I went through CS and Engineering undergrad in mid/late 70's at a fairly decent university for CS.

    We didn't use any particular language from class to class. I think the order I first used languages in was (roughly):

    • * Fortran - Intro Engineering class called "Computational Methods" or something like that.
    • * BASIC - never for a course (except as a TA in a course) as I recall, but it was the language available on our "unlimited free usage" PDP-11 (running RSTS/E) and I spent many wasted hours (and occasionally

Understanding is always the understanding of a smaller problem in relation to a bigger problem. -- P.D. Ouspensky

Working...