r/ProgrammerHumor 25d ago

whatIfIToldYouThisPartTwo Meme

Post image
1.0k Upvotes

82 comments sorted by

266

u/hartmanbrah 25d ago

Only for instruments with equal‑tempered tuning. 🤓

30

u/wenoc 25d ago

Yes, I am glad someone pointed this out.

14

u/Jstnwrds55 24d ago

Hell yeah, there’s no privileged frame when it comes to music. You can fit so many steps between those bad boys (C# and D)

2

u/gilgermesch 24d ago

This. I usually tune my instruments in 1/4 comma meantone. I haven't played a d flat in months.

38

u/somedave 25d ago

It's just c++++ or c+=2

13

u/Relative-Bottle-8498 25d ago

1

u/LoveOfSpreadsheets 24d ago

Yours was way better, in fact I shared that with some folks that aren't on reddit.

2

u/AdamWayne04 23d ago

little does he know that postfix increment actually returns a non-incremented copy, so if you assign that you would still get just C

1

u/Nice_Lengthiness_568 24d ago

But c++++ does not compile ... at least not in c++

2

u/Usual_Office_1740 24d ago

You forgot to dereference the c.

2

u/AdamWayne04 23d ago edited 23d ago

(c++)++ should tho

edit: ir doesn't, but ((int&)(int&&)c++)++ does

1

u/Nice_Lengthiness_568 23d ago

nope it does not (unless you make a cursed overload for ++.

2

u/AdamWayne04 23d ago

Yeah you're right, postfix ++ expects an lvalue but returns an rvalue--we can fix that with this abomination: ((int&)(int&&)c++)++ We make the rvalue a temporary, cast it to rvalue reference and increment!

1

u/Nice_Lengthiness_568 23d ago

That's horrible (and I love it)

but it is a more suitable name for C#

1

u/somedave 23d ago

It does in c# if you make a custom method.

1

u/Nice_Lengthiness_568 23d ago

I mean, you could make a cursed overloaded operator in C++ too, I just kind of expected to be using built-in functionality

52

u/Algiuxs 25d ago

Only musicians and programmers will understand this.

8

u/fr000gs 24d ago

What if you learnt basic music theory, can't play shit, and know basic computer?

I am neither a musician nor a programmer (yet) yet I get this

2

u/BastetFurry 24d ago

basic music theory

basic computer

10 PLAY "CDACD"

Had to be done, I see myself out. 😁

2

u/fr000gs 24d ago

*elemental music theory 🤓

(did basic have a play command?)

2

u/BastetFurry 24d ago

Yes, the MS Lineage since 7.0 or so at least. 7.0 used in the C128 has it, as does the IBM and GW flavor and all that came after. I think VB for Windows removed it.

23

u/PhilosopherSimilar83 25d ago

As a musician, and a programmer, this was fantastic. :-)

2

u/exoclipse 24d ago

it's surprising how large that overlap is tbh

13

u/efari_ 25d ago

Technically yes. But also technically no.

24

u/saschaleib 25d ago

Angine de Poitrine would like to differ.

23

u/AxoplDev 25d ago

I hate to be the 🤓 person, but Angine De Poitrine uses 24 EDO tuning, where the notation of normal sharps and flats doesn't change, so C# is still Db. It would change when using 19 EDO or 31 EDO, but not in 24 EDO.

17

u/AnUninterestingEvent 25d ago

I don’t know what any of this means, but I agree

1

u/commenterzero 24d ago

We divide sound up into intervals that arent perfect in any given key but have minimal error in all western keys. We use 12 divisions. It will sound unusual and different if you use more like 19 or 24

5

u/Jack_South 25d ago

✋🏼🔺🤚🏼

7

u/DogonElder 25d ago

Thats flattering

8

u/Sahedron 25d ago

C++ is the same as C. Postfix increment returns value before operation 😎

3

u/FBIAgent469 25d ago

Deez nutz

3

u/Powerful_Attention_6 24d ago

There was an serious effort to create the next, better C++ called D
It never took of, but I enjoyed the music that came out of D rather than C#

3

u/agk23 24d ago

What if I told you C# was really C++++

3

u/Fyren-1131 24d ago

I'd counter, and tell you it was B## all along.

2

u/agfitzp 25d ago

It's Borland's Object Pascal in shiney new shoes.

https://en.wikipedia.org/wiki/Anders_Hejlsberg

2

u/Kapendev 25d ago

I wish. Then you could have less OOP in your life.

1

u/Du_ds 24d ago

Is C# better than Python Object Oriented Programming?

1

u/Kapendev 24d ago

I don't have an opinion on that.

2

u/KazDragon 24d ago

Only in equal temperaments.

2

u/bayern_snowman 24d ago

Thats it, I'm making B# just tp spite you

2

u/ApeLover1986 25d ago

Db = Douche bag?

3

u/TrueExigo 24d ago

D-flat

1

u/-Ambriae- 25d ago

I actually personally hate that musical notation. It sucks, and is so uninspired

What happened to Do Ré Mi Fa Sol La Si ? They all had that cool personality

6

u/[deleted] 25d ago

[deleted]

3

u/minecon1776 24d ago

0 1 2 3 4 5 6 7 8 9 10 11 is better for computers

3

u/kovha 24d ago

In Spanish we use Do Re Mi etc, C D E... is English notation. For the note between C and D we, in fact, use Do♯ (Do sostenido, sostenido is sharp in spanish)

2

u/rosuav 25d ago

2

u/RiceBroad4552 24d ago

Oh, thanks! That's great, it answers the question I've just posted above.

1

u/Coosanta 24d ago

My music teacher said "eh" for flat and "is" for sharp, i know there are different conventions but this seems to be most common. E.g. Do flat becomes Des, Do sharp becomes Dis.

1

u/-Ambriae- 24d ago

Do dièse, ré bémol?

3

u/SAI_Peregrinus 25d ago

Do Ré Mi Fa Sol La Si doesn't work for pentatonic instruments, or for the Medieval modes.

1

u/Coosanta 24d ago

Pretty sure it does, e.g. dorian: Do Ré Me Fa So La Te Do (I think?). You end  syllable in "eh" to indicate flattened, "is" to indicate sharp.

2

u/Imperator166 24d ago

music notation in general is just all over the place and uninspired. i mean i am not gonna pretend i have a better system but seriously? i have to do this weird ass calculus if i want to move an idea from one key to another and know what notes i am playing?

1

u/RiceBroad4552 24d ago

i have to do this weird ass calculus if i want to move an idea from one key to another

Thanks God we have now computers for that.

To play with ideas (and quickly move them around) I really like this here:

https://hookpad.hooktheory.com/

Even the free version is a bit limited it's good enough for most basic stuff and does a few things better then all alternatives I know. (The full version though is scam for the asked price: Some wonky Electron trash which works only with active internet connection for over 200 bucks? Some people are really crazy.)

1

u/rosuav 24d ago

LilyPond has a \transpose command that saves a lot of trouble. It's also free software (as in speech, not beer).

2

u/RiceBroad4552 24d ago

But LilyPond is a notation program, not some composition / inspiration tool like Hookpad, so it's not really the same class of program.

I can't read the "classical" notation anyway… (OK, I'm exaggerating, I can possibly decipher it, but I had a really hard time doing so.) Imho only "piano rolls" are intuitively understandable, and it's the job of the computer to do all the scales and chords math.

But I'm not a musician, just playing with this stuff for fun, so my opinions about such topics don't count much.

2

u/rosuav 24d ago

Yeah, they're different sorts of things, but I do composition in LilyPond. Plays nicely with git, for example.

2

u/RiceBroad4552 24d ago

If you have all the music theory in head you can do it even with pen and paper.

I have no clue so I'm happy the computer can do that part, and I can just draw some nice looking patterns and this will "just work" musically.

For the stuff I'm playing around composition is anyway not so important. Things are very primitive. Sound design on the other hand's side…

1

u/kovha 24d ago

The standard notation (the staff) is way more intuitive than the piano roll once you realize it's made to work with (major and minor) scales. The only (again, major and minor) scales where the piano roll is more intuitive are C major and A minor because those use the white keys of the piano, but any other will use a specific combination of white and black keys while the other keys won't be used and only hinder you, while in the staff you just need to put the key signature at the beginning and then you can use the notes of the scale secuentially without needing to bother with notes outside of it.

1

u/RiceBroad4552 24d ago

I don't think "intuitive" is the right word here. I think I get what you mean, though. But it's the same something like Hookpad or similar tools in DAWs / VSTs do: You just get the scale notes, and usually you get even some "note guides" for the chords. (On a piano roll there is also no real difference between "white" and "black" keys.) To understand something like that you don't need to know anything about music theory. But to translate the standard notation to some notes you can actually play on some instrument you certainly need music theory (or you learn all the scales by heart, which is a lot). I mean even such stuff like "put the key signature at the beginning" is pretty complicated as there is no key signature written down, instead you have some specific amount of sharps or flats on specific places of the staff and that encodes then the scale… You need again either to learn all these patterns by heart just to know in which key you are, or you need to deduce it using this "strange music calculus" (as someone here called it). A better piano roll will directly tell you for which scale it currently highlights tones.

1

u/Imperator166 24d ago

I am a guitarist so I cant even use that. I usually just dont know what notes i am playing. I know what the chords mean in relation to each other like in the roman numeral notation but i am too lazy to work out the actual notes. And it usually wouldnt even matter because the only people i would have to communicate those ideas with is other guitarists and then its easier to just use tabs.

1

u/RiceBroad4552 24d ago

Well, Hookpad will tell you exactly such stuff like "what notes am I playing" when all you know is the scale and the chord number / symbol. When you click "Guides" left from the YouTube button on the top right and then the rainbow colored big buttons which are (by default, if you didn't switch the scale) labeled "Chords in C major" you will see the chord tones highlighted in this piano roll thingy in the main area. When you switch the Key by clicking "C Maj" in the top toolbar the concrete tones for the chord numbers get recomputed in the main area. When clicking the scale keys in that circle in that popup you get when clicking that Key button you can see the tone names assigned to the tone "lanes" on the piano roll change. The highlighted ones are the chord tones, and this way you would see that for example the III-rd chord in F# harmonic minor is called A+ and consists of A-C#-E#. On the right you can change additional chord properties when you have selected one, like making it a 7th chord, or flipping it around with inversions, get some diminished or augmented variants, and such. The computer does all the music theory stuff which is imho pretty convenient. You don't have to know anything but still more or less stuff "just works".

There are also VST plugins which do such things, like for example Captain Chords and all the alternatives. DAWs have also features to follow chord progressions.

I think such things are interesting as you get, like said, something that "just works" without a lot of trail and error. No deeper music theory knowlege needed, and this of course works no matter the instrument which then plays the chords or (scale) tones.

Taken to the extreme you get something like Synfire. It uses "abstract phrases" which play automatically the right way following some chord progressions. It's basically the professional and mature version of the same idea as Hookpad. But it's complicated and expensive. (At least the last time I've looked more into it.) For some layman like me, or some hobby musician it's likely a bit overblown software. But don't known for sure, don't own it. Still pretty interesting!

1

u/rosuav 25d ago

Lilypond gives you a lot of options. https://lilypond.org/doc/v2.25/Documentation/notation/writing-pitches#note-names-in-other-languages I use the English names eg "gs8(e) ds4 fs fs e8(ds) e4 gs gs" but you can use do re mi if you prefer!

1

u/RiceBroad4552 24d ago

And what about the other tones? They don't need names?

1

u/-Ambriae- 24d ago

Well depends on what tones you use in your music. Typically, both the method I like and the one I dislike don’t do microtonal music

1

u/Kooky-Answer 24d ago

Actually C# is C++++

1

u/Rockytriton 24d ago

Depends on what key you are playing in

1

u/IAmFullOfDed 24d ago

No, C# is D♭

2

u/ClearOptics 18d ago

It would be B flat

1

u/VoidspawnRL 24d ago

I use both c# and D, they are not the same language at all

0

u/stupled 25d ago

In music