|
|
|
|
|
by cutchin
2253 days ago
|
|
I'm not sure I agree much with this. When I first started learning Java I had six or seven years of programming experience and I still found dealing with matters of classpath and javac remarkably complicated. I had things down well enough with the tools I used before, but it all seemed so foreign in the Java world. And to this day I find junior devs struggle with the same things unless they have a maven/gradle project all set up for them. I'm all for folks learning these skills eventually, but in a first-year CS class I'd really rather students worry about the language and general concepts of writing software. Lots of javascript tutorials start off with opening and browser's javascript console and typing out some simple stuff and I don't think people would tell them they need to jump straight into node.js and webpack. All the other intricacies of writing systems will come to them but I find something uniquely wonderful about sitting and writing code, and if we're lucky we'll find students who can have that same experience. I'd rather meet them where they are and talk purely of the language and core concepts, and introduce them to the ugly details as their progress dictates. |
|
Personally I’m still shocked that learning the common build tools for whatever language is used for a CS course is not the standard. If you’re teaching Java you should be teaching Maven, if you’re teaching C++ you should be teaching CMake. Not to the “I can write my own plugins/macros level” necessarily but at least to “I can create a project that will build without my specific IDE or needing to recite compiler arcana”.
Nobody in their right mind works without these things, and while knowledge isn’t going to directly transfer from one to the next you should at least have enough to know where to look in the documentation for “how do I specify dependencies”, “how do I tell it where to find my source”, etc.
For a first year course where you aren’t pulling in the kitchen sink the IDE project format works well enough, but if you’re entering the workforce you should know damn well how to create a basic project in the standard tools of your language of choice.