5 ms·
Interesting how the post completely ignores the quality of the language. Most people I know don't use C# for the same reason they don't use Java: Because it's o
by dkyc 12y ago
Interesting how the post completely ignores the quality of the language. Most people I know don't use C# for the same reason they don't use Java: Because it's often feels bloated, over-engineered and too verbose for building stuff fast. It has nothing to do with Microsoft, Azure or scaling, they just prefer whatever dynamic language they're comfortable with.
- leorocky 12y agoI've only ever heard good things about C#. I believe C# has first class anonymous functions, makes async operations easy, and a combination of VisualStudio and JetBrains resharper you have a pretty amazing development environment. I haven't programmed much with C#, but like I said I've only heard good things.
- JackMorgan 12y agoC# is a fine option if your choices are C# or Java. On the other hand, F# is safer and 3 times more concise language that can do everything C# can It interops perfectly with any C#/VB.NET libraries. I'd think long and hard when writing any new C# code, and defend why you need to reduce your possible solutions to only those C# supports, when you could have the ability to do everything C# does and more with F#.
- beauzero 12y agoIf you want to get paid...use C#, if you want to get paid less...use vb.net, if you want to be right use F#. This is outside of the startup discussion here...but it is the general rule for MS developers. All three languages are comparable to the junior to mid level dev.
- _random_ 12y agoFor me personally, conciseness of F#, it's tendency to use short words, cram things together and overload operators actually make it less readable. I like many of the features F# has and am happy to see how they are slowly migrating to C#.
- skrebbel 12y agoI really feel like your idea of C# is based on C# 1. It's at version 5 now, and many modern C# codebases are hardly more verbose than Ruby. Still slightly more verbose, because types, but it's really incomparable to Java these days.
- thescrewdriver 12y agoThese days C# has more in common with Scala than it does with Java, even if C# 1.0 was virtually a clone of Java.
- deleted 12y ago[deleted]
- pjmlp 12y agoExcept they are planned for Java 9 and are already available in IBM J9 VM.
- duiker101 12y agoI think it's just a matter of being used to it. I use c# with MVC on a daily basis and starting up for me it's extremely easy. If I use Rails or anything else that people consider fast or w/e, I find myself extremely awkward. I can do it, but it takes ages to setup and everything. Instead of just going to IIS creating the website and creating the project in VS, that btw is the best IDE I have ever used and it's almost impossible for me to use anything else.
- arethuza 12y agoI can see people having reservations about C# for many reasons - mainly as to how closely it is tied to Microsoft and to Windows (yes, I know it is cross platform, but the focus of the eco-system in very much on Windows) - but I can't see the quality of the design of the language being much cause for concern. Personally, I think it's one of the nicer languages in that particular space at the moment - certainly much nicer than Java.
- PyErr_SetString 12y ago"I know it is cross platform, but the focus of the eco-system in very much on Windows." There's a funny thing about its cross-platform nature: You almost never see C# apps on other platforms. Why is that? There must be thousands of useful C#/.Net applications made that other platforms could benefit from, but the ONLY ones I've seen are the ones that targeted Mono to begin with. Nothing else. Something fishy is going on here.
- arethuza 12y agoWhat about Xamarin though: https://xamarin.com/ https://xamarin.com/ I've been kind of avoiding mobile development after getting my fingers slightly singed by spending too much time with jQuery Mobile before giving up - the one thing that tempts me to try doing some mobile development is the Xamarin tool set.
- monkeyprojects 12y agoI think its simple. Unless the person is interested in Mono they don't develop for it and don't have any interest in supporting it. Many people use C# to develop applications for Windows and don't, won't or can't support other environments.... And while there are thousand of useful C# programs I doubt many don't have direct python / Linux competitors readily available that do near enough the same thing.
- PyErr_SetString 12y ago"I think its simple. Unless the person is interested in Mono they don't develop for it and don't have any interest in supporting it." But why wouldn't someone who IS interested in running the application on Linux simply do the last bits to get it to other platforms? I have NEVER seen that happen. "And while there are thousand of useful C# programs I doubt many don't have direct python / Linux competitors readily available that do near enough the same thing." Sure, but I refuse to believe all the competitors are always doing a better job. There should be at least some application that found their way over to for example Linux.
- darylteo 12y ago> they just prefer whatever dynamic language That's the thing. If you're adamant on a dynamic language you won't even be looking at C# or Java. It has nothing to do with the quality of the language, but the choice of programming paradigm. Both C# and Java are quality languages. Given the choice between the two, I choose C# anyday. Sadly, this means Visual Studio... Resharper makes this slightly more tolerable.
- JimmyM 12y agoC# I can handle (despite coming to it late, as part of Unity3D), but I find Java more and more frustrating to work with. To be honest, I think I'm just using it for the wrong thing - I don't tend to work on big, collaborative projects which is where Java really shines. Meanwhile, C# has a few conveniences (such as LINQ and rectangular arrays, off the top of my head) which seem to me to make scripting and small projects easier.
- darylteo 12y ago> I don't tend to work on big, collaborative projects which is where Java really shines What aspects of C# makes working on large collaborative projects difficult? Not sure where you are going with this. Unless you meant Team Foundation Server / Visual Source Safe pukes.
- JimmyM 12y ago> What aspects of C# makes working on large collaborative projects difficult? None. I was just talking about my issues with using Java for small projects, not using C# for large projects. My argument is that C# covers scripting and small utility programs adequately, while Java seems to require more boilerplate. C# would be my natural choice for projects large or small.
- SideburnsOfDoom 12y ago> ignores the quality of the language ... just prefer whatever dynamic language they're comfortable with. "quality of the language" is not the same as the "dynamic" vs the "statically typed", "strongly typed" or "compiled" nature of the language. Strongly typed languages have definite advantages because of the type guarantees that they provide in any successfully successfully compiling program. They have disadvantages too as you mention. Nevertheless, many people feel strongly that where a strongly typed, statically typed, compiled language is available (i.e. not in a browser) it is an advantage to use it. And compared to java, c# generally is more terse and expressive. "Quality" is subjective depending on what you value. If you only hang with dynamic language people then yes, c# and java are not of interest to you. Don't mistake that for a quality issue, or a universally held opinion; it is a design goal and design philosophy issue.