T O P
QualityVote

Hi! This is our community moderation bot. --- If this post fits the purpose of /r/ProgrammerHumor, **UPVOTE** this comment!! If this post does not fit the subreddit, **DOWNVOTE** This comment! If this post breaks the rules, **DOWNVOTE** this comment and **REPORT** the post!


el_yanuki

imma say one single word: Unreal


[deleted]

[удалено]


nwL_

It feels bad to choose between not using C++ and using Tencent software.


Cultural-Scheme9944

oh, Tencent software about what?


nwL_

Tencent owns 40% of Epic and therefore of Unreal Engine.


Mustrum_R

Damn. At least it's not ruined yet. Got to wait for all the the productivity extension loot boxes, spyware, Wukong being put somewhere in (how do we do that with the engine?), unavoidable Chinese New Year sales and everything getting kitschier.


redeyesofnight

Unity and Native plugins? Horribly slow dev cycle, but it works lol. Build a c++ voxel library and happily use it as the basis for various Unity projects.


Iuse_arch_btw

Get out


el_yanuki

it is painfull, but the product is good


Iuse_arch_btw

> Begone now ere our arrows fly! ^(- J.R.R. Tolkien, The Hobbit)


Phoenix_314159

Unreal Engine is best engine.


Yahlunna

And the best of it is that coding in Unreal C++ is not so bad, we got, uh, the macro thingies that makes it easier (except when it doesnt), a consistent documentation (consistent in the fact it does not exist and you either look at how the code works internally or you try to reverse engenieer how blueprints work to know about x particular thing), a very well defined code notation (that died anywhere else around 30 years ago), and uh, you know, a lot of resources to learn (we are following the Unity philosophy of "our best documentation is our content creators" here, guys). Honestly jokes aside the worst thing about coding in UE is having to learn what everything does by yourself. Its a pretty miserable experience, but once you can defend yourself in an area, everything sort of clicks.


brimston3-

Why would you cry about this? You do the high performance work in C++ and make those libraries available for high level, easy to use development in Python. Python wouldn't be usable for data science if this weren't possible; it's *dependent* on those libraries.


BestNoobHello

I shuddered at the thought of having to run any types of heavy computing programs on pure Python.


42TowelsCo

Just get better hardware /s


DerryDoberman

*furiously downloads more teraflops*


Deadly_chef

Gotcha fam www.downloadmoreram.com


turunambartanen

You can technically set up a mounted network folder as swap.


frakod

linus did that with google drive


LavenderDay3544

There are people who unironically think like this. Or who think they don't need to optimize their code because "Intel/AMD/Arm says the next generation of CPUs will have x% higher IPC so it doesn't matter, man!"


redpepper74

That’s what happened in the 1980s!


LavenderDay3544

It still happens today. I was in a meeting recently where instead of creating some stories in the backlog to optimize our C++ code and inline ASM, a more senior engineer was like, meh don't worry about it our newer products will have better processors anyway. And I'm just over here thinking what about our existing products.


SJDidge

I know of at least one large company that does all processing for their platform entirely in Python. It’s really bananas.


Hollowplanet

That's pretty common. If all you're processing is text data.


BestNoobHello

They must wait a day or two for everytime they want to test something.


mananasi

Nu numpy or pandas?


KittyTechno

Eve online exists.


tootybob

Plenty of machine learning pipelines are entirely in Python


Llamas1115

Or you could just write it all in Julia


[deleted]

[удалено]


TomaszA3

Or pay 3 times as much as you would normally do to hire any.


PityUpvote

Stop trying to make ~~fetch~~ Julia happen, it's not going to happen.


jamcdonald120

Conversely:\ Python: whats my purpose\ Data Scientists: You run c++ libraries so I dont have to


KarenWithChrist

*cries in Django silently forgotten*


StupidBottle

I never forgot Django, I chose to never consider it.


CamiloCeen

And what is assembler purpose then?


Llamas1115

It’s like C++ but more readable


BakuhatsuK

Yeah I'd say that MPSADBW xmm0, xmm1, 0x1 very clearly expresses my intent of doing multiple packed sums of absolute difference.


tazdingo-hp

what


sheibsel

excuse you?


N0tAGoos3

0% readable * 100 times more readable = 0% readable


Mango-D

In what way?


elzaidir

It's just there to remind you that no matter how hard a language seems, it can always be worse


LavenderDay3544

To assemble assembly code.


hardsaggu

Meanwhile linus torvalds - You have no purpose, C is much better than you


Strostkovy

I need C--


its_Artem

I think that’s actually already a language IIRC it’s meant to be generated by compilers though; not written by humans


Ozzymand

I am going to single-handedly change that


MinecraftUser555

Please do


Statharas

That's just asm


Strostkovy

I want assembly that I can type out math and name functions and not worry about program addresses


StupidBottle

Isn't that just C?


jakepeter5

https://en.wikipedia.org/wiki/C-- > C-- (pronounced C minus minus) is a C-like programming language. Its creators, functional programming researchers Simon Peyton Jones and Norman Ramsey, designed it to be generated mainly by compilers for very high-level languages rather than written by human programmers. Unlike many other intermediate languages, its representation is plain ASCII text, not bytecode or another binary format.


Rizzan8

> Meanwhile linus torvalds And most of professors at my university. "OOP is not programming, it's childs play with LEGO bricks."


theantiyeti

Honestly that's a respectable opinion. The good bits of OOP, encapsulation and abstraction, aren't really unique to OOP. And inheritance and (the OOP interpretation of) polymorphism tend to make code less intuitive and harder to read.


LavenderDay3544

OOP also sucks in terms of optimization. Modern hardware prefers linear data structures not classes.


Jayant0013

Aren't parameters of a class stored next to one another in memory?


hardsaggu

Functional programming >>>>>> OOP


Teekeks

Mixed programming is best. ​ Use whatever is right for the job and dont stick to one bc "omg X is so much better than Y" that I especially see in functional programming spheres. Like it literally feels like a cult meeting whenever I see a talk about functional programming.


inny_89

That's why Scala rocks!


LavenderDay3544

Functional + Imperative is better than pure anything.


Rizzan8

Both paradigms have it's uses https://www.youtube.com/watch?v=wyABTfR9UTU


LavenderDay3544

He meant that in the context of kernel programming. In that domain, it's true.


[deleted]

Scientific computing?


42TowelsCo

Na, GPU computation and multi threading is overrated. You don't need those if you need to code scientific computing stuff from scratch.


Mighoyan

Yes but also massively C and Fortran for heavy computations


Dathouen

Hey! That's not true! It's also used to make libraries for R.


thedominux

Who cares about R?!


Eternityislong

Every biostatistician


mnakai

Live by the phylo library, die by the phylo library.


thedominux

I am a bioinformatic, I don't care. My groupmates and buddies too Anyone else?!


Dathouen

Mostly data scientists and people working in Machine/Deep Learning. Plenty of Statisticians and Mathematicians, too.


thedominux

I still didn't get why do people use R in the times when you can do everything in python Especially ml engineering, in R it's impossible


camster29

Caret, my friend


Dathouen

> I still didn't get why do people use R in the times when you can do everything in python When you say that, all I hear is, "I still didn't get why do people use kitchen knives in the times when you can cut everything with a swiss army knife". Reporting is easier in R. So is building your own models from scratch. As is matrix factorization and linear modelling (which, again, you can build from scratch). I could use the Recosystem package (which is built from the LIBMF C++ library and is not available in Python) for matrix factorization, or I could just build it myself. Ensembles are easier. Partitioning data is easier. Tuning is easier. Creating, using and discarding temporary datasets is easier. Bootstrapping is easier. Data exploration, analysis and visualization are easier. Installing packages is easier. Piping is easier. All the things you need to do a real life ML job is faster and easier in R than in Python. > Especially ml engineering, in R it's impossible Not if you know how to do ML engineering in R. Google uses R for their ad modeling, as well as for financial forecasting. Facebook uses it for behavioral and sentiment analysis, among other things. Twitter created an open source model in R for [Anomaly Detection](https://github.com/twitter/AnomalyDetection), and use R for that and other purposes. Microsoft uses R for a variety of ML purposes in Azure and XBox Live. Netflix's first recommendation system was built in R (not sure if they're still using R for that though). IBM is a member of the R Consortium and used R to build Watson and has an official R integration package for SPSS. Most pollsters, such as 538, use R in their analysis, forecasting and visualization of data. Many banks and insurance companies use R for risk assessment and fraud detection. Numerous border security and Customs agencies use engines built in R for risk assessment and random sampling to maximize the impact of random cargo inspections. Many research companies use it for pre- and post-trial data analysis.


thedominux

They use R cause they are from old school of data science where it was a popular tool. It's the same reason why people still use Ruby on Rails instead of Django, even with all it's problems. They didn't choose, the just got what they knew the best so it's none as an indicator Btw not so many companies still use python 2 and don't use docker when they should, but their pipelines are already built and they are old themselves and aren't gonna learn anything new


redpepper74

I don’t know anything about R and hardly have any experience with Python OOP, but I’m reading through this and I’m noticing that you haven’t actually given any reasons why Python is better than R


pleasegetoffmycase

I like R’s OOP better than python’s tbh


thedominux

Imho python oop is the best (from ones with inheritance), how well do u know it?


pleasegetoffmycase

I don’t understand stanning a particular language. They’re all tools. They don’t need a hierarchy of how much you like them.


thedominux

Hey hey, no one said I'm a python fanatic, as you can see (if u can ofc) I've got more than one python among my flairs, so


[deleted]

literally every python programmer ever


camster29

Anyone working with data, particularly in specialist areas. It’s easier than Python for make your own libraries for niche analyses (e.g. epidemiology, actuarial maths).


Xeya

That is honestly fantastic. It allows us all the optimization of c++ with the accessibility of python. C++ is excellent for two things; writing highly optimized code and teaching programming concepts. You should learn c++ and then switch to something better suited to your use-case. The use-case of c++ itself really is writing extensions to higher level programming languages that are more programmer friendly.


clemdemort

I'd say c++ is mostly used in high performance applications nowdays like game engine development or scientific computing


0x30507DE

*3 things. The other thing it’s good at is making people want to cease living.


demon_nichan

Wait, there's more to it??


un4given_orc

PHP modules?


AssistFinancial684

Anyone else see the single breast in slide 3?


thedominux

RiiR


DrMeepster

this is a python `cryptography` moment


Jakdaxter31

“Who wants Cython libraries for their Python package?” \*everyone raises their hands\* “Who wants to write Cython libraries for their Python package?” \*Nobody raises their hands\* [*cries in pyedflib*](https://github.com/holgern/pyedflib/issues/102)


OGRiad

The heaviest object in the universe is a Node.js package.


Sensitive-History-30

Python is slow garbage


Hopeful-Ad-607

I looked at your profile, not only are you a boring, stupid, elitist lonely weaboo, you are also incredibly cringy.


Sensitive-History-30

V


Sensitive-History-30

Dude you live in Portugal lol


undeniably_confused

C++ is, in my opinion, the ugliest language E: first time I've gone from +4 to -40 such is the life E1: now from -43 to -41 this is exilerating


Stian5667

Try programming in batch


0xNath

Honnestly all VBA/VBA variant are more bad than batch, I really dislike reading those languages


Flopamp

Have you seen VHDL?


undeniably_confused

Oh my lord.


DopestDope42069

Wtf that looks like if c++ and sql had a baby


kabiskac

More like pascal and C++


rem3_1415926

to be fair, it's not a "programming" language. But yeah, with its mixture of commas, semicolons, <=, := and => operators and so on, it's a huge mess.


Flopamp

Way back in the day it was used in some niche highly paralleled microprocessor systems but yeah its not really a "programming" language but most people who use it will call it that. I do know it, we used it a lot for VLSI in college and I would describe it as a "long winded" language. For that reason it's not on my resume but verilog is, and is not much better. It's influenced by C, pascal and Ada and it seems like they took the worst parts of all 3.


rem3_1415926

It's a hardware description language, as is verilog. They can be used for simulation, in which case they do actually run serially, but in general, they're used for ASIC design and FPGA\* configuration. If you try to do "normal programming" with it (outside of testbenches), yes of course it's the worst you could have. But that's kinda like complaining that it's really painful to get your car float across the lake, compared to all the boats that do it with ease. \*Maybe this is what you mean by "highly parallel weird niche processor"? if so, they're still used for prototyping, and if this comes as a surprise, then I don't think that verilog on your CV will do you any favours...


Flopamp

No, back in the early days of computing highly parallel microcomputers (called massively parallel processor arrays) were used instead of more common symmetric multiprocessing or (similarly sounding but not the same) massively parallel computing systems. Through their very nature of them having no shared memory and only communicating over a single interconnect programming them was a challenge. HDLs were commonly used for this. There is nothing that requires VHDL or Verilog to operate entirely in parallel, there is nothing that requires either to do anything in parallel, just like any language is up to its compiler, synthesizer or interpreter to decide on how to handle the language and in the case of these MPPAs the synthesizer produced a large number of execution blocks for processing the incoming data. This is very different than an ASIC or FPGAs even through both were used to replace MPPAs. Oh and I commonly write in verilog, I'm an electrical engineer holding a masters. You can be inquisitive about someone's statements and learn something or you can be definitive as if you know everything and be an ass, I suggest next time you go the inquisitive route.


clemdemort

Oh I know this one, omg my eyes!


snow723

Go program in brainfuck. Good luck


doctorcrimson

I prefer Malbolge for legacy projects, its sort of a spiritual successor to Brainfuck and Befunge.


undeniably_confused

Oh yeah I've seen that one


its_Artem

A lot of it is because it tries to maintain compatibility with C.


TimbuckTato

Guess i'm going to cry then, i'm starting a new job in aerospace in a month (so excited, always wanted to work in aerospace) where i'll be writing predominantly C++, i'd prefer C or Rust but hey.


shred-i-knight

idk what the guy is talking about because C++ to me is beautiful in its own way


TimbuckTato

Oooh, can I ask why you think that? I don’t disagree just curious because C++ gets a lot of hate on this sub.


its_Artem

> just curious because C++ gets a lot of hate on this sub. “There are two types of languages: ones that nobody uses, and ones that everyone complains about.”


Deadly_chef

PHP has entered the chat


Abadabadon

I'm not the guy you're replying to but I'll answer anyway. I like C++ because it requires developers to say explicitly what they want. You read the code, and you know exactly what is going to happen. There are some outliers to this, like implicit casting or constructor initializers, that tbh I think C++ should not allow.


atesba

C++ is a really powerful language. It just gets hate because it’s difficult to use and master :)


TimbuckTato

That's probably true aha


Deadly_chef

It gets hate because it's a monstrosity of a language. So many revisions, deprecated features, 1009 ways to do 1 simple thing. It's a mess...


Jayant0013

I also shyed away from cpp because of this sub but I liked it very much It's my 3rd favourite programming language My guess is people just had bad experiences with it in collage (honestly school system can make people hate anything) And cpp is not as unsafe as people make it to be unless you are running with scissors


Rizzan8

> in its own way [In it's VERY special way](https://i.imgur.com/MuzfPjf.png)


exploding_cat_wizard

std::vector That comparison makes sense. The meme one doesn't at all, unless you think a C# dev trying to shoehorn their code into C++ is writing code anyone should emulate...


torn-ainbow

>i'm starting a new job in aerospace Wow, that industry must have one of the lowest tolerances for errors. I'm guessing speed is a lower priority and you will spend a lot of time on the same code making it bulletproof.


TimbuckTato

More than likely yeah, speed is probably a priority in some cases, but reliability would absolutely be the biggest priority and that's something that draws me to it.


minmax420

Honestly I love C++ it's my favorite language. It's a little bogged down with verbose expressions since its been gradually updated a lot over time but it definitely has its place. Admittedly I may be biased towards it because it was one of the first languages I felt I got pretty good at since I really liked/like the feeling of it


KingsmanVince

Have you seen Matlab?


undeniably_confused

I know I'm gonna get hate for this but Matlab is one of the easiest ways to do massive matrix math, but I wouldn't do anything real with it


Alternative-Heat-854

python is the most ugly


basshead17

Python sucks


Kurtoid

no u


bocceballbarry

ur mom sucks


ElectricalAlchemist

Clearly not often enough.


basshead17

At least my mom has clearly defined scope, that's more than I can say for your mom


Stian5667

`/usr/include/c++/4.6/bits/stl_iterator.h:285:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&) /usr/include/c++/4.6/bits/stl_iterator.h:335:5: note: template bool std::operator==(const std::reverse_iterator&, const std::reverse_iterator&) /usr/include/c++/4.6/bits/allocator.h:122:5: note: template bool std::operator==(const std::allocator&, const std::allocator&) /usr/include/c++/4.6/bits/allocator.h:127:5: note: template bool std::operator==(const std::allocator&, const std::allocator&) /usr/include/c++/4.6/bits/stl_vector.h:1273:5: note: template bool std::operator==(const std::vector&, const std::vector&) /usr/include/c++/4.6/ext/new_allocator.h:123:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::new_allocator&, const __gnu_cxx::new_allocator&) /usr/include/c++/4.6/bits/stl_iterator.h:805:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&) /usr/include/c++/4.6/bits/stl_iterator.h:799:5: note: template bool __gnu_cxx::operator==(const __gnu_cxx::__normal_iterator&, const __gnu_cxx::__normal_iterator&) /usr/include/c++/4.6/bits/stl_algo.h:4403:45: instantiated from ‘_IIter std::find(_IIter, _IIter, const _Tp&) [with _IIter = __gnu_cxx::__normal_iterator*, std::vector > >, _Tp = int]’ error_code.cpp:8:89: instantiated from here`


Jayant0013

I am just a hobbyist but it seems like you haven't defined an equality operator while using std:: find


Callipygian_Superman

Why would you say something so controversial, yet so brave?


loseitthrowaway7797

You probably consider yourself an elite programmer because you probably use C++ at work. Right?


basshead17

Nah I'm not that leet. I just can't stand the syntax of the language. But I pretty much never liked any language that I learned that wasn't C based, except for maybe BASIC, and that was my first language.


loseitthrowaway7797

Understandable, have a great day


jasonedokpa

What exactly is C++ used for (besides gaming)? I'm having to learn it at university and there's no way that people regularly code up software/apps with this.


its_Artem

> I'm having to learn it at university and there's no way that people regularly code up software/apps with this. I bet you feel like that because they’re making you do everything the hard manual way. Modern C++ basically offers you the same abstractions as other languages (automatic memory management, containers, algorithms, an actual string type, etc.), so it can be just as nice as other languages in some cases, but what makes C++ stand out is that it does not force you to use those abstractions, so you have the option of writing low-level code if you want. I like to use C++ for basically all my personal projects, I think it’s a great language.


[deleted]

C++ Pros: It can do everything Cons: it can do everything.


jasonedokpa

I think it's a great language as well, and really do enjoy learning it, especially the more advanced concepts. I just don't understand how or why it is used when other languages are more abstract, and apparently some achieve almost the same performance, while having a lot less of a learning curve.


its_Artem

Like I mentioned, what makes C++ stand out is that it allows you to choose your level of abstractions. In most languages, everything is either done the hard and manual way (C, for instance), or everything is abstracted for you. C++ is one of the few (widely used) languages that offers both. For instance, you can write: std::string string{“Hello, world”}; string.resize(string.size() * 2, *string.end()); std::cout << string << ‘\n’; or you can write: std::size_t size{13}; char* contents = new char[size]; constexpr char* const initial = “Hello, world”; for (std::size_t i{0}; i < size - 1; ++i) contents[i] = initial[i]; contents[size - 1] = ‘\0’; const std::size_t newSize{size * 2}; char* buffer = new buffer[newSize]; for (std::size_t i{0}; i < size - 1; ++i) buffer[i] = contents[i]; delete[] contents; contents = buffer; buffer = nullptr; for (std::size_t i{size - 1}; i < newSize - 1; ++i) contents[i] = contents[size - 2]; size = newSize; contents[size - 1] = ‘\0’; std::cout << contents << ‘\n’; delete[] contents; where the only abstractions used are `std::cout`, and `new` (if you even count that as an abstraction). So when is C++ needed? Whenever this level of control is desirable. That includes, but not limited to: OS development, drivers, embedded systems, compilers, and low-latency and high-performance applications. C++ can do almost anything (although that doesn’t necessarily mean that you *should* use it for everything), most other languages can’t.


exploding_cat_wizard

Simulations, compilers, system programming, OSs ( even if Linus Thorvalds uses C as a metric to weed out poor programmers). Really often, as soon as something has to be performant, it's either C or C++. And if you want type flexibility (or really any kind of programming paradigm except for imperative programming), it's only C++. There are a few other contenders that are theoretically possible, but those aren't grown up yet — not even Rust.


jasonedokpa

I see. I enjoy learning C++, but don't see myself using it after university, since I prefer Python. Do people actually think that it makes you a bad programmer to not know C/C++?


exploding_cat_wizard

Hell no. I suggest you learn what you can in that class/those classes, because 1) it's good to understand the basics of what's happening when you use a language that takes over the more menial tasks for you and 2) much of the knowledge is transferrable. But there are far more jobs out there where you don't need C++ compared to where you do. You'll find your place entirely without C++. That said, I suggest you don't start your job search with "I like Python", but try to figure out which domain you'd prefer to work in. Web frontend? Games? Data science or databases? Perhaps even more specific, like frontend for car user interfaces. From there, you can figure out what that industry generally requires (e.g. anything web based, you can find Python and even Perl jobs, but JavaScript / typescript are more common ) and either just concentrate on the usual suspects or choose a hot new technology your interested in to learn the topic (e.g. for embedded, that would be learning C or C++ for the conservative route, or Rust for the hot stuff that's used in production almost nowhere but might be a trend to follow) Programming languages are tools, and in a way, if you say you have a language you want to use exclusively, you sound like a carpenter who only wants to use flathead screwdrivers, even for Phillips type screws.


KingsmanVince

Uhm you know the operating system itself (whether it's gnu/linux, Windows or MacOS)


jasonedokpa

Yeah, good point. But why exactly is it so popular?


KingsmanVince

Historically speaking, every kernel was written in C. Then C++ was introduced with objects oriented programming, more prewritten data structures, ... More things and yet it still can be used with the current C programs. Then people kept writing more layers on the kernel till the operating systems. To make for you software (Python interpreter, Terminal, Desktop environment, and literally every thing else), people have to use C/C++ interface from the OS to glue everything together.


KushMaster420Weed

C++ is awesome and is used all the time. The reason they teach you it is because it helps you understand all languages higher than it, and usually the lowest language you will ever use. It is incredibly efficient and precise.


CanadianJesus

C++ is used for practically everything. It's incredibly versatile and powerful and is the fourth most commonly used programming language. I'm sorry it wasn't created with your delicate disposition in mind.


jasonedokpa

It's alright :(


Rizzan8

It's pretty useful when you require lots of calculation heavy operations performed in a short period of time. And in projects where the management thinks that C++ is mandatory because the user will definitely appreciate that an operation ran once per day takes 1s instead of 2s to execute.


[deleted]

Brilliant! Where do I throw more and more money at the PM’s? Look at all the meetings they have set up! Without them, we would have no product at all!


loseitthrowaway7797

I've never used it in my work. But I did learn C and C++. They're great languages to get a good understanding of programming languages in general. It's very transferable knowledge.


Unlucky_Journalist82

Why do you think it is not used to code softwares?


jasonedokpa

I feel like the learning curve and the concepts that you need to learn use it effectively are a big barrier compared to other languages. And computers today have a lot more memory and much better performance than when C++ was first introduced.


-Redstoneboi-

The learning curve is irrelevant when you're hiring the best anyway. You mentioned computers today having better performance than when C++ was first introduced; that's also irrelevant. C++ remains fast because there is a need to be fast.


SANatSoc

Lots of low level stuff. Like python. It's an incredibly powerful language.


Alternative-Heat-854

like python ? bs. It is the most powerful than any other language out there. The amount of control it gives you is mind bogling


reqnin

The amount of control is also the reason most devs have a hard time with it.


snow723

Yep, it’ll let you run right off the cliff if you don’t know what you’re doing.


SANatSoc

I meant it is used to build stuff like Python. As in, C++ is used to build Python and all it's high level stuff. You don't have to sell me on C++, I'm already a big fan.


Philidespo

HFT industry . Almost all of it uses C++ as latency is the top most priority.


DerryDoberman

We wrote both python and c++ at my job. C/C++ is compiled down to machine code/binary that runs natively on the processor (and/or GPU) and is very efficient/fast. Other languages either use some pseudo-compile code to an abstraction layer that's agnostic to the cpu architecture like Java and the JVM. Others are interpreted languages like python. The more abstraction you create above the processor, the more performance you trade in overhead, with interpreted languages being the slowest because the code isn't compiled and is parsed at runtime. At my job we wrote our high performance data crunching core software in C/C++ and then wrote a python interface to make it available over and online REST api or a direct connection to a shared object library (dll in windows). You can even natively write python modules in C which popular libraries like numpy and a lot of database connectors do. This gives you the benefit of on-processor performance with the readability of a language with python. The potential tradeoff though is you may break cross platform capabilities of a library by doing this since python code is designed to be architecture agnostic but C/C++ python modules must be compiled onto the host architecture/operating system which if it isn't supported will make the library incompatible. As a python dev that's developed on windows and Linux on standard amd64 and arm32/arm64 variants (think raspberry pi), I can tell you this comes up every now and then. In any case, even if you plan on working only in native python, writing code in C/C++ gives you the understanding of what's going on under the hood even if you prefer to pass that off to an abstraction layer. Knowing what a "memory leak" is for example could enable you to identify a bug in software and isolate it better to report to a vendor, even if you never plan on getting involved in the c/c++ code yourself.


happyman91

Recruiter here. I have filled 3 C++ roles in the past month all paying between 150-200k total comp. All different types of enterprise companies in all industries use C++.


Llamas1115

Or you could just write it all in Julia


Dathouen

I'll use Julia when recruiters know what Julia is.


TheRolf

What is Julia?


wikipedia_answer_bot

**Julia is usually a feminine given name. It is a Latinate feminine form of the name Julio and Julius.** More details here: *This comment was left automatically (by a bot). If I don't get this right, don't get mad at me, I'm still learning!* [^(opt out)](https://www.reddit.com/r/wikipedia_answer_bot/comments/ozztfy/post_for_opting_out/) ^(|) [^(delete)](https://www.reddit.com/r/wikipedia_answer_bot/comments/q79g2t/delete_feature_added/) ^(|) [^(report/suggest)](https://www.reddit.com/r/wikipedia_answer_bot) ^(|) [^(GitHub)](https://github.com/TheBugYouCantFix/wiki-reddit-bot)


42TowelsCo

Good bot


0xNath

bad bot


Dathouen

It's a programming language that's designed for data analysis and computation, aka data science. It's fairly interesting, the only issue is a lack of adoption. While it can be super robust, letting you pull libraries from C++, Python, R and others, not a lot of companies even know it exists from what I've seen.


Coutille

I’m just gonna drop this here: https://github.com/Tolc-Software/tolc Sorry for the shameless plug


Adi-1

Me chilling white raylib and c++


Waffreo

NOOOOOOOOOOOOOOO C++ IS MORE USEFUL.... Wait...


Phoenix_314159

I know a ton of people who use C++ for work. C++ is a really powerful language.


fliguana

C++ makes excellent libraries for every other language that can't.


enleeten

???


aetheravis

u/jvvg12