←back to thread

187 points chhum | 1 comments | | HN request time: 0.204s | source
Show context
aabajian ◴[] No.44006819[source]
Just going to remind y'all of this: https://www.joelonsoftware.com/2005/12/29/the-perils-of-java...

I went to a Java school. I remember my operating systems class involved writing simulated OS code in Java (for example, round robin for context switching). The argument was that it would be easier to understand the algorithms if the hardware complexities were minimized. I understand that sentiment, but I don't think Java was the right choice. Python would have accomplished the same task even better (understanding algorithms). I think there was a huge influence from industry to teach college students Java from day one. I had taught myself BASIC and some C back in high school, so it was a bit of a step backwards to learn a high-level language just to do simulated low-level OS programming.

replies(2): >>44007023 #>>44008617 #
briankelly ◴[] No.44008617[source]
My school started us off in microcontroller programming in C then Java for intro to data structures and OOP then back to C (and MIPS assembly) for systems/OS/concurrency. One thing I appreciate Java over Python for DS/Algo is the clear delineation between abstract data type and underlying data structure - IMO is easy to get a wrong mental model with Python. But teaching OS concepts in Java seems a little crazy to me.
replies(1): >>44009718 #
Koshkin ◴[] No.44009718[source]
Hm... Why? Java seems to be a perfect language in which to understand things at a conceptual level!
replies(1): >>44009958 #
1. briankelly ◴[] No.44009958[source]
Good to get your hands in the dirt as well.