Live data from Hacker News

Poll: What's Your Favorite Programming Language?

news.ycombinator.com

521–530 of 626 posts

Re: Poll: What's Your Favorite Programming Language?

#521
post #427

Earlier quoted context omitted.

C# programmer for a couple years, and I think C# is OK (it's definitely way ahead of Java or C++) but I've definitely got a big list of things I don't like about it. The top of it reads: - Events and properties aren't first-class, which is lame. I can't even easily get the "get" or "set" method of a property without either using reflection or making a wrapper lambda. - No syntax sugar for tuples. - No syntax sugar fo…

This is a good list. The lack of decent sugar for tuples makes them very annoying to work with and situations demanding two or more dependent return values are the one place where my code looks nasty and is difficult to follow (unless I create a class specifically for the return type, which I usually end up doing). By numeric type do you mean a type implementing numeric operations? I agree, it's weird they haven't ju…

> The lack of decent sugar for tuples makes them very annoying to work with and situations demanding two or more dependent return values are the one place where my code looks nasty and is difficult to follow (unless I create a class specifically for the return type, which I usually end up doing).

At least you have the option of out params. I have to use Java every day and the only real option is return classes.

Re: Poll: What's Your Favorite Programming Language?

#522
post #454

Earlier quoted context omitted.

I don't understand the points about Scala here. Scala has pretty much the same strategy as C#. In fact, the "big breakage" in Scala everyone loves to cite was the addition of better collections. Just like C# did in 2.0 and now finally drops the old non-generic ones with WinRT/Metro. The reason it gets so much flack is that Java developers want _binary compatibility_, because that's what they are accustomed to and Sca…

Hm, hm. I guess you're right. Or, at least, I can't find any proof that you're not, so you get my benefit of the doubt :-) I take the part on Scala back.

No problem. :-) If you have any questions, just ask.

Re: Poll: What's Your Favorite Programming Language?

#523
post #505
post #426

Earlier quoted context omitted.

As someone who's more than happy with C#, I'm wondering if there's a world out there I'm missing but I can't really connect with what you're saying. 1. "Strong and intelligent"? "Convenient"? 2. "Sense of design"? My current side project includes a web scraper which uses the following open source projects: AutoMapper, CsvHelper, HtmlAgilityPack, Twitter Bootstrap, jQuery, Modernizer, Moq, NLog, MongoDB C# driver, Pet…

As far as #4 is concerned, windows is not configurable and the "command line" is an absolute joke, which renders the idea that it has a better developer experience absolute rubbish :) The command line is super powerful and highly convenient in a developers hands.

PowerShell is no joke. Even if you never intend to use Windows again, it's worth taking a look at, there are some interesting ideas in there.

(Overall though, I agree that Linux and Mac give a better developer experience.)

Re: Poll: What's Your Favorite Programming Language?

#524

Earlier quoted context omitted.

And no self-respecting developer would ever use Mono on nix anyway because the nix tools run circles around anything .NET/Mono.

I knew this would be downvoted by the predominantly Windows users here but, if they knew anything about *nix, they wouldn't do that.

I once worked on a virtual usb device project on linux with Mono, at least ioctl and pointers work well for me. Use Java for this? No...

Moreover, for maximum performance, mono provides facilities for users to embed native code into the runtime, much faster than Pinvoke.

Re: Poll: What's Your Favorite Programming Language?

#525

C# really feels like the most mature language that I've ever dealt with. Writing it feels clear, if something is wrong the debugger is very clear. The number of features that are there is incredible (especially post C# 2.0 when they added generics). Properties are delightful. How do you convert to a string? Convert.ToString(). How about an integer? Knowing only that one, it's what you'd expect! I also picked JavaScri…

Definitely agree with you on C#. It feels like this is what a standard, mature, widespread language should be. There are other languages that are better for specific tasks, but for the general programming language, C# really hits the sweet spot in terms of features, expressability, readability, and environment. This is the language that Java should have been--could have been. Also, I dread getting asked on my next in…

I honestly can't think of anything off the top of my head.

Limited support in the open source ecosystem? Open source projects are reluctant to build on something that might infringe on an MS patent. That's what keeps me away from the language. To be fair, this is more an indictment of the patent system than C# itself.

Re: Poll: What's Your Favorite Programming Language?

#526

Earlier quoted context omitted.

Definitely agree with you on C#. It feels like this is what a standard, mature, widespread language should be. There are other languages that are better for specific tasks, but for the general programming language, C# really hits the sweet spot in terms of features, expressability, readability, and environment. This is the language that Java should have been--could have been. Also, I dread getting asked on my next in…

C# programmer for a couple years, and I think C# is OK (it's definitely way ahead of Java or C++) but I've definitely got a big list of things I don't like about it. The top of it reads: - Events and properties aren't first-class, which is lame. I can't even easily get the "get" or "set" method of a property without either using reflection or making a wrapper lambda. - No syntax sugar for tuples. - No syntax sugar fo…

Most of your issues are addressed by the Base Class Library (BCL), which is provided by the runtime itself. You cannot use C# without the BCL, so why evaluate it without the BCL? How do the following sit with you?

- Events, i.e. the observer pattern, are indeed supported first class by way of the `event` keyword and BCL `Delegate` type. And the whole point of properties is to be syntactic sugar to hide implementation details by surfacing state accessors with field-like mechanics. If you need a quick and easy way to reference a "getter method", you're breaking the abstraction and shouldn't use properties. That's the trade off.

- The BCL provides multiple generic, high-performance `Tuple` types.

- Destructing. Memory management is handled by the GC, so what would destructing even mean? The `using` keyword along with BCL type `IDisposable` provides a very usable mechanism for releasing non-memory/unmanaged/OS resources.

- This is mostly valid. That said, `ICloneable` can get you most of the way w.r.t. the copy ctor. As far as the numeric generic, one is required to make do with type-specificity and method overrides, since the numeric types were written without generics in mind. Or you can implement your own numeric type system. Do that once and you can write numeric generics to your heart's desire.

- How could this work with auto-properties?

- Trivial to implement a `NonNull where T : class`. But because of other language constructs (`??` operator) idiomatically `null` references are not considered the end of the world. Design by contract support in the BCL `Contract` type alleviates this as well.

edit: expanded property method explanation.

Re: Poll: What's Your Favorite Programming Language?

#529

Earlier quoted context omitted.

as long as you stay in the MS womb You don't need to debase an otherwise great conversation with incendiary language like that.

I certainly didn't write it to be incendiary, and I don't read it that way? I'm not going to go back and edit it, but I'll ask you to give me the benefit of the doubt that I meant it to be as as far from incendiary as possible.

The perhaps unfortunate metaphor the womb implies is that developing in MS tools is like being a defenseless premature baby who needs to be protected from the big bad world until they come to full term and leave the MS environment behind.

Re: Poll: What's Your Favorite Programming Language?

#530
post #474

Earlier quoted context omitted.

If my IDE writes 40% of my code it means i can call my functions ConnectToDatabaseCheckUserNameAndCountPosts() instead of ConDBusrCnt() just to save a few taps on the keyboard.

Though arguably that should be three different functions: ConnectToDatabase() CheckUserName() CountPosts()

Which doesn't mean that you can get GetCellLocatuonById into Get CellLocation ById
Post reply on HN