TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Why isn't C# recommended more often?

8 pointsby naithemilkmanover 14 years ago
As a 'business guy' teaching myself to code, I have inadvertently started on C# due to the support group around me.<p>I always see ruby/php/python as the de facto recommended languages to learn if you want to start programming.<p>So my question is, why not C#? Is is because its not 'free'?<p>I'm starting to think that it doesn't really matter what language you start learning. Just start and you'll be 95% ahead of most people already. Especially if the intention is to develop a prototype/MVP and not attain CTO standards.<p><i></i>UPDATE<i></i> While Im at it, how much of my C# knowledge can I port over to languages like Python/Ruby/PHP? From what I understand that knowledge of libraries are one of the time consuming aspects of learning a new language. Is is really that bad?

6 comments

jawngeeover 14 years ago
Tons of reasons:<p>- The write/build/test compile cycle is slow as f-ck<p>- C# isn't really all that supported outside of Windows, which sucks for server centric apps. Yeah, you can use mono, but why?<p>- C# is grossly verbose in contrast to ruby/php/python<p>- PHP is instant gratification. Change, reload browser, lather, rinse, repeat.<p>- Lack of open source libraries + libraries you have to pay for = suckage<p>Really, though, C# and .NET are the frontier of lowest common denominator developers. The kind of dudes that wear teva sandals with socks and tucked in short sleeve shirts. You can also call them copy and paste developers, because that's essentially what they are. Most of the innovation in the last 5 years has come from the open source camp, not the corporate drone MS army.<p>I used to be a .NET developer, btw. Wouldn't touch that shit with a 10 foot pole these days. Not a chance in hell.
评论 #2042798 未加载
评论 #2043516 未加载
评论 #2042747 未加载
mathgladiatorover 14 years ago
C# is bad to learn first because you have to learn the IDE, you have to learn a lot of concepts up front, and you have buy-in to the way C# does things (static types, class hierarchies).<p>Where as over in the other camp, you can just write code and run it. There is more coding and experimentation rather than learning tombs.<p>Compare<p>hello.js: console.log("Hello World");<p>&#62; node hello.js<p>With<p>hello.cs :<p>using System; using System.Collections.Generic; using System.Linq; using System.Text;<p>namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("Hello World"); } } }<p>Then compile it and run it.<p>One of these is more fun, and one of these is easier to document and write tutorials around. If you have to deal with this day in and day out, then one is going to be preferred.
torialover 14 years ago
C# is a decent language to use, and has evolved rather rapidly over the last few years. I remember in the 1.0 (and even PDC days) when C# came out as essentially a Java clone, and to find out about how to use classes I'd find the most help from Java documentation! Now it is a different beast, and has become more usable, and lots of the changes have made it more useful and faster programming.<p>Since 2.0 VB.Net has started falling behind, for example not getting the "yield" convenience that C# got. So on the MS provided languages, C# is continously getting better than VB.Net, and you'll hear even less advocacy for VB.Net!<p>That said, the .Net framework can be used with more interesting languages (my preferred one is a python-like language called Cobra: www.cobra-language.com) and the primary loss in the equation is the Visual Studio environment (although MS is making it easier to write language extensions in 2010 version). So you can use an excellent framework with many other languages.<p>So then what you are left with is the language itself. I can't speak for others, but the script-like syntaxes speak to my brain more naturally than C-like languages, and I have found that I am most effective in thinking in a language like python than I am with either VB.Net or C#.<p>Part of the appeal that python/ruby have is they typically come with the non-Windows OS a person might use. For instance Python comes out of the box with OS X and most *nix OSes.<p>You are right on the abstracting what you've learned. It is true for a general language family, and less so (but still helpful) when you cross families. By that, if you stay in the procedural/OO realm of languages, you'll notice lots of similarities, but if you branch out into functional languages it will be very different.
retroafromanover 14 years ago
The issue of it not being free is part of it, but there are some other reasons as well:<p>-Not built in - python is included by default on all major Linux distros and OSX, as well.<p>-Interpreted languages have instant gratification, which is helpful in encouraging beginners.<p>-C# isn't often used for web programming, which many people on HN are focused on.<p>And you do have a good point; once you start, you become miles ahead of never learning anything about programming.
评论 #2042996 未加载
sosukeover 14 years ago
I agree with your last statement naithemilkman. Learning your first programming language will be the hardest part much like learning your first primary language. You will pickup all the basics and rules while learning how to think through a program. If you have a support group the knows and understands C# then that seems like a good choice for you.<p>I've really enjoyed learning and using C# myself and I try to keep out of the politics of one language or company versus another when it comes to the languages. It's helped me that I work in a C# web development company so I have a large support group as well.<p>You've already got the right idea, pickup one language and stick with it and you're on your way to developing those prototypes.
oomkillerover 14 years ago
Never used C# personally, although I have considered picking it up. I am guessing that it is because C# is 'tainted' by Microsoft.