<story><title>Stop Making Students Use Eclipse (2020)</title><url>https://nora.codes/post/stop-making-students-use-eclipse/</url></story><parent_chain><item><author>SPBS</author><text>I pity the student who only knows how to hit the compile button in the IDE and not `javac`. That&amp;#x27;s a terrible thing to inflict on a beginner, everything will seem like a mystical black box to them with no way forward when they hit encounter their first compilation problem.</text></item><item><author>armchairhacker</author><text>I don’t agree with this perspective: why do entry-level students have to understand the internals behind compiling their code, and weird edge-cases like misspelling import? In my experience this is actually the stuff that hinders learning and confuses students.&lt;p&gt;The author claims that students won’t be able to do real-world programming without learning this esoteric stuff, but actually this is the exact stuff they don’t need to know: full teams can and have built huge java projects just by using the intellij project wizard and maybe a tiny bit of Gradle from stack overflow. Actually students can solve most of the author’s problems by spending 5 seconds on Stack Overflow.&lt;p&gt;I’m not saying that these more esoteric details are completely useless. Learning e.g. the difference between char and UTF8 “character” is actually pretty important so that emoji inputs don’t crash your website. But this is stuff that should come in later classes, particularly for students who are interested in those details. Not everyone needs to know it.&lt;p&gt;In fact my experience is that some colleges have the exact opposite problem: they teach students old tools and techniques which are tedious and not actually used much later on. Like writing code by hand and deducting points for syntax errors, or using some outdated framework e.g. jQuery. When I saw the title my first thought was literally “yeah stop making students use eclipse, they should be using IntelliJ!”</text></item></parent_chain><comment><author>faizshah</author><text>I completely disagree, when I was a beginner programmer my only concern was “how do i make games?” i didn&amp;#x27;t really care about the game engine, the compilation process, the algorithms even, my focus was on making a game. From middle school until early high school all my coding was in IDEs and I never really tried to use the command line it just wasnt my concern, it was much easier to hit the green run button. Throughout that time I was learning all the basic concepts of how a program is executed, what is control flow, how do you write good code, how does the program even run (i recall one time in middle school trying to figure out if all the lines in a program run at once or in sequence), how do you simplify booleans, how do you debug etc.&lt;p&gt;It was only later once I was interested in web development that I started picking up linux, learning more deeply about the compilation process, learning algorithms etc. For a beginner all that stuff is just more roadblocks to building your interest and foundation. But later I started hitting a wall when trying web development or 3d game programming where I didn’t have the fundamentals and thats when I started learning all the other skills besides just typing some code and hitting the green run button. In the transition from beginner programmer to Intermediate programmer is where I would say one should learn the behind the scenes concepts not while you’re still building an interest and foundation.&lt;p&gt;Also interesting aside the programming environment I started on was called “Kids Programming Language” it was like a kind of simplified blackbox environment that I compared to flash (but didnt cost money). Even today I prefer to introduce coding in such blackbox environments like processing.js maybe because of that.</text></comment>
<story><title>Stop Making Students Use Eclipse (2020)</title><url>https://nora.codes/post/stop-making-students-use-eclipse/</url></story><parent_chain><item><author>SPBS</author><text>I pity the student who only knows how to hit the compile button in the IDE and not `javac`. That&amp;#x27;s a terrible thing to inflict on a beginner, everything will seem like a mystical black box to them with no way forward when they hit encounter their first compilation problem.</text></item><item><author>armchairhacker</author><text>I don’t agree with this perspective: why do entry-level students have to understand the internals behind compiling their code, and weird edge-cases like misspelling import? In my experience this is actually the stuff that hinders learning and confuses students.&lt;p&gt;The author claims that students won’t be able to do real-world programming without learning this esoteric stuff, but actually this is the exact stuff they don’t need to know: full teams can and have built huge java projects just by using the intellij project wizard and maybe a tiny bit of Gradle from stack overflow. Actually students can solve most of the author’s problems by spending 5 seconds on Stack Overflow.&lt;p&gt;I’m not saying that these more esoteric details are completely useless. Learning e.g. the difference between char and UTF8 “character” is actually pretty important so that emoji inputs don’t crash your website. But this is stuff that should come in later classes, particularly for students who are interested in those details. Not everyone needs to know it.&lt;p&gt;In fact my experience is that some colleges have the exact opposite problem: they teach students old tools and techniques which are tedious and not actually used much later on. Like writing code by hand and deducting points for syntax errors, or using some outdated framework e.g. jQuery. When I saw the title my first thought was literally “yeah stop making students use eclipse, they should be using IntelliJ!”</text></item></parent_chain><comment><author>irl_chad</author><text>I’ve been programming in Java for about 10 years now. I would consider myself an expert - I’m not just some guy who built crud apps, I’ve gotten messy with Java. I came up programming for minecraft servers - lots of interesting challenges there.&lt;p&gt;The only time I have ever used javac was for fun. Not once professionally.</text></comment>