Why C, C++ and C# are hated so much?

why C, C++ and C# are hated so much?
everytime you want to prove haters wrong, they just say: "Oh, i am not game developer", "I was not born in 40s LOL" and so on.

Other urls found in this thread:

stackoverflow.com/questions/12382014/whats-a-good-alternative-to-wpf-for-someone-using-mono
stackoverflow.com/questions/16254547/should-i-rewrite-gui-with-gtk-instead-of-winforms-for-mono
twitter.com/SFWRedditVideos

Because it's harder to understand than "modern" but bloated languages
and because pointers are haaaaaard

lol, you have just revealed their psychology.

Because faggots who dive in C think they have to mess with assembly. Which isn't even that hard anyway. Idk why C# and C++ are hated. Maybe because hey find Java superior?

Is there any language that sucks more than Java?

because they segfaulted a program and couldn't figure out why and now forever hate C/C++. I don't see how anyone could hate C# for being too hard though.

Yeah, a lot actually. Java is a very solid language with a very solid environment; there IS a reason it's used in more real-world codebases than every single memelang combined.

>Because faggots who dive in C think they have to mess with assembly
I haven't heard this before.

>Idk why C# and C++ are hated.
C# is usually hated because >microsoft

C++ is (rightfully) hated because it has too many fucking features, compiles extremely slow, and is easy to learn (low entry barrier) but significantly more difficult to master than other languages (due to the amount of bloat you need to sift through).

Isn't C# like Microsoft's Java and has little to do with C or C++?

which one of that three do you prefer and why?

C gets hate because you can do shit easier in C++ or C#. Also, pointers.

C++ gets hate because it doesn't know whether to be C or be it's own language. Also, pointers.

C# gets hate because it's a Microsoft product. Although, C# always seems to be doing battle with Java though.

C# doesn't even have pointers. Retard.

Why is there a picture of the worst IDE every developed?

Python programmer here.

C++'s syntax and C's ambiguity gives me ulcers.

C# is nice but ASP.NET is cancer (MVC6 included).

Because OP is a retard who can't use code::blocks

>2016
>not realizing Java is a meme
>2016
>not realizing that every language is a meme
>2016
>2016
>meme

>C# users are too dumb to use pointers

Curious; what do you think is ambiguous about C?

>code::blocks
Are you too pleb to use QtCreator?

C, C# and C++ arent really hated. C# has plenty of uses and C and C++ will always have their place in speed critical situations.

Half of the ISO C standard is about undefined behavior.
It's literally impossible to write a complete application in C free from UBs.

Actually it does, but they are nothing compared to the pointers in C++. I wouldnt try building a binary tree in C#, but in C++? Piece of cake

> C, C++ and C#

You mean:

> C and C++

C# is a Java-inspired candyland

Are pointers just the same as global variables?

They seem to have more or less the same purpose.

Fuck off, pajeet. I'm not giving you free programming lessons.

>Are pointers just the same as global variables?
no way

No, pointers are just memory addresses of data locations so that instead of passing large objects and data, you just pass a number

>Fuck off, pajeet. I'm not giving you free programming lessons.
dude, you made my day

Yes im sitting in the middle of a street in india typing this on my phone.

In terms of using them. They sound like they're just a way of having the same behavior as globals without actually using a global.

>there are people on Sup Forums who don't know what a pointer is

Undefined behavior happens when write sloppy code.

>sitting
You left out a letter "h"

>QtCreator
Why not just use QtCreator?

python is hated. java is hated. C, C++, and C# are hated on this board. lisp is hated. haskell is hated. php is hated. ruby is hated. rust is called a meme language.

my point - don't fucking worry about Sup Forums's opinion on programming languages.

>In terms of using them. They sound like they're just a way of having the same behavior as globals without actually using a global.

No. Just... no.

good pajeet

lol I remember being a noob first year of college and being introduced to code::blocks + C/C++ with mingway under Windows. What a piece of shit that was.

Nothing beats making your ctags files, and jumping right to definitions with to keys in Vim under Linux.

this. goddamn I could never imagine writing C in a fucking IDE.

Pointers are variables that hold values that represent places in memory. This we call a "reference". Just like higher level languages like Java, which under the hood work just the same but instead obscure this little step for you. That's why this code:

Object obj_1 = new Object();
Object obj_2 = obj_1;

Is not the same as this code:
Object obj_1 = new Object();
Object obj_2 = obj_1.clone();

Because the first is just making a pointer to the same object and the second is actually making a new object which is a copy of the first.

The IDE is a little painful. The really painful part is the whole configuration of MAKE files and the like. Doing that shit click by click in a GUI is infuriating and you never actually know what the fuck you did. I'd rather be waterboarded.

Oh and don't get me started on remotely debugging software in a windows server with an old visual basic version. Manually loading each DLL at the point they are called... instead of ssh + gdb.

this must be what haskell programmers feel like when someone asks stupid questions about monads

C# has real pointers(just like in C) but you don't have to use them. In fact you need to wrap all code involving them in "unsafe" block.
Completely the opposite, in C++ you'd have to also write destructors for nodes and the tree, plus it lacks convenient null conditional and coalesce operators.

good leon

...

W-Language is complete shit.

delete my_ptr;

The tree itself I guess goes in the stack.

>null conditional
null_variable ? do_this() : do_that()

>2016
>still using new/delete

...

i like C++ because it was the first formal language i know and it holds sentimential value to me, its easy enough to be an entry tier language, complex enough to let you become a better programmer and hard enough to let all the kiddies that picked the wrong career know that programming is more than punching random numbers into a screen.

half of the class disappeared when we started using pointers, structures and pointers to structures.

not meant to quote, sorry.

>half of the class disappeared when we started using pointers, structures and pointers to structures.
Wow that sounds real tuff user

If ptr != null then traverse tree, else create node, idk what youre talking about user.

The only thing C# has is garbage collection. Big whoop, its not that hard to manage your shit.

Our algorithms class had a 80% failure rate.

You use C in algo class? We have python (and C for people who does not want to take the day off to learn python)

And only 60% failure rate :^) .

Because Scheme (or at least some form of Lisp) is the ideal language.

It's not like you are unable to simulate C# features in C++. You can nearly write haskell in C++ and it will compile. However, in haskell and C# you don't have to fight the language to get the features of that language.

kek

People who say that likely have no programming experience.

I went to Uni with prior (personal) experience in programming. I already knew a little C++ (I made hacks and dll injectors for some video games), a little C# (NInjaTrader scripts and messed around with Unity), Java (Minecraft modding), and a little scripting in Lua and Python.

In Computer Science, nobody had any clue what they were getting into. Some were there because Google says they will make $100K+, others are there because they want to mobile maps, others want to make the next hip social media website, etc. They were absolutely clueless. They thought programming would be like the movies and TV show where they could have a full fledged video game up and running for beta testing in a few hours, or learn how to do 1337 haxx to other people's computer using only their IP address. It was full of cringe. By the 2nd semester, I would say 60-70% were gone. The ones that are still here (3rd semester) still have hardly any clue what is going on yet always act like they know everything, posting shitty advice on Reddit, Stack Overflow, etc.

I'm no expert programmer, but god damn people are retarded. Just last week, some normie was trying to say Java is better than C++, because you can't make apps in C++. And then some girl said iOS apps make more money, so Objective C is best language to learn.

i dont know shit about c++ or pointers, but i'm wondering in which cases you would want to reference the place in memory rather than the object/value itself.

Originally when C was invented, there was no concept of references - there were raw pointers, which as said are simply pointers to the location in memory where the object resides.
References are just wrappers for pointers - they're "safer" because you can't set them to null as easily, nor can they as easily point to the wrong location if memory. That's it. They're essentially the same thing, the difference is mostly syntatical.

I studied CS in an Eastern Youropoor country in the early 2000's. There was a course called "Introduction to Computer Science" in the very first semester, which was basically binary arithmetics + Turing machine + finite automata, except you were required to be able to present long-ass formal mathematical proofs for pretty much everything. The failure rate was around 80% as well. People were like: "hurr, I just wanted to write code, didn't expect computer science to have actual science behind it". Good times.

Imagine you have a gorillion elements sitting in an array and you want to pass it to a function.
If you pass the array by value without a pointer then you are going to create a copy of that huge array inside your function and just waste space and cycles.
You can avoid this by passing a pointer to the array inside the function, so the function works on the array directly.

>Pointers

>Hard

Lazy fuck, just read one good chapter on an intro to programming textbook on pointers and you will understand it

It's not rocket science.

PHP

Just use Vim.

matlab

they don't bring enough money, c++ is good for game development and optimization, but no one really cares about optimization cozz it cost a lot of money, c# is for unity, c is only for drivers and OS, java is good choice for back-end, frameworks like spring and play are top tier if you want a job, js is slowly taking over everything, front-end is a must, node and express are my pick for back-end, you can make browser games with js, you can even create awesome desktop apps with it... beside those clojure, R, laravel and scala

>and because pointers are haaaaaard
No, they're just used weirdly by C devs. I shouldn't be using pointers in the "front-end" of a library.

>so that instead of passing large objects and data, you just pass a number
Why doesn't it do this automatically? Why is the default making a copy?

C++ died after Nodejs was born

>then you are going to create a copy of that huge array
Why is this the default behavior?

Because that's what you told the function to do.

I told it to use this variable. Not that it should make a copy.

What you're saying is like 5=5 but 5 is a copy of 5.

arent arrays objects as well, and therefore passed by reference?

No, only if you use std::array or std::vector. Normal arrays are not objects.

This means
std::array a1{ {1, 2, 3} };
int normalarray[] = { 1, 2, 3];


Are not the same thing. std::aray is an object that wraps around a normal array to add functionality.

spoken like someone talking out of their ass

what? Arrays are passed by reference

Pointers are easy, I found the syntax of using them frustrating at times, because operator order completely fucks up some expressions and there is either no compile errors or vague ones

>why C, C++ and C# are hated so much?


No, these three are VERY differnt:


>C#

A comfy Java clone, too bad you can only use it on M$ products. But not a bad langauge.


>C

An old langauge with a "meh"-syntax and some quirks, but lighting fast. Avoid it whenever you can use higher langauges with better features (where you don't have to reinvent the wheel for every poop) - but if you wanna play "need for speed", C is your choice because it's pretty close to metal.

And even if you hate C and don't want to use it you should know some basics about it, just like Java.


>C++

An abomination of an langauge, the PHP of non-web-languages, a sad attmept to make a flawed langauge like C object oriented by adding more and more features.. Because more is better, right?

>too bad you can only use it on M$ products

You can use it in linux and phone development as well.

Yes, theoretically.

Practically you really don't want to do this..

do what? Mono and Xamerin have a wide userbase.

More or less, yes.

...What? C++ wasn't ever a popular backend web language.

>you can only use it on M$ products.
Mono is fine. Xamarin I've heard mixed things about, but Mono just works™.

Everything UI related has to be refactored..

>WinForms
>WPF


Java is just better for cross-plattform development.

I dont think you know what mono is.

>stackoverflow.com/questions/12382014/whats-a-good-alternative-to-wpf-for-someone-using-mono

>stackoverflow.com/questions/16254547/should-i-rewrite-gui-with-gtk-instead-of-winforms-for-mono

Because the original might not exist for the same duration as the copy.

youre a real expert

Hahaha
I which fields? :')

Nearly all arrays in C are pointers. The only exception that I know of is when a constant-size array is declared as part of a struct.

try it yourself, see what's the result of a function like

void test_a( int a[2] ) { /* works on a pointer, will modify the original array */
a[0] = 0;
a[1] = 1;
}

and compare it to

struct foo {
int bar[2];
};

void test_b( struct foo b ) { /* works on a copy, the original array shall remain untouched */
b.bar[0] = 2;
b.bar[1] = 3;
}

bait

u mad, bill?

>using refcounting
>ever

because someone thought this would be a good idea a long, long time ago
go arrays are for example passed by value by default afaik

"Nice number!" always cracks me up

It's simply logical behavior. When you don't pass in a pointer type, its passed by value. The type passed must be of a pointer type for it to be passed by reference.
In C# its illogical if I recall correctly (I haven't used it much), because classes are passed by reference but structs are passed by value, which makes no sense.

What the hell are you on about. Arrays are passed by reference:

int main(){

int n[10];

myFunc(n);
int i;
for(i=0;i

They aren't objects.

I see what you're saying but regardless they are still passed by reference.