Live data from Hacker News

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

m-cacm.acm.org

21–30 of 286 posts

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

#22

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.

Or it simply means the student does not have the aptitude for programming. Not everyone does.

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

#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

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

#24

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 agree. At the very least, teach assembly in the first term, at the same time as students are learning a high level language.

If you know assembly, you can understand why arrays exist in C ( because CPUs have base-and-offset addressing), why records exist (same reason), what pointers are (assembly is pretty much about pointers), why ints are different from floats (ADD vs FADD) and so on, how functions are called (system stack).

Absolutely. My first year of programming we took both Fortran and IBM assembly. It all made a lot more sense, and still does.

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

#25

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.

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

#26
I started with BASIC in middle school on a TRS-80, then bought a TI/99-4A when I was in high school. At university it was a mishmash. Every course was different. PL/1, Pascal, Modula-2, FORTRAN, Scheme, C, assembler were in the mix.

I'm not sure it matters, but I think most people would do best learning a simple imperative language like BASIC or Python to start. I didn't really "get" Scheme/LISP functional programming until after I graduated, but now it's my favorite style and Erlang is my favorite language.

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

#27

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.

It absolutely could be some sort of "limitation" in the student. Some people are just dumb.

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

#28

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.

Or it simply means the student does not have the aptitude for programming. Not everyone does.

[deleted]

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

#29
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 think you’re vastly overestimating programming fundamentals.

Every language can do some form of if then else be it machine code with goto’s or purely functional. Ask someone to find the absolute value of a number and they should be able to quickly figure out something that works in a new language. The basics of programming are not about being correct so much as not being lost.

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

#30

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.

Or it simply means the student does not have the aptitude for programming. Not everyone does.

But the topic is how their view is shaped by the first language they learn. If they learn C first, will their ability to knowledge transfer into other languages happen differently then if they learned Python first?

Concretely, I can't fathom how people learn Rust without learning one of C or C++ first, and I'd think the underpinnings of how you understand code and systems is probably different if you are subconsciously mapping new concepts back to Python or Java or whatever.

Post reply on HN