5

Holy shit, what a language...
I'm currently learning Java right, I have never seen such a weird language in my life.
My background is Web Developing and some lua here and there. After a while playing around with Kivy and other alternatives to native Android Studio development I decided it was most probably time for me to start actually getting ready for the inevitable Android Studio.
Getting used to the GUI was easy, everything seemed to make sense and I was already used to IntelliJ.
But the issue came from Java, the number of ways that it's broken, just JVM by itself should be enough to condemn this language to eternal doom. Not even talking about the Syntax, coming from JS it was basically Hell.
I get it's more than useful, but seeing its History, Java should've probably stayed at its Oak stage lmao.

Comments
  • 13
    Thats probably not java you are struggling with, thats statically typed languages and oop.
  • 1
    @hack I guess so, I'm probably too used to Python's luxurious dynamic-typing.
  • 1
    Sounds like strong type issues to me.
    You get used to it, and start to adopt it back to JS and other loose languages.
  • 6
    What do you find broken about Java and JVM? Given the amount of engineering that has gone into them, JVMs are stable, robust, scalable, and pretty damn fast unless you're doing speed-critical computations like heavy numerical programming.

    I mean yes there are a bunch of design issues (flaky support for functional programming etc.) but in real world terms, I think it's pretty decent.

    Curious here, I'm not condemning you or anything.
  • 0
    @RememberMe Sure, Yes JVM is very robust. And I'm not saying it's a bad environment or that's it's slow. It's just that for a guy as unexperienced as me it just seems unnecessarily complex to go through the hassle of compiling.
    That being said, It's more the Syntax of the language that I have a problem with, this is a general rule with me and strong typed languages I guess I'm not used to it.
    But I think learning Java is a tedious experience for most devs I have talked to.
  • 6
    @yaroster fair enough. Static typed languages really are worth it though, they come with lots of benefits that really shine once your codebase gets large and you start wanting proven guarantees from the code.

    Java and android can be a bit of a slog, true, especially because of its enterprisey nature. If you want to go in stages, why not start with Typescript instead? It's a C#-like static typed layer over JavaScript.
  • 1
    That's because you're used to dynamically typed language. Don't worry, once you're fluid in Java you will hate you're previous languages
  • 3
    @yaroster Also the JVM is damn fast, especially for someone coming from web and Python background. Second: Static typing is absolutely necessary for a good language. It makes you reason about your architecture instead of botching something together. Java syntax is also extremely clean. Slightly verbose but it's the C like-est language of C like languages.
  • 1
    Oh and one last thing. The JVM ecosystem is the best language ecosystem I've ever seen, period. It's damn near perfect. Android studio is kinda clunky though because it's not very good
  • 0
    Since when is Java considered native on Android? Java is as native to computers as Trump is to America
  • 3
    Nearly all my time has been spent with javascript and PHP; in the move to C# I have frequently felt like a dog at a computer. It has nearly always come down to thinking ahead of time regarding strong typing. Even simple tasks can blow my mind.

    Something about Dictionary<string, int> myDic = new Dictionary<string, int>(); just makes me excited though so I keep going back.
  • 3
    @FuckJava native Android applications are written in Java or Kotlin. Java is native to Android in that sense. The JVM on the other hand is not, they use a different vm for that. But saying that Java is native to Android is not wrong.
  • 1
    @AleCx04
    No Java is not native. It's an invasive species invented for lazy programmers who can't manage memory
  • 3
    OP learn proper oop and design patterns and you will appreciate Java and its ecosystem much, much more. If you are used to dynamic languages then you will be able to see the best of both worlds :D just give it a tru before you knock it man.
  • 2
    @FuckJava then.... feel free to explain what the native language under Android is.
  • 1
  • 3
    @FuckJava ah shit. I thought we were going to be serious about it. Sorry man, i don't jump on dislike/hate bandwagons.
    Java has served me well and made me not only a happy dev but a well paid dev :D i love it and the JVM
  • 0
    @AleCx04
    Yes I k ow how you feel
  • 2
    @FuckJava I think the answer you are looking for is ByteCode but C will do 😅

    Plus who uses C in Android... no don't answer that just yet.... outside of game development.
  • 1
    @C0D4
    I do. It's faster and safer.
  • 1
    @FuckJava 🤔I suppose you're name does check out here.
  • 2
    @FuckJava Java on Android is compiled to native code...
  • 4
    @sSam @FuckJava not only that but even if one uses C or C++ it still makes calls to the Java interface through the JNI so even if one wants to go through the pain of doing it in C it would still use Java. And even the documentation states to use it only for intensive tasks. Not for the entire damn thing.
  • 3
    @AleCx04 cool, I didn't know that. I have never touched Android development, but after reading some of the comments I just wanted to point out that they are stating bullshit and they shouldn't follow some retarded bandwagon in their programming life.
  • 2
    @sSam couldn't have said it better man
  • 1
    @RememberMe I'm trying it out, and it seems a lot simpler ! Thank you so much !
  • 0
    @FuckJava maybe since android (studio) trololol
Add Comment