C#

what is the best programming language and why is it C#?

>visual studio is literally the best
>werks on mac, linux, android etc.
>modern language without retarded issues
BASED and REDPILLED

Attached: 1512320827808.png (561x540, 280K)

Other urls found in this thread:

docs.microsoft.com/en-us/dotnet/standard/base-types/parsing-datetime
monodevelop.com/
twitter.com/NSFWRedditGif

visual studio doesn’t work on linux friend

I'd take Rider over VS any day.

language is not the same as implementation of it. i don't really care what language i use as long as it's not eyesore like lisp.

Ramitin Ghadge, I hearby deposit the 1 rupee into the account.

>mutability everywhere
>ecosystem full of 9-5 enterprise spaghetti programmers
>literally COM 2.0

see
also, that astounding lack of compile time metaprogramming

I’ve been using .NET Core at work recently; it’s pretty good. Anyone else a fan of it?

If only it was a bit faster, sadly they had to fuck up in this department and its slow as shit. Its perfect otherwise

Attached: 3529238327523.jpg (1079x1280, 141K)

I think he means that C# works on linux.

ssup pajeet

It's Java but with syntax sugar and less portability and fewer libraries. Only a faggot would think this is good.

It is a shitty enterprise language for shitty enterprise programmers like yourself. JavaScript is much better.

>Not Ruby

It's still interpreted slow garbage.

Ruby isn't even alive anymore.

Go is the best

Attached: 1543424030414.png (450x489, 74K)

This, going from Ridder to VS was aids at work for me. I can no longer press tab after 2 characteristics to write code. Feelsbadman

Attached: 1531416449433.png (400x333, 91K)

>>modern language without retarded issues

>what is keeping horrible broken ancient collection types around for "backwards compatibility"
>what is LINQ-to-SQL
>what is no compile time constants of anything but numbers ans strings
>what is no metaprogramming and a terrible reflection API
>what is default interface implementations in C# 8.0 (what the actual fuck are they thinking)
>what is C-style switch-case with retarded scoping
>what is exceptions
>what is null reference
>what is no type intersections/unions
etc etc

C# is far from the worst and infinitely better than Java but it's just as far from perfect.

>>what is default interface implementations in C# 8.0 (what the actual fuck are they thinking)
Please elaborate

>>what is LINQ-to-SQL
great is what it is

Fuck off, go is shit not even google devs like go.

Isn't that what VSCode is for?

Neither do businesses or successful people.

It's fucking garbage, but whatever.
C# has this idea that it has to be your nanny and stop you from doing anything because you might hurt yourself. For example, in any other language, you can redefine an existing variable name in a new scope, like as a function argument. Like this:
int a = 5;
public int foo(int a) {
return a;
}

Anyone understands what's happening here this code will compile in Java, C or C++ (fixing the syntatic oddities of course), a will simply be redefined for the new scope, it wouldn't even have to be an int. But in C# it won't do it because you might get confused that something is now something else for a while.

Also compilation and execution errors are fucking garbage. If you think C++ throws cryptic errors, give C# a try, it will tell you to turn your compiled binary to Mecca because of an index error.

The design decisions of the language are bloated. I mean, I get that it's competing with Java so it's ok to be bloated, but for example, try casting a timestamp string as a datetime object while specifying the format its in. It should be something as simple as:
DateTime myDate = new DateTime(timestampString, "yyyy-mm-dd");

right? Wrong, you have to either set your culture info in a config file or if you want something different from that setting you have to create a new culture info object. Instead of a fucking format string:
docs.microsoft.com/en-us/dotnet/standard/base-types/parsing-datetime

Or the EntityFramework. Alright, you changed a model, you should migrate right? That process will work about 30% of the times, the others you'll end up with an invalid database and cyclic error messages:
>error: you must add a new database migration
>error: no code changes require a new migration
We've lost a day of work due to one model change.

I hate C#. I'm literally changing jobs due to it.

>visual studio doesn't work on linux friend
While that is true you certainly can develop with C# on Linux..
>What is mono develop?
monodevelop.com/

Attached: Screenshot from 2018-11-30 12-22-05.png (1822x1077, 68K)

>Please elaborate
In the next release of C#, version 8.0 (not out yet, will probably be released some time next year), you will be able to provide default implementations for interface members. This is extremely unnecessary because extension methods can already do this, and its proposal has met a lot of criticism (they guy behind F# has basically said that he doesn't even want his language to support the CLR features this requires).
Default member implementations provide no use to good programmers and are only going to lead to bad programmers writing shitty and convoluted code.

LINQ to SQL is a terrible abstraction because only a very small subset of all available LINQ methods are actually supported and can be translated to SQL. Construct your queries in a way that a database provider doesn't like and you will be thrown a NotSupportedException (if you're lucky) or face query execution times 100 times longer than expected as millions of database rows are loaded into memory and processed there. What's even worse is that there's practically no documentation specifying what will work as it should and what won't, meaning that you simply have to learn to avoid traps through trial-and-error.
What's even worse is that because LINQ to SQL is recommended to beginners and amateur developers, you will inevitably have every project you come across be full of horribly slow queries as the developers have no idea what the fuck they are doing and have yet to get a feel for where the abstraction leaks.

What do you use to develop with .NET Core then?

>visual studio
enjoy your 500 gb install

>werks on mac, linux, android etc.
>etc.
You put a lot of faith in Mono there.
Mono is and always has been shit.
.NET Core isn't a thing OpenBSD, either.

Not sure if you meant to respond to me above or the initial question. But on Linux Mono Develop offers ability to develop on .NET core....

Attached: Screenshot from 2018-11-30 12-46-56.png (906x659, 53K)

t. storagelet.

Java 11 and Kotlin are better. Also .NET Core performs bad.

I have 4TB on a single disk, I have enough RAM to install the minimal version of VS 2017 directly in memory and I still don't want a >1GB IDE (Hell, after 200MB it better have some very good explanations). You retards always mistake (on purpose) being able to do something with wanting to do it. It's the same tactic Apple shills use: if you don't want to buy one of their garbage products, it's because you can't afford it.

>Also compilation and execution errors are fucking garbage.
You are 100% wrong on this one. Visual Studio is the only IDE I've ever used that always showed me exactly where my problem occurred and takes me right to it.

>Visual Studio is the only IDE I've ever used that always showed me exactly where my problem occurred and takes me right to it.
First of all: most IDEs do this. Every single JetBrains IDE does it, for example. It's not some rare technology, it's basically IDE 101.
Second: VS does indeed tell you WHERE an error happened, and it allows clicking the error to go to that line, but as far as telling you WHAT the error was in a way that gives you any insight on how to fix it, forget it.

It does work...

>Picked Entity Framework

Nothing of value will be lost when you go

I didn't pick anything, all of these decisions were in place when I got here, and they'll remain after I leave.

Hey thanks user. Now I might not need a VM for VS on my laptop anymore.

What's wrong with EF?

Can you give an example or a few of the so called "cryptic" errors you've faced? I find that most of .NET's exception messages are extremely helpful and clearly point out where the fuck you went wrong.

the worlds brightest engineers were all seen using Linux this week during their Mars mission

Sorry, I left those projects a while back, but I am willing to bet the errors were more due to MVC.NET than C# itself (we're not talking "Line 79: you forgot a ;" type of errors here, more like using a dynamic type variable that contains row from a database's table where the table is only chosen at runtime).

Talking about C#

Is there any difference for .NET Core and .NET Framework? Should i even use Core when i am on Windows?

Attached: 1541793058250.gif (680x502, 179K)

>Linux Mono Develop
jesus christ windows it is

I use C# professionally. It's the best of the OOP garbage collected languages by far.

I wouldn't point out any issues with the language itself, but the issues are the same as any other "Enterprise" OOP language. You get well meaning but dumb devs building confusing class hierarchies and violating encapsulation all over the place.

You never get the class hierarchy right the first time and rather than fix it people just keep patching turds into it until your code becomes an unmaintainable mess.

You should use .NET Core for all new projects. The only times you want to use .NET Framework is when you need some Windows-specific functionality such as form rendering (which Core is missing at the moment), or if you have a dependency on a library that is only compatible with .NET Framework.

Why is that if Core misses some functionality as you said?

I like EF

.net Core is for webshit and better than nodeshit/django

Windows-only functionality can not be cross platform for obvious reasons. Core is cross platform.

C# got full intrinsic support as well as Span, ref keyword, ref readonly and plenty of other optimizations in .NET Core 2.0+

>what is no type intersections/unions
FIY. You can achieve this using LayoutKind annotations.

Not struct unions, type unions, like "string | Uri" or "IFoo & IBar".

I agree. After doing Java for years, C# is a delight. It's like Java stripped from all the retarded shit.

>not even google devs like go.
source? I was about to fall for the go meme

>Visual Studio is slow bloated shit.
>C# isn't very useful on Mac or Linux without the full .NET framework.
>C# is modern but it's also overly complicated.

Emacs

>using java as a comparison
Programming in assembler is a delight compared to JavaShit.

Should have just switched to Kotlin. C#'s getting on in years itself. At this point it's basically just Java with Linq and extension methods.

>modern but it's also overly complicated.

Attached: 1535098669076.jpg (645x729, 81K)