Live data from Hacker News

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

m-cacm.acm.org

41–50 of 286 posts

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

#42
post #18

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.

> If a student has trouble transferring their knowledge of programming fundamentals “Programming fundamentals” isn’t the same from language to language. It’s inconceivable that a student who learned to program with python would develop the same type of fundamental understanding as a student who used C (to develop an understanding of memory-level APIs) or Haskell (to develop an understanding of type and semantic theor…

> I don’t think everyone can understand computer science.

This is a bold claim. None of us are special for working in tech. Our life has presented us the opportunity and passion to invest ourselves deeply in the field, often at great opportunity cost.

Saying that a bad teacher makes no difference in student outcomes is equally ridiculous as saying an excellent teacher makes no difference in student outcomes. If that's the case, we should be able to replace professors with cardboard cutouts, no? I was a student and TA long enough to witness directly the impact that a thoughtful curriculum can have on students.

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

#43
The first language is incredibly important and I normally recommend javascript for the following reasons

- it's /highly/ accessible (any computer with a browser can compile and run javascript - you just need to get your browser to load the file)

- it shares a lot of its syntax with C-Style languages (which makes transference to other languages much easier

- it's 'relaxed' on how it enforces rules (now, this is contentious, should a learner be allowed to get away with mistakes that will haunt them later, or should a learner be hobbled and forced to be precise from the get-go, IMO the former is easier for people to upskil with than the latter)

- it's (currently) got commercial value (that is, you can get a job with javascript on your CV)

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

#44
post #19

It’s unfortunate that CS curriculums lean so heavily on math and proofs.

I think it's worth distinguishing between "Computer Science" and "Programming".

One of the motivating examples in the OP is "conversational programmers". OP defines that as people who want to be able to have conversations about programming stuff, but won't program. -- For those people, sure, assuming heavy technical/math background when teaching programming isn't helpful.

But many topics in Computer Science heavily rely on applying math. (3D rendering, Computer Vision, Machine Learning).

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

#45
post #23

I think you should teach assembly language first, and then build a few simple high-level langauges on top of that. I suspect it would prevent a lot of mental dross from forming.

I’m primarily a front and developer and I wish that was the way I went. When I work in even basic back end code now I feel unprepared. I highly doubt I’ll ever write assembly code and if someone was to ask me to I would essentially face plant

there's no need or special value in learning assembly first. you can learn it after.

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

#46

Given the ever-increasing amount of automation in the economy, I believe that programming (of one form or another) is going to become a skill as important as writing. Everyone learns how to write in school, even though only a few become novelists or journalists. Similarly, everyone will learn to code even though only a few will become data scientists or software engineers. Programming for non-professionals looks a lo…

True. Even if someone only understand truth table, excel formula and some mathematical operations (max, min, ceil floor avg, mod, root, pow), they can be very useful to support any companies.

Another big reason is that it is so much easier to write powerful software for programmers than non programmers. So at some point it will be easier for the world to teach program to everyone and have that as a baseline than trying to put ever more programmers building specialized programs for non programmers.

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

#48

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.

You are given a set of tools, designed by folk's that may not have envisioned how you want to use those tools. You make the best you can from the bag of tools available.

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

#49
After graduation, I fought my undergrad to switch the CS 101 course from Java to Python for the simple reason that

public static void main()

has a huge number of concepts built in and "just trust us, we'll cover that later" is a terrible excuse.

Edit: Even now, years later, I still got them in the wrong order. Arg.

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

#50

I think you should teach assembly language first, and then build a few simple high-level langauges on top of that. I suspect it would prevent a lot of mental dross from forming.

I'm not gonna downvote you but I think you should be. This is already what universities were doing up until recently and I don't think it helped anyone. Some people learn top down and some learn bottom up, some learn... middle-out? what ever their way is, you're just saying everyone has to learn bottom up.
Post reply on HN