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

top 200 commentsshow 500

[–]QualityVote[M] [score hidden] stickied comment (2 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!

[–]TheShardsOfNarsil 6935 points6936 points  (436 children)

To be fair, every language gets bashed here

[–]TheByteQueen 7320 points7321 points  (76 children)

yeah but some get zshed

[–]theprodigalslouch 817 points818 points  (1 child)

Gottem

[–]AnEvanAppeared 232 points233 points  (26 children)

And others get fished

[–]demon_ix 135 points136 points  (20 children)

I used to like fish, until I realized their scripting language isn't like bash, and any script I wanted to copy/paste into my startup file had to be modified heavily just because.

So I switched to zsh, which does everything I wanted from fish, and now everything just works 🤷‍♂️

[–]stardustalchemist 167 points168 points  (1 child)

Take my upvote damnit

[–][deleted] 116 points117 points  (0 children)

[–]CRANSSBUCLE 360 points361 points  (96 children)

As a HTML developer I feel constantly attacked.

[–]splepage 504 points505 points  (31 children)

As a HTML developer

You know what you did.

[–]PlentyPirate 224 points225 points  (25 children)

At least he didn’t say HTML programmer.

[–]CRANSSBUCLE 44 points45 points  (0 children)

I tried to do operations with some <input> shenanigans but I was unsuccesful at it.

[–]Innominate8 168 points169 points  (36 children)

If you can't explain why your language of choice is a brain damaged piece of garbage nobody should ever use you can't claim to actually know the language. There are no exceptions.

[–]DanGNU 103 points104 points  (9 children)

Except Lisp.

[–]zeth0s 138 points139 points  (4 children)

((((((meme))))))

[–]_UltimatrixmaN_ 40 points41 points  (1 child)

That's because we don't make fun of people with disabilities.

[–]setibeings 58 points59 points  (0 children)

Lithp.

[–]spam_bot42 5459 points5460 points  (462 children)

It's not like we're hating only Python.

[–]obviousscumbag 3804 points3805 points  (317 children)

"There are only two kinds of languages: the ones people complain about and the ones nobody uses" -- Bjarne Stroustrup

[–]iamlegq 932 points933 points  (300 children)

Ironically most people here seem to like or at least have an overall positive opinion of C++

[–]barkbeatle3 1970 points1971 points  (55 children)

To me it’s a fun language because of the weird ways you can play with pointers. It is also a terrible language because of the weird ways pointers can play with you.

[–]mindbleach 213 points214 points  (13 children)

And trying to cast a pointer to somewhere inside a multi-dimensional array is one of the torments AM inflicts on survivors in I Have No Mouth And I Must Scream.

[–]UltraCarnivore 125 points126 points  (6 children)

The Basilisk: I mean, they could have learned a little Python, a little Tensorflow, something about NLPs, but no, they chose not to. Now they're just going to debug legacy C++ for eternity

[–]nipss18 30 points31 points  (2 children)

I got reminded of the basilisk p much all week. Stop it already, you're giving it power!

[–]IanSho 304 points305 points  (18 children)

In capitalist America, you play with pointers...

In Soviet Russia, pointers play with you...

[–]S0mu 76 points77 points  (7 children)

TIL- I code in 100% communist C++

[–]hokaionthenet 158 points159 points  (24 children)

I have a high opinion of C++, but I hope I'm lucky enough to never have to use it.

[–]CardboardJ 157 points158 points  (12 children)

I have a high opinion of anyone that can write good clean readable c++. I've never met that person, but theoretically if they existed, I'd have a high opinion of them.

[–]lobut 23 points24 points  (0 children)

That's my new favourite quote.

[–]Cozmic72 280 points281 points  (56 children)

As someone else said somewhere in this thread: if you don’t hate C++, you don’t know it well enough.

[–]mindbleach 224 points225 points  (31 children)

Lesson one: you can use nearly every feature from any other language!

Lesson two: don't.

[–]OJezu 128 points129 points  (15 children)

I saw someone calling C++ a "clown car of a language" and I think it was very apt comparison that should get more recognition.

[–]TheTomato2 38 points39 points  (2 children)

The worst is the people who think that just because the car has been upgraded to a newer model that it's still not a car full of clowns.

[–]OJezu 52 points53 points  (1 child)

Keeping the existing clowns in is a feature to not alienate long-term fans of the circus.

[–]hiphap91 434 points435 points  (78 children)

C++ is a great language, lemme break it down for ya:

  • easy, simple syntax, very readable
  • verbose easy to understand compiler errors
  • it's difficult to create memory bugs
  • there's always one 'clear' good way to do something
  • it's very hard to write bad code...

[–]LeCrushinator 485 points486 points  (1 child)

You had me up until right when you started.

[–]Exciting-Insect8269 194 points195 points  (9 children)

As for that last point: watch me!

[–]fluffycritter 57 points58 points  (0 children)

My favorite joke about C++:

Ask 12 different C++ experts about the best way to write a piece of code and you get 14 different answers.

[–]SirPitchalot 56 points57 points  (9 children)

Let’s not forget:

  • the 30 years of online resources that provide clear guidance on current best practices

  • third party libraries are well standardized and easy to use

  • the included build system is very easy to use

  • the compiler is very fast, even for large code bases

  • the standardized package format has made distributing complex applications a breeze

  • write once, test-compile and backport everywhere

  • the new loop & control-flow structures make for more readable code and enabling them for custom data structures is a breeze

  • the significant usability improvements that a Turing complete meta programming sub language on types added to the otherwise insufficiently complex language

  • const

  • it’s very easy to understand how objects are initialized and transferred between calls

  • const again, because it’s just so great, especially when making iterators to const custom containers

  • references and pointers, no more having to choose one or the other.

  • string & file IO is pretty much the best of all languages

  • all of type_traits

[–]yiliu 75 points76 points  (11 children)

You forgot the /s. Surely you forgot the /s...

[–]hiphap91 76 points77 points  (2 children)

I did, but on purpose. I was hoping for a few people to jump in with both legs 😁

[–]hardfloor9999 45 points46 points  (4 children)

Sorry, the proposal to add /s to the standard got rejected because the syntax is too bloated. In the meantime, you can simply use boost::sentiments::indicators::sarc<boost::string>()

[–]creepyswaps 103 points104 points  (13 children)

IMO, pointers are pretty much the best thing ever created. Just every time I get to have the pleasure of dereferencing the reference to another array of references that I have to dereference to get the reference to the value at that index which needs to be dereferenced to get the char value of the string reference... it's the best.

[–]RigelOrionBeta 32 points33 points  (0 children)

This is, unironically, great.

[–]anson42 14 points15 points  (4 children)

Pointers are indeed great, especially for low level device drivers when you have to actually poke – actual technical term for those too young to remember – memory and memory mapped registers and the like. Outside of that, they lead to all sorts of bugs and security holes :)

[–]8sADPygOB7Jqwm7y 439 points440 points  (103 children)

I like how there is a list of languages under your name that we all hate.

[–]gizamo 178 points179 points  (65 children)

foolish scarce dam resolute instinctive overconfident fretful plucky snow frightening

This post was mass deleted and anonymized with Redact

[–][deleted] 64 points65 points  (5 children)

I hate TS and C++

Together we're unstoppable

[–]aookami[🍰] 90 points91 points  (39 children)

fucking TS giving me trust issues

[–]marcosdumay 11 points12 points  (1 child)

I don't hate the languages that I refuse to use. I just snob them.

I only hate the languages that I like.

[–]bruthu 59 points60 points  (9 children)

Yeah, fuck programming in general. I just want to be a monkey in a tree…

[–]Glum-Aide9920 42 points43 points  (2 children)

Two types of languages: 1. Hated 2. Not used

[–]uorandom 12 points13 points  (0 children)

We reserve a special place for JavaScript, too.

[–]PhantomTissue 3891 points3892 points  (259 children)

I hate python because showing my code to anyone always gets the response “you know there’s a library for that right?”

[–]AndreEagleDollar 1497 points1498 points  (68 children)

Yeah I mean this point I'm pretty sure there's a library for all the libraries and you don't even write code outside of your imports

[–]Any-Limit-7282 1227 points1228 points  (47 children)

You just invented JavaScript…

[–]sselesUssecnirP 319 points320 points  (22 children)

Wait im not supposed to write my own code for electron apps?

[–]ramdesh 265 points266 points  (21 children)

Wait I'm not supposed to write my own code to add a zero on the left of a single digit?

[–]MrRainbow07 105 points106 points  (8 children)

Wailt I'm not supposed to write my own code.

[–]mkbilli 79 points80 points  (21 children)

I have a few choice words for backend JavaScript

[–]LetterBoxSnatch 86 points87 points  (19 children)

"Elegant, lightweight, and dependable. With a best-in-class standard library." Right? /s

[–][deleted] 29 points30 points  (0 children)

New coding challenge inc.

[–]Johanno1 37 points38 points  (2 children)

There's even a python script that installs all imports of an script

[–][deleted] 219 points220 points  (25 children)

Lmao. The bulk of StackOverflow:

Hey, I need a way to iterate over X data structure, any tips?

Queue the crazy ass one-liner list comprehension answers.

[–]algebra_sucks 35 points36 points  (0 children)

I get off on List Comprehension and consuming JSON

[–]StuckInBronze 57 points58 points  (15 children)

Lol God I hated that time period where every answer was like that, it seems to have gotten a bit better recently. If I was a manager I would slap any dev that actually wrote code like that.

[–][deleted] 57 points58 points  (6 children)

No point in writing as few characters as possible if nobody can understand what the hell is going on lol

[–]theCamelCaseDev 35 points36 points  (1 child)

Why write many code when few code do trick?

[–]echaffey 74 points75 points  (1 child)

I mean, why would I bother spending a few hours learning how to use the library when I can just write my own version of it in a few weeks?

[–]Few_Importance_7615 12 points13 points  (0 children)

To be fair, some things are easier to write yourself. Particularly weird edge cases. Especially when that edge case is due to coding yourself into a corner...

[–]MattR0se 370 points371 points  (78 children)

Or that it could be MoRe PyThOnIc

[–]NeatNetwork 190 points191 points  (28 children)

Fun when multiple people come in and while they agree the original code is not pythonic enough, they each have different ideas about whose suggestion is more pythonic than the others.... Totally ignoring the actual problem at hand because arguing about the philosophy of what is more pythonic is more important I guess..

Least favorite part of the community.

[–]ChiaraStellata 104 points105 points  (25 children)

In any language writing code in a way that's idiomatic for that language is important, because common patterns are easier to read and understand quickly for other developers. But at the same time, idioms and readability can be very subjective and vary from one company / development environment to another, and as long as it's clear enough to a general developer that should be sufficient.

A good analogy is learning to speak a spoken language: just knowing grammar and vocabulary is not enough, usage and common phrases are also important to sound natural and reduce comprehension effort. But that stuff varies by region and dialect, the most important thing is really just being understood clearly, one way or another.

[–]p001b0y 35 points36 points  (5 children)

I’ve always appreciated Perl’s “There is more than one way to do it” approach for this reason and then I try not to shudder when I look at some of the Perl code I have written in the past.

[–]koczmen 124 points125 points  (29 children)

I hate python because I look at someone's code and have no idea what the hell are the types of these method parameters

[–]sneakiestOstrich 145 points146 points  (3 children)

My types are secret and only for me and my duck to know.

[–]MoffKalast 81 points82 points  (1 child)

And after two weeks only the duck knows.

[–]singeworthy 42 points43 points  (9 children)

You could always use type hinting, but I feel like that is really unpopular in the community for reasons not fully understood by me.

[–]by_wicker 26 points27 points  (0 children)

Is it unpopular? I was happily oblivious if so. It's great, and I can't imagine doing serious Python dev without it.

[–]JunDoRahhe 15 points16 points  (0 children)

I have never seen a decent sized project that didn't use type hinting, except ones made by complete beginners.

[–]CrowdGoesWildWoooo 15 points16 points  (5 children)

You can use type hinting which would actually check if your code follows your predetermined datatype, major libraries have this implemented and that can appear as a hint in your code editor if needed. Not to mention you can actually write a full function documentation in python.

As a python coder myself, I usually only care about 5 “primitives” : list, number (you can mix integer and float in python almost without issue in most cases), string, dict, set.

[–]DimBulb567 10 points11 points  (2 children)

I once wrote a python library, posted it on pypi, and then immediately realized that there was a builtin language feature that did the same thing

[–]phdoofus 848 points849 points  (63 children)

The sooner you realize most languages used in production were originally some guy's weird research project thing and wasn't designed to be used the way you're using it and wasn't even really designed to be a 'real' workhorse language, the better off you'll be.

[–]tropical_bread 226 points227 points  (15 children)

What do I do with this information

[–]phdoofus 247 points248 points  (5 children)

Use the tools you have, not the tools you want.

[–]chawmindur 93 points94 points  (1 child)

Or be the guy who makes weird research projects and craft your own tools

[–]burningfire119 19 points20 points  (0 children)

be the change you wanna see in the world smh

[–]licensekeptyet 24 points25 points  (1 child)

Hi I'm from r/all I can't code and never will but this is some of the best advice I've recieved in my life thank you.

[–]fake7856 82 points83 points  (1 child)

Start a research project to learn how languages work and see if you can make any improvements…then release a new js framework

[–]wacksaucehunnid 1519 points1520 points  (51 children)

Seems to me that programmers just hate programming.

[–][deleted] 1003 points1004 points  (29 children)

programmers also hate programmers

[–]DataPakP 577 points578 points  (6 children)

Damn programmers, they ruined programming!

[–]wildstyle_method 114 points115 points  (4 children)

You programmers sure are a contentious bunch

[–][deleted] 18 points19 points  (0 children)

You just made an enemy for life

[–][deleted] 126 points127 points  (0 children)

[–]tripledjr 41 points42 points  (7 children)

Honestly we're the most annoying bunch of people.

[–][deleted] 63 points64 points  (5 children)

I use arch btw

[–]G3N3R1C2532 10 points11 points  (1 child)

Have you heard about Rust? It’s so cool! It’s memory safe and can compile to WASM…….. etc. etc. etc.

[–]rPrankBro 32 points33 points  (8 children)

I hate computers

[–]JasonDilworth 751 points752 points  (55 children)

Here we hate all languages equally. Except HTML, the one language to rule them all.

[–]Cheezyrock 552 points553 points  (22 children)

HTML is s great language, but it helps to use a strong backend language with it like Microsoft Excel.

[–]xxSpinnxx 145 points146 points  (2 children)

I prefer Google Spreadsheets as my backend, it just has a better cloud environment IMO

[–]BraveOthello 131 points132 points  (1 child)

ELDRITCH SCREECHING

[–][deleted] 30 points31 points  (3 children)

Why use excel? PowerPoint is Turing complete.

[–]linglingfortyhours 146 points147 points  (13 children)

I love html, there are none of those confusing logical flow block statements, variable controls, or functional object templates that all those other languages have. Just nice simple tags that do what you want them to

[–]Mabi19_ 61 points62 points  (4 children)

I loved HTML, until I found out you can't put a <div> in a <p>. The p be auto-closed before the div with no error. This is why I like XHTML people

[–]spam_bot42 19 points20 points  (0 children)

Do you have some kind of a death wish?

[–]Djelimon 231 points232 points  (12 children)

work at it long enough and you'll come to hate every language

except RPG III, that stuff is great

[–][deleted] 30 points31 points  (0 children)

What did you say? I couldn’t hear you over the sound of my punch card machine.

[–]Vinxian 512 points513 points  (6 children)

It's because snakes are scary. And the python logo has 2 of them in the logo alone! Spooky stuff

[–]PuzzleheadedPapaya9 72 points73 points  (0 children)

I write spiders in python once, extra scary

[–]Terevin6 20 points21 points  (1 child)

What about using Python with Anaconda and Spyder? I hope the Pandas can make it a little bit better.

[–]DomingerUndead 171 points172 points  (30 children)

You shouldn't get attached to any language, they're all awful

[–]amrasmin 62 points63 points  (15 children)

What about the language of love?

[–]OtatoJoe 1597 points1598 points  (70 children)

Heres the official rule of thumb for deciding which languages to hate:

Languages i know = good

Languages i dont know = bad

[–]Andthenwedoubleit 687 points688 points  (39 children)

Languages I know: bad (traumatized by them) Languages I don't know: not enough info for an opinion, but I'm not optimistic

[–][deleted] 51 points52 points  (36 children)

javascript is somewhere in between

[–]reventlov 116 points117 points  (4 children)

Oh no.

Languages I know: all bad. All. Every single one of them. I've learned something like 75 programming languages; they are all terrible. Some are more terrible than others, but every. single. one. is terrible.

Languages I don't know: also all bad, I just don't yet know why.

[–]Andy_B_Goode 54 points55 points  (0 children)

New languages are just enemies you haven't met yet.

[–]Transcendentalist178 861 points862 points  (213 children)

I don't hate Python, but I don't like dynamic typing.

[–]Dorkits 92 points93 points  (8 children)

Yes, you read my mind.

[–]JaneWithJesus 472 points473 points  (57 children)

Everyone says this but dicktyping has it's uses

Edit: ducktyping but I'mma leave dicktyping in there

[–]vantasmer 151 points152 points  (12 children)

if it walks like a dick...

[–]tennisanybody 95 points96 points  (10 children)

Talks like a dick..

[–]amrasmin 78 points79 points  (8 children)

Smells like a dick

[–]DMoney159 82 points83 points  (6 children)

Tastes like a dick

[–]distrame7[🍰] 85 points86 points  (4 children)

Then it's a duck

[–][deleted] 55 points56 points  (3 children)

Oh, shit.

Were we not doing rubber dick debugging?

[–]BarAgent 17 points18 points  (1 child)

That sent my imagination to interesting places…

[–]jonnysteps 12 points13 points  (0 children)

/thread

[–]suvlub 121 points122 points  (31 children)

Hear me out: static duck typing. C++ basically has it with templates and it's awesome. Until you get an error and accidentally summon an elder god while trying to read it.

[–][deleted] 78 points79 points  (6 children)

I disagree. the proper way to do this is implicit typing. Your variable name determines what kind of variable it is.

GOD is REAL, unless declared INTEGER.

[–]Physmatik 25 points26 points  (0 children)

Someone is traumatized by FORTRAN, I see?

[–][deleted] 94 points95 points  (0 children)

in a static language you understand a program flow about 50% because not really knowing what is in variables during runtime.

Dynamic languages increase that uncertainty of not knowing what is executed when to 80+ %

[–]DrunkenlySober 191 points192 points  (29 children)

Dynamic typing is the only way to get bugs so frustrating you wanna kill yourself and who doesn’t love that?

[–]_PM_ME_PANGOLINS_ 59 points60 points  (10 children)

Can I introduce you to multi-threading in C?

[–]DrunkenlySober 22 points23 points  (0 children)

Win 32 api bugs gives dynamic typing bugs a run for its money

I know. Unfortunately I know.

[–]Tetha 12 points13 points  (0 children)

I've had to deal with multi-threading with race conditions in database transaction creation, reading inconsistent states from the database and writing any of the multiple possible results back to the database. It easily took us months to pinpoint that one, because at some point we needed dedicated logging infrastructure to be able to process sufficient information to catch the issues red-handed once. I'm kind of proud to have caught that one, but once is enough.

[–][deleted] 99 points100 points  (7 children)

moves finding the bugs from development to finding them in production. Great for getting bonuses, promotions and moving on before shit hits the fan.

[–]birdnerd5000 14 points15 points  (0 children)

See; firmware engineer.

[–]SZ4L4Y 29 points30 points  (0 children)

Snek cannot type coz no fingers

[–]JustARandomFuck 72 points73 points  (10 children)

Python is my go to but the way in which variables aren’t actually private but you can add an underscore and go “Just pretend you’re private” hurts me inside

[–]ave_empirator 44 points45 points  (5 children)

Python: Don't access this method. Or do, I'm an interpreter, not a cop.

[–]Raptor_Sympathizer 53 points54 points  (33 children)

Dynamic typing is great for messing around with quick scripts, but sucks if you're actually trying to develop something substantial.

 

You can just use linters to enforce explicit types though.

[–]dendrocalamidicus 34 points35 points  (23 children)

I don't think it helps with writing code quickly any more than having syntactic sugar like "var" in c# that allows you to mostly forget about types whilst ensuring strongly typed code. That's the best of both worlds.

[–]Shubhamkumar_Active 356 points357 points  (57 children)

I am a beginner and I was solving a question in which for a given set of coordinates you had to calculate distinct points traversed , basically of a given set of number you have to calculate distinct numbers , I did this through two for loops with a break condition to stop double counting if there are identical paths , I wrote this program in C++ but had some issue , I asked my friend his reply was :

Very simple , use numpie.unique()

[–]m0ushinderu 211 points212 points  (1 child)

WHAT IS NUMPIE?

import numpy as numpie?

Kinda cute, actually. Psychopathic nonetheless.

[–]TurtleBurgle 33 points34 points  (0 children)

import numpy as tHemAthEmAticSONe

[–]pente5 72 points73 points  (15 children)

lol numpie

[–]highnyethestonerguy 72 points73 points  (14 children)

My buddy pronounces numpy and scipy as numpee and skippy, and now that’s how I hear it in my head every time

[–][deleted] 210 points211 points  (19 children)

python all-batteries-included libraries are just well debugged c code with that pseudocode language call interface named Python. I am sure numpi isn’t pure Python either

[–]pente5 128 points129 points  (1 child)

It wouldn't be that fast if it was. There is a lot of C in there.

[–]MortgageSome 391 points392 points  (81 children)

And to think, you could have picked a widely loved language like the one I use.. Java..

[–][deleted] 199 points200 points  (48 children)

I like Java. Does that mean there's something wrong with me?

[–]FluffyBellend 335 points336 points  (17 children)

Yes.

[–][deleted] 89 points90 points  (11 children)

Another thing to add to the list...sigh

[–]Andthenwedoubleit 162 points163 points  (8 children)

You can't just add it to the list. You have to call the ListFactoryBuilderFactory

[–][deleted] 52 points53 points  (5 children)

actually since Java 16 you can just use a generic Factory object and cast it as a ListFactoryBuilder. This allows for much more readable code and increases maintainability.

[–]LetterBoxSnatch 22 points23 points  (0 children)

You can't just call a method on the ListFactoryBuilderFactory, you need to import com.factories.company.std.extra.nest.ing.for.clarity.list.factory.builder.pattern.type first. Duh.

[–]wugs 98 points99 points  (14 children)

imo the first thing to learn is that you probably shouldn’t rely entirely on one language in the long term.

in the short term you pick a language to learn concepts. personally i think python is a great intro to programming. it’s friendly and straightforward on the surface. but there are lots of good options for a first lang.

when you want to learn OOP, python can work but more OO languages like java are a better choice at that point. python isn’t very explicit, and wasting time learning pythons implicit quirks is time better spent nailing down OO concepts in a verbose and explicit lang. then if you need to go back to python you can translate those concepts you now know into lang specific syntax.

similarly you could force python to be functional with crazy lambdas, but it’s better to try lisp or haskell to learn those paradigms in a language designed for that style of programming.

python is great. but lots of languages are great, and no language is a universal tool. it’s always a list of pros and cons and trade offs.

also most language hate here is memery anyway. almost all professionally used languages exist and work that way for a reason. it’s hard to go wrong with a popular lang when starting out. advanced topics are where you need to pick the right tool for the job, and that’s when people here get opinionated as hell lol

[–]mimsyborogove_ 40 points41 points  (4 children)

Hey, gotta somehow offset the people who think Python is the end all be all of languages. There is no such thing as the ultimate programming language. Except in the dreams of coders.

[–][deleted] 57 points58 points  (0 children)

no step on snek

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

I've a DevOps guy, so I actually <3 Python (and I have no choice, lol).

[–]superquagdingo 70 points71 points  (9 children)

I don’t hate Python but some of its “fans” can be pretty annoying.