Switching to Java after several years of c# experience(new project)... and it feels like lobotomy has been performed on both the language/machine and my part - no var keyword(yet), horrible work with the collections (but thank god we have at least the streams), basic things like Long are actual objects(not a value type), strings must be compared with .equals ... and suddenly even simple tasks take me horrendous amount of time.

  • 1
    i heard many java devs switched to kotlin because of that.
  • 5
    There is var keyword
    Collections framework is the exact same as c#
    As it should be, learn to use the proper type
    Again, as it should be, String are objects not values

    These sound like more of a 1) you use a decade old java 2) you posted this instead of looking things up problem to me
  • 0
    Use Lombok! Helps a lot to avoid boilerplate code.
  • 0
    @tekashi not a decade - just a year and half. In corporates, you don't always get the shiniest java there is.. so, yeah, we are still waiting for the java 10 .. And yeah, I did actualy find solutions to all my problems and THEN posted my rant about the poor start experience (given by inexperience)
  • 0
    I've been using scala for a year now and loving it a lot more than java. It has a lot more functionality built in, simplifies a lot of java boilerplate and the added functional style is great.
  • 4
    "Collections framework is the exact same as c#"

    Ahahahaha, maybe like in C# from about 7 years ago.

    And don't start me on LinQ.

    For strings, you are techniclly RIGHT. But it is just too much pain in the ass to use "equals" and simplification is very welcome
  • 0
    @NoToJavaScript i might not be up to date with c# then, like 2 years ago it didnt offer much above java collections.

    Also the persistence api exists, linq is yet again just a carbon copy of that.
  • 0
    @tekashi 7 years ago it offered more than even todays java collections. The extension methods are a big factor in this. Seriously - on each iterable collection you can(and could) call things like Where, Select... And java persistence api looks nice, but it's only in java EE, while linq is practically part of the language. Both features are quite addictive ;)
  • 0
    @atombomb the more you write the more i think you just looked at the launch page of java.com and that was the end of your research

    Just checked ms docs, you can do all these stuff in java and jee is jse with some extra apis enabled that you can use in jse with no problem
Add Comment