Live data from Hacker News

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

m-cacm.acm.org

131–140 of 286 posts

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

#131
post #125
post #110

Earlier quoted context omitted.

> University is not vocational training. I'll believe that when employers stop giving preference to people with university credentials. Until they do that, the primary reason most people go to university for CS will continue to be 'for vocational training.' People follow incentives.

If the employers don't want people who have a detailed understanding of academic minutia, they should maybe stop hiring from university courses and set up some sort of vocational system. Just because there is a need for vocational experts doesn't mean the universities should try to fill it. The place in society for universities is not a short-term-practical one.

Yah, they’ve always demanded to see my Engineering degree to even consider my application, only to proceed patronizing me from day one about how the grown-ups do work differently.

Now that I’ve put enough years I don’t get the treatment any more, just strenuously opposed with script-kiddie hacks when I put some intellectual effort in what I’m doing.

There’s a ton of people out there saddling down the industry who are totally our of their depth and terrified of becoming irrelevant.

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

#132
post #125
post #110

Earlier quoted context omitted.

> University is not vocational training. I'll believe that when employers stop giving preference to people with university credentials. Until they do that, the primary reason most people go to university for CS will continue to be 'for vocational training.' People follow incentives.

If the employers don't want people who have a detailed understanding of academic minutia, they should maybe stop hiring from university courses and set up some sort of vocational system. Just because there is a need for vocational experts doesn't mean the universities should try to fill it. The place in society for universities is not a short-term-practical one.

This is a very minority view, unfortunately. The politics of UK higher education has been completely marketized, and university courses are ranked by what salary the graduates can achieve.

Arts funding is being drastically cut: https://www.theartnewspaper.com/news/plans-to-cut-higher-edu... partly because arts graduates make less and partly because studying liberal arts makes students liberal, which the government perceives as a threat.

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

#133

Earlier quoted context omitted.

There's really no reason to go to university if all you want is to write some Python scripts. University is not vocational training.

> University is not vocational training. University started out as a trade school for the clergy, then added law and medicine, and then became a finishing school. At all points the median student was more interested in drinking than studying. Scholarship has always been a minority pursuit at universities and research universities haven’t even existed for 300 years. Universities are now and always have been vocational…

... I'm not sure anything you said is true. Unless I'm misunderstanding you.

See Cambridge as a counter example of everything you said: https://en.wikipedia.org/wiki/University_of_Cambridge

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

#134
post #125
post #110

Earlier quoted context omitted.

> University is not vocational training. I'll believe that when employers stop giving preference to people with university credentials. Until they do that, the primary reason most people go to university for CS will continue to be 'for vocational training.' People follow incentives.

If the employers don't want people who have a detailed understanding of academic minutia, they should maybe stop hiring from university courses and set up some sort of vocational system. Just because there is a need for vocational experts doesn't mean the universities should try to fill it. The place in society for universities is not a short-term-practical one.

If the employers don't want people who have a detailed understanding of academic minutiæ, why do they spend so much time testing their prospective hires for detailed understanding of academic minutiæ?

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

#135

It's my feeling that articles like this are evergreen, simply because the demands on a "first programming language" are contradictory and excessive. Depending on who you ask, a first programming language (I'll say 1PL to reduce repetition of the phrase) should do one or more of the following: 1) Be practically useful even if the student drops computer science immediately. 2) Be low-level enough to teach the fundament…

Slightly related, I am having great success with using Processing as a first language for my young child. The fact that it is very visual and easy to make "pretty things to look at" while still being pretty powerful made the onboarding a lot easier then something like JavaScript or Python.

As a bonus, it is close enough to (Java, C, etc.) that the move to a next language should be pretty straightforward.

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

#136

Earlier quoted context omitted.

The grandparent comment was about teaching, so I interpreted the parent comment to mean that "innate ability matters much more than good teaching", which my personal experience teaching people disagrees with. And sure, the statement "not everyone can understand computer science" is technically true if you include people with mental disabilities. But in reality, some people draw the line a lot higher as a form of gate…

I've spent about 2.5 years teaching programming. Students really do seem to have some innate programming difficulty slider, which absolutely matters. Some of my students worked their absolute butts off to learn programming, and asked for help constantly (which I gave gladly). And they still barely scraped by. Other students seem to learn programming extremely easily. I would show them something one day, and the next…

I was the one who appeared to learn it super fast. In retrospect, I had comparatively large amount of preexisting knowledge - my parents shown me very basics (in basic) before and we had some programming games.

And looking at my kids, this stuff matters a lot. A kid that comes in with complete zero experience has massive disadvantage against one with some experience.

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

#137

Earlier 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"? At least 5% of the population can’t understand algebra. If you can’t do algebra then you might be able to follow recipes but you can’t do chemistry. Without algebra you can’t do stochiometry and that’s essential for even high school level chemistry.

Sorry, by "can" I mean "has the mental capacity to". I agree with the statement "not everyone has the knowledge they need to understand chemistry right now". I disagree with "not everyone has the mental capacity to understand chemistry". Note also my definition of "everyone". I certainly think everyone has the mental capacity to understand algebra.

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

#138
post #20

I think it is possible to teach concepts like variables, loops, conditionals regardless of the language.

What about pointers? They are fundamental to data structures, and languages which doesn't clearly show the difference between pointers and values makes understanding data structures much harder, as many data structures relies on multiple pointers pointing to the same data and that simply doesn't make sense if you seem them as separate values.

I think this is a good point. You can implement a linked list in python, but, in my opinion, unless you already understand pointers, it's rather confusing. Doing it in c makes everything explicit.

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

#139

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 imparts a very specific architecture onto your code. Scheme is more of a blank slate upon which many different paradigms can be taught.

> Scheme is more of a blank slate upon which many different paradigms can be taught. reply

Also, for a lot of first-time programmers, Scheme and other lispy languages, can come with heavier cognitive friction.

Unlike procedural languages where you can think about what you want to do, break it down into steps, and then make those steps, there is a higher-level (or deeper-level, if you like) of thinking that needs to goes into functional development, where one thing feeds into the next which feeds into the next.

If you already have a very strong background in mathematical theory, this might not be so bad (and might make a lot more logical sense), but it is a shift in thinking from how many people do day-to-day tasks, which is more similar to procedural programming.

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

#140
post #18

Earlier quoted context omitted.

> 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'…

It's a bold claim, but it's been largely proven by the famous "The Camel Has Two Humps" article that one basic prereq for learning CS/programming effectively is understanding that one is dealing with a formal system that's following consistent rules, even if it's not always clear what these rules might be. It seems to be quite hard to teach this understanding precisely to those who haven't internalized it, but it's a key part of the tacit knowledge one would need to work in the field.
Post reply on HN