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.
From humble beginnings at an MSP, I've adventured through life as a sysadmin, into an engineer, and finally landed as a developer focused on fixing problems with automation.
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.
From humble beginnings at an MSP, I've adventured through life as a sysadmin, into an engineer, and finally landed as a developer focused on fixing problems with automation.
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
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.
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.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
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.
It's funny you phrase it that way because every Java dev (and other lang devs) I know likes it way more than Eclipse.
Using statements like that makes me think you don't understand why people teach Python first or know Python at all.
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...
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.
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.
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!
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?
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.
"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.
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.