DEV Community

Discussion on: "Stop Making Students Use Eclipse"

Collapse
 
blueos profile image
Guillaume Maillard

Sorry but javac is not your compiler when using Eclipse.
Eclipse is by far the best IDE for professional Java developer, it's good to have experience with it even if Android developers will be stuck with IntelliJ.
Teaching Python is just teaching bad design like "spaces are important" or OO is just passing "this" as first argument.
Why not teaching C ?
Students will learn what a compiler is, how computer works, and something more important : how blazing fast is a C program.

Collapse
 
mburszley profile image
Maximilian Burszley • Edited

stuck with IntelliJ.

It's funny you phrase it that way because every Java dev (and other lang devs) I know likes it way more than Eclipse.

Teaching Python is just teaching bad design like "spaces are important" or OO is just passing "this" as first argument.

Using statements like that makes me think you don't understand why people teach Python first or know Python at all.

Collapse
 
blueos profile image
Guillaume Maillard

By "stuck", I mean, on Android you have no choice.
IntelliJ is slow, the debugger is far from the Eclipse one, it doesn't handle large projects (> 500klocs, ie the kind of projects I'm working on)... the list of issues is long.
See jrebel.com/blog/java-ide-usage-stats for real stats,
IntelliJ is #2 (thanks for Android).

People teach Python mainly because of AI frameworks.

Some aspects of why to teach (as a first langage is not a good idea) can be found here : medium.com/@natemurthy/all-the-thi...

Thread Thread
 
mburszley profile image
Maximilian Burszley • Edited

People teach Python mainly because of AI frameworks.

Yeah.. no. It's a multi-purpose, multi-paradigm language where it's strengths are being general-purpose and multi-platform. Long seen as an alternative to bash scripting for complex automation, used as a web framework with the likes of Django and flask, and many other things are built on it. The ML/AI packages are fairly recent and built on C anyways

A 2,000 person survey is quite small.

Thread Thread
 
noracodes profile image
Leonora Tindall

The Murthy rant doesn't specifically address Python as a first language, and also really very... correct.

In any case, I'm not arguing for any particular language or tool - just against slapping bandaids on problems that require thoughtful solutions.

Collapse
 
noracodes profile image
Leonora Tindall

I recommend Python only as an example; but I think Java is too large a language to teach as a first language.

Regarding the Java compiler used, obviously Eclipse uses the JDT incremental compiler - but I doubt any student is taught that in their first class!

Collapse
 
blueos profile image
Guillaume Maillard

Teaching Java doesn't mean to teach every aspects of it, you can do a lot with a subset of Java.

Python being dynamically typed, isn't it confusing (or magic) for students and a source of bad habits?

Thread Thread
 
noracodes profile image
Leonora Tindall

Dynamic typing is not a "bad habit". I'm personally a fan of static typing, and write a lot of Rust, but dynamic typing is a valid engineering decision, especially for beginners.

Thread Thread
 
blueos profile image
Guillaume Maillard

"dynamic typing is a valid engineering decision"

Why?
Is discovering bug at runtime better than at compile time?
Strange view of what software engineering is.

Thread Thread
 
noracodes profile image
Leonora Tindall

This isn't an argument I'm interested in having with you. I could just as easily say, "why is it acceptable to have null values? Is discovering a bug at runtime better than at compile time? My favourite language, Rust, does not have nulls."

But that would be off topic and pedantic because we're discussing something completely other.