Fucking java

I'm getting sick and tired of the verbosity and clumsiness of Java. I use it for many of my labs at uni, but then I also have to deal with it for an additional 10h/week for my part-time job working on an image analysis java swing program.

Can people who have worked with Java or similarly verbose/clumsy languages and made the switch to something else weigh in on what I should take a look at?

I've already dabbled with C and assembly and can hack stuff together with Python.

Go? Elixir? Clojure? Where do I turn?

Thanks for reading my angsty blog.

Attached: java.png (518x518, 11K)

Other urls found in this thread:

scfbm.biomedcentral.com/articles/10.1186/1751-0473-7-7
microsoft.com/en-us/research/uploads/prod/1987/01/slpj-book-1987-r90.pdf
twitter.com/NSFWRedditImage

C# is Java done right.

The ecosystem around it is shit.

>image analysis using java
wtf. Qt/C++ all the way nigga.

>wtf. Qt/C++ all the way nigga.
It's out of my hands. The code base was several years old before I even started working on it.

It's swing dawg. You take your medicine. Are you at least using Java 8?

>wtf. Qt/C++ all the way nigga
>image analysis

Wtf are you retarded?

Yeah. So at least I can streamline with streams and lambdas.

It's not always frustrating, but I hate how many steps everything takes. I can't see myself being productive without my trusty IDE either since the code base is quite large and it's, well, java.

>Swing
Stop.

I get the image analysis program being in Java, but the Swing framework is balls old. Use Javafx or something. Or personally, I'd just build a rich web interface.

When I came in there were zero unit tests or integration tests and a LOT of swing code.

I got kind of duped by the interview into thinking that they were serious about testing, but after taking the job I realized that they were talking about checking boxes on a paper-testing, nothing automated...

Trust me, there is no saving this program from Swing. It's gonna stay swing until the day they retire it due to overwhelming spaghetti.

That sucks. Proper testing is so important in project maintainability. If you want another java job, we have 10 open positions at my company. Work might be funner here.

Attached: 1517244929736.png (419x249, 15K)

Shit user, I'm going to start oop next year with java, how fucked am I?

>Work might be funner here.
Thanks, guess you're not located in Sweden or hire remotely though?

I'm just curious if ex-java devs can tell me if the grass is greener on the other side.

It's fine. I never resented java doing little lab projects or whatever. Working on an old code base is no fun though. That might be universally true though. I've heard that languages that aren't statically typed have their own problems when the code base grows big.

Oh yeah, it's a US gig. We pay relocation fees too, but we'd need US citizens or at least permanent residents/greencard holders. My job is pretty nice. I work with PDFs and get to do some NLP work with our Python guy. I'm solve the user stories however I wish and the project is fairly fresh (only a year old). Java can be very fulfilling when you get the chance to play with some obscure libraries.

For example, my boss showed me this paper: scfbm.biomedcentral.com/articles/10.1186/1751-0473-7-7 I implemented it into our pipeline and it works so good. It's such a good way to filter out crap and boilerplate (reduce wordsoup to something manageable).

Just use a good ide and enjoy autocompletion.
Othewise kotlin is the latest jvm meme, you wouldn't have to throw your existing stuff out the window.

Static typing is so important. Particularly for code discovery. When every data structure in Javascript is of type "any", it makes it hard to discover the relationship between objects, methods, et cetera.

That sounds great. Must be so much more interesting to get to steer the project from the start. Still got over a year left before I finish my masters, but just out of curiosity, which state are you in? I've been in a serious relationship with a yank from the D.C. area for several years now and I know we might end up in the US once I've got my masters.

Haven't looked much at Kotlin. Thought it was niched for android dev.

Yeah, seems great for smaller things but can probably be hellish if it's a large unknown code base.

C# is Java done even more wrong

well that's just bullshit. Then by that rule of thumb in C++ "auto" is making same problem?

Clojure is example of dynamic typing done right.

>verbosity and clumsiness
Java is not verbose. Ada is verbose. You probably mean the APIs are not convenient to use.

With auto you can get the inferred type from the ide. Still, we have banned its use in our code outside some very specific cases.

>Ada
swear its the same guy whos been posting about this language in every thread for the last week

It's the ghost of ada lovelace

>clumsiness
stop using swing

Fuck off microshill.

>he uses Java 6 still in 2019

>AKSHUALLY DYNAMIC TYPING IS FINE, IT'S WEAK TYPING THAT IS BAD

Yeah yeah whatever pal. Clojure is dead.

>type inference is the same as dynamic typing
kill yourself

Any JVM language is shit. As long as you use the JVM Larry Ellison's balls are firmly rooted in your throat.

groovy is the basest of the based

Attached: no-38-groovy-is-worth-120484.jpg (794x492, 41K)

Go, python and C are the only good languages. If you already know the other 2 then learn Go.

if your language requires an IDE, it's worthless

What language requires IDE? wtf are you even talking about

java is really fucking difficult to write without an IDE

Maybe if you're a brainlet. I've done all my java school assignments in vim for the past 2 years.

>image analysis java swing..
sounds horrific..

OpenCV + python is your friend..
C -> Cython is also your friend

Google used to be extremely Java heavy and they decided to invent Go and push it hard, opting for no OOP sticking to fast and concise imperative style. It's basically a modern C. If that doesn't prove Java is shit I don't know what does.

Scala. But it's not the low hanging fruit for brainlets.

It's a comparatively fast-moving ecosystem with a powerful [which means also conceptually diverse and generally rather complex] language.

> If that doesn't prove Java is shit I don't know what does.
The ratio of succesful Go to successful JVM mixed / pure Java projects is really not particularly leaning towards Go's side, regardless whether the NIH syndrome at Google produced something more or less workable.

Go's greatest successes in the wild outside of Google seem focused more around things that might have been perl, python or shell scripts. Things like Docker, Kubernetes, ethr...

Dude. School assignments are not the same as getting a large code base dropped into your lap that you now quickly have to figure out and support.

Good luck exploring a large java code base quickly without an IDE, friend.

>we'd need US citizens or at least permanent residents/greencard holders.
Every open position does this.
Why I can't work in US but pajeets get imported by the dozens REEEEE

Attached: 1542312966263.png (367x321, 125K)

Something like 3/4 million Indians are in the green card waiting queue.

Try cloning yourself as many times, some of you will probably get in.

be specific. I don't think Java 11 is verbose anymore. You're probably just too stupid to make use of all the Java 8 features.

Stick to your own country. We already have way too many foreigners here.

also this.

You can write scala which interops with java. Of course now your codebase has two languages, so it's probably a no go.

Scala is a really nice language in my opinion, and the typelevel libraries are really solid (fs2 for stream, doobie for jdbc, cats and cats-effect for autism and so on), highly recommended

>2019-1
>not using kotlin oop master race

You need a good IDE with auto completion if you want to have programming in Java be nice. AKA get IntelliJ.

>verbosity
An IDE does 99% of it for you.
Java just prefers to be explicit.
>clumsiness
In what way is it clumsy?

forget it if the project uses swing too

JavaFX is fucking shit too though, fxml tries to do MVC but you just end up with empty templates because you can't put any logic in the fxml to load and display dynamic object types.

I use to meme about hating web dev but after trying to build something semi functional using JavaFX I'd literally rather just push data to a rest API and display it with a web front end.

TornadoFX.. also JavaFX is still 100x better than Electron

>can't put logic in fxml
that's not what fxml is for

Someone should unironically port android xml layouts for use in desktop applications. They're probably the most actively developed Java ui framework. And it's legitimately comfy to use.

I mean display logic i.e. If var display x else display y or looping over a list of objects and displaying their properties etc. all of that has to be done in the controller where you build up a panel and then insert it into the fxml anchor. You can't just pass a list of objects into the UI and let the UI handle the display (which is how it should be)

write your own functional programming lang
microsoft.com/en-us/research/uploads/prod/1987/01/slpj-book-1987-r90.pdf

JavaFX is great, just use scene builder or programmatic UI.

>Have to take "Advanced Java" elective course cause no others are offered
>Learning fucking functional programming with Java
kms desu...

Attached: 2018-12-15 00_05_41-lec01.pdf - [Microsoft PowerPoint - lec01.pptx] - SumatraPDF.png (952x514, 37K)

leave OO behind, its boilerplate that only clutters and slows down the creative process

Go if you need to make programs
Julia if you only need to do scripting or light utilities

You are so fucked when you enter the workforce

C# is Java done by Microsoft. (You) can probably guess how that turned out.