C# vs C++

show me your arguments which is better

Attached: Language_mortal_kombat.png (200x200, 3K)

Other urls found in this thread:

codemag.com/article/1807051/Introducing-.NET-Core-2.1-Flagship-Types-Span-T-and-Memory-T
twitter.com/NSFWRedditVideo

C++ is ok, but the performance advantages over C# are negligible nowadays.

I prefer C++ over C# because it doesn't have run-time checks and a garbage collection. Though I can see why some people might want a managed language like C#.

Yes.

C

I prefer C# when making web applications and C++ when making native applications.

I prefer C# because it's more consistent in its syntax and is more organized in general.
However C++ is more low-level and I really like the power it gives me.

I prefer c# because I don't know c++

great argument user

Ok but for real I really, really enjoy Linq and the new typecasting, pattern matching and tuples introduced in C# 7(?)

I don't have a lot to compare it to, but it's very nice to work with.

I prefer C# because it doesn't have null terminated strings and C """"""""""compatibility""""""""""

I'd try not compare a compiled language against a bytecode virtual machine language.

they have completly different use cases, why would you compare them?

C++ for what C# can't do (not much), C# otherwise
it's been good for a while (linq, async, ...) and it's becoming great with the new features (especially the F#-inspired ones)

I prefer VB.Net because it is safe.

Wait.
You need arguments?
Isn't it obvious C# is leagues better!

C++ it's virtually limitless.
>muh VM mean my code runs on a lot of platforms
>muh l-value r-value ref constructor assignment hell
git gud kid, it's inevitable in mutable languages
VB.net isn't widespread and C++ compilers cover pretty much any CPU on the market
>muh garbage colelction
Garbage collection doesn't mean a program won't leak, if you cry about muh immutable objects then use smart pointers, don't want atomic cache overhead? implement your own, it's fairly trivial.
>muh high level crap
It's still OOP, the functional features in C# are similar to what you can find in the
>muh gooey interface
Qt is a superior framework and it's compatible with Win/Linux/MacOS

I've heard C# can be effectively used in web dev do I guess that's a plus.

ditto

Attached: you.png (657x539, 110K)

C++ is the better language because of performance and deterministic memory management
C# is Java with some nice to have features but worse performance and worse ecosystem

Leanr Java and C++ and you will cover 90% of jobs
This, but Java is better for webdev than C#. Only reason to learn C# would be unity, but why would you use unity when you can learn c++ and use unreal instead?

>botnet meme vs a programming language
What did she mean by that?

If you don't know the answer, then I question your competence.

C# for applications on that .NET life.
C++ for speed critical (graphics, physics engine, intensive simulations).
C for memory & speed critical (embedded, OSDev).

C# has been tainted by Microsoft to not really even be "C" like. It's a Windows native language unlike C and C++. C# is closer to Objective C than C++.

You can put unsafe regions in C# and fuck with memory all you want.
You can't put safe regions in C++.

visual basic

>what's better, screws or nails?

They exist to solve entirely different problems you fucking wannabe-programmer retard

Attached: 1529359458289.jpg (593x539, 81K)

Have you ever used C#, ever? Dotnet standard and core exist. The CLR was always kept pure from Windowsisms. When based Satya gave the green light to license everything as MIT and dotnet standard 2.0 was released, suddenly 70% of libraries were multiplatform. The other 30% are shit like winforms/wpf controls.

C# is nothing like objective C. It's been Anders Hejlsberg's baby for 20 years and he never let it get tainted.

>It's been Anders Hejlsberg's baby for 20 years and he never let it get tainted.
And shit is getting fucked up since it became open-source.
Shit like memory management, which Andres kept away for so long is tainting the framework.

Language != runtime != gc

And I don't know what you're talking about. The language continues to get small incremental improvements driven by the community while the runtime has been drastically improving since core was released.

The three are interconnected. Some features need changes in all multiple areas.
Runtime and standard library is just as important to success of C# as language itself.

I'm a web fag so I don't really use either. But I do dabble in gamedev and C# (+monogame) seems to lend itself nicely since I'm coming from a java background.

Eventually I'll be brave enough to play with C++/SDL2 but I'm scared I'll fucking up the memory management.

Attached: 6e513949-6cda-47f7-95dc-c4a007342774.jpg (1500x750, 200K)

>cucked by mikrosoft

The runtime is fast and the standard library is comprehensive. There's nothing to complain about.

>Shit like memory management, which Andres kept away for so long is tainting the framework.
What do you mean? What has changed? More direct controll is bad?

t. brainlet who doesn't actually do any high performance programming

Attached: 1517972194188.png (817x443, 34K)

C# is Windows only so it's automatically garbage.

b-but muh .net core which lacks basic features like gui libs!

Can I develop in C# without using jewsoft OS?

lmao you can use whatever gui you want. C++ isn't bundled with gui libs either and somehow that doesn't stop anyone. If you're looking for hand holding there are several nuget packages which make using qt pretty easy.

Yes. Use VS Code and install the dotnet core sdk for Linux.

The whole idea was that "stack vs. heap" was "implementation detail". Programmer shouldn't know or care where runtime keeps the relevant data.
But with .NET Core, they added Span and Memory , which breaks that encapsulation.
codemag.com/article/1807051/Introducing-.NET-Core-2.1-Flagship-Types-Span-T-and-Memory-T

First off, if you're not aware of stack/heap value/reference types you'll end up writing code the does pointless boxing and unboxing operations and similar silly things. Pretending you don't need to care about memory just because lots of the details are abstracted away is idiotic.

Next, Span and Memory are not for typical use cases. They're for when performance is so critical you're actually considering an unsafe implementation, but you still want safety. Might as well complain about unsafe regions themselves being a feature. These things are hidden trap doors to drill through the abstraction when necessary, not things shoved into your face. C# has a LOT of that to let you bypass ivory tower purity in the name of getting something done when needed.

Finally you're overblowing the whole thing in the first place! The only "problem" with Span/Memory is that you can't put a Span on the heap. If you need a Span to survive a stack unwind you sacrifice some speed and use a Memory instead. It's that simple.

No. It's a lie.

Build the .net core sdk from source and use whatever editor you want if you don't like the electron garbage.

Why is Jow Forums so stupid? You guys seriously never heard of Mono or .NET core? C# has other runtimes that run without Windows

C++ for general performance
C# for direct access to windows software without reinventing the wheel.

Nothing else one can complain about.

Just use smart pointers.

apples and oranges

Actually this is quite impressive so far. Usually when one mentions C# the discussion revolves around the benefits of shitting upright versus squatting.

c#(Monogame) is fun for a short and stupid game, but I'd chose c++ for almost everything else

especially for networking and gui

>Java is better for webdev than C#

Attached: stallman.jpg (3504x2336, 2.68M)

I never said that, use xaml if you want a nice and easy gui. I think it can be used with both. The only network related thing I've done was a simple tcp chat client + server.