Hacker News new | ask | show | jobs
by erikbye 3304 days ago
That just sounds like the professor didn't teach them about Java classpath before telling them to use a CLI; or this kid didn't read the course materials.
3 comments

It's not unusual, in education, to begin with something interesting* to provide motivation and a big-picture view before getting into details.

For example, if I wanted to teach a kid to use an Arduino, I'd start them off getting an LED to blink by telling them which wires to plug in where, and what code to type in. If they were good at that, maybe I'd have them make it fade in and out like a macbook light.

That way, when it comes time to learn about voltage and current and P-N junctions and bandgaps and PWM and cross-compiling and memory maps and bootloaders, they'll have real-world examples to relate it to.

The difficult part, of course, is even if I thoroughly test the instructions with a clean VM and hardware, the instructions can still fail - like if they've installed a different version previously and there's some sort of conflict.

*Or at least, interesting by the standards of the course

Sure, but if you have been playing around with environment variables in your OS since you where 8 years old the problem becomes a lot easier to troubleshoot, compared to someone who has never heard of environment variables.
Even after decades of experience, this stuff can still be extremely frustrating. I remember my first experience trying out Go, fighting with the GOPATH and GOROOT variables until I could figure out how to get things installed properly.
I recently had this experience as well, it was a good reminder about the fundamental obstacles. Although after years, we're much better equipped to interpret error messages and search for answers than a novice. Also, google now vs pre-google. Answers are so easy to find now, it boggles the mind.
I'm a bit interested with your comment. Do we have 8 year olds playing around with environment variables in the OS? I'm curious because I never thought that could be possible
It was not uncommon to have to monkey with crap like that back in the DOS days, to do the most basic things. I vaguely remember having to fool around with autoexec.bat and play with virtual and extended memory settings to try and get Raptor: Call of the Shadows, Wolfenstein 3D or Warcraft: Orcs and Humans to load up and use the right colors on the family 586, when I was much too young to be playing such games - or really tweaking environment variables.
Yea, having to hack your autoexec.bat and config.sys files to get your games to work was definitely a formative experience :)
I remember having to muck about with autoexec.bat files when I was SIX (this was a quarter century ago) because our 386 desktop had enough memory to run either Windows 3.1 or the CD-ROM drive, but not both simultaneously. Granted, I was just copying instructions that my dad had written into a workbook, not writing the file myself.
That's likely a source of frustration. In class, professors and other students might assume you already knowing something as in indicator that you're passionate/interested and not knowing it means you're not. (A->B doesn't necessarily mean ~A->~B, right?).
Maybe, but the procedure is the same as for any other error you don't understand, copy paste the error message to a search engine and use the results to figure out what it means and how to fix it.
Which teaches you how to find other people's solutions to your problem- a valuable skill - but you miss out on building foundational troubleshooting skills.
But that kind of information should just be in the instructions for the assignment. It's a problem with the instructor, is what I'm getting at.
Doesn't the Java processor tell you in the error message that it "can't find x in classpath" or whatever?

Perhaps the lesson was "read the error message; if it doesn't help then take that as a call to produce useful errors in your own programs"?

Learning to read errors is itself a skill. The number of professional devs who ask questions of the form "I got this message what do I do" and the message itself tells them what to do is astonishing.