C#

What's Sup Forums's opinion on the language?

Other urls found in this thread:

microsoft.com/net/core#linuxdebian
github.com/kostya/benchmarks
en.wikipedia.org/wiki/Argumentum_ad_populum
twitter.com/NSFWRedditGif

pajeet tier

its fine

Good language. Learn F# next.

Seems better than Java.

Too bad it attach to even more evil corporation.

Great language with a lot of features and ultra-type safety. OOP doesn't get much better than this.

Email me [email protected]

fucking lol, you think oracle is better
>oh yeah we'll let them use our language for free but we'll sue the shit out of them as soon as they start making money

dotnet standard is open source, has official ides on windows, osx and linux and is actually innovating constantly, java is way behind, it's convoluted while still managing to make you use libraries for the most basic tasks, doesn't allow pointer access, no good ide etc
i could write a book about how shit java is

microsoft lang

Who paid you to shill microsoft products?

I learned Java for OOP during CS, but C# is overall slightly better for its slightly less fucked polymorphism and a reasonably well developed web environment.

I refuse to use it personally because it creates lock-in to microsoft who have a habit of shitting on their consumers.

the framework and compiler are open source, there are 3rd party implimentations of .net like mono, how could you possibly get locked into that?

c#/.net can run on linux with mono now

it's fine, you can use it with unity, webdev, decent package manager

can someone explain the difference between c# and .net?

I do Java at my job, and so many times I wish we were using C#. It is truly the pinnacle of an OO language. Just unfortunate that microsoft controls it.

Mono works fine too for most things, as long as you're not doing incredibly low level shit but I still don't like the idea of being at the mercy of mono.

There's also .net core which is still being developed that can run on all platforms, but the ecosystem isn't very big yet

>c#/.net can run on linux with mono now
That has been the case for years. What I wonder is whether Mono supports the most recent versions of .NET. Is it "behind"/stagnating? Can't seem to find a clear answer to that.

c# is the language, .net everything else, the libs, and the clr
f#, vb, and other languages all run on the .net framework

>mono
catch up fammo, we're up to .net standard now, it's cross platform out of the box, no mono required

can you use winforms in linux with it?

Ok, fair enough. So if I want to install .NET on, say, Debian, what package(s) do I look for? How do I call the compiler? And, for that matter, the bytecode interpreter.

>fell for the java meme instead of c#
at least java potentially opens more jobs than c# would, right? i'm in way too deep to start learning another language now

It got substantially better than last time I checked (around 2010 or something) the new asp.net web api rest api system and the websocket libraries are great. it's also useful for making android apps without having to touch the java poo poo.

Java done right

Solid language, very powerful for rapid desktop app development with easy and powerful GUI, shit tons of libraries, decent performance.

But the full .NET runs only on windows, and its the fastest there, while mono works on all OS's but is about twice as slow based on benchmarks you can find online. Cross platform GUI is also troublesome, but beats Java for sure.

Inb4 shill, .NET is one of the very few things MS did right.

Overall C# and working with the .NET framework is quite good. As usual Sup Forums is full of idiots who have never worked on enterprise grade software and don't have any appreciation for why .NET is so widely used in the workplace.

hell no, winforms was obsolete years ago
install visual studio code and the c# plugin to get syntax highlighting, intellisense, debugging etc
compiler/clr here microsoft.com/net/core#linuxdebian

In terms of application development, Java and .NET factories are about equal.
ASP.NET is also catching on pretty big recently.
But Java overall has WAY more legacy codebases so a lot of companies look for people to use that instead.

C# is basically just a cleaner, more flexible Java in the first place, it'd take you a day to learn.

It's effectively "java done right". The main disadvantage is that support for non-windows platforms is spotty, though this is being fixed.

>install visual studio code and the c# plugin
Thanks.

thats just the ide, you still gotta get the compiler/clr & deps from the msft link

Yes, I understand.

As for a development environment, I use Emacs, so I actually like the looks of OmniSharp anyway.

WHY?

because all the hipsters just love scripting languages

Shit but slightly better than Java.
Not sure who's worse, MS or Oracle.

Microsofts java ripoff that performs slower than Java itself

I'd really like to learn C# this year and to do that I usually try and get involved in a part of a community. Before I try and take part in a community, I generally look at the Code of Conduct first.

I noted that the Code of Conduct mentions 'gender' but that doesn't really feel like it includes non-binary or agender folk.

The only reason to use Java is that it's simple enough that pajeets can write working software in it.
With that in mind, why would you want to use a more complicated Java?

microsoft.com/net/core#linuxdebian

Although it wasn't updated in 7 years it worked fine on macOS, so it should work on Linux. But k would recommend avoiding it.

Is there a list of which languages will get you sued if you create something successful with them? I understand its implementations as well, I'm just wondering if there's a resource out there somewhere since it would make sense that people would want to know that.

>everyone saying you're locked in to Microsoft if you use c#

I've been developing programs with c# for Linux with mono and have had no problems. Not even taking into account DotNet core. There's even MonoKickStart that allows you to distribute apps with a self contained runtime

ngl i am kind of worried they will start removing stuff from the spec
>netcore 2.2 path notes
>unsafe flag removed because brain-dead transgender pansexual furries keep somehow enabling it and getting memory_out_of_bounds

Its good. Consider another language for non-windows things though, NETcore is usable but a language designed to be portable is always better.

You still can't really easily write desktop applications with it though

Windows uses Winforms while on Linux GTK# is recommended

You can obviously use both on both platforms but it will requrie extra work

>way too deep to start learning another language now
most Java devs can jump to C# with ease
also it's never too deep to learn new language

b-but anyon, core is designed to be portable
For a self-contained deployment, you deploy your app and any required third-party dependencies along with the version of .NET Core that you used to build the app. Creating an SCD doesn't include the native dependencies of .NET Core on various platforms (for example, OpenSSL on macOS), so these must be present before the app runs.

It's cleaner than java that feels like a fucked up barely working patched up mess.

Core is missing quite a few of the packages (also some package contents) from standard framework. This isn't really a problem if you don't need those (The ones I had to use were voice, bitmap and system hardware packages)

have you tried using a fallback? it worked for some of the libs i use that havent been ported yet
in your .csproj

netcoreapp2.0
$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;

btw don't use 2.0 yet obviously, im testing out how badly the new auth changes will fuck my existing 1.2 software

>It's cleaner than java
Bullshit, it's Java with the keywords and stdlib changed and a bunch of extra shit piled on without rhyme or reason

Dogshit, it's java but M$ dogshit that's not cross plaform.

>im bad at programming

>I have no argument

THIS.

>make multithreaded async TCP server in 70 lines of code in 30 minutes
>C/C++/whatever the fuck-tards spend 2 months working on a multithreaded TCP server and they end up just forking and making it multiprocess to stop it from crashing everything when one of the workers fucks up
Yeah, that extra performance from le epic low level language sure is great except when the overhead from going multiprocess kills your applications.

>ASP.NET is also catching on pretty big recently.
>recently
hahaha it's been the workhorse for enterprise development since ~'04 but I would never use it for anything now. Hell I hated developing with it because I saw it as a spaghetti framework. Now with MVC added, it's totally a spaghetti framework.
Use Angular& bootstrap up front with .net WCF on the backend and your life will be so much more stress free.

well ya it was built to compete with Java. Slower, maybe, but that doesn't mean shit to the suits or to me.

Not gonna lie, the entire microsoft stack is way comfier than oracle, especially SQL server vs oracle DB.

Working for run of the mill window shops is always like living in a hell hole though. You know why trendy start ups always use the new up and coming languages and frameworks? Because it's actually exciting sometimes. Enterprise shit like C# and Java will slowly crush your soul with how perfect it is for development.

Actually, any kind of professional development will crush your soul eventually. I just think enterprise shit will do it quicker.

It's good. Easy to learn, and very powerful. If you want to work in the corporate environment, learning C# and .NET framework is a must. Where I am from .NET developers are always in demand so getting a well paying job is easy.

The transition to C# is very fast if you are already proficient with Java. In fact, it was originally designed to mimic Java for that very reason.

After creating a bunch of stuff in Java (ie. getting paid to do shit from a simple calculator to a complex system because Chad can't create programs for shit and was only forced to take CS as a career by his parents) and Discord bots in Python, I can now say that C# is a shitty programming language with broken libraries (Creating an Android app on C# was a fucking nightmare and I had to redo the project from scratch in Java because some fucking Xamarin library broke).

I recommend that you fucking stay away from it. Don't do shit using C#. Use C or Assembly if you have to.

>Use C or Assembly

:^)

He has autism, just let him be.

>hates .NET MVC and likes Angular
How about no

I had to put together a webpage that crunched some sql output and only had IIS to work with hosting wise, so I followed some tutorials and did a c# aspx thing that went surprisingly smoothly. My job is in Administration so I don't get many chances to make things and when I do it has to be thrown together in a hurry.

I probably could have made python do it, but I didn't have the go-ahead to spin up another server and they don't want us slapping python interpreters onto existing systems.

I feel like we can change this if we post more often and up the abuse of the consumer tier bullshit.

>calls .net with mvc spaghetti code
>recommends angular
lol

c++ without unnecessary convoluted shit

Lol fucking moron

>Use C or Assembly if you have to.
l
m
a
o

OO language done right.

C# is slow as fucc, boi get over it.
github.com/kostya/benchmarks

I like the language, don't like that you're tied to the .NET framework and Windows in general.

mono is shit user and you know it. It doesn`t even come close to .NET on windows to develop web application.

C# is very good for almost everything and only really bad for high-performance algorithms because it has no SIMD

i don't get it why it gets so much love, i find its a shitty collection of syntatic sugar for all kinds of things while, like java, lacks proper powerful concepts behind it that would make most of this unnecessary. also i hate ms, i hate visual studio, and i hate every language that writes MethodsLikeThis (seriously that makes me puke)
and i've found its a language mostly used by people who can't program for shit.

u just mad son

will C ever recover?

clearly optimized for memory usage over speed
get fukt

>there are 3rd party implimentations of .net like mono
that was the only 3rd party implementation. and it got eaten by microsoft. and java has at least 20 of them. top fucking kek

Your way into Microsoft's untrustworthy ecosystem.

Go with Java (or the other JVM languages like Scala, Clojure, Kotlin if you have issues with syntax) if you want to be part of a larger, more open ecosystem.

Syntax is OK, but .NET has become a clusterfuck like everything Microsoft.

Who the fuck would use .NET for cross platform? There are FAR better options.

>C# not in plain sight
kek

>decent performance.
Oh boy

He's right you know.

It's a good language, but every pajeet that compares it to C/C++ just because it has 'C' in the name should be shot

>Microsoft's untrustworthy ecosystem.
that's been changing fast. microsoft is way more open nowadays and embracing open source in their products, even making some quality ones for free (like visual studio code).

Slower than Java

Different benchmarks come out in favour of each.

/thread

"slower than java" is still more than enough for most uses

I guess it's a sign of improvement.

But even that shows issues. It's not like they took special care to give Linux projects a very nice build system or such (like, you know, even amateur computer game projects do). Or to allow Python 3 more than ten years after it started stabilizing pre-releases.

And ultimately we'd need the whole stacks to be that open, and most of it also should be largely outside of MS' factual control (which .NET is not).

Plus when has trusting MS ever worked out...? There is a reason why even big corporations are almost all going with the JVM if they can (and even more strongly so outside of the USA).

there are thousands upon thousands companies that use java and some of them make more money than oracle. and they won't ever get sued
google vs. oracle wasn't about using the language at all

>dotnet standard is open source
how many implementations are there that are not controlled by microsoft and microsoft alone?

>has official ides on windows, osx and linux
of which only the one for windows is viable. too bad windows is pretty shit for a programmer

>innovating constantly
some call it innovating constantly, some call it polluting the language with unnecessary garbage solely to appeal to newbies

>java is way behind
some call it being way behind, some call it being reasonable and very precautious in making changes that many people will have to live with for the next decades. and if you crave shiny new features you can always use scala or kotlin. both are better than c# btw

>it's convoluted
it's actually very simple. it has less keywords and less syntax sugar than c#

>no good ide
so you're claiming that a rebranded monodevelop is a viable ide while intellij is not? you're either ignorant or dishonest

>Oracle is good

nigga wut

Also .net core is open source so who even cares.

D is a better language

>syntax sugar
opinion discarded

.NET core is literally neutered .NET framework

>Oracle is good
who are you quoting? the java platform is developed through a community process and not by oracle

Yes, but they've got to start somewhere.
Hopefully in time it will grow.

I work with WPF at the moment so i'm spoiled.

Nobody uses D.

en.wikipedia.org/wiki/Argumentum_ad_populum