42
demiDev
6y

why i like c#?
1- easiest way to build a program with good GUI. just put some XAML code and it's done.
2- I love syntax of c#. it has types. god I hate php XD
3- C# is also fast and strong.
4- don't forget the .net framework that has almost every thing I need.
3- A god like IDE, the Visual Studio.

Comments
  • 22
    Why i hate c#
    0) xaml is the least intuitive way to build a gui and limits you to the most basic stuff that microsoft thinks you need
    1) the syntax is a hot mess, mixing hungarian notation with basic notation, not differentiating variables and classes
    2) c# vm is the slowest vm right now, even node overtakes it since the v8 engine
    3) visual studio is a clunky, heavy, pain in the ass ide that wants to do everything but does nothing and monodevelop is in baby boots (resharper is kinda good tho)
    4) it literally only runs on a set of machines. Oh you wanna run c# on this arm board with centos? Well tough shit.
    5) all the server side component are out of date
    6) want to use templating? Heres this asp.net based template engine we havent updated since 2007
    7) nuget is a piece of shit that has no clear advantages over just fucking compiling the libraries into the project
  • 13
    @BindView
    You really didn't worked with xaml.
    You can build any thing with it.
    Just need some works.
    You can build user control for any thing you think you need.
    And use template and style to customize controls
  • 2
    @demiDev spent a year trying to force interfaces out of xaml that i did in minutes with xml or javascript
  • 9
    @BindView
    Yeah VS is heavy, but intellisense is best. I didn't find any better ide.
    Just use a better pc.
  • 8
    @BindView
    Really?
    I tried xml for Android and I found it harder. I know xaml is for window but I like it more and for me, it was easier
  • 2
    I have to admit i like xml more than xaml, but yes, the server sides are outdated...

    Just move to dotnet core.
  • 4
    @demiDev for me intellijs auto completion works so much better than the vs intellisense.
  • 2
    @BindView
    C# is the mighty, why all the hate?
  • 4
    @CozyPlanes for me it is because I don't like .NET and while C# is a better language than Java there are better languages than C# (for example Kotlin).
    But I really like how C# actually gets new features and is developed.
  • 1
    @host127001
    Yeah. Fine
    I am just not a fan of Kotlin. Too complicated for me. And abstract
  • 3
    @CozyPlanes Kotlin is too complicated and abstract? I always saw it as just a better done C# for the JVM, Kotlin is not Scala. But I guess that is just personall preferences. If you want .Net then C# is the best you can get.
  • 7
    The longer i dev the better i see that this pissing contest between java and .net is bullshit. There are good and bad things in both of them and in the end you'll just stick to whatever you prefer. And eventually you'll start blindly defending whatever you stick to.
  • 1
    'php is shit' I ke'kd
    'intellisense' have you heard of IntelliJ ?
  • 2
    @BindView interestingly, I agree with both you and the OP ;)
    Let's just say there is room for improvement, but it seems to me that MS is on it.
  • 9
    Only an idiot will say that learning xaml is easy. And once they've learnt it, only an idiot will say that xaml is not flexible enough to create what you want.
  • 8
    I work on C# , python, java, scala, js simultaneously.
    C# is a good combination of performance and expressiveness.
    Linq, lambdas, extension functions, async await are goodies. 10x productivity vs java for enterprise applications.
    Someone said asp.net templates of 07, look at razor templating.
    Dependency on IIS/.Net, no. Self hosting is OWIN standard. Look at dot net core asp.
    Someone said portability. Look at dot net core.
    And sorry but intellisense is times ahead of intelliJ's prompts.
    VS is heavy, sure , try VS Code.
    As such, I can list pros of all languages I mentioned above. But C# is love.
  • 6
    @BindView C# does not run in a VM.

    The IL code is jit compiled into machine code before being executed.

    Its only slow if you try to do things the wrong way, much like java which also can be both fast and slow dependent on the developer, or node for that matter. If you fail to keep any hard work of the main thread node grinds to a halt easily.

    Nuget is a package manager, not part of the compiler.

    Before sacking a language, make sure you know what you are talking about ;)

    I have worked with C#, php, some java, node, turbo pascal and some other and all have their strengths and weaknesses, some due to history, other sue to design decisions that just favors some aspects above others.

    Yes some framework features cannot compete with node since node was built specifically for one thing to begin with and as long as you follow nodes best practice it should give shine but in other situations C# shines to.

    Hungarian notation? Thats a developer choice, not language feature? There is nothing in C# that uses or requires or even recommends it.

    With the new .net core and its native linux compiler it runs on a lot more and since its open source it is only a matter of time.
  • 1
    @losdanielos just for the record, i could compile a list twice this long for java, im not biased

    @Voxera https://en.m.wikipedia.org/wiki/...
    Compiling to machine code != no vm

    No hungarian notation? Whats IEnumerable (and every interface) then
  • 4
    Totally agree with @demiDev @jAsE ecc... @BindView has clealy no idea what is talking about, just pure hate
  • 1
    @dontbeevil i could assure you that i dont hate c# and have experience with it again like for the 293847th time but yeah i dont care about your opinion
  • 3
    @BindView u were doing it wrong
  • 0
    @jAsE Android xml isnt that bad..
  • 2
    @CozyPlanes
    Yeah, it's good but compare to xaml it's trash.
    You need to make several xml just for a custom button.
    And are you kidding me? It's don't have shadow by default.
  • 1
    In xaml, just add a nuget and do some simple things, and you have all UI change to new theme.
    Or have new control what provide all material icons by just a property that get it's name
  • 1
    @demiDev you make a theme in an xml for the button and thats it, what are you talking about
    And i dunno about nuget theming but you just slap some properties in an xml and the theme is changed? Did you even use android before?
  • 0
    @Torbuntu funny, i love c#, i had a project with java and android xml and couldn't wait to come back to c#, xaml and vs... If you love intelij stuff, you should try resharper addon for vs still from jetbrains. Still there are small syntax differences that make c# better, faster to write and easier to read than java. IMHO :-)
  • 0
    @Torbuntu so that's different, we're comparing languages and ide...you cannot say that one is better than another, simply because you don't use windows... Anyway. Net core runs on linux and mac os,. Net standard on android and ios with xamarin
  • 0
    Roslyn and Analyzers are a great way to maintain code quality especially in a team.
  • 1
    C# is by far the best. net language, except for excessive xml jobs, then vb is suprisingly awesome. That being said, c# has a specific realm of strengths, just like many other languages.
  • 3
    @BindView this is from the article you referenced.

    “The CLR converts CIL (Common Intermediate Language) to native code”

    BUT yes you are right, its a VM in the sense that the IL instructions uses a “virtual stack” that the clr converts to either memory or registers in the jot compiler.

    But its not a classic VM the executes the instructions, in the end its native code.

    Also, performance depends on the context.

    Here is a benchmark that tests a lot of implementations and if you look you will see that yes, nodejs is faster than c# in asp.net windows.

    But c# with mvc is faster than node and c# with .net core under linux is much faster.

    So its not the language or the VM that sets the limits but the framework and the type of work.

    And different platforms is better at different things.

    Asp.net was never designed for max performance, it was designed to help desktop programmers take the step over to web and did a good job of it.

    With mvc and bow .net core ms has set the goal higher :)

    https://techempower.com/benchmarks/...
  • 0
    XAML and C# go hand-in-hand, but they are not the same. XAML is godly, and C# is good but probably only so popular because of Unity.
  • 0
    @AlgoRythm you also didn't worked with c#.
    C# is a general purpose language which is the best to make window application.
  • 0
    @demiDev Erm. I didn't say anything about the language except why it probably popular. Don't tell me I haven't worked with the language.
  • 0
    @AlgoRythm
    You're right. Sorry.
  • 0
    You son of a bitch. C# is stupid copy of Java, made by Microsoft, because they want to make more and more money. The syntax ok, but very strange and not to say that Java is much easier to use, when creating web apps, desktop apps and mobile apps.
    HOW CAN YOU SAY THAT VISUAL STUDIO is super cool, it can only run on windows. Who the fuck will use that??? All other languages can run on every OS. Not to say the big choise of IDE.
    C# and Visual studio are for people, who cannot program or suck at it. C# is not a real language. Eve Python is better. Go and learn something normal.
  • 0
    @Bj-Stroustrup c# runs everywhere since .Net core, instruct yourself before spread bs just to look cool with this ms hate nonsense
Add Comment