Live data from Hacker News

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

news.ycombinator.com

51–60 of 87 posts

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

#51
post #46
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,…

What if you want to sell software components/libraries? Which platform would you choose?

From my experience - Java will get you a much larger audience, but .Net audience is more happy to pay for tools/libs. In .Net pay-for is the norm, in Java open source is the norm. Opportunities on both sides.

The main other issue on the .Net side is if you get in the way of MS - the will just run over you and make you irrelevant.

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

#52
post #9

Earlier quoted context omitted.

Man I know that I'm gonna get burned for saying it, but java isn't all that it's cracked up to be. I've worked for two companies that are java-based and both experiences have been horrible. Except for a handful of people, every java "engineer" I've known has been a siv. The ones that rock happen to just know java in addition to experience in other languages. Point in case, we are implementing some new web apis soon.…

Clueless management is platform independent.

And so is the law of averages - its a popular platform ;)

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

#53
Learn both. Seriously. Pick a good book about algorithms or data structures, open Visual Studio and Eclipse, load the Java and .NET docs in your browser, maybe pick some introductory books on both and start coding the examples. It might take a little longer to start, but it will pay out tremendously in the end.

I've been doing this with Scheme and Erlang using SICP (http://mitpress.mit.edu/sicp/) and it has definitely helped me understand better both the languages and the material.

In your case you have two very similar platforms, object-oriented, garbage collected, with a very similar syntax. The big strengths for both are their libraries and their VMs, learning them in parallel makes lots of sense.

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

#55
post #46

Earlier quoted context omitted.

What if you want to sell software components/libraries? Which platform would you choose?

From my experience - Java will get you a much larger audience, but .Net audience is more happy to pay for tools/libs. In .Net pay-for is the norm, in Java open source is the norm. Opportunities on both sides. The main other issue on the .Net side is if you get in the way of MS - the will just run over you and make you irrelevant.

Do you have examples of MS running over companies that got in the way? What should I avoid to prevent that?

I am thinking of selling a somewhat unconventional and new (for the mainstream, like Lisp) programming tool. I thought that the .NET community will be less reluctant to try such a thing because MS is pushing new things like F# too. What do you think?

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

#57
post #18

I've noticed that no-one has talked about the cost of using either. Yes the Java IDE's are somewhat inferior to MS's, but you can get everything you need to write, develop, manage, and host Java applications for free compared to MS; the OS, IDE, Web Server ... all cost money which can be a substantial amount for commercial purposes.

If you're interested in working on the Microsoft stack, they actually make it very easy for startups and ISV's. You can get a full Action Pack subscription of licenses for $300: https://partner.microsoft.com/US/program/managemembership/ac...

Or, if you can find a Network Partner, join the BizSpark program and use their stack for free for $100 after 3 years: http://www.microsoft.com/BizSpark/

The argument of Java is better because it's cheaper tends to fall apart when you look at that.

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

#58
post #55

Earlier quoted context omitted.

From my experience - Java will get you a much larger audience, but .Net audience is more happy to pay for tools/libs. In .Net pay-for is the norm, in Java open source is the norm. Opportunities on both sides. The main other issue on the .Net side is if you get in the way of MS - the will just run over you and make you irrelevant.

Do you have examples of MS running over companies that got in the way? What should I avoid to prevent that? I am thinking of selling a somewhat unconventional and new (for the mainstream, like Lisp) programming tool. I thought that the .NET community will be less reluctant to try such a thing because MS is pushing new things like F# too. What do you think?

I think you'll find an equal portion of developers on any platform are eager to try new things.

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

#59
post #45
post #40

Earlier quoted context omitted.

You're exactly right, those are .NET problems not specific to a language, and not really problems for a hacker. There are multiple open source ORMs that take full advantage of the language features (like LINQ) and aren't subject to MS's whims. I think that "constantly balooning specification" is an overstatement. Look at the release timeline: - 2002: Version 1 (with VS.net 2002) - October 2005: Version 2 (with VS2005…

I don't think the time-line has as much to do with it as the scope of the changes do. Again, this is personal opinion; and I'm speaking from the angle of someone who has spent many years doing consulting work on the Microsoft stack, and having to deal with figuring out which ways the 9-to-5'ers are going to break things next. Version 1.0 of the C# specification clocks in at 405 pages. There was an addendum in 1.2 tha…

This is one area where I think MS gets a bad rap. If they didn't keep adding new stuff, everyone would complain that they were stagnant and falling behind the times. So they add popular new features to C# like lambdas and such, and now they're bloated.

4.0 will not essentially be a dynamic language. They're making it much easier to interop with dynamic languages by adding some dynamic constructs, but it's still as statically typed as ever. 'dynamic' is a shortcut to save you time, not re-invent how you work with C#.

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

#60
post #18

I've noticed that no-one has talked about the cost of using either. Yes the Java IDE's are somewhat inferior to MS's, but you can get everything you need to write, develop, manage, and host Java applications for free compared to MS; the OS, IDE, Web Server ... all cost money which can be a substantial amount for commercial purposes.

That was once true, but the "Express" (free) versions of Visual Studio and SQL Server all but completely negate the cost argument.
Post reply on HN