News for hackers. Stuff that matters.
Re:BlueJ – A Lightweight Java IDE by Timpy on Thursday September 15, 2022 @09:58AM (#32852058)
I learned on Java and I really feel like it slowed me down in some fundamentals of programming logic. Books were raving about garbage collection, JVM, "everything is an object"; I had no idea what any of that meant or why it would make Java "superior". Boilerplate like `public static void main(String[] args)` got me into the habit of ignoring things I didn't understand. The netbeans IDE was doing a lot of great quality-of-life stuff like handling imports for me and as a consequence I had a very poor understanding of how any of that worked. When you don't know how to write a for-loop yet things like accessor methods, pointers, or encapsulation are going to go way over your head.
Re:BlueJ – A Lightweight Java IDE by jjice on Thursday September 15, 2022 @11:35AM (#32853650)
My highschool "Intro to Programming" class teacher (she is a wonderful woman) would say out loud "string box args" to have us memorize the boiler plate. Needless to say, we never even got to loops in that class.
Re:BlueJ – A Lightweight Java IDE by Aperocky on Thursday September 15, 2022 @10:19AM (#32852433)
Java is great for learning OOP and certain design patterns, but eludes all other programming knowledge. They are 'encapsulated'.
Re:BlueJ – A Lightweight Java IDE by ithrow on Thursday September 15, 2022 @02:12PM (#32856129)
You could say the same for Python/Ruby/Javascript or most high-level languages that rely on a VM.
Re:BlueJ – A Lightweight Java IDE by the_doctah on Thursday September 15, 2022 @10:22AM (#32852480)
It took me forever to understand what the heck the Java classpath was.
Re:BlueJ – A Lightweight Java IDE by Gibbon1 on Thursday September 15, 2022 @03:42PM (#32857502)
One of my heresy's is I think things like classpaths are an antipattern. In that determining the location of files and other resources should be a separate process. One that's explicit and debuggable.
Re:BlueJ – A Lightweight Java IDE by the-alchemist on Thursday September 15, 2022 @07:10PM (#32859659)
Funny enough, that's exactly why the Clojure community created deps.edn [0]. - optional dependencies - use JARs on disk, local projects that build JARs, or Maven Central - pull in code from git repo via url and git hash or tag ("git dependencies") - different variations for the above for different targets (run, test, integration-test, etc.)

[0]: https://clojure.org/guides/deps_and_cli