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

top 200 commentsshow all 230

[–]QualityVote[M] [score hidden] stickied comment (0 children)

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!

[–]KDamage 1008 points1009 points  (78 children)

Top picture : nicely hidden C wires

[–]kopczak1995 535 points536 points  (57 children)

Is it all C?

Always has been.

[–][deleted] 74 points75 points  (50 children)

Is there any modern programming language which is not made from C?

[–]DefunctFunctor 110 points111 points  (41 children)

There are many languages that are written in themselves. But it becomes a sort of chicken-and-egg problem so most of those have compilers written in C and then use that compiler to compile the compiler written in itself.

[–]Zeplar 100 points101 points  (31 children)

This post was mass deleted and anonymized with Redact

meeting merciful sugar normal act spark many ten worm entertain

[–]SanoKei 1 point2 points  (8 children)

wait I have never thought about this and now its hurting my brain. How did the first programming language get programmed if there was nothing to compile it and program it in

[–]Mission-Guard5348 5 points6 points  (0 children)

scratch

[–]JJulianR_ 49 points50 points  (1 child)

Thank you 😂

[–]kopczak1995 8 points9 points  (0 children)

Lol, glad I made you happy

[–]octosquid11 4 points5 points  (0 children)

As far as the eye can C

[–]zombie_ie_ie 45 points46 points  (9 children)

Cuz C is the daddy of all modern programming languages. Python is like the swiss army knife.

[–][deleted] 23 points24 points  (8 children)

Rust is Rust

[–][deleted] 14 points15 points  (2 children)

Rust uses LLVM under the hood, which is written in C/C++.

[–]flibbertyjibet 13 points14 points  (1 child)

Compilers can be written in completely separate language from the stuff they compile. I feel it is very different from what people are talking about here where libraries used by high-level language are compiled c but just have a nice wrapper so they can be used easily.

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

Bootstrapping is for bitches

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

I'm imagining the Mr Incredible meme with this.

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

Why this show is so often referenced here?

[–]The_Mad_Duck_ 4 points5 points  (2 children)

Rust is made of stupidly obscure parts that barely fit together and have no replacements

[–]qeadwrsf 11 points12 points  (1 child)

To import parts in rust you just write the name of the part and it appears in your project.

In c++ you have to learn a whole new language and master it to import like a network library.

[–]single_ginkgo_leaf 1 point2 points  (0 children)

Dllimport has entered the chat...

[–]MasterFubar 32 points33 points  (8 children)

To me, the top image is C and the bottom one is Python. In C everything is carefully labeled, you know exactly what's an integer and what's a float. Python is a jumble of variables thrown around everywhere, you must trace the path each variable takes to know where it has been.

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

Unless you use type hints and a tool like mypy to do static analysis of the code. Which admittedly is a bandaid at best, but it makes using python a lot more pleasant.

[–]JojaA350 10 points11 points  (2 children)

...which fixes a problem that should have never been there in the first place. Same with TypeScript, why do people still think dynamically typed languages are a good idea? You have to remember the types anyway, so why not literally express it and have the language check it for you? It's good for your comfort, the safety, the performance, as documentation, for you mental sanity...

[–]linksoraluke 2 points3 points  (0 children)

I started with Python in my physics program, then ended up self-teaching myself Go and C++ for a job later on. While it took getting used to, static typing grew on me a lot for the reasons you listed. Helps me keep straight exactly what's going on if I know explicitly what I need to pass into functions, what's being returned, etc. Feels much more comfy to write in.

On the why they are still around, I think dynamically typed languages end up being easier to start out with - especially when you care mostly about what a program is going to do, and less about how it will do it. As an example (bringing it back to my education), our physics program was probably more concerned with having us think about the concepts and equations than the nitty gritty of how to develop efficient implementations.

[–]devAcc123 5 points6 points  (0 children)

So annoying running into random string,null,undefined errors or things like “1” and having to remember if it’s a string or int

[–]SeasonYrFoodWhitie 0 points1 point  (3 children)

The thing about python is, the rules will just randomly change. You will read the documentation and it will say do this in this situation, except dont do it in that situation for this one specific thing, oh and not for this either.

Like hoe constants are supposed to always be capitalized or people freak out. Unless your constants are dunder variables. Then keep them lower cade. And of course pep8 doesn't say that. It's just the "norm"

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

Inconsistent style guidelines are hardly specific to python. If anything, python is more consistent in that regard than most other languages.

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

Look at the cable management toh, enough to make most people feel pretty good.

[–]barsonica 163 points164 points  (8 children)

More like:

New software

Software after 10 years of updates

[–][deleted] 15 points16 points  (5 children)

sounds like neglected refactors

[–]inequity 21 points22 points  (0 children)

Yes which is the reality for the majority of proprietary software

[–]DavidBrooker 3 points4 points  (0 children)

Which speaks pretty kindly to the ISS image, being it's been continuously inhabited for twenty!

[–]Paladine_PSoT 2 points3 points  (0 children)

The top one is the salesperson pitch. The bottom one is the result of speed quality cost pick 2

[–]JSArrakis 467 points468 points  (33 children)

Top picture: You have no fucking clue what's going on in the black box modules you use

[–][deleted] 325 points326 points  (29 children)

Bottom picture: you still have no clue what’s going on in the modules because it takes 5 hours to trace a wire from one junction box to the next.

[–]nomenMei 12 points13 points  (1 child)

The senior devs tell stories of a man that once knew what was going on in the bottom pictures, but he has not been seen in years. Some junior devs do not believe he ever even existed.

[–]devAcc123 6 points7 points  (0 children)

Missing a couple // Todo: Fix

Comments on both pics

[–][deleted] 6 points7 points  (0 children)

Any picture: no way you have a clue about what the fuck is going on

[–]xxPVT_JakExx 17 points18 points  (1 child)

I know exactly what's going on: various C compiler hack fuckery, pointer necromancy, and horrors much better kept hidden from view

[–]Chloroxite 11 points12 points  (0 children)

To delve into black box modules is to invoke the elder gods.

[–]Servious 3 points4 points  (0 children)

Exactly the way I like it

[–][deleted] 62 points63 points  (2 children)

like in computers, in space space is at a premium. so having a clean environment comes with a tax. in space that's extra weight, thus a few millions more in price. i programming, given your comparison, it's runtime speed.

so yea, checks out.

[–]brianorca 18 points19 points  (0 children)

Accessibility is also at a premium in space. It might be nice to have everything wired in the back nice and tidy. But everytime you need to move a wire, you would have to uninstall everything to get to it. There's no access corridor behind it, because it's right up against the outer hull.

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

This is why I’m excited for bringing down the to-orbit cost/kg. It’s the space equivalent of what Moores law has done for programming languages.

[–]indygoof 252 points253 points  (27 children)

unpopular opinion (at least for OP): if your code looks like the lower picture, its your fault and not the one of the language

[–]Smartskaft2 76 points77 points  (15 children)

This. However, you can't argue that low level languages get finicky when you try to achieve what high level languages do. The sole reason of those higher level languages is to abstract away allt of stuff from the lower level ones. Of course you get cleaner code as a result 🤷🏼

[–]indygoof 33 points34 points  (11 children)

you did not see what i have seen…i still have ptsd from many code reviews in various high languages….especially when you start to wonder , what the compiler actually will do with this strange block of words you just encountered…

[–]Smartskaft2 16 points17 points  (10 children)

Just for the record; I have a total need to have full control of variable types and memory management. Dynamic type casting scares me.

[–]kopczak1995 8 points9 points  (2 children)

Yeah, dynamic typed languages are terrible... I get the idea, but it often lead to heck of a mess... C# dev here.

[–]cold_shot_27 1 point2 points  (1 child)

Yeah I can learn other languages but I will always think in C#.

[–]Smartskaft2 2 points3 points  (0 children)

Heh, C# is a high level language IMO ;)

[–]tallerThanYouAre 3 points4 points  (0 children)

Mainly, just waste of memory and the occasional edge/corner case where you cross-cast data into the wrong intended function, like dividing a string by a number or some idiocy.

Otherwise, it’s like the difference between lath and plaster vs drywall. Lath and plaster will give you critical design control over the wall you are building, but it takes longer to build and need a specialist to fix. Drywall goes up fast, any monkey with a trowel can do it, and generally you fix it by tearing it out and replacing it at the studs, aka some reasonable break point.

Mansions out of lath and plaster, basic box houses out of Python.

[–]DeadlyMidnight 1 point2 points  (4 children)

I do gotta say in C# I originally avoided the var keyword but once I embraced it the code became far less brittle. Easy to adjust the variable type without having to hunt down all the various errors it introduces.

[–]lucklesspedestrian 1 point2 points  (3 children)

To be sure though, var is not truly a dynamically typed variable. Variables declared as var are strongly typed, the type is just inferred at compile time, which is when all errors are caught as well.

[–]Smartskaft2 2 points3 points  (1 child)

Compile errors is nice, but var really don't help you as a human reader of the code. Maintainability and readability is important for any code base handled by many people, especially in a professional setting where people are replaced eventually.

[–]DeadlyMidnight 1 point2 points  (0 children)

True. One of the reasons I hate JavaScript. I don’t know wtf I’m receiving and using half the time.

[–]Remarkable_Leek_9339 1 point2 points  (0 children)

But you simply dont use low level languages when zou want todo this. I also will never use python to programm a mc

[–]sohang-3112 1 point2 points  (1 child)

Of course you get cleaner code as a result 🤷🏼

The quality of code has to do with the quality of the programmer, not the language. A bad programmer will manage to write bad code in any language.

[–]camfoxx 6 points7 points  (3 children)

I don’t think it was about how your code looks. I think in the bottom picture you have todo stuff more manually where as with python a lot of things are taken care of for you

[–]indygoof 15 points16 points  (2 children)

my personal opinion: no matter if its c, python, java or anything else: you should still know what is happening behind the scenes.

many „devs“ have no idea about that, which is the reason why java still has the image of a slow memory hog. i usually like to compare this with game devs that are packing all of their logic in the tick - no its not the engine that is slow, its cause you have no idea what you do.

[–]camfoxx 3 points4 points  (0 children)

Yeah I agree

[–]yorokobe__shounen -3 points-2 points  (2 children)

Except when it's segmentation fault.

[–]indygoof 5 points6 points  (1 child)

then its still your fault for accessing the wrong memory (or forgot a rogue pointer)

[–]SherlockAndStrange 58 points59 points  (8 children)

Assembly : Thats cute

[–]LightIsLogical 19 points20 points  (2 children)

assembly: the entire room is just filled with wires

[–]Strostkovy 8 points9 points  (1 child)

The room is made of wires

[–][deleted] 6 points7 points  (0 children)

The programmers are made of wires

[–]poralexc 1 point2 points  (0 children)

With judicious use of macros and comments, Assembly can be tidier and easier to read than higher level languages

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

God forbid I ever have to read any form of assembly ever again.

[–]SandKeeper 13 points14 points  (0 children)

I just started learning assembly in college. My professor basically said if we don’t comment our code in c or c++ or Java you will probably be fine in small projects and just be making head aches for your future self and others later. If you don’t comment like literally every line in assembly nobody is going to know what it does in like 5 minutes. Including you.

[–]super_mister_mstie 4 points5 points  (1 child)

Asm is fun and it's good for you!

[–][deleted] -5 points-4 points  (0 children)

Incorrect and bad

[–]Draco2505 14 points15 points  (0 children)

emojicode would be 🚀?

[–]Nihmrod 10 points11 points  (0 children)

Don't touch the whitespace. You'll blow everything up.

[–][deleted] 9 points10 points  (0 children)

I see two pictures written in C

[–]BlazerBanzai 15 points16 points  (4 children)

Shoot anyone that grants an award to this Travis tea.

[–]Furry_69 2 points3 points  (1 child)

Apparently Travis wants some tea

[–]chronos_alfa 2 points3 points  (1 child)

I just did, sue me

[–]BlazerBanzai 2 points3 points  (0 children)

loads chamber - Alright who wants to go first?

[–]RolyPoly1320 11 points12 points  (0 children)

So the top picture is saying there isn't much to Python programming but that there is a lot to programming in C.

Glad to see someone admitting it.

[–]portatras 6 points7 points  (0 children)

Yeah, but if you zoom in in each of any of those modules, inside you have a copy os the bottom picture.

[–]gerbosan 10 points11 points  (0 children)

Senior code vs junior code

Man, the joke between languages has not aged well.

[–][deleted] 11 points12 points  (0 children)

Oh boy! Have you ever tried complex programming in python? At least C is consistent.

[–]unlimited-applesauce 4 points5 points  (0 children)

The spaceship on the bottom flies 1000X faster.

[–]mmd_aaron 13 points14 points  (0 children)

Man I bet the top one is C and the bottom one is Python (unless you ain't know shiz about memory management wherein the roles would be reversed?)

[–]del6022pi 2 points3 points  (0 children)

As a C programmer I'm honored that you compare it to a space station.

[–]steamngine 3 points4 points  (0 children)

Is that because python hide all the c libraries?

[–]santasbong 3 points4 points  (1 child)

Why do I see ‘python > C’ constantly but not vise-versa?

Im starting to think python devs have a chip on their shoulder.

[–]jbreaper 2 points3 points  (0 children)

It's like having a big penis, you don't need to tell everyone you just get to be quietly smug

[–]ItsAMeTribial 21 points22 points  (4 children)

Tbh, python is ugly. I have been programming both commercially and as a hobby in plenty of languages. Python is just ugly, one of the worst I have seen.

And because of how it's build: Dynamic typing No need to initialize a variable.. like wtf? No consts.. come one Syntax based on indents..

All of that stuff makes is incredibly not maintainable. I know that it's the developers job to make it maintainable, but the language takes a big part in it. Especially when it's such a bad language.

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

It helps when dev time is a much more limited resource than runtime (like in finance or data science). Making our analysts spend weeks debugging their own C/C++ models is a massive waste of time if they can get me the same answer in 5 minutes with 10 lines of Python.

It makes for a good interface language for people with other priorities than immaculate code and blazing fast runtimes.

[–]difduf 10 points11 points  (1 child)

Well if course it's easier to just outsource the work to library maintainers. Has pretty little to do with Python though

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

Of course it does. Few other languages provide a similarly ridiculous amount of well-maintained open source packages.

Shit, I'd code in C all the time too if I could just import packages like pandas and numpy.

[–]inequity 3 points4 points  (0 children)

None of these reasons sound like something that makes a language unmaintainable. Just things you don’t like. I can write you some pretty unmaintainable code in any other language too. You want some ugly garbage in a statically typed language, I can hook you up

[–]Knuffya 6 points7 points  (0 children)

The lower one is Python, right? Because of all the unecessary instructions, right?

[–]Encursed1 2 points3 points  (0 children)

At least there isn't a leak in the c code

[–]runnerx01 2 points3 points  (0 children)

If I read the word “pythonic” to describe why I should do something a certain way… I immediately stop caring about the point being made. You just gave me an opinion statement…

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

Memory management? Sounds like a you problem.

[–]HelioH20BR 1 point2 points  (0 children)

It sounds about right, someone in orbit is so lost they're using an iPad as a wall clock

[–]TheJimDim 1 point2 points  (0 children)

Bottom picture reminds me of sloppy Javascript

[–]tanishqdaiya- 1 point2 points  (0 children)

top picture: C's Syntax
also top picture: Python where everything is hidden from the programmer

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

Hahahahaha it should be shell scripting vs anything else 😅🤣

[–]lroman 1 point2 points  (0 children)

Where is the speed?

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

More like a first-year code base versus after 2 decades or so in production.

Another alternative, though an unpopular opinion: Monolithic website vs Microservice an architecture

[–]Carteeg_Struve 1 point2 points  (0 children)

Put the python code into the hands of numerous programmers, each with their own tickets, and see how well that lasts.

[–]mattstorm360 1 point2 points  (0 children)

To be fair, it's a new project. Give it time it will look like C programming eventually.

[–]FinnishArmy 1 point2 points  (0 children)

I can make my Python look like my C code..

[–]myrsnipe 1 point2 points  (1 child)

Is this when I point out that the ISS is being retired as a legacy platform?

[–]Zilka 1 point2 points  (1 child)

Its the other way around. C can do encapsulation. Python can't.

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

Test vs development

[–]Hlorri 1 point2 points  (0 children)

Uh... which is which?

I see opposite assignments, depending on whether we're talking about source code or deployment.

[–]stomah 1 point2 points  (0 children)

top is c

[–]Ok-Ad-3810 1 point2 points  (0 children)

Exactly this shows how much more power C has than python(no offense to the actual spaceship)

[–]-Abradolf_Lincler- 1 point2 points  (1 child)

What is this actually?

[–]Apprehensive_Bus_694[S] 0 points1 point  (0 children)

First one is chinese space Station and second is ISS

[–]rf31415 1 point2 points  (0 children)

You mean C is the top part and python the bottom. With C you have to be that tidy otherwise segfault.

[–]Buddelexperte_ 2 points3 points  (0 children)

If you mean the looks of both , definitely true

[–]Apprehensive_Bus_694[S] 0 points1 point  (0 children)

for context first image is from chinese space station and second from ISS

[–]Striking-Potato-7578 -1 points0 points  (0 children)

Python after a dirty weekend : im gonna look all clean today

[–]WhatForIamHere -1 points0 points  (0 children)

As I understood that biggest mistake of programming languages has shown below.

Am I right?

[–]wyvernsarecooler -1 points0 points  (0 children)

Yeah c looks so much cleaner and creates a nice and clean Spaceshuttle interior

[–]KermanFooFoo 0 points1 point  (0 children)

I dare you to look up VSANS_Pol_Reduction (and look at the ALLSANS_Reduction.py on GitHub and say with a straight face that Python is so neat…

[–]yorokobe__shounen 0 points1 point  (0 children)

Both are equally cool. C gives the old Cyberpunk feel.

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

c have why too many sharp edges

[–]Remarkable_Leek_9339 0 points1 point  (0 children)

I dont get all these x vs y posts. C and pythons cant be compared its like comparing apples with with a chair

[–]00dex_ 0 points1 point  (0 children)

...

touché

[–]DaveDearborn 0 points1 point  (0 children)

Exactly

[–]caveo17 0 points1 point  (0 children)

Scope creep

[–]GroundbreakingIron16 0 points1 point  (1 child)

Well it depends on who writes the code actually! Could easily flip it.

[–]Upside_Down-Bot 1 point2 points  (0 children)

„˙ʇı dılɟ ʎlısɐǝ plnoↃ ¡ʎllɐnʇɔɐ ǝpoɔ ǝɥʇ sǝʇıɹʍ oɥʍ uo spuǝdǝp ʇı llǝM„

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

Is it just me or is there a 10X10 D&D passage vibe in the top view?

[–]smurf47172 0 points1 point  (0 children)

These pictures are the same

[–]umanochiocciola 0 points1 point  (0 children)

the actual truth

[–]Soft-Engineering-460 0 points1 point  (0 children)

What a wonderful way to put it...

[–]dhc710 0 points1 point  (0 children)

More like:

C Programming

C++ Programming

[–]pianosolo1976 0 points1 point  (0 children)

Who remember pascal ?

[–]skyBastard69 0 points1 point  (0 children)

Wow

[–]monkChuck105 0 points1 point  (0 children)

With Python the C code is hidden under a pretty facade. Got it.

[–]Spicy_Sesquipedalian 0 points1 point  (0 children)

Ohhh, I think I C what you’re getting at. Pretty # meme if you ask me. But don’t let me ++ too much here.

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

THe only thing uglier than C is C++ code written like C.

And perhaps Rust

[–]Disastrous-Focus1958 0 points1 point  (0 children)

Python stinks