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.
[ Parent
| on HN ]
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.
Java is great for learning OOP and certain design patterns, but eludes all other programming knowledge. They are 'encapsulated'.
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.
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.)