
How to choose a teaching language - varunpatro
https://blog.janestreet.com/how-to-choose-a-teaching-language/
======
eksemplar
I think JAVA is a great way to get started. It lacks freedom and it covers a
range of OOP concepts you’ll need familiarity with through its lack of
freedom. It’s also a language you can actually use to get a job.

The job bit will vary from region to region, but in Europe, almost everything
runs on either JAVA or C#, and I do mean almost everything. If I go to a job
database the two top languages are JAVA and C# and the third, php, is around a
1/5 of either of those.

For computer science anyway. If you’re into IOT, Engineering, datascience or
robotics you’ll do python or C.

Back to JAVA. It’s lack of freedom is a great teacher. You’ll learn what
return types are in your first function along with access modifiers and it
really only goes on from there.

I think python is a great language, but I think it’s much harder to teach
programming with because it’s so forgiving and free.

I mean, freedom and joy of use could probably be really great motivators, but
most CS teachers aren’t exactly great at that part of teaching, at least not
the ones I had, and unless you’re really good at teaching _freedom_ and _easy
of use_ both become risky.

Or maybe I’m just old and grumpy.

