Why are there so many pissing languages?

Why are there so many pissing languages?
Why cant we just make everything in C or C++?

Attached: 0CFDB6C9-06BF-4662-9A0B-CFAFBFB53331.jpg (1034x1034, 63K)

Other urls found in this thread:

github.com/rustsim/nalgebra/blob/dev/src/base/dimension.rs
twitter.com/NSFWRedditGif

Haha, you are to dumb for programming.

Because not everyone lives in the 1980s. Get with the times, grandpa.

Do we really need all these leet hip new languages made by/for fags with bright rainbow hair?

>muh tranne
Not an argument.

>muh diversity and patriarchy
not an argument

Seethe.

cpp17 is not old.
its just to easy to make a new Compiler because of LLVM, but don't call it a language because of Frontend hacked in 1 weak. with out any strong attempt to standardize it.

languages aren't really that different from each other. how many ways can you call a function or index an array? the core logic is the same. the only reason to learn one over another is if you want more control, for things like memory handling to ensure no overhead exists, like in simulations or 3d rendering. then you'd probably use C++ or C. in every other case you can use whatever you want. i'd argue that even python can be fine for some simulation shit if it's not realtime.

idk about you niggas but its all about that html5 shit can i get a


op is a faggot

>Why cant we just make everything in C or C++?
Because those are shit languages.

>Browsers are written in C
>They read C source code that is compiled to a program that is a particular webpage executed by the browser
Would this fail very hard? Html only is a pipe dream btw.

cope

t. never written anything performant

How / Why do you think they're shit?

C++17 is too obsolete to compete with Rust and too modern for Cniles to like it.

>Why cant we just make everything in C or C++?
Go ahead, try making a function that actually can flip cases of each character of a given string in either C or C++.

"ß" -> "SS"

>Why cant we
Why can't YOU? I do everything in C/C++.

because we angered God and he made us use different languages

a language revision is an acknowledgement that the landscape is shifting, you can keep bolting shit onto c++ every 3 years or make a new language every 6 but the end result is the same

The model of distributing libraries, no packages and retarded system of includes, no official tools for downloading dependencies, abysmal IDE support due to retarded import system - the list goes on. Add complete lack of memory safety on top of that and you get a pile of shit.

Those are old and deprecated languages and it is time to move on.

> Rust
Horrible syntax and totalitarian Borrow Checker.

That's not hard at all.

>waaaah I can't have bugs in my program
daily reminder that most of the terrible security bugs gibing hackers complete control over your computer are simply caused by c and cpp being terrible languages without memory safety

>implying turing machines with infinite tape dont have memory problems

>imblying during maghines widh infinide dabe dond have memory broblems
haha

Attached: s.png (448x357, 31K)

C and C++ are redundant poop, all we needed was Fortran and Lisp.

Attached: E2D7624A-82A9-4F98-A704-E30D07069DC2.jpg (798x798, 101K)

>academia meme

What's your alternative? I agree that C doesn't have much of a usecase for newly written software outside of embedded, but C++ is indispensable. Have you actually tried Rust? It fixes a lot of C++ problems and the borrow checker isn't hard to figure out eventually but it lacks current features like SFINAE, variadic templates, non-type generic params, overloading, some basic inheritance, and a lack of exceptions. Some of those are permanent language decisions and others are simply features that haven't been implemented yet. Rust has potential but C++ is and will be extremely relevant in the coming years especially with the upcoming C++20 and 23 featuresets.

I am hopeful that the ecosystem will improve, especially with modules. It seems the community has mostly standardized on CMake, which greatly improves the ability to make use of libs in my experience.

All "missing" features that you listed are a positive thing not a negative.

academic languages are the best, as the market selects the shittiest ones (it's what the major population likes)

Oh, I forgot to mention constexpr, RTTI, exceptions (ADTs add quite a bit of boilerplate if you're checking errors far from the callsite) or the inability to create uninitialized/weite-only pointers without marking the code as unsafe. Nevermind the fact that macros are totally overused and we should be moving away from them in 2019.

Sure some of these problems can be solved with a change of programming style or idiom but there are still a lot of C++ features you'd be missing out on just to get some additional potential memory/thread safety and a better build system and dependency manager. Try porting C++ code to Rust and you'll quickly see how debilitating some of these issues are.

Im not a programmer by trade so this will probably be a poor question, but whats with all the programming language wars? Does it really matter what language you use? I thought it all ends up as some binary or machine code anyway that produces output dependent on what hardware is present? Isnt it like math, that is the same everywhere in the world?

>I don’t understand it so it’s bad
Have sex

Attached: CA909ED9-76D8-4F73-A9F2-F785BB77258C.jpg (586x470, 75K)

c and c++ are bad for productivity

Programming languages wars are what mediocre programmers wage to assert their superiority over other brainlets.
Hackers get the work done with whatever works best for them and don’t waste braincells here.

Theres a reason data scientists use Python instead of assembly mate

>I thought it all ends up as some binary or machine code anyway
Yes, this is true, but the language dictates what the programmer will have to write which often dictates what that resulting machine code will look like. Sometimes the concern is performance, so you'd want a "lower-level" language like C/C++/Rust meaning you'd have more fine-grained control over the resulting compiled code but naturally that often results in having to write more code than a language like Java or Python where you can write less code at the cost of performance. For lower-level languages the goal is to get as much abstraction as possible whilst not sacrificing performance while higher-level languages seek to make better abstractions to reduce lines of code, often disregarding many performance losses.

I wouldn’t consider C/C++/Rust to be lower level, they just choose abstractions which have lower runtime costs. They are far removed from what is actually running under the hood on a modern processor however.

The market selects what gets shit done.

>SFINAE
Using a function that requires a trait on a type that doesn't implement that trait is an error.

>variadic templates
The only use of variadic templates is C++-style metaprog which is notoriously horrendous.

>non-type generic params
Fair enough, but there are workarounds (see nalgebra).

>overloading
Generics replace that elegantly.

>some basic inheritance
Type traits replace that.

>lack of exceptions
Result is better.

they're low iq

You never opened the body.

But still though, fucking based

programming language wars are what programmers do when they are procrastinating and should be actually programming

ASM is all we need

Attached: typical-asm-programmer-according-to-intel.jpg (790x706, 109K)

>The only use of variadic templates is C++-style metaprog which is notoriously horrendous.
Variadics are used pretty much anywhere regular templates are, there's no distinction. Result would be much better if it were variadic.
>Fair enough, but there are workarounds (see nalgebra).
How do these workarounds look?

Lower level when compared to langs like JS, Python, JVM, etc. which wouldn't give you control of your memory and such. In the grand scheme of things I agree, they're not low-level.

>Generics replace that elegantly
How? The types don't always differ between overloads.

>type traits
Type traits don't allow me to reuse state from other structs; they're merely interfaces that require me to reimplement methods and fields for everything that implements a particular trait. This is useful for most situations but for simple hierarchies, inheritance works just fine and is incredibly intuitive. The removal of such functionality is a classic case of throwing the baby out with the bath water out of fear of huge hierarchies and the accompanying problems.

>Result is better
ADTs are great but they can be ignored easily and need to be handled at every callsite. panic! takes the other extreme.

basket case

Same reason we have a million frameworks for everything. Retards. If you set the bar for entry too low don't act shocked when you get flooded by retards.

You keep listing things that are a harmful feature.

and you're not giving me reasons why other than "[alternative in rust] is superior"

>How do these workarounds look?
Haven't dived into it, but here it is: github.com/rustsim/nalgebra/blob/dev/src/base/dimension.rs

>How? The types don't always differ between overloads.
Two types can implement the same trait differently, and generics allow to pass any type that implements a given trait.

>ADTs are great but they can be ignored easily and need to be handled at every callsite. panic! takes the other extreme.
Explicitly handling errors at every single level is non-Pajeet programming 101.

fpbp

Except it is. There is plenty of evidence of systemic patriarchy and diversity entails a better understanding of more markets, especially since demographics globally are changing. I'm not sure how any of these things relate to software languages though, but you're probably a buttmad Jow Forumstarded shill.

Python is shit for data science tasks, apart maybe from NLP. R with the tidyverse and ggplot rapes snek.

>There are problems for which C++ is too verbose, and C lacks sufficient features.
>There are problems which require safety guarantees which neither C nor C++ can provide
>There are problems where an interpreted language might actually be preferable to a compiled language. C++ would take way too long parsing to be useful as an interpreted language, and C of course lacks features.

and assembly solves all these problems

>Two types can implement the same trait differently, and generics allow to pass any type that implements a given trait.
Yes, but what about overloading based on arity? Can't be done as it's a side-effect of Hindley-Milner. Ultimately a minor complaint.

>Explicitly handling errors at every single level is non-Pajeet programming 101.
How often do you error handle a print statement or any other seemlessly trivial function call? Exception handling makes sure it gets caught at some level or in the worst case calls std::terminate much like a Rust panic. The only downside is, of course, the runtime overhead of exceptions which are why it should be used in exceptional cases and ADTs can do the rest.

there is literally zero evidence fucking schizo

We need R/Python, so that people don’t waste too much time fiddling with code, when they are just processing data
We need java because people don’t want to rewrite programs for separate platforms, people just want their code to be run on an emulator, and have different versions of the emulator for different platforms
Every other language exists to help retards “program”

i'm no professional but i need C++ for microcontroller programming

for other stuff like small GUIs i use Python + QT5

Assembly solves none of those problems.

The majority of everything is made in 4 languages. C/C++, Java, PHP, JavaScript.
With Python and Node probably slowly taking over PHP.

And Rust at some point probably taking over C/C++

Delusional; it will coexist at best

it's quick and easy and they have the computational power. If you want to do something serious python is still suboptimal