C# perfected the C family

C# perfected the C family

Attached: Untitled.png (442x338, 5K)

The C family is inherently shit. Did you think it was just a coincidence that 'cuck' begins with C?

is it shit or are you shit

third post best post

C# is just Java with bloat.

I thought it was the less bloated java

Explain

It's literally just Java but with a bunch of extra """features""" that you don't actually need.

fucking microcuck shills

No, C perfected the C family
Everything else is redundant, except of MAYBE C++

JavaScript perfected the C family.

Attached: js-logo-badge-512.png (512x512, 27K)

t. maximum cuck

>you don't need properties
>just write setter and getter for everything
>by: Java programmer

Thanks!

t. soiboi cuck

You don't realize it, but little by little your algols are turning into lisps.

Attached: b156523a97a9c1e432327471fbf0d613.jpg (687x513, 245K)

Getters and setters are not good OO design. Giving them language support is an outright antifeature.

Nah m8, webdev is dogshit. I usually write in a sane, standardised systems language.

This, kind of.

Extremely helpful.

Your mother perfected my dick

Your IDE can auto-generate those just like C# can auto-generate setters/getters. You're doing the same amount of work in both languages. Also this . You don't need setters and getters and aren't supposed to use them enough for properties to be relevant.

Doesn't help readability. Properties are easy to write and read, getters are not, and IDE can only help with writing.

Fuck your IDE just use Lombok lmao

@Getter @Setter private int age = 10;
Wow so hard to read

Part of language or third party?

It's Lombok, but I don't see what that changes.

It's not a part of Java.

...

In what context are you not going to be able to import libraries for Java?

I am, but this is not a feature of a language... Even if I use the library, most other people, including those whose code I have to work with, don't. C# properties are part of language and are norm for everyone using it.

Huh, people use libs all the time in Java.

If the goal is to have moar useful features without more libs, Scala has more of that than C#, but that's even less likely to be used than Javs with libs or C#.

I specifically outlined what the goal is, to have good functionality available by default and encouraged by the language. If you scroll few posts up, you'll see that the discussion is about C# and Java, and about how features provided by C# are not useless. Scala has nothing to do with this.

The point is that Scala has more builtin features than either Java or C#. If you advocate C# because it has better defaults than Java, surely you should advocate Scala for having better defaults than C#.

I'm not advocating for C#. A statement was made about C# above, a false statement, and I'm trying to rectify the error.

Yea, it has everything to do with this. If you want moar useful features by default somehow rather than libs you need to import, Scala is a better choice than C#.

The discussion is not about Scala... It's not about which one among all languages has best features either.

You can't pick the even more foreign C# over Java because you're not allowed to use libraries if you can't pick Scala. That just makes no sense.

> It's not about which one among all languages has best features either.
Of course it is about what language has more features without libraries in this context, that was literally the argument for C#. Well, it is even more an argument for Scala then.

You can argue about scala all you want, I don't care about scala, I won't talk about scala.

>It's literally just Java but with a bunch of extra """features""" that you don't actually need.
This is false, I will talk about this. Not about fucking scala.

The point is that those features don't need to be built into the language because they're pluggable with libraries. You can argue about C# having better defaults (and I won't contest that) but that doesn't make it any less possible in Java.

Would you like to point out where in the thread I made the statement that it's impossible? Or otherwise please do explain why you are telling me that.

You can not talk about what you don't want to talk about [and that's fine, may I suggest you don't do it loudly?]

It's still part of this discussion now that someone made the argument that if you can't use 3rd party libs in Java, C# has more features than Java. That however simply points to Scala even more than C#.

The part where you said you need the features to be built in.

Yes, I would like it. Because obviously it's not impossible - you can plug libraries into Java.

Whether it is impossible for you somehow because you're the code monkey that isn't allowed to touch anything [and yet you somehow have the option to use C# rather than Java, WTF is that situation?] is very irrelevant to everyone else.

>[and that's fine, may I suggest you don't do it loudly?]
[[[May I suggest that you don't talk about scala to me?]]]

And I explained why I said that, very clearly, and it was all in context of C# having features that Java does not, and you had no problem with my explanation - instead you decided to pull out Scala out of nowhere.

>Even if I use the library, most other people, including those whose code I have to work with, don't. C# properties are part of language and are norm for everyone using it.

>[[[May I suggest that you don't talk about scala to me?]]]
I talk to everyone who cares to discuss the C#-when-you-can't-use-libs-in-Java bit. Yup, use Scala then.

And no, you may not. It's a completely fair thing to respond, only in question when you yourself somehow say you don't want to respond but then do it anyway. Yea, you can't avoid the unpleasant counter-arguments.

>-you-can't-use-libs-in-Java
I'm not telling you you can't use libs. I'm telling you having those features available by default without libraries is significant.

>you can't avoid the unpleasant counter-arguments.
There are no counter arguments so far. I'm arguing about this:

>It's literally just Java but with a bunch of extra """features""" that you don't actually need.

Scala is not a counter argument no relation to this statement and I am not talking to you about anything else.

Exactly, ergo Scala is even better than C#. More features that are part of the language.

And again, the premise that you somehow could pick C# over Java when you're not even allowed to touch libs in Java is rather crazy.
Of course you're allowed to change libs before you can change the language of any project.

No one's offering to change or rework anything. Please pay attention.

>Scala is even better than C#
That is an interesting opinion too bad I am not in a mood to talk about it.

> and I am not talking to you about anything else
I've been discussing exactly on what I quoted. Namely that if you say Java with libs has less features, then yes, the answer probably is not C# but Scala.

But also that that whole premise is silly, of course you can use 3rd party libs.

The answer is either features of C# not found in Java are useful, or they are not useful. The answer is not the name of a language.

>No one's offering to change or rework anything. Please pay attention.
Then there is no option of C#.

Whatever project that somehow can't use libs will remain in Java.

I don't usually tell this to people I argue with, but are you retarded?

>It's literally just Java but with a bunch of extra """features""" that you don't actually need.

How do you from this figure that this about covering existing projects from Java to C#?

No, my answer to is that Scala meets the goal of having more features than C# better when that's the premise because you can't use Java with libs (as per ).

Well, how is it related? It doesn't invalidate my argument and is not related at all to original statement that I am discussing.

See > How do you from this figure that this about covering existing projects from Java to C#?
That's literally the implication from - if you can't even introduce a library into code that you have to work with, you sure as fuck aren't going to convert Java code to C# code for them.

Else, you ought to be able to far easier add a lib than convert any project to C#.

>no one is talking about converting Java to C#
>you are not talking about converting Java to C#!!!!!
user, I...

No, that's not what this says.

fpwp

I said extremely early in the discussion that this is not about adding libraries to projects. I don't want to add libraries, I don't work to rework code, I don't want to convert from one language to another. I want good defaults, which C# has more of than Java.

Give me one reason to use anything else than C++ and Python for anything

>>Built in telemetry

Unless you're talking about the syntax, in which case it should be called C-BASIC

No reason. Use what you like, unless it's wrong for the job.

>I want good defaults, which C# has more of than Java.
You actually said features in and it was relating to having syntax for getters/setters. Scala has more such features.

Sure it also has arguably better defaults, but of course that's a far more subjective discussion.

And all this only matters IF you even start with a premise such as
> I can't make my team use a library that makes things easier/better
Otherwise you could obviously use libs, as was initially suggested. That said this premise is just flawed because
> But I can make them use C# somehow
> But I can't make them use Scala somehow
Just has next to no likelihood of happening while you can't even make them use libs.

OP is a faggot

Attached: 2010083011152262.jpg (400x503, 28K)

>Scala has more such features.
We're back to Scala I see.

> I can't make my team use a library that makes things easier/better
You live in an imaginary world. Yes, you can't. You really, really can't. Things exist before you are put in charge of them.

And, god,
>> But I can make them use C# somehow
You ARE retarded.

>I don't want to add libraries, I don't work to rework code, I don't want to convert from one language to another. I want good defaults, which C# has more of than Java.

>I don't want to convert from one language to another.
>>>I don't want to convert from one language to another.
>I don't want to convert from one language to another.
>>>I don't want to convert from one language to another.
>I don't want to convert from one language to another.

It's so simple. Why are you having such difficulty understanding this?

> We're back to Scala I see.
Yes, because it's a more logical conclusion than C# if you want more features.

> You live in an imaginary world. Yes, you can't. You really, really can't.
Usually not the case, I'm not seen as dumb code monkey, so I can usually initiate that change.

But even if, the point then is still that then you really, really, really can't change from Java to C#, it's even harder to do that than to go to Scala that has anyway more features.

>you really, really, really can't change from Java to C#
I give up. You are retarded. I can't argue with a pigeon.

>I don't want to
There is your problem.

It's nothing that I or I suspect anyone else was discussing, but apparently that's what is in your mind all along.

>I don't want to add libraries, I don't work to rework code, I don't want to convert from one language to another.

Good luck ever getting a job then.

The language you use is irrelevant to programming in general and you're always using different languages for different specifics. I don't know the syntax to any language by memory. You can Google that. We just use whichever library or API gets the project completed in a timely manner. If we hired a bunch of autistic children wanting to program in only one language using no libraries in their vim text editor, we would go bankrupt.

Programming has nothing to with languages.

>I don't want to add libraries, I don't work to rework code, I don't want to convert from one language to another. I want good defaults, which C# has more of than Java.
Which Scala has even more of.

>I don't want to convert from one language to another.
>>>I don't want to convert from one language to another.
If that's the case in YOUR situation (I don't really care about very much about it), then you don't get to choose C# either. It'll be the language that it was before, such as Malbolge. There is no argument for C# in this.

...

C# is a godly C family programming language, bundled with Microsoft's retarded framework, which was forced down Win32 API dev throats, and ended up going open-source just to still exist.

It has
- consistent syntax, unlike JavaScript
- properties, unlike Java
- a garbage collector for classes, unlike C/C++
- external symbol calls and data propagation
- simplified and typed delegates and events
- simple multithreading and thread locking
- static classes which makes functional programming possible
- object-oriented programming done right
That said,
- pointer operations are minimal and cannot interact with classes
- Roslyn, the interactive console, sucks
- Microsoft's .NET sucks dick with its inconsistency and legacy bloat
- Async is made retarded (JavaScript's Promises are way more intuitive)
- its main IDE, Visual Studio, is very bloated but does the job

>consistent syntax, unlike JavaScript
What will this do? Copy an object or copy a reference?
var y = x;
>properties, unlike Java
just get lombok lmao.
>simplified and typed delegates and events
Do I still need to declare delegates separately? If I want to take a callback in Java I can just do void foo(Function f); without having to make a whole new type.
>static classes which makes functional programming possible
why is this necessary when you can just make a private constructor. If you want "functional programming" you can at least start with something like case classes.
>object-oriented programming done right
The OOP model is almost identical to Java.

fpbp

>What will this do? Copy an object or copy a reference?
If x is Reference Type then Y will be a reference to X
If x is Value Type then it will copy value

>in Java I can just do void foo(Function f);
exactly the same in c# but void foo(Func f);

So much for consistent syntax.

Good to see I don't have to declare new delegates for everything though.

>What will this do? Copy an object or copy a reference?
If x was a class, it would be copied by reference. If x was a struct, you'd make a copy of it.
>just get lombok lmao.
> using code generators
>Do I still need to declare delegates separately?
Yes. You must define its type, because the compiler checks the method' arguments and return value when implicit casting to matching delegate.
>why is this necessary.
It's welcoming when you need to have a single instance of a class with all its properties being private and shared across calls and threads.
>If you want "functional programming" you can at least start with something like case classes.
If you mean Scala's case classes, those are pretty much structs. Properties inside structs cannot be modified outside of the struct.
>The OOP model is almost identical to Java.
> @Override using an entire line

>So much for consistent syntax.
but what is so inconsistent about that?
its pretty simple rule that applies to any assignment even if type is inferred at runtime

>If x was a class, it would be copied by reference. If x was a struct, you'd make a copy of it.
The point of this comparison was to highlight that C# syntax is not as consistent as it seems.
>>using code generators
There is literally nothing wrong with code generation tools - particularly if you're using an enterprise pajeetlang like Java or C# that implicitly asks you to write mountains of boilerplate.
>why is this necessary.
Static classes do not have one instance, they have no instances. That automatically makes them worse than object literals a la Scala and Kotlin, but I digress. If you want to avoid a class being constructed you need to do nothing more than give it a private constructor. C# has a running problem with baking syntax salt into the language when you can express the same thing just as elegantly already.
>If you mean Scala's case classes, those are pretty much structs. Properties inside structs cannot be modified outside of the struct.
You're missing the point. Static classes do nothing to help you do FP. I was naming one example feature which may actually do so.
> @Override using an entire line
That's a syntactic concern, not a semantic one. But there's nothing stopping you putting it on the same line.

The behaviour of a single statement differs significantly depending on nonlocal information. That's inconsistent and lacks robustness.

>ranting about nonsense things
So this is the power of the autism

one of these things is not like the others

>That's inconsistent and lacks robustness.
What if i told you that you using var keyword WRONG?
If you CAN use it doesn't mean you should use it.

var keyword is made to make declaring local variables easier AND declaring LINQ expressions, since they return anonymous type and without var you can't declare them.
You never do
var x = y;
NEVER, i never seen anybody write like this, its just wrong

var is made for this
var x = new Dictionary();
instead of
Dictionary x = new Dictionary();
Im pretty sure you got the point.

I'd just like to interject for a moment. What you're referring to as C#,
is in fact, C++++, or as I've recently taken to calling it, a massive fucking travesty. C# is not a programming language unto itself, but rather a retarded Microsoft language extension on top of another language extension on top of the fully functioning ANSI C programming language, made to combat the critical security problems Microsoft’s army of Pahjeets create by limiting their freedoms.

Many programmers write in a modified version of the ANSI C standard every day, without realizing it. Through a peculiar turn of events, the version of ANSI C which is only used by Microsoft is often called "C#", and many of its users are not aware that it is basically a raped version of the C programming language, standardized by ANSI.

There really is a C#, and these Indians are using it, but it is just a part of Microsoft’s hegemonic retardation. C# is an abomination: a language designed to prevent transparent access to the parts of the system that allocate the machine's resources. The .NET framework is not an essential part of the windows runtime, but useful for cockblocking Pahjeets; it cannot function in the context of a complete programming language. C# is normally used by people and organizations too dumb to figure out pointers in combination with the Windows operating system: the whole language is basically ANSI C with two layers of stupid added, or C++++. All the so-called "C#" programmers are really Microsoft scripters of Indian heritage.

>>If x was a class, it would be copied by reference. If x was a struct, you'd make a copy of it.
>The point of this comparison was to highlight that C# syntax is not as consistent as it seems.
How is this an argument? Do you even know what's the difference between a class and struct in C#?
Classes are managed structures which go through the garbage collector. They're meant to be allocated at initialization and silently deallocated.
>>>using code generators
>There is literally nothing wrong with code generation tools
What are libraries? C#'s syntax evolving directly addresses code generation issues.
>>why is this necessary.
>Static classes do not have one instance, they have no instances.
You're partially correct. They'll never be deallocated by the garbage collector, but you can still make a reference of a static class and even use it (though the compiler should warn you about this).
>If you want to avoid a class being constructed you need to do nothing more than give it a private constructor.
What fucking private constructor are you talking about? The only thing that comes to my mind about this is the static class constructor, automatically executed.

Cont.

>what is Lombok

>C# has a running problem with baking syntax salt into the language when you can express the same thing just as elegantly already.
You don't need to eat the entire box of syntatic sugar. Inline delegate methods and arrow functions do the same but arrow functions are more elegant.
C#'s syntatic sugar makes use of existing tokens to make a common problem simple. Take Tuple and ValueTuple. You'd need to specify every type argument for the Tuple when instantiating, whereas ValueTuple just uses an ordered set to specify its meaning.
>You're missing the point. Static classes do nothing to help you do FP. I was naming one example feature which may actually do so.
I didn't say they do, but they make it possible.
>>@Override using an entire line
>there's nothing stopping you putting it on the same line.
Would look retarded, and it is. Why make it a symbol attribute (or whatever the fuck's called) when you can make it a keyword? It'll clear semantic confusion.

>The behaviour of a single statement differs significantly depending on nonlocal information. That's inconsistent and lacks robustness.
You're missing the point of the var keyword. Replace var with the x's type and you get the same. Who would want to type in 13 type arguments for a Func delegate?

Thanks for bumping the thread autist.

Based & saved.

C
++
++