It's not without its faults, but a lot of the negativity expressed towards it is unwarranted.
It's not without its faults, but a lot of the negativity expressed towards it is unwarranted.
Try Haskell, Lisp, Forth, assembly (on bare metal - write your own kernel), Erlang and anything that's "too weird" for most "enteprisey" developers. Buy an old 8-bit computer at eBay just to get a hang of what is programming within 64K of memory. Make hardware for it. Play with non-relational databases.
Most important advice of all: play. You are not learning a job, you are becoming a craftsman (craftsperson?). If you don't enjoy it, you won't do it well.
You'll have time to learn Java, .NET and even Python and Ruby later.
Sure, in college, you should work with more academic and esoteric languages. I learned Lisp in college.
The point is, many people dismiss the merits of Microsoft tools and languages. One guy I worked with said, "I haven't used any Microsoft products in years" and that's supposed to make you an expert on them somehow? :)
No. But it has a good chance of making their experience broader. Microsoft is nothing but a tiny spec in the software development tools set. Using only Microsoft is not a good sign.
On the other hand, perfectly good things like C# (especially with LINQ and ASP.NET MVC) are being dismissed out-of-hand by otherwise reasonable people just because they came from Redmond.
I did the same thing (Lisp, Forth, BSD, OCaml, playing with an old pizzabox Sparcstation), but I was a history major. :)
I agree, C# is a better language than Java, but that doesn't mean I'm going to use it. There's more to choosing a language than the language itself. The environment is at least as important.
I wonder if there's any chance of MS ever porting CLR to the *nixes...
How did you found out about it?
I can't find a mailing list. Do you know of some way of contacting the author?