Live data from Hacker News

Poll: What are your liked and disliked programming languages?

news.ycombinator.com

341–350 of 479 posts

Re: Poll: What are your liked and disliked programming languages?

#342
post #100

Earlier quoted context omitted.

Many libs in Java require to think about patterns instead of giving you a straightforward way to accomplish your goals.

Do you have more concrete examples of "pattern oriented solutions" that exist in Java and not in C#? Are you trying to say that C# is so expressive that it doesn't need, for instance, factories?

Meh, I will guess that is the usual suspects: like XML libraries, anything JEE, ORM, ... Those are the things for which Java provide an API (sometimes a default implementation) and you chose your implementation between competing ones.

The result is a mess of factories of generator of creator. Also, over the years best practice have evolved, meaning you get a variety of such mechanism in the JDK itself. With a single vendor, DotNet avoid a lot of that shit.

Then there is a huge variety of OSS libraries that integrate with each other. So you get another layer of pattern on top of the JDK. OSS libraries are extremely popular in java, much more than in the DotNet world, so that contribute to the sentiment.

Another usual suspect is a fashionable "Spring hate" or "Hibernate hate", ... Dependency injection, ORM and other patterns became mainstream on java and are very often used.

Even less hated "pattern" like mocking and unit testing started there too. A lot of projects still use older style less modern implementation of those.

EDIT: Also a lot of libraries are mature and implement the entirety of the specification they provide support for. Since java is mainly used for enterprise application, the most google-able libraries to solve problem X is generally the enterprisy one. For example if you search how to serialise to and from XML, you end up with Jaxb as the preferred solutions. You will not hear as much about XStream which is a more limited but much more straightforward approach.

Re: Poll: What are your liked and disliked programming languages?

#344
post #306
post #22

Earlier quoted context omitted.

Its strengths are few and equivocal; its flaws are unspeakable and legion.

Its flaws clearly aren't unspeakable because if they were so many people wouldn't keep droning on about them.

Excuse my imprecision; I should've said 'undeniable', although no doubt that would've invited more caviling than what I did say.

Re: Poll: What are your liked and disliked programming languages?

#345
post #34
post #5

What is it about CoffeeScript that people don't like?

It's near unreadable. It's optimizing the wrong things, prettiness (I don't think it's very pretty at all) and keystroke counts, vs readability, fewer errors and maintainability. It also bugs the fuck out of me that CoffeeScript projects frequently end up being given a *.js extension in the name and how often people who want nothing in the world to do with CoffeeScript, people like me, end up having to deal with it f…

After using CoffeeScript for a few months I find JavaScript harder to read. Of course something foreign to you is going to be harder to read.

Re: Poll: What are your liked and disliked programming languages?

#346
post #289

Earlier quoted context omitted.

I'm not sure where the idea originated that readability scales inversely with the number of parentheses, but I wish it would hurry up and die.

I'm not sure where the idea originated that readability scales with the number of parentheses, but I wish it would hurry up and die.

I'm not sure where the idea originated that readability scales, but &c., &c.

Re: Poll: What are your liked and disliked programming languages?

#347

Earlier quoted context omitted.

realise that ORMs are inherently stupid. That's quite the claim... Care to expand on why you think ORMs are "inherently stupid"?

Because you can't cleanly map objects to sets nor sets to objects. Sure, if you want to pretend an RDBMS is an object store you certainly can, but you'll be forced to have an incredibly stupid schema, and will miss out on much of the benefits of a good RDBMS. Turning a powerful SQL database engine into an object storage emulator is just sad. If your underlying data suits objects better than sets, consider using somet…

Turning a powerful SQL database engine into an object storage emulator is just sad.

Now that I can agree with, but I would consider that to be a (subtly, perhaps) different position than:

"ORMs are inherently stupid".

IF you have the option of choosing a native object store for persisting objects, then - by all means - choose it. But in cases where an RDBMS is the data store of choice for whatever reason, and you still have to store your objects there one way or another, I'd prefer using an ORM like Hibernate over hand-rolling all the low-level SQL/JDBC code to marshall objects back and forth between the DB.

Re: Poll: What are your liked and disliked programming languages?

#348
post #247

Damn Java has a 1:2 like to dislike ratio. Why do people hate on Java? I'm totally biased because it is the first language I learned and I use it daily but seriously, why the dislike? It is powerful, portable, stable, hard to shoot yourself in the foot with, and tons of standard libraries. Also the libraries (standard or 3rd party) rarely violate the rule of least surprise. I can nearly always guess the right way to…

For me, it's the sheer verbosity. You can't just say "import module; module.function()" without having more boilerplate than code. Also, "hard to shoot yourself in the foot" can sometimes mean "hard to do mystical stuff when you really, really want to". 99% of the time, regardless of language, you should be writing clear, idiomatic code. 1% of the time, though, you want some voodoo (that you can encapsulate so that n…

I get that it is verbose but I kind of like that. It makes reading code less ambiguous. I understand that is just preference though.

As for your import example you can totally do that:

> import java.util.Collections; Collections.sort(someList);

You just have to make use of static methods. I do understand though that a lot of the standard library is not designed like this so your point is taken.

Post reply on HN