Live data from Hacker News

Ask HN : Which should I learn : C# or Java

news.ycombinator.com

71–80 of 87 posts

Re: Ask HN : Which should I learn : C# or Java

#71

Earlier quoted context omitted.

Exactly. If you need to use Java for some reason, like getting at their libraries, you will do well to use anything other than the Java language. The platform is good. The language is 20 years behind the state of the art. Unless you are forced to work with other people that can't learn a language other than Java, there is no point in using it. I lean in the direction of Clojure, but lately the constant fanboi-ing is…

"constant fanboi-ing is really putting me off." Rejecting a language just because it is popular seems just as misguided to me as choosing a language just because it is popular. Can't you just ignore the boi's and use Clojure anyway, if it's a good language?

I didn't say I would never use it, I was just saying that it's hard to be taken seriously when there is so much noise from the kids. A poor community reflects poorly on its users.

I also like CL's conventions better, and not having CLOS is a huge downside.

Re: Ask HN : Which should I learn : C# or Java

#72
post #42
post #23

If those were my only choices, I would consider changing my career. Maybe learn to cook and open a gourmet restaurant. Now, seriously, I would go for Java because, at least, it can run cross-platform without the danger of Microsoft suing you out of existence.

"it can run cross-platform without the danger of Microsoft suing you out of existence" Please explain further. MS isn't suing Mono (and supports them in many ways) and is increasing their cross-platform capabilities with Silverlight. These are not cure-alls, but they are progress.

How is Silverlight cross platform? Have you tried finding and installing Silverlight on Linux? If you managed to, what percent of the sites on Microsoft's showcase worked?

Hint: I know the answer to all the above. That's why I'm asking the question.

Re: Ask HN : Which should I learn : C# or Java

#74
post #41

From my experience of working with both Java and .NET I can say that: the weakest part of the .NET technology stack is community, and the strongest part of the Java world is community which produced the huge pool of quality, free and open-source frameworks. Currently Maven repositories count for more than 14,000 unique artifacts and almost 60,000 versions ( http://www.mvnbrowser.com/faq.html ). C# is a nice language,…

To add to the list of examples of places where you have to roll your own:

At my company we needed a simple CSV reader for a file submission. That's it--just something that could read CSV files. We figured that had to be available in classic .NET We look around, dug into forums, and finally got in touch with the local .NET user group guru. The ideal solution? Use MS's communication tools to open the CSV file in excel and read it there. Or? Roll your own.

We ended up doing the thing in python and imported the csv lib.

Re: Ask HN : Which should I learn : C# or Java

#75
post #74
post #41

From my experience of working with both Java and .NET I can say that: the weakest part of the .NET technology stack is community, and the strongest part of the Java world is community which produced the huge pool of quality, free and open-source frameworks. Currently Maven repositories count for more than 14,000 unique artifacts and almost 60,000 versions ( http://www.mvnbrowser.com/faq.html ). C# is a nice language,…

To add to the list of examples of places where you have to roll your own: At my company we needed a simple CSV reader for a file submission. That's it--just something that could read CSV files. We figured that had to be available in classic .NET We look around, dug into forums, and finally got in touch with the local .NET user group guru. The ideal solution? Use MS's communication tools to open the CSV file in excel…

So, uhm, to bring that back to the OP's question:

I would go with Java, out of the two. It's as verbose as C#, but has, in my experience, much better support for pretty much everything.

Re: Ask HN : Which should I learn : C# or Java

#76

My startup was recently looking at platforms to target windows effectively. We just spent a lot of wasted time looking at .NET. Perhaps because it was because we are very cheap, but we couldn't find decent (well written) documentation. Also, visual studio is a bit confusing after working for a while in a linux development environment. I then remembered that I was already familiar with Java syntax, and that if we need…

Java class files can be decompiled, but is it really a cause for concern?

At least someone has to go out of their way to decompile your stuff.

Re: Ask HN : Which should I learn : C# or Java

#77

Earlier quoted context omitted.

"constant fanboi-ing is really putting me off." Rejecting a language just because it is popular seems just as misguided to me as choosing a language just because it is popular. Can't you just ignore the boi's and use Clojure anyway, if it's a good language?

I didn't say I would never use it, I was just saying that it's hard to be taken seriously when there is so much noise from the kids. A poor community reflects poorly on its users. I also like CL's conventions better, and not having CLOS is a huge downside.

"so much noise from the kids"

Rich Hickey has recorded several hours of video describing Clojure in comprehensive detail from talks at various user groups and such. I really don't understand how it is so hard to ignore the "noise from the kids" and get the information you need to decide if you want to use Clojure or not. Are you implying that the kids will take the language in the direction they want it to go? I very much doubt that. Mr. Hickey seems very committed to his language and I don't see any indication that he might let go of the reins any time soon. One of the benefits of the benevolent dictator model.

Distinctions with Common Lisp are certainly rational reasons for choosing CL over Clojure, though. For myself, the easy availability of Java libraries trumps whatever else I might like about CL. I work at a university and take classes part time, and even in this environment there is a Java library for pretty much everything. The one time I tried to get a CL library working on SBCL that was developed for LispWorks, I suddenly had to understand pretty intimately almost everything about those two dialects on a deep level if I were to have any chance of porting it over. It was a pretty terrifying experience.

I definitely respect that you have a different set of priorities and opinions about why Common Lisp is best for you. But I remain unconvinced by your arguments referencing the Clojure community. I'm guessing that's where we'll agree to disagree.

Re: Ask HN : Which should I learn : C# or Java

#78
post #72
post #42

Earlier quoted context omitted.

"it can run cross-platform without the danger of Microsoft suing you out of existence" Please explain further. MS isn't suing Mono (and supports them in many ways) and is increasing their cross-platform capabilities with Silverlight. These are not cure-alls, but they are progress.

How is Silverlight cross platform? Have you tried finding and installing Silverlight on Linux? If you managed to, what percent of the sites on Microsoft's showcase worked? Hint: I know the answer to all the above. That's why I'm asking the question.

I didn't say it was cross platform right now, but that they were making a cross-platform push with Silverlight which brings a subset of the .NET CLR to Macs. Linux support is in Moonlight. Again, not all there yet, but it's progress.

Re: Ask HN : Which should I learn : C# or Java

#79
post #74
post #41

From my experience of working with both Java and .NET I can say that: the weakest part of the .NET technology stack is community, and the strongest part of the Java world is community which produced the huge pool of quality, free and open-source frameworks. Currently Maven repositories count for more than 14,000 unique artifacts and almost 60,000 versions ( http://www.mvnbrowser.com/faq.html ). C# is a nice language,…

To add to the list of examples of places where you have to roll your own: At my company we needed a simple CSV reader for a file submission. That's it--just something that could read CSV files. We figured that had to be available in classic .NET We look around, dug into forums, and finally got in touch with the local .NET user group guru. The ideal solution? Use MS's communication tools to open the CSV file in excel…

To be honest, you didn't look hard enough. There are multiple, mature OSS projects to handle this.

Where should the framework end? People complain all the time about the size of the framework, but then when their pet feature is missing, they cry foul.

Re: Ask HN : Which should I learn : C# or Java

#80

Earlier quoted context omitted.

"constant fanboi-ing is really putting me off." Rejecting a language just because it is popular seems just as misguided to me as choosing a language just because it is popular. Can't you just ignore the boi's and use Clojure anyway, if it's a good language?

I didn't say I would never use it, I was just saying that it's hard to be taken seriously when there is so much noise from the kids. A poor community reflects poorly on its users. I also like CL's conventions better, and not having CLOS is a huge downside.

I've never understood this. You don't like something because too many other people also like it?

You thought well enough of it to mention it by name; I don't see a ton of difference between you mentioning it and someone else saying it's good.

I can't really say I've seen anything bad coming from Clojure's community either; it's not anything like the old C.L.L flame-fests from the 90's.

Post reply on HN