Hacker News new | ask | show | jobs
by dschiptsov 4711 days ago
Oh, that's simple - you are 9-to-5 coder in a language which name begins with J or ends with #.
3 comments

In what kind of mind distortion field are you living? I used to write code in Java and Jython for a big science project. Now I switched (avoid the word advanced) to a new big science project, where we use c, c++ and python.

This is a nightmare compared to everything we did before. I always liked to work in Java, but I never realized how powerful it is compared to the other stuff. We as a team are close to switching languages and starting from scratch, its so bad.

A significant portion of the ML/NLP world runs on Java. Its the worst language for the job, except for all the others.
A lot of people (myself included) see Scala as being one step forward, two steps back. Some good features, and then a whole bunch of poorly thought out, wankerish features that can only serve to screw up your code base if some developer gets bored and makes the mistake of using them.
> and then a whole bunch of poorly thought out, wankerish features that can only serve to screw up your code base if some developer gets bored and makes the mistake of using them.

I'd love to see an example of that!

Sure, the crazy symbolic operator overloading and a bunch of libraries that encourage you do do things like a :=: b and have it mean something.

Also, there's something about the net sum of the type system where it feels like there are a lot of concepts at work and it's easy to get lots with what type something is, exactly, especially if you didn't write the code and you're just skimming it.

well said.
Of those 3 languages, I would blame C++ for laying out a minefield.

Considered FreePascal or Go, maybe? Pascal doesn't have a garbage collecter, but it's not "pointers everywhere" like C, and string values are reference counted. Having done a lot of C, I really miss function pointers when working in Java. (Pascal calls them procedural types instead of func ptrs)

What field are you in, and what are your biggest pain points with that stack? (I have a long list of issues in "small" science, curious how they compare)
I am in astrophysics (lots of telescope and satellite data). Our main point is that Java provides a complete environment: no shared libraries, no compilation problems when moving to other machines.

The next is productivity. In java, I could focus on the problem. In c/c++ it takes only minutes, until I have to think about why my code doesn't compile. That can easily take me away for hours, sometimes longer.

The most significant downside of java is for me memory consumption. It needs a lot of care and experience to get that right.

Python on the other hand is nice. Although it does not integrate with c++ as nicely as jython integrates with java.

Thanks for the perspective. Sounds pretty familiar. Aside from missing math syntax, Python by itself/packaged can be great -- until it's slow, which leads to the real problem for me, that compiling mixed Python/C[++] and dependent libraries is just absolutely horrendous on Windows. Unfortunately, Windows is where my users are.
Here is a glimpse of that reality distortion field on this site: http://talks.golang.org/2013/oscon-dl.slide

And this very site itself is another reality distortion.

What are your particular problems with C#/F#? Honestly interested.
They probably get paid more than him ;)
There is a lot of truth to this statement. I've seen so many jobs that are looking for .NET coders that pay so much more than most other languages...
So everyone working in J or F# has a dead-end job?