Live data from Hacker News

Don't Make Students Use Eclipse

nora.codes

111–120 of 255 posts

Re: Don't Make Students Use Eclipse

#111

I tend to agree, but I wonder how many in the "IDE bad" camp would agree that in order to obtain your drivers license, you must pass the drivers test on a manual transmission?

I don't really care whether or not other people use IDEs, but I lament not learning to drive on a manual transmission.

Why? I would expect manual drives to diminish in popularity over time. It's harder to use, and does not give any benefits at all, other than a slightly cheaper price, and a slightly higher performance if the user is knowledgeable.

An auto transmission is so much better in every respect, and the performance improvements in manual hardly comes into play during every day use.

Re: Don't Make Students Use Eclipse

#112
The "stop using IDE _____ so that students can learn how the computer works" has been around since at least Turbo Pascal and Turbo C. In my own career, my toolchain seems to change radically every 3 years, and the transition time is measured in days to weeks. It's not that deep. Neither is bringing a new grad or new hire up to speed on whatever tools we're using.

I've worked with enough really good developers who were lost when not given an IDE. Most of the time, it takes a few days to teach "here's how to build at the command line" and here's how to use git (followed by the eventual day lost to finding a way to break git completely). The IDE centrism seems especially common in Windows and Java shops (and every Java shop I've worked with was using Windows).

Re: Don't Make Students Use Eclipse

#113
post #75
post #72

Earlier quoted context omitted.

Agreed. The least effective developers I’ve had the displeasure of working with never understand how their code executes end-to-end. And the best ones have a deep knowledge of it. This is no fluke! If you don’t know how a classloader works with the Java classpath, how to set various JVM flags for operating the JVM, etc., then I’d argue that you’re an amateur, and I wouldn’t trust you to write correct code in a produc…

eh, I understand the sentiment - but it's a little overkill. Junior programmers can be code reviewed and taught these things over time, and also be wildly productive in a production setting.

Sure you can teach junior programmers all kinds of stuff that they should have already learned or should know how to learn, I do it all the time. I'm arguing that this is crucial information that even entry-level engineers should know. If they don't, then I give them a link to the relevant documentation and politely ask them to read it. It's a prerequisite.

Re: Don't Make Students Use Eclipse

#115
I think a better alternative would be "Don't Make Students Use Java", I seriously can't think of a worse language for training beginner/intermediate programmers, I certainly wish my schooling experience consisted of something else. From day one you're introduced to magic on top of magic: "Open up and click 'new project' and name it 'MyProj' and now click on the file in the side menu that says 'MyProj' and inside `public static void main(String args[]){}` inside the `public class MyProj{}` write `System.out.println("Hello World")` and go to the top bar and hit 'Run' and then 'Hello World' will appear in the integrated console, ah, programming!"

And you don't even begin to grasp what all those steps you just took in the IDE did until you're at least 1+ years in, and you don't learn what all of those magic words even remotely mean by at least halfway into your second semester.

I felt like every single thing I ever did was magic, never having a clue why it ever actually worked the way it did, and as a result nearly dropped out. The only time things _finally_ started to make sense is when I got to Computer Architecture/Organization with MIPS followed by some work in C.

Re: Don't Make Students Use Eclipse

#116

I tend to agree, but I wonder how many in the "IDE bad" camp would agree that in order to obtain your drivers license, you must pass the drivers test on a manual transmission?

How much of a difference does learning on a manual actually make? I learnt in the UK, where it's the norm to learn in a manual, and I know after about 5 lessons, it's not really something I thought about. It became habitual very quickly (other than _occasionally_ on steep hills, which took a few lessons longer), and it's something I picked up whilst learning other things anyway.

Re: Don't Make Students Use Eclipse

#117

I tend to agree, but I wonder how many in the "IDE bad" camp would agree that in order to obtain your drivers license, you must pass the drivers test on a manual transmission?

I think it might be more fair to say the "IDE bad" camp is comparable to folks that would say you shouldn't be able to press the "auto parallel park" button on your smart car to pass that part of the test.

Well, considering being able to parallel park is a really insignificant part of being a good driver, and the biggest complaint I hear on the internet is people apparently not knowing where the turn signal is on their car, perhaps people should be required to know more about the buttons on their car.

Re: Don't Make Students Use Eclipse

#118
post #72
post #53

Earlier quoted context omitted.

I strongly disagree. A lot of my peers in college were very bright and could write great code, but they were absolutely useless as developers because they didn't know any tooling. They couldn't compile, run, test, or source control their code if the professor didn't set it up for them. Yes, tools change, but the knowledge from one tool is almost always transferable. Once you're comfortable on the CLI and understand t…

Agreed. The least effective developers I’ve had the displeasure of working with never understand how their code executes end-to-end. And the best ones have a deep knowledge of it. This is no fluke! If you don’t know how a classloader works with the Java classpath, how to set various JVM flags for operating the JVM, etc., then I’d argue that you’re an amateur, and I wouldn’t trust you to write correct code in a produc…

Are there any books or articles that go through the things that you’ve mentioned like how the class loader works etc? Most of the tutorials or books I have seen do not even touch this aspect and I want to get better at it.

Re: Don't Make Students Use Eclipse

#119

I think a better alternative would be "Don't Make Students Use Java", I seriously can't think of a worse language for training beginner/intermediate programmers, I certainly wish my schooling experience consisted of something else. From day one you're introduced to magic on top of magic: "Open up and click 'new project' and name it 'MyProj' and now click on the file in the side menu that says 'MyProj' and inside `pub…

for very beginners, yes... Java is not the right programing language to teach. (I'd say Python is).

But for intermediate/advanced classes I think Java is a must learn for every CS graduate.

1. While it is bloated, it has so many modern and not so modern concepts into it, that learning it makes you understand those concepts better. (eg: It is hard to understand Generics if your favorite language doesn't have them)

2. A lot of enterprises (and major tech) backends still run on Java. I thin knowing it is a must to be competitive in the job market as a fresh grad

3. Learning Java (and probably disliking it) it will make you appreciate and perhaps make you better at learning other more nimble languages (aka. GoLang and friends)

Re: Don't Make Students Use Eclipse

#120

I think a better alternative would be "Don't Make Students Use Java", I seriously can't think of a worse language for training beginner/intermediate programmers, I certainly wish my schooling experience consisted of something else. From day one you're introduced to magic on top of magic: "Open up and click 'new project' and name it 'MyProj' and now click on the file in the side menu that says 'MyProj' and inside `pub…

Java is great for exactly that reason. It gives students an introduction to compilation, runtimes, stacks and heaps etc. Perhaps you had a poor learning experience due to who/what was teaching you rather than Java? My second comp sci course in college (first if you count high school AP credits), taught me all of this, and prepared me for the "full details" of MIPS and C.
Post reply on HN