Live data from Hacker News

Why did we ever think a student's first programming language didn't matter?

m-cacm.acm.org

261–270 of 286 posts

Re: Why did we ever think a student's first programming language didn't matter?

#261

Earlier quoted context omitted.

This is very key. By the time I entered undergrad CS, the kids who had owned computers growing up, and played or even modded videogames, had a massive starting advantage over the ones who hadn't. The entire first year of CS courses was mostly there to instill fundamental computer skills (not CS skills!) in the ones without that preexisting knowledge.

I haven't seen any data on video games helping with programming. But having a strong math background definitely seems to help. I don't think its knowledge - there's something about how you internally model a system that math teaches you. Approaching programming with the same mindset makes learning much easier. I read a paper over a decade ago talking about this. They gave a survey to freshman students and looked for…

Modding video games is real entry point. It is low key programming. But also how to edit files, filesystem, most importantly that you can and no one will yell at you. Basic computer literacy, simple administration are also something kids without free access to computer lacked.

This stuff is not taught here. You either know it or are seen as lost cause.

Even more importantly, I had those games that introduced you to loops, ifs, variables, programming in general.

Re: Why did we ever think a student's first programming language didn't matter?

#262
post #37
post #33

I feel I see folks sweat their first language a lot. IMO it is more important to try and find out if programming is even something they REALLY want to do. The language maybe better selected for what they might want to ....do. My first language was C, in a classroom where someone read from the book and then you were on your own. I dropped out of school (for other reasons) and 20 years later I got back into programming…

Most people don't want to program in C, and I think my high school programming course (which used C) did more harm than good in that regard. The only students who got anything out of it had already taught themselves programming on their own! I came back to C later and enjoyed learning it properly, but it is very much not a gentle introduction into the world of programming for the average person!

Yeah C actually seems very interesting ... now. The context very much counts as far as when / how You learn things IMO.

Re: Why did we ever think a student's first programming language didn't matter?

#263
post #176

Earlier quoted context omitted.

No, it is an argument for teaching intro programming in C so they better understand what operations a computer is capable of doing. When you are used to C most other languages feels like a library that automates tedious tasks rather than something alien, you are well aware of the things needed to happen in the background so that the code you write in other languages can do what it does.

C is not really representative of underlying hardware anymore, and is a language with basically no compile time defenses, making the student scratch their head at hard to debug segfaults. I would definitely not start with C.

> C is not really representative of underlying hardware anymore

While I understand where this is coming from, can you suggest any language that is closer to the mental model of how the underlying hardware works than C (other than assembly)?

Re: Why did we ever think a student's first programming language didn't matter?

#264

When I arrived at university we had to do a Haskell course first. I didn’t realize it at the time because it just felt backwards, but it was a great “reset” of the minds of everyone like me who had done C64 Basic and Pascal. It also served as a great equalizer in the class when some people had never programmed while some of us had done it for 15 years. The Haskell course put everyone on an equal footing.

Likewise, but ML rather than Haskell.

yeah but even so, some of us learned ML before arriving :-)

Re: Why did we ever think a student's first programming language didn't matter?

#265

Earlier quoted context omitted.

This is a great analogy. It boils down to having a reason to put in the time to become proficient. A lot of people learn to code by the book without ever finding a puzzle they passionately want to solve through code. With language, you need a reason to practice. Only a breadth of experience can fill the gaps that allow you to intuit meaning in the real world, as opposed to a classroom. In a foreign country, the reaso…

> It boils down to having a reason to put in the time to become proficient You just gave me an epiphany about why I am having a hard time creating music.

I've struggled with exactly this lately. I used to write and record and play in bands. It sounds awful but at some point I lost hope of being commercially successful at it. The fantasy of rock stardom was what drove me to spend thousands of hours writing and playing. But I still love music. I rearranged my goals during the pandemic, bought a pedal steel guitar and started teaching myself something completely different. Now I can see myself getting onstage in a year or two and backing up a band I like, just for the joy of playing. Just having that long term goal in the back of my mind has let me lose myself in hours and hours of practice. In the code arena, I often have a "Show HN" in the back of my mind, even if I rarely or never show anything.

Re: Why did we ever think a student's first programming language didn't matter?

#266

Earlier quoted context omitted.

>> I don’t think everyone can understand $RANDOM_DISCIPLINE. > This is a bold claim. I disagree. What makes computer science so special that it can be understood by everyone, while it is generally accepted that other disciplines cannot? After all, saying "Not everyone can understand chemistry" doesn't draw the same ire.

Why do you believe that "not everyone can understand chemistry"? Perhaps I should be a little more specific. When I say "everyone" below, I mean "the overwhelming majority of people in the average range of human intelligence, without debilitating mental deficiencies". This group spans virtually everyone you are likely to encounter, from car mechanics to school teachers, to postal workers, to professional software eng…

I really want to be as optimistic as you are, but I can attest from personal experience, not about chemistry, but about math - not everyone can understand basic mathematics.

I often tried helping friends and classmates, in one-on-one sessions, to understand basic (primary and/or high school) math. Sometimes, you just end giving up. This was after trying a number of different approaches, different learning techniques, different ways of understanding / visualising abstract concepts, etc.

Not everyone can understand abstract concepts (or our teaching methods are too primitive).

Re: Why did we ever think a student's first programming language didn't matter?

#267
post #263
post #176

Earlier quoted context omitted.

C is not really representative of underlying hardware anymore, and is a language with basically no compile time defenses, making the student scratch their head at hard to debug segfaults. I would definitely not start with C.

> C is not really representative of underlying hardware anymore While I understand where this is coming from, can you suggest any language that is closer to the mental model of how the underlying hardware works than C (other than assembly)?

Well, hard to define closer as a simple dimension — but in certain things perhaps Rust — eg. SIMD is notoriously bad in C. Also, multithreading — which is not exactly a new thing either and don’t forget about pointer aliasing — though that latter is more of an optimization possibility. Fortran may also be considered as another candidate for having SoA over AoS which can potentially be more cache-friendly.

But my point was more like, there is no reasonable difference between eg. C and another language that compiles down to machine code — the old saying that a seasoned C programmer can reasonably guess the created machine code of a program is no longer true with today’s heavily optimizing compilers and the amount of magic happening is almost comparable to eg. Haskell.

Re: Why did we ever think a student's first programming language didn't matter?

#268

If a student has trouble transferring their knowledge of programming fundamentals from one language to another, it seems far more likely they didn't really understand them to begin with, which is a failure of teaching and testing, not some sort of 'limitation' in the student.

Failure of teaching. Also laziness on the student is a big factor.

truth hurts, so downvote comes. :D

Re: Why did we ever think a student's first programming language didn't matter?

#269

Earlier quoted context omitted.

I've always felt like a good data point in favor of IQ playing a non-trivial role in suitability for programming is the fact that anti-credentialist moves like 10-week coding bootcamps have been so incredibly successful. Bootcamps took off shortly after I graduated from my top-ranked CS program, and I remember being extremely dismissive of their value: there was no way that you could fit the four years of my CS degre…

You do indeed get very smart people doing menial work, and their talents are largely wasted. IQ has always been a good indicator of programming skill. Unfortunately school grades and specialisation aren't a good indicator of IQ, and (I think?) it's illegal in the US to require job candidates to take IQ tests. So the issue for companies is that without the usual whiteboarding or educational paper trail you have to fin…

> it's illegal in the US to require job candidates to take IQ tests.

> So the issue for companies is that without the usual whiteboarding or educational paper trail you have to find a way to identify high IQ people without being too obvious about it.

Yup. I was surprised to find myself gravitating to this through trial-and-error, since I had pretty thoroughly absorbed my affluent coastal background's bullshit religious conviction in the pure blank slate of every human mind and the uselessness of intelligence as a distinct concept.

> The other issue is if you find no-experience very-smart people you have to spend time training them before they start being productive. This works if you're not in a hurry, but it's harder to justify when runway is limited.

Right, the other ingredient that I mentioned was that the engineering work we needed didn't require any specific skills. The vast majority of our engineering work was just a Python backend, which is about as "pure" an exercise of manipulating logic as you get in engineering.

Re: Why did we ever think a student's first programming language didn't matter?

#270

Earlier quoted context omitted.

I've always felt like a good data point in favor of IQ playing a non-trivial role in suitability for programming is the fact that anti-credentialist moves like 10-week coding bootcamps have been so incredibly successful. Bootcamps took off shortly after I graduated from my top-ranked CS program, and I remember being extremely dismissive of their value: there was no way that you could fit the four years of my CS degre…

> Thank you. What a naked and honest thing to say on HackerNews. My brother is so much smarter than me. I went the CompSci route and suffered (toiled!) for years at a university. His boot camp was less than three months and he landed a just fine job. Internally, I was incredibly dismissive of his boot camp, but was proven wrong (again!) by my own horrible elitism. No everyone needs to be working on cutting edge ML/AI…

I experienced this from the other direction, joining Google and assuming the work would be stimulating because it's The Best Smart-Person Job (at least at the time). I didn't have a lot of good mentorship, so it took me years of wrong turns until I found myself where I am today, finally feeling like my career doing Applied CS Research is a good fit for me.
Post reply on HN