Live data from Hacker News

Don't Make Students Use Eclipse

nora.codes

11–20 of 255 posts

Re: Don't Make Students Use Eclipse

#11
post #2

I completely agree. IDEs obscure the behavior of tools and languages. It's the last thing a student needs. I've been talking for a while about writing a course that teaches programming in 2 or 3 languages side by side to basically so the opposite of this. The specific quirks of languages or the things they obscure with magic melt away when you look at languages side by side. I wish university would teach in this way.

UCLA has a class that does this, you have 10 weeks to learn 5 languages and write a non trivial assignment in each: http://web.cs.ucla.edu/classes/spring20/cs131/syllabus.html

http://web.cs.ucla.edu/classes/spring20/cs131/homework.html

The languages change over the years, but the goal is to have them touch different programming paradigms.

Re: Don't Make Students Use Eclipse

#13
I agree that the file system is not emphasized enough anymore, and I've met a fair share of students who struggle with file paths.

Also, in the last section:

> or UC Berkeley (oh, I’m sorry, “Cal”)

A bit off-topic, but as a Berkeley student, I was a bit amused/confused here, what's the sarcasm in the parenthetical about? According to our official branding guidelines[1] both are acceptable, though Cal is mostly used in athletic contexts.

[1] pg34-35, https://brand.berkeley.edu/wp-content/uploads/2019/07/Berkel...

Re: Don't Make Students Use Eclipse

#14
post #5

> ... 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…

it's a regular issue, the more layers between the actual tool (JVM) the less you will need to master, but at the same time the first thing you'll learn is to forget how to use javac or any compiler and just import projects configs or let tools infer stuff for you.

In my personal case, knowing about classpaths the hard way was my only path to salvation. Otherwise I was blindly tweaking IDEs project configs without any idea what was happening.

Re: Don't Make Students Use Eclipse

#16
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.

Re: Don't Make Students Use Eclipse

#17
> Most importantly, though, it limits the ability of their peers to learn. If a 300-level software engineering class which budgeted a week to teach basic version control skills has to take a two-day detour to teach the Windows users how to get rid of the CRLFs in their commits, and teach the Mac users to remove the .DS_Store files from their repositories, and get everyone set up in Eclipse EGIT, that’s wasted time. If the professor has to schedule time with students outside of class to demonstrate their code because so many students aren’t able to submit their code in a form that successfully runs on the professor’s computer, that’s wasted time for both professors and students, and it undermines important lessons about portability and good practices.

This is might be an argument against a particular IDE setup for a class, but it isn't an argument against IDEs in general. Instead it is an argument for providing a config file to make these problems go away.

> When students have only ever programmed in Java using some bespoke learning library provided by their professor, it will take them much longer than necessary to figure out other languages, other libraries, and other approaches.

The article doesn't support the case that an intro class using an IDE prevents students from learning anything else. The class doesn't set people back--it merely fails to move them forward in that way. I agree that it is important to teach this eventually. But it should be through teaching it deliberately. (EDIT: Someone else posted a link to a class which compares different languages and their tooling side-by-side. That sounds fantastic.)

I have yet to see a class which can do a good job of teaching how package management works to a degree that the student can then confidently debug weird setuptools errors.

I've been looking for such a class since 2009.

Re: Don't Make Students Use Eclipse

#18
post #2

I completely agree. IDEs obscure the behavior of tools and languages. It's the last thing a student needs. I've been talking for a while about writing a course that teaches programming in 2 or 3 languages side by side to basically so the opposite of this. The specific quirks of languages or the things they obscure with magic melt away when you look at languages side by side. I wish university would teach in this way.

I can see the merit of this, but as an anecdotal counterpoint my first programming class was Fortran 77 using gedit (in the late 2000s). The delayed feedback of whitespace and syntax errors at compile time was painful, slowed down my learning process and distracted from the principles we should have been learning.

Re: Don't Make Students Use Eclipse

#19
Defering learning of implementation details is virtuous and on the plus side, intellij IDEs have state of the art static analysis that show to the coder anti patterns and help it rewrite them in a cleaner way, and with an explanation.

Autocompletion and integrated documentation do increase discoverability and learning of the language, not the reverse.

BTW intellij has launched an IDE specialized for teaching: https://blog.jetbrains.com/idea/2019/10/intellij-idea-edu-ea...

Post reply on HN