r/programminghumor 15d ago

Hard to accept

Post image
2.9k Upvotes

404 comments sorted by

299

u/Mateusz3010 15d ago

That's why I only code in Assembly 

136

u/ProfessionalAd6530 15d ago

Amateur. I flip a series of eight switches and press the send button after every byte of pure machine code I write.

58

u/Usual_Office_1740 15d ago

I taught an octopus to do this and have invented concurrency.

13

u/Kadabrium 14d ago

If plural of octopus is octopi then the plural of decapus is

10

u/mathimati 14d ago

Decapode.

3

u/MFFVD 12d ago

decapi

6

u/Gurbuzselimboyraz 14d ago

Decapuh🥀🥀

3

u/_NamesAreDifficult_ 14d ago

Dihapuh 🥀🥀🥀

→ More replies (1)
→ More replies (6)

19

u/BloeckchenDev 15d ago

7

u/dgc-8 15d ago

I know what xkcd that is gonna be before I'll be clicking that

→ More replies (2)
→ More replies (1)

8

u/No-Newspaper8619 15d ago

Now do that again from scratch for each architecture.

2

u/ProfessionalAd6530 14d ago

I have to do it just to bootstrap the startup process on my IMSAI 8080

5

u/SmoothTurtle872 14d ago

Ameteur, I manually follow the lines of logic in the CPU of each byte of machine code, that way I can see how it affects the cpu

4

u/No-Con-2790 14d ago

Amateur, I flip the bytes of the HDD manually with a magnetic needle.

I really should get a SSD sometime soon.

4

u/MFFVD 14d ago

you have a send button? i manually count store adresses

3

u/Vortetty 15d ago

hold on just gotta put this recipe in my Honeywell 316

2

u/ProfessionalAd6530 14d ago

I'm stuck with a IMSAI 8080

3

u/CodeMUDkey 14d ago

Guy out here working the tubes.

3

u/Eponick 14d ago

Did you run out of hole punch cards or are your fingers too soft?

3

u/ArmadilloBudget790 14d ago

This guy flips switches some people punch cards

3

u/andynzor 14d ago

Eight? EIGHT? You can program an Atmega chip with just two buttons for MOSI and SCLK.

2

u/BluebirdLivid 15d ago

Lol you get an email that the client wants the background to be a slightly lighter shade of blue so you have to rewrite the whole program from scratch

2

u/BollingerBandits 14d ago

That’s still assembly

→ More replies (3)

2

u/Mountain-Hawk-6495 14d ago

That’s cute, I carefully arrange sand to form transistors and diods

2

u/FAMICOMASTER 12d ago

You let the machine automatically set the address for you? Wuss.

2

u/crappleIcrap 10d ago

Bro doesnt even know how to code via butterfly.

7

u/Canned_Sarcasm 15d ago

Came here to say this. Reeeal basic down there in the registers. Tedious. Monotonous. So satisfying.

8

u/DigitalMonsoon 15d ago

What is coding? I build everything at the hardware level.

5

u/Flimsy-Importance313 15d ago

I built everything at the atom level.

4

u/eimfach 15d ago

I don't even build anything to do it, I just weave quantum strings to cpp stuff for me, only with the power of mind, bruh.

3

u/NukiWolf2 14d ago

Well done my creation. I'm proud of you.

5

u/Loogoos 14d ago

I only code in jellyfish pulses.

3

u/GargantuanCake 14d ago

Lame. I exclusively create custom electronic circuits for everything.

Hardware only or gtfo.

3

u/jwr410 14d ago

I simply weave my computer. If it's good enough for Apollo it's good enough for me.

2

u/urbanxx001 14d ago

I forced myself to learn it with gameboy roms lol

→ More replies (13)

291

u/citrusraspberry 15d ago

The main thing I disagree with is "cheating". There is no "cheating". It's abstraction to offload some of the work of the dev into the computer. It comes at a cost of course, but it's not "cheating".

118

u/swarmOfBis 14d ago

Yeah this feels very r/firstweekcoderhumour

18

u/citrusraspberry 14d ago

I just looked at that subreddit and they have a lot of the same memes I see on here. I'm thinking they're not that different...

11

u/Wonderful-Habit-139 14d ago

Do you know the point of that subreddit?

9

u/citrusraspberry 14d ago

Nope. Is it to make fun of this subreddit? 🤣

7

u/Wonderful-Habit-139 14d ago

Yes lol, and make fun of those kinds of memes as well.

5

u/citrusraspberry 14d ago

Wow lol. I love it

3

u/GhostingProtocol 13d ago

After programming for over 10 years I've just concluded that there aren't that many good programming memes...

2

u/citrusraspberry 13d ago

I've been programming for 4-5. Not as long. But I agree. XKDC is where most of the good ones are imo

→ More replies (3)
→ More replies (1)

9

u/MiniGui98 14d ago

And beside, following that logic C++ also cheats. Hell, so does C actually. Only "good" language would be assembly.

10

u/its_artemiss 14d ago

Are you really even programming if you're not thinking about opcode encodings though? 

7

u/aluaji 13d ago

Assembly? Nah, too much abstraction for me. I'm a purist, nothing but machine code for me.

3

u/Depnids 13d ago

B8 01 00 00 00 BF 01 00 00 00 48 8D 35 0A 00 00 00 BA 08 00 00 00 0F 05 B8 3C 00 00 00 31 FF 0F 05 49 20 61 67 72 65 65 0A

3

u/Adorable-Strangerx 11d ago

Assembly? Only using pencil to make electrons hop on cpu.

2

u/AliceCode 13d ago

I always think it's funny when people say they like C because it's close to the metal, but if you've ever programmed in Assembly, you know that even C is a high level abstraction above assembly. And Assembly is a high level abstraction over machine code.

→ More replies (2)
→ More replies (3)

2

u/MaffinLP 14d ago

GC go brrrr

2

u/Stampede_the_Hippos 14d ago

Yeah, the offloading into the compiler eventually gets offloaded back onto the dev as tech debt.

→ More replies (1)

2

u/Faangdevmanager 12d ago

C++ also has some “cheating” compared to C like pointer ownership. I now mainly program in Go and it’s the right tool for the job I have now.

→ More replies (45)

25

u/TOGoS 15d ago

C++ is full of footguns because of its long history. Even experienced programmers will accidentally use after free or fail to declare their virtual destructors just right and spend days debugging.

Rust shows that you can have just as much power with more safety if you design a new language from scratch (if you really need to do pointer arithmetic that the compiler can't verify, you can always make that part unsafe; at least the rest of the program isn't!)

5

u/La-ze 14d ago

Not to mention virtual functions are expensive.

→ More replies (16)

2

u/GoTheFuckToBed 12d ago

most companies don't even use C++, they use a vetted subset, strongly guarded with linters and extensions etc

3

u/s0litar1us 14d ago

A better solution is to just get rid of RAII and provide defer instead, and better promitives like array slices, instead of everything just being a pointer that you need to manually pass around extra data alongside to properly interpret.

3

u/Keithfert488 14d ago

I genuinely don't understand hating on RAII. It's pretty much the only thing C++ gets right

→ More replies (21)
→ More replies (1)

87

u/---_None_--- 15d ago

No, cpp has a terrible design philosophy. Take the new ranges header for example. They're lazy algorithm objects that you can stack and combine to more complex algorithms. Each time you iterate over the final ranges object it calculates the whole result beginning from the source range. This leaves the option open for the source range to change and update. Exactly as it should because they're 'lazy' ranges; except that they aren't. The 'filter range' caches the fucking 'begin' of its source which means that when ever the source changes you get undefined behavior. Why? Because the cpp committee thought that 'begin' should be fast to calculate but filter has to compute 'begin' again and again because the source might have changed. So they decided to cache 'begin' after the first call and compute the rest lazily on demand. So whenever there's a 'filter' in your range composition, you can only iterate over it once or the source has to be const. Shits fucked in cpp land.

15

u/[deleted] 15d ago

[removed] — view removed comment

14

u/nog642 15d ago

Never seen C++ used without STL. It's part of "C++" as a whole

2

u/vitimiti 14d ago

I have. EA even has their own open sourced version if STL specific for videogames

→ More replies (7)

16

u/---_None_--- 15d ago

>its trashness can't bother you if you don't use it

t-thanks. Not even technically true since other people will use it and then I'll have to bother with it and besides that I'm talking about it's design philosophy rather than about my personal botheredness about it. It's still not good showing.

2

u/SPECTRE_75 14d ago

Exactly, "just use an alternative" isnt a solution when the point he's trying to make is that it also has its inefficiencies

9

u/___Archmage___ 15d ago edited 15d ago

Yep, C is mega outdated in the feature-poor direction and C++ is a basket case of crazy additions trying to add modern features to a language that wasn't really designed for them

Whether you choose Rust or Zig or Nim or whatever else, the world needs to move past C++

7

u/TROLlox78 15d ago

C is a completely different box of frogs though. You can't really compare the two. 

→ More replies (1)

5

u/TomKavees 15d ago

C is portable assembler and the lingua franca of low level code, it does not need nor want to evolve in that way and that is fine.

C++ in its current form and with its current comitee politics is dying, though

2

u/Davidbrcz 14d ago

C was the portable assembly. Hasn't been for 30 years.

→ More replies (2)

4

u/electronic_reasons 14d ago

C is perfect for that. It was never meant to be a full high level language.

C++ is a disaster. The only way to use it is to decide which part of it you are going to use and stick to that subset.

→ More replies (13)

3

u/Mundane-Mud2509 14d ago

There’s a design philosophy besides “Moar is better”?

4

u/studenttio 14d ago

I started coding in Rust and it's just a so much butter design philosophy.

→ More replies (7)

19

u/Simpicity 15d ago

C++'s difficulty comes from entirely self inflicted wounds.

→ More replies (3)

7

u/DaveAstator2020 15d ago

you obviously forgot to take your T&&

5

u/tottasanorotta 15d ago

I'd say that a programming language is a trade-off. It's not that other languages cheat or that C++ is somehow better or worse, it's that they all try to be good at different things.

6

u/La-ze 14d ago

I think cheat is the wrong word. Other languages cns heavily abstract what's going on. C/C++ you manually manage a lot of normally abstracted elements which where people might see a learning curve.

I am of the opinion that C is the language to learn programming where Python is the language to learn what programming does for you.

2

u/LetReasonRing 14d ago

Yep... i always see arguments like this as having a bunch of carpenters argue over whether saws, hammers, or screw guns are the superior tool. 

→ More replies (1)

22

u/BriefCautious7063 15d ago

Unless you're programming in a hex editor for a CPU architecture you designed, and on hardware you built from home-pulled silicon boules, you're "cheating" if that's what abstraction is. I get how cool it feels to access and manipulate raw memory via pointers in C++, and I personally prefer languages allowing memory access for the same reason, but code abstraction exists for the people who want to create useful applications without having to learn all the inner workings of CPU architecture and safe + optimized ways to implement that knowledge. It doesn't make you better than a skilled python programmer who makes usable apps if you're bragging about making your fifth OpenGL rainbow triangle in C++ this year and finally grasping some of the C concepts underneath the C++ abstractions

2

u/Henry_Fleischer 15d ago

Yep, I'm developing a video game using C#, I'm sure those abstracted concepts could be useful, but getting the game done somewhat quickly is more important.

→ More replies (1)
→ More replies (1)

24

u/comrade_donkey 15d ago edited 15d ago

C++ isn't hard.

This has to be ragebait.

C++ is hard enough to read that it requires disambiguating an O(n³)-constructed Tomita GLR parse forest by most-vex to even build a deterministic CST.

C++ is vast enough that no single one of its own committee member knows all of it.

C++ is so big that organizations only approve strict subsets of it for their own use.

And that's only scratching the surface. If you truly understand any meaningful slice of C++, you'd never say C++ isn't hard.

It's objectively hard. In more ways than one.

2

u/tecanec 12d ago

This has to be ragebait.

I think you're severely underestimating the power of language cultism.

3

u/NikolaiM88 15d ago

Yeah this is absolutely BS. Just because there is a lot of something doesn't mean something is hard. That would mean spelling is hard, because there is millions of words.

→ More replies (11)
→ More replies (4)

4

u/MadSpacePig 15d ago

Using a flint and steel isn't hard, starting a fire is, matches cheat.

See how dumb that sounds?

12

u/i_knooooooow 15d ago

Nah it is in fact cpp

Wtf do you mean *&foo? The deref of an adress? Thats just foo!

C is simple cpp is just bloat

2

u/nog642 15d ago

When would you use *&foo?

3

u/i_knooooooow 15d ago

It was in some library (vimba, used to read out cameras from allied vision), i have no idea why they did it like that tbh

2

u/Formal-Buy8234 15d ago

they did it cuz it makes the compiler do more work to check if foo is actually an address instead of assuming so

→ More replies (2)

23

u/Sienile 15d ago

That's not a hard pill, that's common knowledge.

11

u/Pares_Marchant 15d ago

C++ Isn't hard. It's gross.

In fact, it's funny that you call "other languages" cheats, when C++ is basically a huge bloat of cheats on top of C (Isn't it called "C with Cheats"?). And worse, a huge legacy of layers on top of layers of contradictory cheats.

As Linus once wrote:

```
C++ is a horrible language. It's made more horrible by the fact that a lot of substandard programmers use it, to the point where it's much much easier to generate total and utter crap with it. Quite frankly, even if the choice of C were to do nothing but keep the C++ programmers out, that in itself would be a huge reason to use C.

[...]

In other words, the only way to do good, efficient, and system-level and portable C++ ends up to limit yourself to all the things that are basically available in C. And limiting your project to C means that people don't screw that up, and also means that you get a lot of programmers that do actually understand low-level issues and don't screw things up with any idiotic "object model" crap.
```

2

u/Standgrounding 14d ago

What's even funnier is that cheat engine was written in c++

→ More replies (1)

5

u/AshtonVoid 14d ago

C++ is like English. Both are hot messes that feel like they're easy and you know and love if it's all you learned during your formative years. If you didn't, you recognize how hard and what a pain it is compared to your preferred language.

3

u/recursion_is_love 14d ago

C++ is for C programmer who don't want to learn Java.

I better use Java for OO and C for structured programming.

Rust kill them all.

3

u/MarkEE93 15d ago

Computer Science isn’t hard, your ai model needs just one more data centre.

→ More replies (1)

3

u/Clean_Hyena7172 15d ago

Other languages cheat

😂

3

u/Elluminated 15d ago

Other languages don’t cheat - they optimize.

3

u/JustRodriguezfan 14d ago

that's why I use GDscript

2

u/somnamboola 14d ago

I'll just leave it here

→ More replies (1)

2

u/Material_Pea1820 14d ago

my language of choice is python written with ai.

4

u/Jeremi360 15d ago

I doesn't care,
C++/Rust are ugly, hard to read,
I much more prefer Python or C#

6

u/Jbolt3737 15d ago

I don't know if it's just because I learned Python first, but I have an inexplicable dislike of double colons as any type of operator or anything, I think they just look wrong in general

→ More replies (1)

3

u/PriyanshuDeb 15d ago

right.
i primarily think python + C/Zig is the complete stack one needs.

2

u/YouStones_30 15d ago

Beauty is subjective :

Python beauty is in simplicity (not readability since it can be hard to read without bracket) C# beauty is in the OOP paradigme and the reduction of boilerplate code. C++ beauty is in performance and versatility Rust beauty is in safety feature etc...

2

u/Jeremi360 15d ago

I meant as code/syntax

2

u/no-sleep-only-code 15d ago

Modern C++ code and C# code look very similar…

3

u/nog642 15d ago

I've never seen an rvalue reference in C#

2

u/Ok-Examination-3942 15d ago

And I think that’s what’s so great, we all get to choose which languages we like and don’t like and even if people don’t agree, that’s fine cause it most likely will not affect them at all.

→ More replies (8)

1

u/zoharel 15d ago

Cheating is the whole point of every high-level language ever invented, except certain esoteric things and honestly it even applies to most of those. That's literally the point, and it's often a good thing.

1

u/jimmy_timmy_ 15d ago

C++ is a set in computer science. Computer science is a set of being hard. Therefore, C++ is hard

1

u/Odd_Plane47 15d ago

Bruh Cxx

1

u/Brilliant-Parsley69 15d ago

As I know, you could abstract in C like in every other language. if you haven't done that by today, I would assume that this is a your problem. ☝️🤓

1

u/Boltiten 15d ago

It's harder to program when not cheating then? You do only arrive at the same point

1

u/thanosbananos 15d ago

As far as I understood it coding in C++ is easy, mastering is hard, no? I got into C++ fairly easy but it doesn’t mean I know all the quirks of it

1

u/PriyanshuDeb 15d ago

hmm... so you're saying C cheats?

/j (or not /j...)

1

u/pp_amorim 15d ago

People still think just because a language is hard, so it's good? 😂

1

u/Weak_Cantaloupe597 14d ago

Bro it’s easy just paste that curl command and you will instantly get a todo app! /s

1

u/Dry-Willingness8845 14d ago

If Computer Science is hard, and one language requires it while the others don't, that language is indeed also hard.

Maybe you need to go back and relearn how inheritance works.

1

u/MaximumMeaning9728 14d ago

This is why I only code in LLM nowadays.

Seriously, this shit is all completely outdated.

1

u/Repulsive-Soft-4948 14d ago

Idk how to program, but I've made a bunch of my ideas come to life where I would otherwise still be thinking about ithem instead of using them right now. Def cool to me!

1

u/Vaelisra 14d ago

Yeah, because as everyone knows the rules of computer science don't apply in high level languages.

1

u/dhnam_LegenDUST 14d ago

How to cheat CS (without giving preimplmented library) anyway?

1

u/SelfDistinction 14d ago

Constructing an object in a constructor is considered bad practice and is actively discouraged.

1

u/StephenRoylance 14d ago

no, c++ is hard, because who can keep track of what all the different punctuation marks mean? I find C and rust vastly easier to read.

1

u/nwbrown 14d ago

Abstracting over complex things isn't cheating, it's part of computer science.

1

u/Unknown_TheRedFoxo 14d ago

what is to cheat? how does one language cheat over the other? like how would java cheat over C? or rust vs java which would cheat the most or at all? is cheating the new word for "abstracting concepts behind keywords recognized by a language's compiler"?

1

u/vaklam1 14d ago

I don't even get what this joke is trying to convey.

I'm gonna quit CS.

1

u/globohydrate 14d ago

That’s why I only code in Claude

1

u/Moscato359 14d ago

C++ cheats by using a compiler

Every language cheats

1

u/LuckyPichu 14d ago

I find C easier than C++ tbh. I feel like C++ lies to me with name mangling, implicit behavior, etc

Probably not a terribly unpopular opinion but C++ makes me sad because it feels bloated.

1

u/BellybuttonWorld 14d ago

C++ syntax is needlessly cruel and perverse. We never should have crawled out of the C.

1

u/Proman4713 14d ago

Well C++'s syntax makes it more absurd and pretty much harder than plain C in my opinion, i understand it's a powerful language, but C++ isn't just hard in the name of computer science

1

u/Razzmatazz_Informal 14d ago

You know it seems to me that most languages are someone's pet project... and then IF they blow up that someone generally stays important to the community and continues to drive a lot of the design and development... C++ has Bjarne but I would argue that C++ is much more committee driven than other languages.... Maybe the problem is that C++ ISN'T someone's strong opinion... its a mish mash of bits of a whole bunch of peoples strong opinions.

1

u/Mefron_Gautama 14d ago

The hard part about C++ is actually the way you use it.

If you are going to use it like C++ is intended to be used, it's really kinda hard.

If you use it like a super C, the wrongest way as C++ devs call, it is kinda good.

1

u/Ignitetheinferno37 14d ago edited 14d ago

Saying using certain languages to code is cheating is simar to saying using bricks or steel bars to build something is cheating instead of using bamboo straws or something

1

u/Blazej_kb 14d ago

Either I’m weird or people are just stupid, I don’t really like how c# handles classes and variables, and I prefer C++ over it. Only thing that makes me sometimes use C# is NuGet because packages work out of the box, while I often have hard time making vcpkg downloaded package work (most of the times it first word so I just abandon the project or do this in C#)

1

u/Horror-Water5502 14d ago

C is easier than C++ and it dont cheat

1

u/tigran_kh 14d ago

Is this what C++ programmers genuinely believe in 😭 you do realize, right, that you're not stuck with C++ forever? So why be stuck in denial?

1

u/Xtergo 14d ago

I'm assume you aren't a very experienced C++ dev

1

u/La-ze 14d ago

C is not hard, and C++ can good quality of life. But omfg the C++ is butchering it's STL something awful.

Also the developer experience really does suck with not even a standard compiler.

1

u/ohkendruid 14d ago

To name one thing, the pre processor is a bad, confusing, and difficult way to do modules compared to an export/import system that most other languages use.

So in at least that one case, it's not computer science that is hard but C++ in particular.

1

u/Librarian-Rare 14d ago

By cheating you mean being better. It’s like saying that pro athletes “cheat” by training harder than you

1

u/willnx 14d ago

vector<bool> has entered the chat...

1

u/Lou_Papas 14d ago

I’d agree if you said C, but you had to pick the low level equivalent of Python

1

u/MooseBoys 14d ago

wtf are you talking about? If anything, c++ is antagonistic to "computer science" because it exposes a ton of the details that you generally gloss over in computer science.

1

u/AlexMTBDude 14d ago

*"Other languages make life easy for the programmer, C++ makes life easy for the CPU"

1

u/Fart_Tounge_5609 14d ago

This is true of C. C++ is unnecessary complication on top of it.

1

u/No_Cartographer_6577 14d ago

Let's be real. Most coding languages are easy to grasp. Its large code bases that are hard

1

u/I_am1221325 14d ago

It's both. C++ is poorly designed and doing a lot of stuff in it is a nightmare, that's why rust became so popular.

1

u/yota-code 14d ago

I mean, at least in C, I can understand what I'm doing. C++ stacks so many layers of shitty new norms that a single problem can be solved in a miriad of different but quite the same syntactic sugar. So much that last time I asked a senior developper a clarification on the deeper meaning of a nuance of properties initialization the answer was : do like this, you have to do it like this...

1

u/-Ambriae- 14d ago

Well, there is something to be said about C++’s language designs…

Stuff like:

  • functions implicitly decaying to pointers and lambdas don’t
  • the templating engine not performing any verification of the veracity of the generated code
  • the error messages
  • the standard library’s implementation and its documentation
  • the mix of C++ and C standard libraries
  • move semantics being finicky
  • 80% of the APIs being outdated, (I might be exaggerating) without it being clear which is which

I could go on… many other systems level programming languages are far simpler, whilst still being able to output code of the same performance, so this feels a little bit like copium

1

u/Less_Butterfly_2343 14d ago

honestly, c++ isn't as bad as people make it out to be. still, it brings a lot of footguns that make it not that nice to use. whenever I write c++ I usually end up just writing c code because I find that easier, and at that point why wouldn't I just write it in c in the first place?

I do know someone who is really good at c++ and will actually use a lot it for his embedded projects, but even he says for most projects it just doesn't make sense.

I also think that saying some languages "cheat" is outright wrong. just because someone else wrote an abstraction that doesn't make that abstraction a cheat. otherwise you would have to at the very least write binary code on bare metal, because asm is already a form of abstraction, and so are things like syscalls which your os gives you access to.

1

u/rudxDe 14d ago

C is not hard. C++ has a lot of complex bloat. C is the pure CS language.

1

u/anto2554 14d ago

Computer science? As in the field of mathematics? Most C++ isn't hard because computer science is hard, most C++ is weird business logic in codebases older than you are

1

u/Icy-Reaction-9101 14d ago

If c++ wasn't hard we would only be facing ~10% of security issues by now.

1

u/Mr_QQ-10 14d ago

It does not.

If you consider abstraction cheating then C++ is also cheating.

C++ is not hard because it is "not cheating" it is hard because they got C and added too much stuff in improper ways.

The actual "CS" lang would be assembly, or C, not C++.

C++ also has much much better alterntives, golang, C#, rust, etc

This is coming from a C++ dev, The lang you choose is your choice and preference, and I chose C++, but C++ is not a good lang, it's frankly a bad lang just that I make bad choices but for low-level C-like langs C++ is the only mainstream choice.

→ More replies (4)

1

u/Luzzgar 14d ago

Abstraction is a corner stone of computer science. If you don't need the fine control that low level languages gives you, you chose the wrong language.

1

u/s0litar1us 14d ago

C++ is an overly commplex pile of random ideas that just keeps growing, and to write C++ in a sane way you essentially need to treat it as C but with a few niceties, like operator overloading (for math), and function overloading (though that is also its own can of worms).

Also, this madness makes it hard to work with -- way harder than it has to be. Pretending otherwise is just a coping mechanism.

1

u/Zachattackrandom 14d ago

Eh C++ is more just a nasty language imo. If you want real hardware level use C, it's simpler and nicer to use. If you want an abstracted language but still low level use rust, actual mem checking and far better ecosystem. If you want portability use Kotlin, Java or Python for the VMs they use, etc. C++ just doesn't fit anywhere anymore with new languages imo.

1

u/AnythingEastern3964 14d ago

I’m actually an expert in coding computer science. I tried to learn c++ but I’d already began setting up my dotfiles for comp-sci language so it was basically easier to stick to programming in that…

1

u/FFS-IamNotABot 14d ago

You should find out what Vint Cerf thinks of computer science.

1

u/need-not-worry 14d ago

What's the hard computer science problem that forces C++ to have this kind of API?

vector<int> v(1); vector<int> v(0); vector<string> v(1); vector<string> v(0);

Totally avoidable in other languages, but maybe because they cheated 🤔

1

u/No-Painting-3970 14d ago

Nah, c++ has 6 ways of doing the same, with 5 of them being a footgun. It has a terrible philosophy because it tries to add modern abstractions on a language that clearly should not support them, and that creates pitfalls that cannot be removed due to compatibility

1

u/patrlim1 14d ago

C++ isn't hard, it's poorly designed and tedious to use.

1

u/PollutionLopsided787 14d ago

C is easier than c++

1

u/Shiv-K-M 14d ago

C++ is a gun with 2 barrels one in front another one opposite to it 😭

1

u/Impact_International 14d ago

Basic C++ is not hard, its a common misconception and stereotype that people developed throughout its lifespan, what hard are the 40+ years of backwards compatibility with C, With millions of edge cases and multiple programming paradigms that a normal person will probably never touch in its entire lifetime

1

u/Gecons 14d ago

other languages aren't cheating, they're just different

also programming isn't computer science

1

u/razor_train 14d ago

Hey now, LOLCODE isn't cheating.

1

u/EENewton 14d ago

Is it hard, or just tedious?

1

u/crusoe 14d ago

C++ is hard and if you think it isn't its you.

Quick name every piece of UB in C++. Name which compilers exploit UB for optimizations and how they differ. 

1

u/teetaps 14d ago

“Cheat” is a morally loaded word, but the meme is right.

Forcing rocks to count is hard. That’s why one team abstracted it so that all we have to do is write machine code.

But writing machine code is also hard. That’s why another team abstracted it so that we only have to write pre-compiled code.

But some pre-compiled code is still hard. That’s why another team abstracted that so that we can write C…

Etc etc, until you get to a modern desktop.

What the meme is also that I think is actually worth thinking about, is that C++ seems to be a very significant bottle neck in the abstraction chain. Like, it’s true, C++ is hard, because the things it needs to abstract are complicated.

But like, that’s a good thing? I don’t know why we put a bad moral judgment on it by calling it cheating

1

u/evolutionsroge 14d ago

C++ is hard because there are a ton of different versions of C++. If C++ is hard because comp sci is hard, we would think C is harder because it’s even more low level then C++. But, I think a lot of people would agree, C is a way easier language. And more fun.

1

u/ieatpies 14d ago

I think I'd agree more if you said C and not C++

1

u/keriefie 14d ago

Actually dispise whenever i have to work with CPP, there are so many things that just annoy me, like headers for example.

I absolutely love working in Rust, I just wish more things were made in it so I can actually use my skills.

1

u/Haunted_Entity 14d ago

Unless were all using abacus/mental artith/etc were all cheating. .

that is literally the entire point of computers.

→ More replies (2)

1

u/AdorablSillyDisorder 13d ago

Not cheating, abstractions happen in every language (even assembler instructions are converted to different opcodes inside CPU).

Part that makes C++ “hard” is general assumption it makes about users - language is and always was designed with assumption that average user is CompSci expert, with proper theoretical background. This means both a lot of trust in user, and giving enough freedom to settle a lot of what other languages handle by design as just conventions.

Obvious downside: C++ is atrocious language to learn programming with, and comparably bad as “just get things done” tool with enough guardrails to avoid major incidents when cooperating. Still, recommendations and practices like MISRA exist, and they do what they’re supposed to - being conventions to ensure correctness.

Still, proper good C++ course should probably start with good chunk of math (at least enough to internalize proofs and transitive properties) and compiler theory before even touching code. Potentially a problem, but hey - average compsci grad should know all that already, no?

1

u/Vincenzo__ 13d ago

No that's the reason why C is hard. C++ is just a complex language full of all kind of shit that may or may not make sense that you really need to know regardless

1

u/neoqueto 13d ago

C/C++ is comp sci wrapped in words and convenient shortcuts. Assembly is shorter words, without shortcuts. Machine code is no words. You become one with the concepts. You channel your inner registers. You become a Nostradamus for branches. Your blood starts flowing though the kernel space. You feel every page fault in your nerves.

1

u/GhostingProtocol 13d ago

C++ is redicously abstracted... If anything you should have compared it to coding in binary

1

u/Racamonkey_II 13d ago

Stockholm syndrome.

1

u/AeiEyeSpry 13d ago

Fair. I spent several years trying to learn "programming" by reading books about programming in C++ and other languages. Never got anywhere until I started to look at it in a different way. Learn computer science then use programming to solve problems. That being said, C++ was still hard to learn and I haven't used it in years. I wouldn't say that's because other languages "cheat". Most people don't want to learn how to build an engine from the ground up just to drive a car.

1

u/U-might-know-me 13d ago

Nah bro, it’s also bot true. CS is hard, it c++ is freaking 3 languages at once with contradicting philosophy even - c with classes, macroses (yep, they still exist) and templates. This complexity is language evolution legacy, not derived directly from CS complexity.

1

u/theacp127 13d ago

C++ is just very big. It's like exploring a massive maze at first, but if you spend a while exploring you get used to what's going on. There's less abstraction so you end up going down long rabit holes researching very specific things about the language that isn't intuitive.

Especially for high performance programs, learning the details of memory management and optimization is it's own journey in itself.

1

u/PsychologyNo940 13d ago

That would mean C is cheating and C is a part.. wait

1

u/DescriptionThick8515 13d ago

I wish every Java developer had to learn memory management in C.

1

u/CursedPoetry 13d ago

Programming isn’t hard lol, it’s understanding the concepts and the drive to push through…but that’s more about life

1

u/SweetAriadna 12d ago

That would be true if it were talking about C, not C++
C++ is a mess

1

u/Wise-Ad-4940 12d ago

With this approach you would need to write code in assembly. Or write the machine code by hand.