What do you guys think of C# ?

What do you guys think of C# ?

Other urls found in this thread:

docs.python.org/3/library/dis.html
twitter.com/NSFWRedditImage

good if you like being cucked by .net and mono

It makes no damn sense at all, you can copy and paste an example into a C# compiler and half the time it still doesn't work

equivalent to B double sharp

wat

the language it's so good, it pushes you to write the code yourself until you get it right

Are you using the same version of the language the examplr is written in?

Its a nice language, easy to use and decent performance for what it is.

This is a superficial critique from a beginner programmer.

I'm not a massive fan of being so tightly locked to one IDE. It's possible to write C# in something like Vim, it's just unpractical.

it's like C++
except proprietary and owned by Microsoft!
and not compiled! and makes all your source code public!
with added bloat!

You're an idiot.

>and not compiled! and makes all your source code public!
Is there anyone on Sup Forums that actually knows what they are talking about?

if you disagree with those facts you don't know the first thing about c#

It's a great language. Hopefully mono can keep up with the enhancements M$ is making so one day it can truly be free.

It compiles to CIL you half-wit.

Mono was bought by microsoft so it should be keeping up better.

Unless you obfuscate, it's almost trivial to decompile back to original source sans comments

It's shit for retards.

el-oh-el

>It's not compiled!
>Yeah well its easy to decompile!
Nice back pedalling.

Decompiling CIL is absolutely trivial most of the time

Yes and? Thats not what he said. He claimed it wasn't compiled.

not the same person retard
you click open in reflector and get the source because the program isn't "compiled"
"compiled to CIL" is not "compiled"
I can't believe you're even a real person at this point

>Compiling isnt compiling because I said so
Its not compiled to machine language but it is compiled.

He was half right in the part it makes your source code pretty much public unless you take additional measures

I love C# and more often than not is my first choice when my day job demands me to be productive, but that's like my main issue against it

lol.
>this post has been compiled using the english language xD

So you have no argument then? C# is compiled to CIL. All .net and mono languages are.

Honestly, I wouldn't call it 'compiling', it's more like transpiling to CIL (which is a programming language by itself)

you're using an alternative definition of the word compile to conveniently fit your non-standard usage
just like I demonstrated in the previous post
if I open the file in a dissembler I wont see x86 asm on my machine
it's not compiled.
if you want to be a pedant because it's your only way out of defeat in this argument then go ahead
but that makes you a raging faggot

I keep meaning to learn it but all I seem to be using these days is C++.

ITT: Pedantic arguing about the meaning of the word 'compiled'

It's a better Java, but unfortunately too tied to the Microsoft environment.

>and not compiled! and makes all your source code public!
It's compiled, just to a VM instruction set (like Java) rather than native code. And what's this about "makes all your source public"? Yeah, you can't distribute a C# program without the bytecode, but bytecode isn't source.

>"compiled to CIL" is not "compiled"
Yes it is. Compilation means translating from one language to another, as opposed to interpretation, which is actually reading code in some language and then taking certain actions based on it (technically, a CPU is an interpreter for machine code, but we rarely think of it as such because we reserve the term interpreter to software).

So if you have some Java code, you can compile it to Java bytecode (which is then interpreted by the JVM, itself a program compiled to native machine code from some other language like C or C++), or to native machine code (I think the GNU Java compiler can do that). Either way, it's compiling. Likewise QB64 takes BASIC source code, compiles it to C or C++ code, and then compiles that to machine code. Compilation doesn't just refer to generation of native machine code.

How is that compiling? What language was the source code of the post written in?

Think of it this way: typing ASCII code into your editor isn't compiling. But if you write a program to generate HTML boilerplate, and then insert the contents of a text file into the body of the HTML file, then you have written a very simple compiler.

Linux user here. Can I write and use C# programs on and for Linux?

Stop this transpiling meme. A compiler is just a program that transforms one source language into a target language.
A C compiler only compiles to assembly for instance. An assembler has to be used to get machine code.

>It's a better Java, but unfortunately too tied to the Microsoft environment.

On the bright side they seem to be moving on the right direction with .NET Core

Yeah, mono
Seems counter to the whole Linux concept, though

The only one making up their own definition is you. C# is compiled into CIL it just mean to comvert it into another lower level language. You havr absolutely no idea what you are talking about.

A transpiler is a program compiling the source code to another language of the same abstraction.
C# and CIL are definitely not of equivalent abstraction.

Transpiling is just a special case of compiling; the general action is still compilation. And even then, transpiling technically implies that the two languages have a similar level of abstraction; CIL is less abstract than the source language, it's basically the same idea as the intermediate representation generated by most compilers.

It doesn't have to produce x86 asm to qualify as "compilation". It's still compiling, just to a different instruction set than x86.

Using your definition nothing is compiled.

>mfw there are retards on Sup Forums not understanding what compiling means

>A C compiler only compiles to assembly for instance. An assembler has to be used to get machine code.
Some C compilers don't generate assembly, at least not assembly that's accessible to the user. And GCC can for example generate intermediate representation as well.

can we agree that the word 'compiled' has colloquially come to mean 'compiled to machine code' in the context of programming languages?

That is true. Both Clang and GCC does that.

Are you one of them?

Obviously we can not, because these buttblasted C# fellows will never admit it.

No he's right c# is written in c++ dumass.

No. C# is a compiled language and your definition won't change that.

It hasn't. It means its been compiled to a lower level language than the source code.

You can easily decompile c# programs with ILSpy

>tfw to intelligent too understand compilers

Except it hasn't, retard.

Are you retarded? That's not what he claimed.

the fact that you can so easily convert between C# CIL doesn't make it 'a lower level' in my book

Yes and? That's not what the debate is about.

>not just writing everything in machine code by hand
fucking plebs

So you are saying that CIL has as much abstraction than C#?

CIL is lower level than C# or any other .net language. Using your own definitions isn't going to change than.

>ITT: Anal pained autists insist that java and C# are compiled languages

The only thing I don't understand is how did trump do better with minorities lmfao

They are compiled.

Yea, it kinda is. A compiled program is usually very hard to decompile, C# is not hard to decompile by nature. So it was never fully assembled into machine code. Therefore is just as "compiled" python is.

So then what does javac do?

ok fine, technically it's compiled, but tell me what good does the compiling actually do (apart from static type checking)?

and he got 53% of the white female vote
I guess they enjoy being grabbed by the pussy

>what is compilation
i bet your failed prog 101 course taught you a lot!

Because he was anti ILLEGAL immigrants you dumb fuck.
Legal immigrants hate their guts.

Compiled doesn't mean converted to machine code it just mean its converted to a language that is lower level than itself. Using you definition C++ isn't compiled.

If C# wasn't compiled you wouldn't have to decompile it.

It's not bad. It's a better version of Java. It's got some nice things going on now, like tuples and lambdas that can be passed around as arguments. As far as the big languages go, it's great. F# is good too, and getting better all the time, if you want a more-officially supported OCaml/functional language without losing the benefits of a big language with a huge-ass developer community. Having compiler-level reflection is great, even for small-things like intelligent auto-complete via incrementally compiling your program.

I legitimately can't tell if these posts are satire anymore.
Well done, lads

trump is alpha as fuck, dude

C++ isn't compiled. Enjoy your public source code.

Brainfuck (which can be thought of as an assembly language with only 8 instructions and only one addressing mode) can be easily converted to C, do you really think that means it has the same level of abstraction as C?

yes but can you get the original source code out of it as easily as you can get it from CIL?

It converts it too a lower level language that is common accross all of .net so that it is easier for the runtime compiler to compile it, makes it easier to mix .net languages, anf makes targetting multiple platforms easier. The CIL code is platform specific.

No, reddit. We can't 'agree' if you are wrong.

C++ is compiled and assembled into machine code retard. Pretty hard to decompile that shit.

except when you disassemble c++ all you get is assembly instructions
when you "decompile" C#, you get nice C# source code back out

How is that relivent to whether or not it's compiled? Why should I takr special snowflake definitions that you make up on the spot to support your arguments seriously?

It has a real definition and that's not it, sorry redditor. Maybe you should go back to reading "LEARN PYTHON THE HARD WAY" and enjoy your coding bootcamps or something.

>What is MonoDevelop
>What is Xamarin

C# and .NET Core are F/LOSS now. MIT License

It's a beautiful language.

typical C# fags

how's the performance of the clr vs jvm these days?

So Java and C# are interpreted languages then? Fine then, show me one program that can take a .java or .cs file as input and run it without generating a binary first.

>Therefore is just as "compiled" python is.
Show me a binary generated by Python then.

>what good does it do
What do you mean, what "good does it do"? So now it only counts as "compiling" if it provides some abstract benefit? Do you also think C isn't a compiled language because in some cases the binaries are larger than the source code?

Yes, because it's converted to a strict subset of C that is semantically identical to the original BF code.

> C# is partly compiled. When decompiled it produces the source code, instead of assembly code. Meaning it wasn't fully compiled.

Okay then, let's see you extract the original source from a C++ binary.

>Show me a binary generated by Python then.
the reference implementation (CPython) generates bytecode (.pyc files) for every python source file it encounters, docs.python.org/3/library/dis.html

Okay then, C# is ASSEMBLED, not COMPILED.

Nope. It's compiled into byte code, then interpreted.

You only assemble things into machine code via assembly which c++ and c are compiled into then assembled into machine code.

C# is not assembly its not assembled.

Compiled does mean converted to machine code it means converted to another lower language code. C# is compiled into CIL which is then interpretted during run time.

Doesn't*
I hate typing on a phone.

Wow, you're some dense Programming 101 failure.

Bytecode is a form of machine code. It's a numerical representation of an instruction set, which is the definition of machine code. And assembly is just a language that has 1-to-1 correspondence to the underlying machine code. Which means, if C# can be converted to bytecode and back again with no loss of information, it IS an assembly language.

C# is not an assembly language.

Byte code is processed by a virtual machine.

To add onto this bytecode is interpretted by the virtual machine into machine code.

Have worked for a fortune 500 company and use c# extensively.

It's a godsend, so many wonderful libraries to work with.