Don't Make Students Use Eclipse
181–190 of 255 posts
Re: Don't Make Students Use Eclipse
#182Earlier quoted context omitted.
Why is that? And how so?
I'm not the OP, but look up "type erasure" for one criticism.
Re: Don't Make Students Use Eclipse
#183Earlier quoted context omitted.
Isn't eclipse a piece of tooling? I mean I think the best argument against teaching eclipse is IntelliJ is much better, imo, and is more widespread than eclipse at this point. Student should have a module/class whatever about command line tools as well. I this comparison is comparing two things that aren't comparable, an IDE vs learning the CLI. I also think you contradict yourself in your last sentence. Teaching an…
I haven't really played around with java since the 90's, and I bought a Java book and tried hopping back in. It was really frustrating because the book uses 8 and I downloaded 9 and Eclipse was slightly diffferent, something with modules blah blah. Plus downloading the actual Java SDK was confusing, the versioning, it not being free anymore...
Re: Don't Make Students Use Eclipse
#184When you ask them to put a breakpoint somewhere you get a puzzled look back: "what's a breakpoint?".
They don't even know that debuggers exist!! Instead they add printf all over the place, recompile and rerun. Mind you these are people whose CV claim 5+ years of experience.
It's terribly ineffective. University should teach the fastest way to iterate logic, Being able to pause your code, introspect the data and then step through it slowly line by line is the best way to really understand and learn the theory of what is going on. Autocomplete is also a fantastic inspiration on what else that's possible to do that's not covered in your lab handouts.
How to import libraries and configure your build system will come later by necessity and will have changed by the time you start your next project. Knowing that debuggers exist and how to use them is a more general knowledge and it's something you have to be shown first before you miss it, (if Henry Ford asked what people wanted they would have said faster horses). Build systems and compiler flags can also be very challenging and uninspiring to understand before you even know what a linked list is. As someone else said below, after decades of experience i still have problems understanding the intricacies of CLASSPATH, or PYTHONPATH, ask a student to get this right and they'll just blindly copy-paste the first answer from stackoverflow so they can continue their printf-debugging session and finish their assignment before deadline.
Re: Don't Make Students Use Eclipse
#185> ... it insulates the student from the javac command line program, and the command line environment itself Such a misguided article. The Java language has (quite literally) nothing to do with `javac`. In fact, there's a lot of other compilers out there. Taking a Java class should not focus on the intricacies and weirdness of Java compiler command line interfaces. It seems pretty amateurish to argue in favor of it. C…
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…
Re: Don't Make Students Use Eclipse
#186I 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…
I can't imagine why people start teaching teens from C and Java and make them think programming is boring and annoying. Absolutely worse than not taking the class.
Re: Don't Make Students Use Eclipse
#187Earlier quoted context omitted.
The point is, it's a terrible first language because it's impossible to actually understand what's going on even in a basic "hello world" program until halfway through the semester. So inevitably you have to start them off by saying "here's a bunch of noise that you don't understand, but that's OK, just copy and paste it" which is a terrible habit to reinforce. You need to understand * access modifiers (public/privat…
> * access modifiers (public/private) I think you can omit the "public"s in the Java hello world (thereby making everything package protected, and sneakily sidestep the issue), but I don't want to ruin this machine by installing Java on it to make sure. To be super thorough, you would also have to understand: - semicolons (and the related issue of newlines being semantically equivalent to normal spaces) - naming conv…
Re: Don't Make Students Use Eclipse
#188Earlier 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…
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.
But I don't think it is such a key to anything. It is sort of stuff that is easy to learn when you need it, easy to forget and not useful most of time. It makes sense to read when you done learning other things, but not for beginners.
Re: Don't Make Students Use Eclipse
#189> ... it insulates the student from the javac command line program, and the command line environment itself Such a misguided article. The Java language has (quite literally) nothing to do with `javac`. In fact, there's a lot of other compilers out there. Taking a Java class should not focus on the intricacies and weirdness of Java compiler command line interfaces. It seems pretty amateurish to argue in favor of it. C…
I think there's great value in learning to use a lightweight editor, a compiler or interpreter, the command line, etc. I also think that Java is perhaps the worst possible choice for that. It's a language created with the "build once run anyway" mentality that tries to abstract away the system, it's the poster child of languages married to an IDE, and verbose to the point that forcing people to write java code withou…
I'm happy to use just emacs. The naming conventions make it easy enough to remember. I've never been a fan of heavy IDEs. Maybe that is just me as a solo developer/entrepreneur, but I don't think that I am the only one.
Once you decouple yourself from the IDE and all of the bloated enterprizey (ahem spring) frameworks, it is actually pleasant to work with. Most of that stuff is superfluous when you have a command of the environment.
Re: Don't Make Students Use Eclipse
#190Earlier quoted context omitted.
Isn't eclipse a piece of tooling? I mean I think the best argument against teaching eclipse is IntelliJ is much better, imo, and is more widespread than eclipse at this point. Student should have a module/class whatever about command line tools as well. I this comparison is comparing two things that aren't comparable, an IDE vs learning the CLI. I also think you contradict yourself in your last sentence. Teaching an…
> but at some point they might need to know what the tool is doing under the hood. The problem is the IDE makes it so easy to never have to look under the hood, to the point when people take a peek the get overwhelmed and quickly return to the comfort of the IDE. However, in real world of production environments there will be no IDE holding your hand and as such you can't get away without a good understanding of the…
In real world, you always use tools and in real java world there is always ide or application server or something.