4 ms·
Not sure about the person above but the following are my opinion on why I don't like Java: 1. no unsigned integers 2. no freestanding functions 3. pom files
by ronri19 5y ago
Not sure about the person above but the following are my opinion on why I don't like Java:
1. no unsigned integers
2. no freestanding functions
3. pom files are a huge pain
4. the com.blah.blah.blah ridiculously long package path precedent makes it awful to work with if you don't have an ide
5. you can't actually use javac to compile your code. everything is so big and complicated you have to use ant, gradle, maven, etc.
6. too much boilerplate. "public static void main" etc.
There's a few more, but they'd take more than a sentence to explain.
- xxs 5y ago>no unsigned integers technically, char is unsigned. For practical purposes use ByteBuffer. >no freestanding functions you can "import static" all the static functions you want; it's not any different than C, where you need to include the headers. > pom files are a huge pain That has nothing to do w/ java, itself, like at all. >you can't actually use javac to compile your code. everything is so big and complicated you have to use ant, gradle, maven, etc. If you use ant, how did you get to use pom? That's pretty much saying that using 'make' is terrible. For personal projects that involve no web, I don't quite need anything else but the JDK, itself. In that case, it's totally doable to call javac form the command line.
- karmakaze 5y agoGreat (unintended) straw-man comment. These are all minor reasons in the context of an introduction to developing software. Yes, there's some initial setup, but once that's done and you're learning how programs are constructed with classes, objects, methods and where static typing can help you, they're all the important things that will carry you well into a career.
- dunefox 5y agoJust because you can have a career in Java despite the disadvantages does not mean that they're not disadvantages that most other languages don't have.
- karmakaze 5y agoWasn't suggesting that one make a career of Java, but rather apply the knowledge learned in using a statically-typed, compiled language with OO and functional bits. Hopefully advancing to using languages with type-inference as one progresses.
- kaba0 5y agoFor beginners, you can literally write Java the same way you would write python. Write class Hello { public static void main(String[] args) { … }} into a Hello.java file and issue java Hello.java and it will compile and run your code. It hardly gets easier than that. Also, it’s a bit unfair mixing in build tools for beginner courses - I doubt beginners start with python virtual envs either. And then don’t get me started on the multi giga node folder hell that you get from a simple Js project.