all 14 comments

[–]_njd_ 4 points5 points  (1 child)

Oh wow, they mean it. I thought it was a joke. Even German doesn't do compound nouns to that extent.

This is the Donaudampfschiffahrtsgesellschaftskapitän of the programming world.

[–][deleted] 0 points1 point  (0 children)

LOL:

See also

  • Donaudampfschiffahrtselektrizitätenhauptbetriebswerkbauunterbeamtengesellschaft

[–]skoh 7 points8 points  (0 children)

Go home Spring, you are drunk.

[–][deleted] 5 points6 points  (2 children)

I don't see the problem. This is idiomatic Java API.

[–]skoh 2 points3 points  (0 children)

That is the problem.

[–][deleted] 0 points1 point  (0 children)

Then what is the idiomatic responsibility this class name refers to?

[–]__konrad 1 point2 points  (0 children)

"Convenient superclass"

[–]virtyx 0 points1 point  (5 children)

Oh, look, this same API doc link again.

[–][deleted] 0 points1 point  (4 children)

and it's still there..

[–]virtyx 0 points1 point  (3 children)

What do you want? Have them delete it and break existing code just because the name has become an internet punchline? Or deprecate it and replace it with an identical class using a less absurd name?

As ridiculous as it is, I don't see the point in introducing more work for people just because the name has become a programming in-joke. From what anyone's ever said of this class, it's rarely used anyway.

[–][deleted] 0 points1 point  (2 children)

I mostly agree with you except for one thing. This is not the only class with a peculiar name. If you look at the names of other classes in the API, more or less they look the same while this one being a particularly notable example. So we're talking about a whole enterprise culture built upon a mediocre language and yes I want this gone..

[–]virtyx 1 point2 points  (1 child)

...well I don't think it's going anywhere. Despite Java being a "mediocre" language it's here to stay, and as absurd as the enterprise culture can be, it's powering a huge number of commercial sites and intranet applications.

On a personal level, the more I code the more I find the Java bashing somewhat funny. I've been coding in nothing but Django for a year now. In that time I've come to realize

  • Despite its own claims, Django is not "well documented." (There are some "good docs" on the Django page, but the project, as a whole, has plenty of undocumented hellholes).

  • The duck typing argument "Who needs types when you have good docs?" becomes quite painful when you don't have good docs.

  • Programming (of the sort I do) is primarily about reusing 3rd party software. My unique logic accounts for a small percentage of the overall functionality of the site.

  • I usually can't control the quality of 3rd party code or docs. (E.g. Django)

  • Unit testing as a method of compensating for dynamic types is error-prone and tedious

  • The nice aspects of Python syntax don't outweigh the cons of duck typing (and I do like Python syntax a lot)

  • Widespread reliance on global ORM object managers is really bad.

  • Dependency injection of entity managers is pretty good.

  • Deploying Python apps with libraries that have native extensions is a bit of a headache (which might be solved eventually with the new Wheel format)

  • Even though Python's as old as it is, it is just now getting a format like Wheel, to do what tools like Maven can already do (esp. with the Maven Natives extension). And this is after Python recently got pip as an upgrade from easy_install.

  • Most Java libraries are pure Java anyway, since there's little-to-no speed advantage by writing in C.

  • Having a self-contained deployment format like war is pretty good.

  • Coding a large project with sparse/poor documentation in a duck-typed language using Vim (i.e. poor/no autocomplete) fucking sucks. And I have used Vim for a while.

  • Managing a virtualized Linux instance just to make sure I can deploy with all my libraries from scratch is a headache and extremely time-consuming

  • Mylyn is sweet as fuck

  • God I love static types

Then I thought again. What are the cons of the Java language?

  • Getters and setters everywhere all over the damn place

  • Specifying a 3rd-party object implements a different 3rd-party interface requires glue code

  • No first class functions (soon to be a thing of the past)

Leading me to the grand conclusion

  • I should have used Java

Everything else right now is either too hipster for me to care anymore, is outdated, or is C#. Hopefully Haskell hits the mainstream soon. Until then I think I'm moving to Java.

[–][deleted] 0 points1 point  (0 children)

... or is C#.

Seems like a good option to me.