Live data from Hacker News

Poll: What are your liked and disliked programming languages?

news.ycombinator.com

391–400 of 479 posts

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

#391

Earlier quoted context omitted.

Personally I'm ready to start filtering anyone that prefers JS over CoffeeScript. Its just about superior in every way. Maintainability goes up as the lines of code drop precipitously and significant whitespace, come on guys. I use bracey languages all the time, and moving to one that doesn't isn't that big a deal. The real problem is there are a lot of "developers" that came up just doing simple Javascript functions…

"If adding a build step is an extra hassle, this might be the wrong profession." That's a very railsy answer. The strength of the web is that you don't need to run a build at all. I think that's the fundamental dislike of Coffeescript. I've worked on so many html frontends where a build process wasn't necessary to accomplish our job, and if someone tried to introduce one for the sake of coffescript it would simply be…

I'm currently using CoffeeScript for a big project on the web and the build step that I have automatically watches my coffee files and recompiles on a new change. Group that with using LiveReload and you have an auto recompile and reloading application with no additional manual build step.

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

#393
post #238

Earlier quoted context omitted.

also without an ORM do you just hand roll all your object graphs? I'm picturing a sea of builders and factories which amount to a hand rolled ORM anyway. Or are you practicing stringly typed programming? Ultimately in any strongly typed language you're either going to make/use some kind of mapper or else abandon typing and use maps/dicts which raises the question of why you're using a strongly typed language in the f…

First, you can have strongly typed languages that aren't object oriented. Instead of using maps/dics, you could use records. The thing I don't like about ORMs as they are typically handled is that you map objects to tables up front, and those are the things you can query for. Using something like Linq, you can more easily treat your database as relational, and still return strongly typed objects. These objects can be…

Could you explain this a bit more in depth if you have a chance? This is extremely interesting, but I'm not familiar with terminology associated with strongly typed languages. What do you mean by using records instead of maps?

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

#394
This poll seems to give considerable credence to Stroustrop's Law: "There are two kinds of programming languages: The ones nobody likes, and the ones nobody uses." Popular industrial languages like C++, Java, ColdFusion, PHP, and Cobol rank horribly, while niche languages like Lisp, Ocaml, Haskell, and Erlang or emerging stars like Go, Clojure, and Scala rank highly. Even Objective C, which was a cult favorite before Apple made it popular, now has more dislikes than likes.

My pet theory on why this is is that when a language becomes popular, people have to use it against their will. Everybody who uses Haskell likes it, because there is basically no reason to use it if you don't like it. Not everybody who uses C++ or Objective C likes it, because there are many reasons to use them (eg. getting paid) that don't involve liking them.

There are a couple of exceptions: Python and C consistently rate highly despite being widely used, and Rexx and Groovy consistently rate low despite being virtually unknown. The latter might just be bad languages and the former really good languages; actually, this poll seems to be pretty good evidence that the old combination of Python + C for apps is a pretty solid choice.

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

#396
Interim result (likes / (likes + dislikes)):

        Language	% Likes out of of lang voters
	C		88%
	Python		87%
	Scheme		84%
	Lua		83%
	Lisp		81%
	Haskell		80%
	Rust		79%
	Clojure		78%
	Erlang		76%
	Go		75%
	OCaml		73%
	SQL		72%
	F#		72%
	Assembly	72%
	C#		70%
	Forth		69%
	Smalltalk	69%
	Ruby		61%
	Scala		61%
	JavaScript	61%
	D		60%
	Other		60%
	Shell		56%
	R		55%
	Ada		51%
	Pascal		51%
	CoffeeScript	44%
	C++		42%
	Objective-C	42%
	Perl		38%
	Delphi		38%
	Tcl		36%
	Fortran		34%
	Java		33%
	Groovy		29%
	Rexx		26%
	PHP		24%
	Actionscript	17%
	Visual Basic	11%
	Cobol		6%
	ColdFusion	6%

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

#397

Regarding the language itself, what's there to dislike about C#?

The standard library smells of rot much like Java's(how many timers does one standard library need? The multiple incompatible collections classes, and GUI libraries etc).

Thanks to the rapid language iteration we have neat code features. Thanks to the rapid language iteration our large, long lived code bases now have language version "sediment layers".

Not about the language in particular but other reasons to dislike it. For some reason there is a big NIMS(Not Invented by MS) in the community. People use MS's shoddy add on libraries because they are from MS (Asp.net webforms, EF). The announce, wait 20 min, and kill cycle for some of MS's libraries.

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

#398
post #80

Regarding the language itself, what's there to dislike about C#?

If C# wasn't made by Microsoft, but had a similar toolset and feature set, i would offer the opinion that it would be the top managed language.

Oh for the love of... it IS a top managed language. Probably the best general-purpose language on the market right now. Not the most widely used, of course, but one of the most enjoyable.

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

#399
post #336

Earlier quoted context omitted.

First, you can have strongly typed languages that aren't object oriented. Instead of using maps/dics, you could use records. The thing I don't like about ORMs as they are typically handled is that you map objects to tables up front, and those are the things you can query for. Using something like Linq, you can more easily treat your database as relational, and still return strongly typed objects. These objects can be…

most ORMs have a query language too, it's not just "Linq". Orms are good for development purposes and you can always do raw SQL queries within ORMs at some point.

The thing that's nice about Linq is the integration. You can directly reference variables in the things you're querying, and then either fill in an instance of an existing class, or generate an anonymous object.

For example:

  var query = from c in customers
              join o in orders on c.ID equals o.ID
              select new {
                c.Name,
                o.Product,
                Address = c.MailingAddress
              };
Of course, anonymous objects in C# can be a pain in the ass, since you can't usefully return them from a method. Something like Scala's structural types would solve that problem.

I don't really like C# that much as a language, but I do like the Linq approach.

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

#400

Earlier quoted context omitted.

First, you can have strongly typed languages that aren't object oriented. Instead of using maps/dics, you could use records. The thing I don't like about ORMs as they are typically handled is that you map objects to tables up front, and those are the things you can query for. Using something like Linq, you can more easily treat your database as relational, and still return strongly typed objects. These objects can be…

Could you explain this a bit more in depth if you have a chance? This is extremely interesting, but I'm not familiar with terminology associated with strongly typed languages. What do you mean by using records instead of maps?

You can think of a record like a C struct. It's key value pairs, but the keys and their types are chosen at compile time. There are no methods or anything on them, they are just data.

An example from OCaml:

type person = { first_name: string; last_name: string; age: int }

In a language that has some form of anonymous records (like C#'s anonymous object) and structural typing, this would let you work with relations in your language, much in the way you'd use them in SQL.

I personally like treating data as data. It should be immutable, and therefore there is no state to hide, which means there isn't much value in your types being objects.

It also allows for nice things like pattern matching to work with your data.

Post reply on HN