Learn C#

Learn C#

Attached: Bill-Gates.jpg (1500x1000, 162K)

It's the same as Java with some nitpicks here and there

Attached: 1533657788964.jpg (1585x983, 301K)

fuckoff

cure children

I am for my game, it just seems like better java. But visual studio is awful

I did 6 years ago. Breddy gud if I do say so myself.

Take back your company

Stop hiring pajeets. That or fuck-off with C#.

C# is a cure to autistic children.

Learn Bcool

Bill Gates no longer gives a fuck what you do with your computer, he's too busy trying to eradicate Mongolian Death Worm.
Satya, meanwhile, sure as fuck doesn't want your Amerifat ass to learn anything more mentally demanding than putting your credit card information into the Azure portal.

If C# is so great why did Microsoft reprogram Minecraft in C++ instead of C#?

Why

>if hammers are so great then how come the carpenter used a screwdriver on a screw?

To get a job

>Not learning C+++#

We learned it in high school for 3 years. I use it now only when tutoring high school students.

format children

>only have Java on my resume
>get a few responses
>take an internship, learn C# on the job, add it to my resume
>constant requests for interviews

>Learn C#
or Javascript.
IDGAF.

why not F#?

Is it much easier to learn and program with Java on linux than windows?

Java is pretty much self contained, it's just as easy to install on one as the other.

can somebody tell me why c# isn't compiled to native machine code? It doesn't have to be as portable as Java

I want to but my attention span can't hang with learning it. I got access to really good tutorials too. Every time I sit down to learn it some crazy shit goes down in my life.

Im destined to not learn it Bill. Feels bad.

>what is clr

i haven't been keeping up

can you do C# without windows now?

Yes papa billy

Yes, dotnet core or mono

kevin@solus:~$ git clone whatever
kevin@solus:~$ cd whatever
kevin@solus:~$ dotnet build --release

>cd whatever
>~

Literally why would you do it anywhere else other than visual studio?

Post those really good tutorials

OH YES SIR I LEARNT C # MY B-R-R-R-OTHER SRIKANTH TAUGHT ME THE BASICS AND I GOING TO DO STUDY AT NORTHWEST HYDERABAD TECHNICAL SCHOOL! DO THE NEEDFUL!

>do games programming
>learn C# in unity first with the games "designers"
>then for more complicated stuff like pathfinding and AI
>only ever get unity based work in my city

I don't mind it. Unity is getting better.

>using a hammer on a screw, not on a nail
ishygddt

where are you from?

>isn't compiled to native machine code
Its is.

Attached: Introduction to the C# Language and the _NET Framework _ Microsoft Docs.png (449x402, 12K)

>Azure

Attached: azure.png (849x592, 148K)

Why not Java instead?

Unity is garbage.
Anybody who says otherwise is a pajeet or a shill.

Because java is complete hot garbage.

Ha. I just copy pasted three lines and wasn't paying attention.

And c# is a Java clone except it only works on Windows

it's my job's programming language of choice, but I don't know shit about LINQ. I'm just sitting here practicing it.
Func filter = s => s.name.Length == 5;
Func extract = s => s;
Func project = s => s.name.ToUpper();

IEnumerable query = people.Where(filter).OrderBy(extract).Select(project);

read about functional programming fundamentals.
maybe screw around with F# instead.
then you'll intuitively understand it.

I screwed around with F#, but I don't understand how it works with class data

Well do you have an actual question?

No, I just came here to say I am already learning C#

.net core with vs code

>learned

So C# is not a good tool for game development? Why do they use it for XNA then?

It is similar yet superior to java

But Bill, I'm using it right now! I only took a break from work for a bit...

C# is fine for game dev. They probably rebuilt the game in C++ because there's a fuck load of procedurally generated content to render and C++ is more efficient for that kind of memory usage.

I mean, it's not terrible for it, but it all depends on what you want to do. If you wanna make a shitty snake game for babby's first programming, it will do just fine.
If you want to build the next multi-billion dollar MMO, it'll be terrible because you won't have easy access to lower level programming, such as memory manipulation, you'll have to use workarounds to be able to use proper graphics libraries, and so on. And in the end, you'd end up with a worse product than if you just did it in C++, for example, because of all the added overhead, and the code you wrote wouldn't be necessarily simpler to write. Basically, C# wouldn't help you much at all, maybe even do the opposite.

C# is a great fucking language and I wish it was used more.
Currently, it's basically Unity and .NET only.

>Why do they use it for XNA then?
XNA has been dead for a long time

When it clicks and the linq bug bites you, you'll feel uncomfortable writing loops and using mutable data structures. You'll have to resist using it when the performance of doing something in a purely functional way would kill performance. Your code will be half linq chains.
It's a blessing and a curse.

Blazor soon comrade.

Oh yeah? If you're so smart then why do they use it for monogame, tough guy?

I take issue with the in-line Lambda expressions. They make code look unsightly and ugly. I prefer the "::" that Java has, and I hope C# has too:
class Test {

/*
* Very basic shit
*/

static boolean isLongName(Person p) {
return p.name.length() >= 5;
}

static int sortByYoungestToOldest(Person p1, Person p2) {
return Integer.compare(p1.age, p2.age);
}

static String getUppercaseName(Person p) {
return p.name.toUpperCase();
}

/*
* Very easy-to-read shit
*/

public static void main(String[] arg0) {

List peoples = /* some magical source */ ;

List names = peoples.stream()
.filter(Test::isLongName)
.sorted(Test::sortByYoungestToOldest)
.map(Test::getUppercaseName)
.collect(Collectors.toList());

System.out.println(names);
}
}

the :: shit in java is an ugly hack to circumvent the fact that methods an variables can share a name in java

i don't know c# but if it's sane it will simply use . syntax

And that's a bad thing how? :: explicity references methods. It's as simple as needs be, and the arguments don't have to be shoved in the same line because the lambda functions will make sure the signatures of whatever :: references match whatever it requires.

methods are just another kind of data. Having to use special syntax for them is indicative of bad design.

You'll understand it if you learn Haskell and lenses.

yeah, that performance decrease is what I worry about the most. I'm trying to make sure I just have data that I need in model classes already, so that I do not resort to using a lambda to add it in after exiting whatever loop that was handling data entry.

With linq if you had a method that took a person and returned a bool already you'd just
var longPeople = peoples.Where(isLongName);


Using a lambda it's
var longPeople = peoples.Where(x => x.name.Length >= 5);


As long as your methods are typed correctly you can of course chain things together.
var names = peoples
.Where(isLongName)
.OrderBy(x => x.age)
.Select(getUppercaseName)
.ToList();

The sort is different here because linq doesn't take a method for comparing two entities for sort, it only takes a single object on which Equals (a method on all objects) is called. To order in descending order you use OrderByDescending, to order by multiple "columns" you call ThenBy after an OrderBy.

Should I learn c# before python?

C# and other languages with garbage collection are bad for fast paced games with many details as any time the GC kickw in, the player WILL feel the game stuttering a bit. I wonder though, that in this age of high core CPUs and dual channel memory, if you could offload all the garbage collection to an unused core and have minimal effect on gameplay. It won't solve the problem completely but maybe it will reduce it.

GC already runs in the background and calling collect() on a background thread actually reduces the possibility of the gc running on a background thread.
You can use things like gc server to delay collection but it has the disadvantage of having a slow startup and consuming more memory

Retard here. What's the difference between
.Net and asp.net?

What are the "stacks" or "frameworks" for C#??

What would a road map for learning C# look like? All anyone ever talks about is .Net is that the stack?

Attached: IMG_20180801_191946.jpg (564x714, 68K)

.net is the framework the C# relies on for literally everything. It includes the runtime(jit, gc..etc) and the base class libary (System.IO, System.Int32..etc)
C#.NET AFAIK is the only implementation of ecma 334 (C# lang)
The bcl is written in C# but the runtime is written in C++ (and is planned to be ported to C# once crossgen/corert is bug free).
ASP.NET is a web framework built on top of the .net framework. Put simply, it is just a normal web framework.

Ahhh so there's nothing else weird about it? When you learn c# .net is included because it's the backbone? Asp is just the web "stack"?

Thanks user you the best!

Attached: 1461954755426.jpg (571x852, 219K)

but it is very portable... It runs on x86, amd64, itanium, arm and arm64, all without recompiling

Yes, .NET is currently the only backbone for C#.
ASP is not a webstack though. It is a framework for building web sites. A web stack is a collection of programs required for web dev e.g LAMP:
L: GNU/Linux - OS
A: Apache - server
M: MySQL - RDBMS
P: PHP - backend/scripting

You can use MacOS, Windows and GNU/Linux to run ASP Core (the only asp you should care about unless you plan on dealing with legacy). BSD and non-debian/rhel support is only community effort that you have to build from source yourself.
You can use any server by configuring a reverse proxy server but kestrel is recommended.
You can use any RDBMS you want but Postgre is the best.
C# is used for the backend programming but unlike php, the web tech is named asp because it's the more popular name and implies C# anyways.
If you plan to learn C#, you will most likely find(only - depending on the area) asp jobs. Next is for non IT companies and small tech stores.

>most likely find(only - depending on the area) asp jobs. Next is for non IT companies and small tech stores
Why does this sound so grim and hopeless

Other user explained things well but I've got to stress that you should stay away from asp and only use asp core. They should have changed the name. Other than both being backend web frameworks for C#, they're extremely different. Asp core is new-ish, amazing, and runs on Linux. Asp is an old dumpster fire which should be forgotten and it's not multiplatform.

Non-IT companies can be comfy. You'll work on business automation, reporting, in-house tools, etc. You'll gain good codebase archaeology skills because usually the legacy software was developer by a guy who retired three years ago. Unlike legacy code management in most other languages, in C# or Java it's pretty straightforward. If the original dev wasn't schizophrenic the code is typically fairly readable, and refactoring tools for these languages are godly.

It is not though. It is just that C# jobs are mostly web focused and for a good reason. ASP is really nice and simple. No bloated configs and easy to setup and run. Proper design and naming for controllers and middlewares makes your life a thousand time easier.
C# for desktop exists but it is mostly integrated with other PLs like C++ and is windows only. a couple of examples are MS office integration and small tools to aid productivity inside the company (using xbap and winforms lol). Silly but practical and useful.
There are companies/orgs/whatever that profit off only C# like unity gaym studios (like cuphead) and blah blah uwp software like paint.net ..etc

Thank you for clearing all this up. It's surprisingly hard to find this info as a pro-level retarded person. I'm screenshoting this convo.

So only bother with ASP Core? Got it!

Attached: IMG_20180807_184739.jpg (682x1024, 45K)

what about Fortran

ACKSCHUALLY it can run on any platform with mono, but obviously it won't be as smooth to write as you would for Windows.

>Learn C#
First i need to be motivated to do something with it

video game cheats work pretty well with C#

GO F# URSELF MICROSHIT!

I don't play vidya gaymes but i play card games like Magic, Yu-gi-oh, Pokemon, Poker, & Blackjack.

C hashtag?

stop saving niggers

>Delphi
Pascal was dead 40 years ago, why they ever made this I'll never know.

Java and JavaScript are all a man needs.

Attached: 60d3d3c1a60b76cd7f51595d45480b9f8677b202cb6da1285cc153a330236647.jpg (199x254, 10K)

I use it at my job every day.

What is .net Core (whether or not that means you are required to use C# is another matter, but it's definitely multiplatform). But yeah, C# definitely started off as being Microsoft's answer to Java, except, hey, let's remove one of the major selling points of Java (the write once, run anywhere meme) and force devs to stick with Microsoft platforms if they want to use it.

My company used VB6 and later VB.NET for building industrial automation systems.
I started porting everything to C# and the thing is amazing.

I have a background in C and C++ and C# really does it for me.
It's a language with the good things about C, C++, VB and Java, without the shit parts and much more readable, while keeping syntax sugar at a lower amount when compared with shitvb or shitjava.

>>the write once, run anywhere
>Java updated and now I can't open my schedule software, can you come over here and reinstall it for me
Yeah, Java is pretty great.

If you learn anything but Julia nowadays you're straight up mentally retarded.

fuck off rajesh

if you deploy properly it won't do updates, but yeah that's annoying af

I have to use it at work and it's fucking hell. Avoid at all cost.

>If you learn anything but nowadays you're straight up mentally retarded.