C++

Without using memes, can you tell me what's the point of other languages when C++ exists?
Sure, Python is nice to write a fast script, etc. and Javascript is nice for making text blink on a website.
But when it comes to serious applications, how can other languages even compete?

Other urls found in this thread:

indeed.com/q-Cobol-Banking-jobs.html
twitter.com/SFWRedditGifs

I mean serious development.
C++ gives the dev such power that it's scary.
And all the good video games are written in C++ as well, except meme phone games.

Interpreted C++ sounds like an idea only a Wangblower may have.

LOL in 2016 people still worry about C++? Faggots. Use ASM.

>C++ gives the dev such power that it's scary.
This is the problem, OP. You can't just sit 200 code monkeys and ask them to write in C++, because the result will be a mess. Java, C# and other "enterprise" languages have the tools to control coders.

>"What's the point of hammers? You can just use this wreckingball and drop it on top of anything!"

Rust
/thread

>Javascript is nice for making text blink on a website.
JS has been on the desktop and in the back-end for God knows how long. Keep up with the times, gramps.

>le each programming language serves a purpose meme

He said that JS is nice for making text blink. He didn't say that's all its used for, just all its nice for.

>/threading yourself
>meme language

This is the one true answer.

meme/10

>C for low level stuff
>C++ for higher levels
>Python for scripting
The best combination

this

C++ is used for embedded development and you get performance as good as C with stronger type and memory guarantees.

you really cant say c++ for embedded devices. say c++98. which is just c with objects really.

assembly for really low level stuff
javascript for literally the rest
perfection

Because you don't write code into a language, you write code *in* a language. In other words, when you start a new project, you choose the best tool for the job based on a myriad of contending constraints and requirements: maintainability, extensibility, robustness, security, speed, size... You can't get all of them, there are always going to be trade-offs. Now, there are programming languages that by design put more emphasis in some of these properties and less so on the rest.

For instance, C is big on performance. Python is big on readability and flexibility. C#/Java are big on robustness and stability.

Picking the right language will also help convey your ideas better and implement your algorithms in a way that seems natural for the task at hand.

Solving certain problems in Lisp or Haskell may be easier and take less work than doing the same in C++. Conversely, complex applications with really high performance requirements can be tackled efficiently in C++.

Going against these principles by relying on personal beliefs or what other people have told you is cool or "how a real programmer works" is going to make your life much harder. You need to be eclectic when deciding on the technologies you use and certainly C++ is no silver bullet.

>what's the point of other languages when C++ exists?

- Development time and ease of development (Python, PHP, JavaScript, ...)

- Code correctness (Ada, Eiffel, Haskell, Clojure, Scala ...)

- Portable assembly for lightweight/minimal footprint embedded stuff (C, Fortran, ...)

- Powerful frameworks and libraries (C#, Java, Python ...)

Sure, you can program anything in C++ if you want, just like you can use assembly for everything or even BASIC. It's just that writing a web service in C++ might not be the best use of your time.

- Development time and ease of development (rust)
- Code correctness (rust)
- Portable assembly for lightweight/minimal footprint embedded stuff (rust)
- Powerful frameworks and libraries (rust)
Plebs not allowed.

as someone who knows his shit in c++, i'd definitely rather use one of the hundreds of available c++ frameworks to get a webservice running than spend one minute with php, configuring apache, coding java, etc..

While I guess you could argue the first three for Rust (even though most language purists would kill you for claiming that Rust has built-in code correctness), claiming that it has powerful frameworks and third-party libraries is just ridiculous.

The adoption of Rust for projects is minuscule, and by the state of things it appears to become the 2010 version of the D programming language; neat, well-designed, potentially powerful and a total absence of any community at all.

>as someone who only knows c++
FTFY

I've worked as a web developer where we used C++ and one of those "hundreds of available" FastCGI frameworks...

If I'm ever going to do web dev again (which is not very likely), I will definitively use Python+flask or node.js something like that.

C++ is big and fast, but also very hard. You can write almost anything on it, but it will require: 1. A lot of experience
2. A lot of development time
And the final product will probably be bugged, unless you're real expert.
So i wouldn't use it unless i need to make something serious that needs to be stable and reliable ( banking system)

You should never use C++ for something that needs to be stable or reliable (as opposed to fast and light). That's also why banking systems use haskell or ocaml.

>That's also why banking systems use haskell

>banking systems use haskell or ocamle
They certainly don't.

They use COBOL (old systems) and Java (for everything that's new).

There are even COBOL bindings for Java made especially because of new applications needing to interface with these old banking systems.

what the fuck are you on about?

>banking systems use haskell or ocaml.
I know OP said no memes, but this is so unbelievably stupid it still warrants a reaction pic.

>ABN AMRO, Bank of America, Barclays Capital Quantitative Analytics Group, Credit Suisse, Deutsche Bank, Standard Chartered, bloomberg, and jane street don't exist
Nice meme, I like it, say it again.

>implying these only use Haskell and/or OCaml
>implying these don't use a multiple of languages
>implying any of them use Haskell or OCaml at all

indeed.com/q-Cobol-Banking-jobs.html

While there are languages that fit the same niche as c++, some that I think are better, they aren't as popular. For the most part, people just like to be different so they prefer different tools.

I can't even see the goalposts anymore at this point. The strawman looks nice though. Don't think he'll scare too many crows however.

>source: my ass
good luck finding a bank willing to expose their technology stack in the first place

>1. A lot of experience
This is true, your average code monkey will easily get lost in huge c++ projects
>2. A lot of development time
This is not true.
>And the final product will probably be bugged, unless you're real expert.
Its certainly easier for an idiot to write stable java code than it is for said idiot to write stable c++ code. However once you truly grasp the concept of programming a machine, many things become incredibly simple and intuitive in c & c++, while features such as garbage collection or script interpretation seem like training wheels for kids.

Is that why nobody has ever been able to write a non-trivial c or c++ program without a half dozen memory-related critical bugs? Guess you must be an IQ 9999 genius never before seen, our salvation and the only person in the world able to program in c++. Everyone else but you is an idiot.

gcc supports C++14 on AVR and ARM. And even if you're stuck with C++98, you still have templates which work way better than raw C macros.

>mememan choice

>le everything I don't agree with is a meme meme

>is that why nobody has ever been able to write a non-trivial c or c++ program without a half dozen memory-related critical bugs?
>Sup Forums consumer electronics board

no it doesnt. just some select features. and how could it? my current project's ARM core has less memory in total than the STL requires.

The last job I had was C++ programmer and I got so fed up I wrote a brainfuck converter and had all my source files ported to brainfuck and delete the C++ originals before I left. Now they're stuck on 99% brainfuck. Joke's on you Bob, that's what you get for firing my ass.

Watch out everybody, we've got a genius with quadruple-digits IQ in here! The only known person to have ever had the ability to write non-buggy c or c++! What a badass!

>Forget ampersand
>Have to increase terminal scroll history to 2048 lines and compile again to even see what error you got before the 1800 lines of template garbage

cuck language

you really think you need c++ for a banking system

you dont need to be genius to write good code, but you must not be an idiot either. thats what i said. seeing you fall into the latter category of people i can forgive you for not understanding me.

> C++ and web in the same sentence
oh god my sides

>Is that why nobody has ever been able to write a non-trivial c or c++ program without a half dozen memory-related critical bugs?

Considering that just about all VMs are written in C++ or C, it implies that all managed language runtimes have critical memory bugs. On the other hand, I mange a code base of about 3 mil LOCs. Most of it in c++ with legacy 20 year old mfc code. This code has _zero_ known memory related issues that are not because some moron decied to use stdc or MFC. There are 500k automatic tests running this code 24/7 with approx 95% coverage.

With RAII and smart resource handles it is almost certain that a resource is going to be freed. Which is unlike in managed languages in which sockets, db connections and other resources are often left hanging because most code monkeys do not understand that a resource taken must be freed.

Don't write garbage. Alternatively. Don't use heavy template libraries ( boost bind/spirit/phoenix come to mind ).

not every website is solely dedicated to the exchange of inane comments and memes. some are actual interfaces to machines so c++ makes sense instead of adding 3 layers of garbage just to connect a virtual button to some i/o pins. ofcourse in your own small world industries use rust and whatnot instead of c++.

>Don't write garbage.

What a compelling argument, I really see why C++ is a good language, your well thought out comment showed me the error of my ways.

Or you could stop at the first error.

What can I say. It takes effort to see 1800 lines of template compile error. BTW, there are pretty printers for that shit for all major compilers.

Watch out guys, the only person in the universe capable of writing c/c++ code just called carmack and ritchie 'idiots'! Can't wait to see in what genius ways he's going to revolutionize our world guys!

Rust is literally everything C++ wished it was and more. C++ dreams of being as suitable for embedded work as rust. C++ dreams of being as safe as rust. C++ dreams of being as powerful as rust. C++ dreams of being as small as rust.

If they can't manage their memory in c++, they are idiots, at least in this regard.

>rust is the first of its kind
Hello millennial

You can write C++ without using the STL.
Besides, there are a couple of C++98 compatible implementations of the STL aimed at embedded systems.

t. inbred

You're right, I'm sorry I made fun of your favorite language that reinvents the wheel

t. inbred

>Rust is literally everything C++ wished it was and more. C++ dreams of being as suitable for embedded work as rust. C++ dreams of being as safe as rust. C++ dreams of being as powerful as rust. C++ dreams of being as small as rust.
We had this debate 20 years ago, except the latest fad back then was called D.

Face it weirdos, Rust is going nowhere. At least Go has a growing community.

just use Go

Thanks for the chuckle

once you leave your mom's basement and enter the professional you start to realize a couple of things.

first, developer time is infinitely more valuable than CPU time. this should go without saying. second, performance is a minor concern in applications that are not performance-critical.

this means sacrificing perf for abstractions that make development faster and less error prone becomes a very good idea. this includes garbage collection, light threads (or whatever your favorite implementation is called), dynamic typing (or type inference), exception handling and countless other things that necessitate or are made easier by a runtime of sorts.

now, this would make foregoing C++ a good idea even if it wasn't pretty bad itself. you see, the spec is getting pretty damn convoluted. some of the more modern stuff is extremely hard to implement, which makes compilers much larger, slower and error prone.

there are many features that are standard fare in modern languages (like easy concurrency a la Golang) that are a total pain in the ass to pull off in C++ since it was designed before those things became popular.

it's also possible to create extremely fast binaries with languages that enforce memory safety and provide garbage collection, like Rust.

this, coupled with the fact that the aforementioned languages have MUCH better standard libraries makes me wonder why anyone would pick C++ for a new project in 2016.

>a code base of about 3 mil LOCs
>LOCs
>lines of codes

>Which is unlike in managed languages in which sockets, db connections and other resources are often left hanging because most code monkeys do not understand that a resource taken must be freed.
usually frameworks handle this kind of shit automatically for you

it's 2016, grandpa, wake up

>why anyone would pick C++ for a new project in 2016
Qt.

>There are 500k automatic tests running this code
do you mean unit tests? those only run at build time, not 24/7
because I refuse to believe that you have 500k automatic external integration tests

if you actually do, then how the fuck? what testing framework, senpai?

>Qt
>new

Qt is a necessary evil, not something you should use as a model

>not knowing about React Native

JS has come a long way. All depends on the project.

>performance is a minor concern in applications that are not performance-critical
and how common are those applications?

other than jobs/processes running by themselves in the background, I can't really think of any
if there is direct user involvement, performance is gonna be important

>thinking knowns bugs/memory issues means that there are no failures
>thinking code coverage means shit

literally 99% of the code in existence is not performance critical to the extent you think.

Unless you're writing operating systems, embedded devices or hard real-time systems, you can get away with almost everything. Even soft real-time systems can be implemented in a higher level language, like Erlang

>first, developer time is infinitely more valuable than CPU time. this should go without saying. second, performance is a minor concern in applications that are not performance-critical.

Language choice is, literally, irrelevant. Developers spend 90% of their time doing jack-shit. That being - thinking of how to solve issues. Actual implementation takes a minute amount of time.

If you have a properely trained programmers, then they will be capable to switch from whatever language to whatever else. I routinely switch between C++ and legacy perl code. If need be, I'll be proficient in "language of the day" within a month.

My fucking sides!

>Using terminal scroll history
>not output redirection

Lol

> usually frameworks handle this kind of shit automatically for you
> "Why does my Java runtime eats 10 gigs of memory"

"automatically" does not mean "optimally".

Unit tests are another issue, they are run either in debug mode, inlined into the actual code, or during continous integration, depending on the product.

We have a custom build farm of a few hundread machines which run all the integration tests and userspace scripts. When devs leave the office, their machines are seamlessly integrated into this network, doubling its capacity at peak times.

>C
>low level
kys famalan

says who.
Qt interfaces look modern and are quickly done with little to no effort. it adds every feature to c++ which it lacks compared to java (networking, printing, ..), and the framework really keeps its promise when it says develop once deploy everywhere.

Are you clinically retarded or merely a shill?

poor java fish

>Qt interfaces look modern and are quickly done with little to no effort.
So does HTML5+CSS UI frameworks.

The Qt programming model is still pain to work with due to a bunch of horrible design decisions first made by Trolltech and then later Nokia.

>develop once deploy everywhere.
There's a reason why this is often referred to as "write once crash everywhere"

>you shouldn't use c++ because its hard
>you shouldn't use c++ because people are incompetent
stop hiring retards then. sure c++ doesn't work everywhere im not about to say that you should c++ for shit like web development like some autistic retards here but if you dont use c++ just because you'll fuck up maybe you're the problem.

According to your standards, there isn't a single person in the history of humanity that has ever been competent.

JS is nice on desktop and on the server side.

>sure c++ doesn't work everywhere

and yet:

>can you tell me what's the point of other languages when C++ exists?

???????

Would you build a Hotel out of microbeads? Would you build a phone of out cement bricks?

Kek

>write a game in javascript
>computer lights on fire

>kys
>famalam
read a book on social interaction autist

>Without using memes, can you tell me what's the point of other languages when C++ exists?
It's been proven, time and again, that humans suck at memory management, therefore we need languages that are memory safe.

>I cant even see buzzword anymore. The other buzzword looks nice though.

I LOVE QT

Meme languages come and go. A few years back everyone thought Perl would be the next big thing. C, C++, and Java have stood the test of time.

C is about as low as it gets below assembly

C++ is on suicide watch. There's really no need to use it for new projects any more. Bjarne pls go

What you said makes literally no sense
kys

Old fag here . Deciding to learn to python. Does Sup Forums recommend it or should I learn something else.

How many times per day were you dropped on the head as a kid?

Plenty