← Back to context

Comment by red_admiral

1 day ago

The top programming languages by popularity or job openings seem to be a toss-up between python, JS (or things that compile to JS), and SQL. Other less used languages might lead to steeper career advances - there's still a market for COBOL programmers for example with more demand than supply - but that's not what I would like a college to start out with as a first language.

As a teaching language for top-end CS degrees, going python-first would be an experiment. Theory says it'll turn out badly; in practice I'm not sure especially if there is an emphasis on good coding practice. Python for a degree with a bit of programming but not full CS is in my opinion the correct choice, but that doesn't mean we should ban it for CS degrees.

If I had to choose a language for teaching a module on object-oriented programming, I'd go with golang, not Java or C#. Not because of licences, but because we've learnt things about subclassing and exceptions and design patterns to get around language restrictions that golang mostly fixes so it's easier to pick up the spirit of modern OOP.

Why not C++ though? Learning C++ before Python helped me retain a bias for good programming practices.

  • ...C++ teaches good programming practices? I thought it mainly teaches you how to be paranoid, and how to keep track of the bizarre interactions of 20 bespoke historical features.