Author is showing confused thinking, by conflating "first" with "only". Teaching a new programmer less than 2 language paradigms warps their brain into limited view of what is possible. Even learning JS + HTML, or Spreadsheet + Bash/PowwrShell, with good instruction, should be enough to instill the key idea that languages are abstractions and there are radically different languages for different problem domains, and…
Why did we ever think a student's first programming language didn't matter?
191–200 of 286 posts
Re: Why did we ever think a student's first programming language didn't matter?
#192If 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.
> programming fundamentals from one language to another, But the fundamentals of different classes of programming languages differ. For instance, Haskell's model of computation is not Turing machine but a G-Machine. It's a different matter that G-Machine and Turing machine are equivalent and that doesn't mean learning one is sufficient to understand the other. There is very little that can be transferred between the…
Can you teach "programming" without conveying a fundamental model of how the machine operates.
Should you?
Because how the machine operates is very simple.
Fundamental units of state are read from memory to an evaluator, evaluated to extract meaning, and this can result in units of state being written to/assigned depending on certain conditions.
Data structures are a complex arrangement of state that has meaning other than the literal evaluation of said fundamental units. Algorithms are logically proven concepts represented in state. Compilers are a tool for converting "abstracted instructions designed for humans to work quickly in" into operations supported in hardware.
How each language abstracts it is pretty secondary.
There are so many unanswered questions in programming education.
"Whether you should attempt to teach the model of fundamental state" to all novice programmers, or just a few shorthand rules, is the biggest.
Re: Why did we ever think a student's first programming language didn't matter?
#193Earlier quoted context omitted.
“… sufficiently skilled […] given enough time …” Well, sure. For some values of sufficiently and enough.
Sufficiently skilled: understands the topic in their chosen language. Enough time: however long it takes them to learn the syntax of the second language + the time it took to complete the project in the first language. Unfortunately I can't give decimal precision hour estimates.
Re: Why did we ever think a student's first programming language didn't matter?
#194Earlier quoted context omitted.
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 r…
This is no different than engineering.
Re: Why did we ever think a student's first programming language didn't matter?
#195Earlier quoted context omitted.
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…
> Why do you believe that "not everyone can understand chemistry"? I didn't say that I did. My belief is irrelevant anyway, because it is generally accepted when someone says "not everyone can understand chemistry" . I was pointing out that saying such a thing only draws ire if you say it about CS. > When I say "everyone" below, I mean "the overwhelming majority of people in the average range of human intelligence, w…
Re: Why did we ever think a student's first programming language didn't matter?
#196The course turned out to be surprisingly worth it! Since it had kids up to 15yo or so (I may have been the youngest), they introduced some advanced topics. I quickly picked up HTML (with Netscape and Notepad) and at the end they even taught us C in a UNIX environment (we worked on IBM terminals).
I'm really glad and thankful I had a chance to learn C that early. I have been taught Pascal, Java, C++ before reaching Uni years but I have always appreciated the compactness of C and compared every other language to it.
Discovering Python on my own in high school was like a eureka moment for me. It was the first time since my primary school C episode that I felt "home" with another language.
Re: Why did we ever think a student's first programming language didn't matter?
#197There’s a lot of folks in this thread who’ve shared their personal experience with learning and teaching programming languages. Some attempt to generalise this experience into principles of how much the first language matters and how to choose it. It would move the conversation forward if people were up front about which metric they’re trying to move. For example, here are two equally valid pedagogical goals that are…
Either interpretation of ‘Anyone Can Cook.’ Cooking isn't just about being great art. Neither is programming.
Lets not forget that a lot of programming is making something like salesforce do something after an employee does some other thing with their account... Proverbial (and literal) CRUD. The practical requirement for this job is (1)"can program," (2)"knows how salesforce works," and (3)"can reach an understanding for what the problem is."
There's a real tendency to downplay this "use case" for an education in programming, but this is a lot of what most programmers do for a living. Whether or not it's simple, it is definitely not trivial in the sense that most people do it well. In isolation, the "can program" bar is not that high.
Re: Why did we ever think a student's first programming language didn't matter?
#198Earlier quoted context omitted.
At most one will create an easily teachable AI they can utilize. But that’s most definitely not the same as training a NN by specifying input/layers, etc.
That's what I meant. Trying to get the already-trained AI to do exactly what you want by modifying the prompt could be thought of as a type of programming and could become a skill-set in itself.
I think the biggest obstacle standing between the general populace and computers is the amount of detail one has to provide for a task to become programmable. But it comes up in real life as well.
Re: Why did we ever think a student's first programming language didn't matter?
#199Taking specific languages out of it, I think some characteristics of a good starter language could be: * Simple Syntax - I think it's important for this to be a 'typed' language rather than blockly-style as otherwise people find it hard to transition after. It's important to learn typing in syntax otherwise that's a band-aid that's harder to rip off after. * Mix of dynamic and static typing - On the other hand, words…