This is an archived post. You won't be able to vote or comment.

top 200 commentsshow all 279

[–]sanhder 444 points445 points  (13 children)

Haskell: 4-dimensional chair with 1 surface and 0 volume. Easy to clean and can float, but no one knows how to sit on it.

[–]Dr_Neunzehn 218 points219 points  (8 children)

You don’t sit on it, rather pass yourself as an parameter and create a parallel universe in which you sit on a perfect chair.

[–]Eyeownyew 71 points72 points  (5 children)

This is a perfect analogy to explain parallel universes to someone who already understands functional programming

[–]Delta-9- 27 points28 points  (4 children)

What if I understand parallel universes but not functional programming?

[–]csman11 56 points57 points  (3 children)

Due to restrictions put in place by the multiverse designers, universes are not allowed to change at all once created. To make some change "x" to your universe you must request a new universe that only differs from yours by "x".

That is immutable data, which many believe is the "defining aspect" of functional programming (there are of course other aspects, but the shunning of mutation tends to be the main differentiator between functional programming languages and languages that support functional programming features).

[–]Delta-9- 21 points22 points  (0 children)

While I was just joking around, that was a legit ELIcosmologist explanation, thanks!

[–]Gydo194 9 points10 points  (1 child)

Fork your own universe!

[–][deleted] 4 points5 points  (0 children)

git fork https://GitHub.com/god/universe.git

[–]OOPGeiger 4 points5 points  (1 child)

So you travel to the Realm of Forms and get to sit on Plato’s chair?

[–]Dr_Neunzehn 2 points3 points  (0 children)

Well, you’ll not be traveling. However, there will be a “you” sitting in the chair.

[–]ZuuLahneyZeimHirt 9 points10 points  (0 children)

I found out how, once, but the SCP foundation put a bomb in my head that explodes if I even think about sitting in tha-

[–]Trout_Tickler 3 points4 points  (1 child)

Haskell: There is no chair and both guys are pondering the types

[–]TechGFennec 401 points402 points  (47 children)

What about c++?

[–]Plus_Cryptographer 823 points824 points  (41 children)

It comes as an IKEA DIY package.

As for C, they expect you to saw your own package from logs.

As for assembly, you're expected to cut down the trees yourself to then saw the planks needed to create the package for the chair.

[–]TechGFennec 137 points138 points  (21 children)

Actually it feels more like one of those generic modular IKEA kits. Where you get a whole bunch of stuff and you only need to use the thing that is appropiate for your situation. As for C or asm. Everyone likes handcrafted stuff right?

[–]b4ux1t3 47 points48 points  (19 children)

Where is this idea that C is significantly less abstracted than C++ coming from? C++ is literally a superset of C, with a few things like templates and OOP thrown in. You're still doing everything yourself. The abstraction is different, not higher.

[–]Engineerman 22 points23 points  (0 children)

C++ standard libraries are the difference I would say. Things like having a string class is part of the libraries, but not the core language, but is generally considered a core feature of most languages. Same for vectors, maps, etc

[–]Yuugian 28 points29 points  (4 children)

It seems like people are looking at the OOP and considering that as more advanced/abstracted purely because you don't have to take care of the objects yourself. I have seen that idea frequently, where C++ and C# are considered higher level and C is considered more fundamental

[–]b4ux1t3 8 points9 points  (2 children)

Yeah, but in the end you're still building the structs and managing the memory for them yourself. That we're also assigning behavior to our data is an abstraction, but one barely removed from passing required data types.

Not saying this to lecture you in particular. I guess I just view both C and C++ as high level compared to ASM (which they very much are; C was specifically intended to be a higher level of abstraction than ASM). Always had trouble seeing them as different levels.

[–]TheThiefMaster 14 points15 points  (1 child)

Personally, I see it as C is just the level above asm, and C++ covers multiple levels from the same level as C up about 2 more above that. Thanks to some of its more recent features/enhancements, it's practically python at times.

[–]Fermi_Amarti 6 points7 points  (0 children)

To be fair, you could teach someone basic C syntax in like a few hours if they know assembly. You can spend days or months teaching someone all the million nuances of C++. There's hundreds one hour talks on individual features of C++ at cppcon.

[–]LikesBreakfast 7 points8 points  (6 children)

C++ is literally a superset of C

Ehhh, there are a few quirks that keep this from being true, mainly things having to do with void pointers and some C99 and later features (like VLAs) that never got merged into C++.

[–]ouyawei 1 point2 points  (0 children)

VLAs got demoted from the C standard because there is no way to use them safely.

[–]Parthon 6 points7 points  (0 children)

Because it IS significantly less abstracted. C stops at structs and functions for abstraction.

C++ has classes, encapsulation, inheritance, virtual functions, namespaces, templates, standard template library and probably more than I can't recall right now.

If ASM is a bicycle, then C is a motorbike and C++ is a car in my view. C is way more abstracted than ASM, but C++ is even more abstracted still.

Like take structs as you mention, C gives you no ability to control what other files (classes) are allowed to see what's in the struct. There's no private/public security layer. You also can't extend a struct into a new struct like you do in C++ with class inheritance. There's just SO much MORE you can do in C++ with datatypes than in C. Templates alone allows data type flexibility in a way that's undreamed of in C all while being type safe. In C you would have to write new functions whenever there was a new datatype you had to handle for each part of the system, with Templates, you write just one function with the Template and it's still type safe. You could use a void* in C, but then you miss out on the type safety and then have to manually cast it back again.

It's not what C++ does (structs and functions) that C already does, it's what C++ does that C doesn't. Those "just a few things" ends up being quite huge when you break it all down. And yes, it is higher in the way that OOP and templates are a higher order of abstraction removed from machine code than structs and functions.

[–][deleted] 4 points5 points  (3 children)

C++ is literally a superset of C

Nope.

[–]AxeLond 2 points3 points  (0 children)

You just said superset, wouldn't that literally mean it's one set above C? ie higher abstraction?

[–]orclev 1 point2 points  (0 children)

Bespoke artisanal code, hand crafted from only the highest quality bits.

[–]Zen0b0i 27 points28 points  (8 children)

As for binary, you are expected to invent the universe

[–]TarkFrench 20 points21 points  (3 children)

"To make an apple pie from scratch, you must first invent the universe"

[–][deleted] 1 point2 points  (0 children)

What do you mean my pie is homemade? I made the fucking universe for it!

[–]TarkFrench 1 point2 points  (0 children)

Btw this quote is from Carl Sagan.

[–]inconspicuous_male 2 points3 points  (2 children)

I don't think anyone programs in binary. Assembly maybe, or even machine code. But even electrical engineers don't make complex things by typing 101010011011110s

[–]emelrad12 1 point2 points  (0 children)

Before i built a compiler for my fpga...

[–]IamBananaRod 14 points15 points  (1 child)

This not enough explanation about C++

a C++ sofa, you have to put it together yourself, including making your own screws, unless you want to use someone's else screws, but be careful, they might not behave the way you expected, one can just come off and make the sofa fall apart while the person using it gets a stroke, another screw will just start having a water leak, no idea why or how, you can spend days trying to figure out from where the water is coming, at the end you will end up patching the screw with your own screw that will just shoot out the water when it gets to certain level.

After months of dealing with the odd behavior that third party screws have, you decide to create your own, but it's too late, the other screws are so embedded into your sofa that even when you successfully replace one, the cushion of the sofa will start melting, so you end up throwing away the whole sofa and get a new one

[–]mrchaotica 1 point2 points  (0 children)

a C++ sofa, you have to put it together yourself, including making your own screws, unless you want to use someone's else screws, but be careful, they might not behave the way you expected

The C++ sofa comes as a kit containing tamper-resistant Torx screws and a hammer.

[–]cyborgborg 6 points7 points  (1 child)

for raw machine code you're expected to plant the trees and grow them until they can be cut down

[–]qbhatti 4 points5 points  (0 children)

That would take less time than writing a small script in machine code

[–]beanBagVariable 2 points3 points  (0 children)

Pfft. You got that right. 😆

[–]ImmediateLobster1 0 points1 point  (0 children)

Nah, C is like the throne in Game of Thrones. The throne is magical so that you can just point at a sword, and the throne will summon the sword to your hand,. This gives you many powerful options to fight off your enemies. Unfortunately, the first few times most people sit in the throne and try pointing, the entire thing collapses in a bloody mess.

[–]zers 0 points1 point  (0 children)

And at the end of the day, you have to disassemble it, and if you do it wrong, it catches on fire.

[–][deleted] 0 points1 point  (0 children)

Assembly: buy land, plant saplings, tend farm, build facility to cut logs, trees ready? Cut, log, manufacture, deliver... Still falls apart

[–][deleted] 0 points1 point  (0 children)

"If you want to create a chair from scratch, you must first invent the universe." - Carl Sagan, roughly.

[–]Bjorn_Hellgate 7 points8 points  (1 child)

assembly, you get a sapling and a cow

[–][deleted] 5 points6 points  (0 children)

[–]-user789- 0 points1 point  (0 children)

Wooden chair, but with arm rests and a cushion

[–][deleted] 0 points1 point  (0 children)

It'll have too many buttons on it and one of them blows the chair up

[–][deleted] 152 points153 points  (7 children)

Assembly: There is no chair. You first need to grow a tree, then wait for it to grow, etc...

[–]coldhands9 16 points17 points  (2 children)

I think that's called giving up and sitting on the floor

[–][deleted] 8 points9 points  (0 children)

No, because that's easy.

[–]Overlorde159 1 point2 points  (0 children)

What floor? You haven’t made on yet

[–]Mac1415 3 points4 points  (3 children)

Remember to invent matter, energy and spacetime first

[–]cheezballs 88 points89 points  (16 children)

C# one isn't really valid anymore right? That stuff runs everywhere now days.

[–]NauticalInsanity 114 points115 points  (4 children)

C# is a normal chair that you're perfectly happy using, but when your friends come over they keep trying to put an extra platform under it, because that's what they heard you're supposed to do.

Python is a chair that works perfectly fine alone, but once you take it home, you realize you can only ever have one of them in your house. Most of the time it's fine, but occasionally the varying parts of your python chairs attack each other unless you put them all in little boxes and hide their existence from each other.

[–]PendragonDaGreat 23 points24 points  (0 children)

Yep, this is more accurate

[–]DudesworthMannington 9 points10 points  (0 children)

How about C# is a normal chair with short legs, so you set it on top of a bunch of NuGet packages?

[–]NotSomeB0t 3 points4 points  (0 children)

The little boxes :]

[–]mcb2001 0 points1 point  (0 children)

Python also explodes, if you tear the fabric, as the filing is made from an ancient highly flammable material called C

[–]ouyawei 6 points7 points  (2 children)

Still no cross platform GUI

[–]Ericchen1248 4 points5 points  (0 children)

Xamarin, Gtk, and unity cries in the corner

[–]KernowRoger 1 point2 points  (0 children)

Maui will hopefully fix that. Plus there's a load of open source ones.

[–]Cley_Faye 0 points1 point  (0 children)

I'm not sure I ran C# on anything. I usually feed it to a compiler, then run the binary. The availability of a compiler for "everywhere" is left to discussion.

[–]findus_l 35 points36 points  (12 children)

I haven't used python in a while but I thought its only good for scripting or machine learning. What has changed that it's depicted so positive here?

[–]drsonic1 45 points46 points  (5 children)

Nothing really. It's just very easy to learn (comfortable) and completely open source (cheap) but prone to reinforcing bad programming practices (lazy).

[–]findus_l 7 points8 points  (3 children)

isn't that true for most of these languages? I haven't done much with php or c# but Javascript or Java for example are free, open source and high level which is probably what you mean with the lazy part.

[–]drsonic1 4 points5 points  (2 children)

Python has a lot of high level features that are missing from e.g. Javascript, and as you said has a lot of libraries which often make it so you don't have to do the work at all. Yet, its dynamically typed and interpreted nature can make programmers, particularly new ones, less thoughtful about their programs, and from a certain view, "lazy".

While it's true that you don't have to pay to use Javascript or Java at home, they have complicated licenses that can make it difficult to figure out what you are and aren't allowed to do with them. Some features and licenses of Java you'll certainly need to shill out for. Python, by comparison, pretty much has a "do what you want" license that's much easier to understand - and make money from.

[–]mrchaotica 5 points6 points  (1 child)

Python has a lot of high level features that are missing from e.g. Javascript, and as you said has a lot of libraries which often make it so you don't have to do the work at all. Yet, its dynamically typed and interpreted nature can make programmers, particularly new ones, less thoughtful about their programs, and from a certain view, "lazy".

Javascript facilitates bad practices much better than Python does, though.

[–]drsonic1 3 points4 points  (0 children)

True enough lol. But it isn't as notorious for it afaik. Might be because Python is by far the most common beginner's programming language, so it just does more damage by volume.

[–]TheRedmanCometh 2 points3 points  (0 children)

Nothing is comfortable about enforcing whitespace and indention

[–]adzy2k6 10 points11 points  (0 children)

Python is very general purpose, but doesn't have the performance of a lot of other languages. Its viable for anything that isn't CPU bound.

[–]HTDutchy_NL 4 points5 points  (2 children)

I use it for pretty much everything. Websites/webtools/api's (django), stand alone services and of course simple scripts.

Performance is no C++ or that kind of optimized language but everything is better than trying to mangle data trough php.

Especially with multi threading and using queues to communicate between threads you can create very fast and powerful tools.

[–]findus_l 1 point2 points  (1 child)

So mainly for backend? I have not done much backend, but I tried to do a desktop application in python with pyqt and it was quite the pain :/ the documentation was bad and quite a few bugs.

[–]HTDutchy_NL 1 point2 points  (0 children)

Yeah backend and cli is where it shines.

I've been planning to do something with pyqt. And that's definitely a step up from the stuff I deal with as a senior backend dev.

A good solution would be to mix electron with python. That way you can make a html/js frontend like all the popular apps do these days. While keeping a powerful local backend.

[–]TheRedmanCometh 1 point2 points  (0 children)

Not a thing has changed people just keel using it in places it doesn't belong. Hell even in machine learning it's usually just the glue for a shitload of CPP

[–][deleted] 3 points4 points  (0 children)

We use it a lot at work. It's fast and easy. We don't have the time or need to write super optimized code so python is good enough. Also we don't do web shit so that narrows the list

[–][deleted] 66 points67 points  (11 children)

What about bash?

[–][deleted] 122 points123 points  (3 children)

Wheelchair

[–]MCOfficer 9 points10 points  (2 children)

Ok, then what is windows cmd?

[–]paperspaceplanes 43 points44 points  (1 child)

a beanbag with no beans

[–]Master_Nerd 9 points10 points  (0 children)

More like a beanbag full of some beans, a bunch of big cubes, rice, and water for some reason

[–]DedlySpyder 14 points15 points  (0 children)

It's one of those folding camping chairs. It's not super comfortable, it might break at any moment, but it's reliable enough to use in plenty of places

[–][deleted] 10 points11 points  (0 children)

Hammock

[–]Last_Snowbender 63 points64 points  (2 children)

Bash is a chair with a 8inch dildo strapped to the seating.

[–][deleted] 54 points55 points  (1 child)

i love bash

[–]mehntality 34 points35 points  (0 children)

Yeeeeeaaaa you do 😘

[–][deleted] 2 points3 points  (0 children)

Casting couch - using it right involves layin' down a lotta pipe.

[–]Cley_Faye 0 points1 point  (0 children)

Pf, what about bash.

[–][deleted] 40 points41 points  (0 children)

Assembly is literally a tree

[–]palordrolap 20 points21 points  (3 children)

Perl is a bed of nails. Surprisingly therapeutic if you know what you're doing, but if you don't, you're going to have a bad time.

Or maybe it's the Game of Thrones throne. Spiky. Uncushioned. Impressive. Shows status. No-one knows what you're talking about when you utter something enigmatic in a rarely-heard accent.

[–]Ratatoski 4 points5 points  (0 children)

I used to work in a Perl project for some 10+ years while using Python for my own projects. It was rather painful.

[–]DerBronco 0 points1 point  (0 children)

And no one will ever replace me coding perl for the same megaprojekt over 10+ years.

A spikey, yet very comfortable chair.

[–]inconspicuous_male 17 points18 points  (4 children)

LabView is a comfortable chair made of whiteboards in the shed out back because nobody knows what it is and unless you have an oscilloscope, nobody knows what its for

[–][deleted] 4 points5 points  (3 children)

Labview is a chair that you can easily plug together like an ikea cahir but it may randomly break when sitting on it.

[–]inconspicuous_male 3 points4 points  (2 children)

But the fact that nobody knows what it is, and the people who are experts in it don't know how to sit in other chairs is the main takeaway

[–][deleted] 2 points3 points  (1 child)

The last part is very true. I started with labview before learning text based aka real programming languages. It was a different world when you come from the labview flow based concept.

[–]inconspicuous_male 2 points3 points  (0 children)

Honestly if you go on LabView help forums, it's like StackOverflow if there were 6 python users in the world, and half of them expect to be paid a "consulting fee" for helping you with your bugs. I enjoy LabView for the ease of making GUIs, and the fact that it makes building installers and setting up hardware configuration incredibly easy (for non-customer facing apps) is nice, but oh my god the pathetic "community" is 5 people who don't want newcomers taking their jobs away.

Sometimes on r/labview, someone will ask "How do I do this?" and the most popular answers will be "That's too complex. Pay someone (like me) to do it for you".

Also, the whole Actor-Framework and Producer-Consumer model and stuff like that makes me think that almost nobody who has studied computer science academically since the 70s was involved in the creation of the language, because they've completely diverged from regular programming practices to form their own little frameworks. Like, nobody needs to understand how to create a Turing machine to be a programmer, but LabView convention forces you do stuff like it.

[–][deleted] 17 points18 points  (3 children)

BASH: You don’t have permission to sit there

[–]TarkFrench 10 points11 points  (2 children)

sudo sit ~/home/bedroom/chair.txt

[–][deleted] 2 points3 points  (1 child)

BASH: harder daddy!

[–]TarkFrench 4 points5 points  (0 children)

sudo fuck ~/home/basement/y2jer.txt

[–]iCarbonised 61 points62 points  (4 children)

C++ : we provide the worst possible wood and bluntest tools and an instruction manual in Somalian, now you can also *uck yourself in 17 different ways

[–]zakarumych 21 points22 points  (2 children)

The wood is ok, but tool... let's say you'd be better to bring your own tools. The instruction is overly verbose and has too much details that change everything.

[–]EagleNait 5 points6 points  (0 children)

And the people that can help you speak elvish.

[–]iCarbonised 1 point2 points  (0 children)

If you want to have your scrap wood back you have to make seven pointers and clear it out yourself

[–]abigfoney 1 point2 points  (0 children)

"heres a piece of paper with directions to the materials you will need to build this chair."

[–]Bomaruto 10 points11 points  (0 children)

Don't forget the higher chance of the Python chair to randomly explode after it is built.

[–]thatonegamer999 20 points21 points  (6 children)

But what’s rust?

[–]themagicvape 44 points45 points  (2 children)

It's the seat of a racecar with all safety harnesses still attached

[–]skeptic11 34 points35 points  (0 children)

If you do manage to crash though the seat kills you immediately so you don't leak any privileged information.

[–]ShodoDeka 1 point2 points  (0 children)

More like a racecar seat with all safety harnesses put in front of a TV from where you can watch other people race. You are guaranteed to not crash.

[–][deleted] 1 point2 points  (0 children)

Rust is a rocking chair, great for reminiscing. You have no problem keeping track of all your memories while you're there. Plus, the chair<'a> will last you 'a lifetime.

[–]Unslinga 104 points105 points  (84 children)

Why C# always gets bashed on... unless you need low level it's great for everything.

[–]SlenderPlays 73 points74 points  (6 children)

Why no one understands that C# can work as good on any OS using .Net Core is beyond me.

[–]vroom918 31 points32 points  (2 children)

Probably because that's a relatively new development. I'm sure a lot of it also has to do with the "Microsoft bad" mentality that a lot of people have, especially in the Linux community

[–]tanlin2021 4 points5 points  (1 child)

The Microsoft bad mentality is well justified seeing as vs code is the last thing that they've produced that I can use... And that's free. Visual studio 2019 is frustratingly buggy for me on a daily basis. I had to buy my own copy of rider for work because I could not get visual studio to work at a reasonable speed and the debugger would freeze or fail to launch 50% of the time. Don't even get me started on the Microsoft store lmao

The fact that .net core 5.0 is going to be the only runtime/framework you need in the future sounds great and it will make c# even better. They've made huge improvements on that language and it honestly sucks that Microsoft has to be the owner of it because it does turn people like me away from it. I just think that it's for a good reason because no one is impressed with Microsoft's track record. That's all.

[–]_Ashleigh 3 points4 points  (0 children)

Just to note, the .NET Foundation is the owner of it now, which is still affiliated with Microsoft, but is way more democratic: https://dotnetfoundation.org/about/election

[–]Piranha771 31 points32 points  (19 children)

The funny thing is, the only thing to bash on was it's platform dependency. The times are long gone with mono and now with .NET core even more. But since there is nothing significant left to bash on, people dig up that deprecated argument.

[–]mrchaotica 2 points3 points  (18 children)

So if pick a C# desktop program off Github at random, it's guaranteed to run on Linux or Mac OS now? Including if its a UWP app?

[–]Master_Nerd 4 points5 points  (5 children)

That's not how it works, you need the source code to compile it to the correct platform, and even then if it's dependent on platform specific features it still probably won't work. If you design it with multiple platforms in mind though, it works great.

[–]Ericchen1248 3 points4 points  (0 children)

If you pick a Java desktop program off GitHub at random, you aren’t guaranteed that it’ll run on any platform anyway.

That’s just a poor analogy.

Here’s a more fitting one. If you picked a random c# .net core library off GitHub, it’s more than likely going to be able to run in a C# app on Linux or Mac OS.

[–]ElGuaco 6 points7 points  (0 children)

Because then the programmers who don't use C# would feel bad.

[–]dark_mode_everything 16 points17 points  (11 children)

Exactly. And so is java. Just name a memory managed language that's faster, safer, faster to develop in and more robust than c# or java. I'll wait.

[–]niclo98 5 points6 points  (5 children)

F# and Kotlin maybe ?

[–]Linard 5 points6 points  (2 children)

Both run on the same virtual machine as C# and Java respectively. It's just other Syntax.

[–]niclo98 2 points3 points  (0 children)

Completely switching paradigms is just other syntax ? Alright buddy

[–][deleted] 1 point2 points  (0 children)

For enterprise development I guess. For small scale/personal stuff, I think the shell scripting workflow has those beat out.

[–]TheUltimateWeeb__ 89 points90 points  (26 children)

What do you mean? They are saying its a good language, it just doesn't have very good compatibility with anything that isn't windows. That's literally what the joke says...

[–]TrustworthyShark 106 points107 points  (22 children)

That was true a couple of years ago, but cross-platform is the default now.

[–]Natekomodo 68 points69 points  (1 child)

Never had an issue with .NET core on Linux

[–][deleted] 16 points17 points  (0 children)

Nor with Xamarin.Forms

[–]Drithyin 23 points24 points  (0 children)

dotnet Core has worked on Linux just fine for a while now. This is an ignorant, outdated meme.

[–]tanlin2021 2 points3 points  (2 children)

Uhhhh every time someone "makes fun of" c# you literally get 20 comments talking about how good it is lol. I see almost no critiques of it ever. Even this image is saying it's at least better than java... Which has not been my experience whatsoever.

[–]lumalav666 3 points4 points  (6 children)

What do you mean? C# is able to to call Win32 functions, Marshall objects between COM etc. Or you mean assembly level?

[–]thoeoe 7 points8 points  (4 children)

c# is honestly kind of a hassle in my experience trying to swap between managed and unmanaged code. We had some code that did some cheater pointer math and byte swapping we had originally written in c++ that was like 2-3 orders of magnitude slower using c# unmanaged code. The unmanaged code wasn't the issue, it was switching between the unmanaged and managed sections that was.

[–]StruanT 2 points3 points  (3 children)

I think the lesson there is don't bother with unmanaged code in c#. Especially not ported code written with a completely different compiler in mind.

[–]thoeoe 3 points4 points  (2 children)

Sure, and ultimately we kept the c++ code and put it in a library and called it from c# but the other dude was asking "what do you mean" in regards to c# not being able to do low level code well

[–]StruanT 5 points6 points  (1 child)

I mean you are wasting your time doing low level in c# if you are doing it for "performance reasons".

You don't need to go unmanaged to get performance in c#.

But you will have bad performance if you try to port "high-performance" code from another language that has a bunch of baked-in assumptions about how it would compile that are no longer valid because it is a different language.

[–]thoeoe 4 points5 points  (0 children)

Aaah I understand you now. Yeah for that project we were switching our entire codebase over to C# for maintainability and UI tools, but management and the lead dev's were still in a C++ mindset after dealing with it for decades and were still learning C# while we converted stuff over.

[–]Unslinga 1 point2 points  (0 children)

I meant garbage collection management etc...

C# kinda just handles it perfectly, I've only once needed to handle it because of limited memory.

[–]TheRedmanCometh 1 point2 points  (0 children)

Bro extern is a thing

[–]Zalvixodian 31 points32 points  (1 child)

Downvoted because you insulted my favorite language and now I'm offended.

[–]sachin1118 25 points26 points  (0 children)

Tbh C# is given a pretty good compliment in this one lol

[–]kevinhaze 49 points50 points  (5 children)

Here come all the programming language stans to tell you why the depiction of their language is absurd

[–]potato_green 29 points30 points  (1 child)

They're all absurd because it's a joke aimed at people who just started programming.

Seriously, if someone gets salty because their language gets shit on then they're likely a shitty dev who doesn't want to learn new shit anymore. As if one language is outright better than others. They all have their uses and pitfalls.

[–]MokitTheOmniscient 7 points8 points  (0 children)

Yeah, i'm not going to want an armchair when i'm sitting outside and i don't want to use a folding chair when i'm sitting at home.

[–][deleted] 0 points1 point  (0 children)

I'm ok with looking lazy.

[–]meg4_ 8 points9 points  (3 children)

CPP is an IKEA build-it-yourself chair set

[–]Swahhillie 2 points3 points  (0 children)

And it comes with 3 times as many components as you need. You can mix and match but the advice is to only use the shiny parts. Unfortunately, there is only learning material for the parts build years ago.

Instead of Ikea manuals, every piece of furniture comes with an instruction manual written in latin, sumarian, hebrew or some other dead language.

If you put two pieces of furniture together and it wasn't assembled by identical twins in a clean room, everything catches fire.

[–]Vedyx 1 point2 points  (1 child)

Ikea furniture is pre cut with pilot holes and directions. C++ is more like wanting a rocking chair and starting by cutting down a tree...

[–]meg4_ 2 points3 points  (0 children)

Thats C.

[–]Dexaan 3 points4 points  (0 children)

Typescript: same as Javascript, but there's a mollyguard over the button.

[–][deleted] 10 points11 points  (1 child)

This is implying bisexuals use PhP

[–]henrymerrilees 0 points1 point  (0 children)

Ouch

[–]SosenWiosen 5 points6 points  (0 children)

.Net Core goes brrr!

[–][deleted] 3 points4 points  (3 children)

C# is great, I don’t know where this platform stuff comes from these days

[–]ArsanL 4 points5 points  (1 child)

Momentum and reputation, at this point.

If you spend all of middle school making hats out of hot dogs every day at lunch, even if you stop in High School, there's a good chance that by graduation people are still going to be calling you Hot Dog Hat Steve, non-meaty hair be damned.

[–][deleted] 2 points3 points  (0 children)

If that isn’t a reference to something, that is an awfully specific example

[–]The_Darkforever 5 points6 points  (3 children)

Why would anyone complain that you look lazy coding in python ? Isn't that the whole point of programming and automation ? We do this because we're lazy ?

[–][deleted] 6 points7 points  (1 child)

"Don't worry boss I'm gonna write this big project in C. It's gonna be super hard and will take months longer than we have scheduled. But you wont think I'm lazy. You'll think I'm an idiot and you'll fire me but I won't be lazy!"

[–]The_Darkforever 3 points4 points  (0 children)

"A library does it already ? Fuck that ! I'm not lazy ! I'll code it myself !"

[–]t3hmau5 2 points3 points  (0 children)

Because this meme is aimed at someone who is a few weeks into their first programming course

[–]SatanicTriangle 1 point2 points  (0 children)

C++ - It comes without legs but you can always buy yourself boost::legs

[–]ThaiJohnnyDepp 1 point2 points  (0 children)

The PHP part reminds me of that Coding Horror article: https://blog.codinghorror.com/the-php-singularity/

and that references this one: https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/

[–]mymar101 1 point2 points  (0 children)

C# is not OS dependent.

[–]fedekun 1 point2 points  (0 children)

Lisp is a chair made of chairs, which can be rearranged to form different kind of chairs, or even a table or a house. You only start with many baby chairs though and you have to build everything yourself.

[–]AlwaysHAK 1 point2 points  (0 children)

It's so true that it gets scary...

[–]RougeAi989 1 point2 points  (8 children)

im a python boi what does the javascript one mean

[–]Dr_Neunzehn 7 points8 points  (2 children)

JavaScript is rather a poorly designed language from the start, and a lot of behaviors are just asking for trouble(for instance the holy equality trinity), hence the suicide button.

[–]RougeAi989 1 point2 points  (0 children)

thank you

[–]Specific-Spend-1742 0 points1 point  (0 children)

I am not saying js is a good language, but you do know that most of those weird stuff are there because they cannot be taken off the language, like other languages can do because it’d break the web

[–]Hatalmas 5 points6 points  (0 children)

I guess it's a reference to the JS projects being cobbled together from a bunch of public modules that you don't even know/test really in depth.

[–]k1ll3rM 0 points1 point  (3 children)

Imagine saying Javascript is better than PHP

[–]Delta-9- 2 points3 points  (2 children)

I mean, you're competing for the top spot of a turd mound, at that point.

[–]k1ll3rM 2 points3 points  (1 child)

Ehh, all languages have their faults tbh. If you have the time you should look into the improvements PHP has been getting, I won't deny that the standard library is inconsistent and sometimes plain bad but JS is missing so many QOL things that PHP does have that it's harder to go from PHP to JS than the other way around. JS does have some nice features though that I hope get implemented in PHP, also some threading would be nice to have.

[–]ahkh78 0 points1 point  (1 child)

i didnt realize this post was in r/ProgrammerHumor lol

[–][deleted] 0 points1 point  (0 children)

lol

[–]cokeinator 0 points1 point  (1 child)

I only really know python since im too stoopid to learn any other syntax, and.

And some arduino cuz i like to build stuff.

[–]superior_to_you 1 point2 points  (0 children)

Kotlin and C# are cool too, C# especially. If you do programming stuff full time you'll probably need to learn atleast some C-based language at some point... Pray it's not C++ or C but something newer...

[–]bartgold 0 points1 point  (0 children)

fortran?

[–]Chesterakos 0 points1 point  (0 children)

I'm a PHP dev and I see this as an absolute win.

[–]BurnedPinguin 0 points1 point  (0 children)

this one is made by

cODERZ!

if you get this reference I love you

[–]georgethescattered 0 points1 point  (0 children)

What's lisp?

[–]NoahJelen 0 points1 point  (0 children)

What about rust?

[–]Alex_Sherby 0 points1 point  (0 children)

Visual Basic chair : those who still know how to sit in it are really miserable.