this post was submitted on 19 Mar 2024
1298 points (98.9% liked)

Programmer Humor

19623 readers
507 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 256 points 8 months ago (4 children)

She's now qualified to do 90% of my job. Unfortunately the other 10% is explaining why it works.

[–] [email protected] 126 points 8 months ago* (last edited 8 months ago) (2 children)

There's an anecdote that goes like this:

An important machine in a factory stops working. No matter what they do they can't get it to work again.

So they bring in a specialist to solve the problem, for an agreed fee of $1000

The guy checks the machine over and then goes and presses a specific button and the machine is back working again.

So the factory manager goes: "All you did was press a button! Why should I pay you $1000 for pressing a button?!"

To which the specialist answers: "Well, you see, you're paying me just $1 to press the button. The other $999 are for knowing which button to press".

[–] [email protected] 56 points 8 months ago (1 children)

I heard the same story when I was a kid, but it was about a boilermaker. The rest was for knowing where to tap his hammer to fix their problem.

It's an obviously apocryphal story with two great messages. First, don't undervalue your expertise just because the fix was easy (I still have a problem with that). Second, if you don't know what you're doing don't question the expert just because it looked easy.

[–] [email protected] 50 points 8 months ago (2 children)

It's a real story!

https://www.smithsonianmag.com/history/charles-proteus-steinmetz-the-wizard-of-schenectady-51912022/

At the beginning of the 20th century Henry Ford's electrical engineers had issues they could not solve with a gigantic generator. Henry Ford called Steimmetz, a genius mathematician working for GE to help them.

When he arrive at the factory he spent 2 days and night listening to the generator and scribbling on his notebook.

After that he asked for a ladder, climbed on it, put a chalk mark on a specific spot and explain to the engineers that they needed to remove the plate and replace sixteen windings behind the plate. After that the generator worked perfectly and Ford received a $10 000 bill.

Ford asked for an itemized bill and Steinmetz sent this

  • Making chalk mark on generator $1.
  • Knowing where to make mark $9,999.

Ford paid the bill.

[–] [email protected] 9 points 8 months ago

That's so badass haha

[–] [email protected] 4 points 8 months ago* (last edited 8 months ago)

It's funny reading this, because the way I heard the story was as a railroad story.

The train engine wouldn't run. The expert was called, he arrived, and after inspecting the train engine, knew exactly were to apply a little bit of oil to make it run again. His bill was challenged as being overly expensive, and he countered with them paying for the knowledge of where to apply to oil, not the oil itself.

There's like all these different versions of the same philosophy of the story

[–] [email protected] 18 points 8 months ago

Yeah, but companies everywhere have just laid off the 10% who could do that.

[–] [email protected] 15 points 8 months ago* (last edited 8 months ago)

You can Google that too 🤷🏻‍♂️

"I don't know shit! I just have, like, a really good memory."

load more comments (1 replies)
[–] [email protected] 182 points 8 months ago (6 children)

working her way through C++

part of Digital arts curriculum

Might be too high for this, but what??

[–] [email protected] 123 points 8 months ago (1 children)

Maybe part of a gaming curriculum?

Like, "learn some code so that when the devs are crying you can make small talk?"

[–] [email protected] 87 points 8 months ago (3 children)

Smalltalk would probably make more sense than C++.

[–] [email protected] 49 points 8 months ago (3 children)

I was Haskalling for that one. I need to Go and shake off the Rust, maybe work on my Lisp to make sure people React well.

Node what I'm saying?

[–] [email protected] 20 points 8 months ago

Not Ruby sure what you're saying, but I dream of getting strangled by a Python that can't C#. 🤤

[–] [email protected] 3 points 8 months ago

If the devs are really exhausted and sad you can't go wrong with bringing them a Java while they're dealing with their latest Brainf**k . Knowing various languages helps you to C#, as long as you take good care of your eyes!

[–] [email protected] 3 points 8 months ago

React well

That can only be some sort of evil Scheme, a rather Basic one. I can't even Assembly the proper words to describe the Brainfuck

[–] [email protected] 9 points 8 months ago

But it’s less cruel to students.

[–] [email protected] 6 points 8 months ago (1 children)

C++ is still the far and ahead leader in game programming. All the tools are written in it and everyone is used to it.

[–] [email protected] 16 points 8 months ago (7 children)

C++ is an awful candidate for a first programming language to learn, at least nowadays - it is very powerful, but it's also full of foot-guns and past a certain point the learning curve becomes a wall

[–] [email protected] 15 points 8 months ago (3 children)

it's a great candidate. It was my first "real" languages (i.e. the first language, that is not php/js)

you have a text file. then call the compiler on it, and then you have a exe file, that you can run. It does exactly what it is supposed to do without thinking about the browser, the webserver, the JVM, or some other weirdness.

I get, that doing "good cpp" is difficult. And using all the weird languages features is difficult. But as long as you use strings, ints, ifs, fors, you should be fine. Just don't use generics, templates, new (keep everything on the stack), multi-inheritance, complex libraries, and it's a nice beginner language.

[–] [email protected] 6 points 8 months ago

Yeah. My intro programming classes used C and C++ and they were great for illustrating the fundamentals. Plus I think it's important to learn the building-blocks/history

[–] [email protected] 5 points 8 months ago (1 children)

Maybe it's C that's a good first language, though I would admit that the basic ouputting of values to stdout is more intutive in C++.

[–] [email protected] 9 points 8 months ago (2 children)

this std::cout << "hello world" bullshit is in no way intuitive. You're using the bit-shift operator to output stuff to the console? WTF? Why 2 colons? What is cout? And then these guys go on to complain about JS being weird...

No, C is where it's at: printf("hello world"); is just a function call, like all the other things you do in C.

[–] [email protected] 5 points 8 months ago* (last edited 8 months ago) (1 children)

For non-programmers (who most definitelly don't know that >> and << are bit shift operators) shoving something into something else is more intuitive than "calling a function with parameters".

Also don't get me started on the unintuitiveness of first passing a string were text is mixed with funny codes sgnaling the places were values are going to be placed, with the values passed afterwards, as opposed to just "shove some text into stdout, then shove a value into stdout, then shove some more text into it".

Absolutelly, once you are used to it, the "template" style of printf makes sense (plus is naturally well-suited for reuse), but when first exposed to it people don't really have any real life parallels of stituations were one first makes the final picture but leaving some holes in it and later fills-in the holes with actual values - because in real life one typically does it all at once, at most by incremental composition such as in C++, not by templating - so that style is not intuitive.

[–] [email protected] 1 points 8 months ago

shove some text into stdout

That's not what this operator does normally, and if you try to "shove" something into anything else (an int into a variable? a function into an object?) you'll get surprises... Basically it's "special" and nothing else in the language behaves like it. Learning hello world in C++ teaches you absolutely nothing useful about the language, because it doesn't generalize.

C, in contrast, has many instances of complex functions like printf (another commenter mentioned variable arguments), and learning to call a function is something very useful that generalizes well to the rest of the language. You also learn early enough that each different function has its own "user manual" of how to use it, but it's still just a function call.

[–] [email protected] 4 points 8 months ago

C is no beginner heaven either, printf is its own can of "why can this function have any number of arguments and why does the compiler have to complain about the formatting every 25 milliseconds" worms

[–] [email protected] 1 points 8 months ago

Go is just as easy. Install the compiler, write a file, compile it, get an exe. And a lot less foot-guns.

[–] [email protected] 4 points 8 months ago (1 children)

I actually found it alot easier once I had learnt C. That way I know where all of the problems are and can use the high-level stuff to get around them, while still fundamentally understanding what is going on

load more comments (1 replies)
[–] [email protected] 2 points 8 months ago

Basic C++ isn't really confusing (if you are not handwriting makefiles). It starts to get fucky when you get into memory handling, templates, etc. I'm assuming they are only using C++ over C for basic OOP (class/structs inheritance etc).

load more comments (4 replies)
[–] [email protected] 59 points 8 months ago (2 children)

There are lots of ways computers are used for making art. Not just video-games. For example, projection mapping, algorithmic music composition, live coding, etc.

You can look into openFrameworks for examples of C++ in arts.

[–] [email protected] 14 points 8 months ago (3 children)

I get that, but I would have expected Python.

[–] [email protected] 6 points 8 months ago* (last edited 8 months ago) (1 children)

I think there probably are school where the professor know c++ very well, but never bothered or too stubborn to learn/teach python.

Unlike the top 50 to 60 schools, most schools, especially research universities, don't care that much about teaching (in the U.S., at least).

[–] [email protected] 4 points 8 months ago

I would argue that anyone who understands c++ can easily pick up python.

Source: expert in both.

[–] [email protected] 5 points 8 months ago

This was the first serious creative coding framework I've learned 2008 or 2010 or something. I have been in this field since then. I have seen Java, Javascript, and kotlin creative frameworks but not python and I am still as surprised as you are.

[–] [email protected] 1 points 8 months ago

The Spanish Inquisition, even.

[–] [email protected] 11 points 8 months ago* (last edited 8 months ago)

Or libcinder. Or even simply Arduino.

[–] [email protected] 40 points 8 months ago (1 children)

Just checking an art degree guide: https://catalog.mit.edu/degree-charts/architecture-course-4-b/

One of the classes that can be chosen is: 6.4400 Computer Graphics, which has a programming 101a/b class as a prereq (granted, it uses python instead of C++, but pretty sure they used C++ as their language-of-choice for the programming 101 language until recently).

Given the variety of digital art (video games, VTube avatars/VR avatars, more traditional-style digital art, etc), having the tools to make those kinds of things can be useful for making responsive/interactive digital art.

[–] [email protected] 6 points 8 months ago

I'm currently working in game making and a ton of tools for things like 3D model creation (such as Houdini or Substance) use some form of procedural generation where at least understanding programming concepts is important and actual programming is required to do the more advanced stuff.

[–] [email protected] 30 points 8 months ago* (last edited 8 months ago) (1 children)

A elegant and beautiful piece of code is art.

[–] [email protected] 20 points 8 months ago (1 children)
[–] [email protected] 19 points 8 months ago

Especially if you manage to do it in c++

[–] [email protected] 13 points 8 months ago (1 children)

I'm very confused as well. Some universities do have ridiculous requirements though. I was planning on being a veterinarian and had to take politics classes. I switched to IT and was required to take general chemistry.

[–] [email protected] 15 points 8 months ago (1 children)

40 years ago at UCLA, I had to do my FORTRAN programs on punch cards submitted through the batch system. The CS/Math department (no CS department then), only offered 1 section in FORTRAN with 40 others in PASCAL. And it was taught by an Engineering professor. Why would a Chemistry major take a computer science class? Remember all those shiny machines CSI uses to do forensic analysis? They came from chem labs.

[–] [email protected] 2 points 8 months ago

I get if that's what you want to get into, but if I was aiming to be a Linux System Engineer (like I currently am), I'd never chemistry.

load more comments (1 replies)
[–] [email protected] 28 points 8 months ago (1 children)

I've straight up ripped code from StackOverflow that worked... But I had no idea why or how it worked 😂 I taught myself Go and I'm decent at it, one of my coworkers was a former professional programmer who knew C and could fumble his way through Go. I later told him I had no idea what some of the code did because I did the old copy and paste and he just said "I knew you did" 😂

[–] [email protected] 13 points 8 months ago* (last edited 8 months ago)

When someone copies from stack overflow, a reviewer's first question should be "did you copy the question or the answer?"

[–] [email protected] 22 points 8 months ago

Oh shit. That's the secret weapon that will get me ahead of my colleagues! I can't believe I'd never thought of it.

load more comments
view more: next ›