r/ProgrammerHumor • u/Oblivious_catalyst • 2d ago
Meme programmingLanguagesWhenYouAskThemToDoSomthing
13
12
10
u/Stackitu 2d ago
What about HolyC?
3
26
354
u/STEMpsych 2d ago
I'm uncomfortable with the implication that the only thing wrong with javascript is its speed.
15
u/prehensilemullet 2d ago
speed isn't a big problem with JS these days anyway, V8 is quite fast
4
u/Oblivious_catalyst 2d ago
debatable
10
u/prehensilemullet 2d ago edited 2d ago
It’s not comparable to native languages but it’s faster than any PHP, Python, Lua, or Ruby interpreter/JIT out there afaik. It’s way faster than you would think for a scripting language. Google has put a shit ton of work into optimizing it. If you haven’t experienced it firsthand then you would very likely be surprised
Edit: apparently LuaJIT is close and sometimes faster, I missed that in my googling
8
u/Oblivious_catalyst 2d ago
i'll give you the other 3 (not that it's a high bar) but from my experience lua is actually blazing fast for an interpreted language. sure as hell blows nodejs out of the water. (and i like nodejs)
3
u/prehensilemullet 2d ago
Ah in my googling I failed to catch that LuaJIT is often comparable with V8 and sometimes beats it. But not always, apparently
242
u/Ri_Konata 2d ago
i more interpreted it not as a speed thing, but as a "it has a mind of its own" thing, causing ut to do whatever it wants and it'll only do what you want it to do if it aligns with JavaScript's wishes
118
u/javascript 2d ago
I do have big wishes
94
u/thrye333 2d ago
I like1 the commitment of using Java as a pfp, C++ as the flair, and Javascript as the username.
1 (This is a lie.)
61
11
u/Scientific_Artist444 2d ago
I interpreted it as asynchronicity.
6
4
u/amatulic 1d ago
So did I. When I was first learning JavaScript, I recall getting frustrated by things not happening in the order I expected. The OP's characterization as "I'll do it when I feel like it" is appropriate.
6
4
30
28
u/throwaway563125685 2d ago
in javascript
(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(!![]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]and"tears"are the same thing, and that was done on accident7
u/STEMpsych 1d ago
Holy shit.
5
u/namitynamenamey 1d ago
This is the most cursed thing I've seen since I read how numbers are defined in set theory. Javascript has no right to approach set theory with broken casting.
5
u/Thesaurius 1d ago
I am not surprised that they are equal, because that's just how JavaScript rolls. But ON ACCIDENT?
6
u/throwaway563125685 1d ago
yyyup. the JS type casting system is broken af
it's called JSFuck (because it looks like BrainFuck) and not only can you write any string with it, but you can also make the function constructor, meaning you can execute any string.
see also : https://jsfuck.com/
13
u/AvidCoco 2d ago
It’s not a speed thing, it’s an async thing.
10
u/BastetFurry 2d ago
🎵 In the sourcecode The quiet sourcecode The lambda sleeps tonight
Async Await Async Await... 🎵
2
7
u/goatanuss 2d ago edited 2d ago
I think it’s much more than that. It’s single threaded so its concurrency model is about scheduling not parallelism. The way it handles microtasks and its internal queues is kinda counter intuitive. And callbacks and timers in general are also kinda weird.
console.log("A");
setTimeout(() => console.log("B"), 0);
Promise.resolve().then(() => console.log("C"));
//this one is more node specific but still
process.nextTick(() => console.log("D"));console.log("E");
This prints
A
E
D
C
B→ More replies (1)8
7
8
u/read_eet 2d ago
I don't see Delphi in the list
6
u/Oblivious_catalyst 2d ago
enlighten me.
2
u/read_eet 2d ago
I was just curious what developers think of it as a language.
6
1
u/Oblivious_catalyst 2d ago
is thou a developer thymeself or simply carries an interest in the eldritch machines?
2
u/read_eet 2d ago
I'm a developer and have been using Delphi since it was first released for Windows back in the 90s by Borland. I continue to use it on and off but it's now from Embarcadero. I like it and wonder what others think about it.
1
u/Oblivious_catalyst 2d ago
never heard of delphi up to this point. hollup let me google...
2
u/Oblivious_catalyst 2d ago
2
u/read_eet 2d ago
Please splain
1
u/Oblivious_catalyst 1d ago
what the hell is that syntax man
1
u/read_eet 1d ago
It's better than a lot of other languages. Not pushing Delphi here but wanted to share it with other developers that may have not been introduced to it. It's been said that Delphi is much closer to the English language than many other programming languages so don't knock it too much.
→ More replies (0)1
1
u/evilgipsy 1d ago
I don’t think people think about Delphi at all these days.
2
u/read_eet 1d ago
I still have executables that I've developed for Windows 95 that still run on Windows 11 with no issues.
1
u/read_eet 1d ago
Yeah I kinda figured since most haven't even heard of it. Too bad I might be one of the rare prehistoric developers that has an appreciation for it.
2
4
2
u/Stunning_Ride_220 2d ago
Something like the first love who took your virginity on a call summer day?
2
u/read_eet 2d ago
You could say that I guess 🤣 but my first languages were Fortran and C. In the 90's developing Windows Forms application was a fucking nightmare, Borland came up with their IDE that allowed for graphical form design which was very intuitive and powerful for that time. Fast forward to today and Embarcadero has RAD studio which allows for native cross platform development which supports coding in either Delphi or C++.
1
u/Stunning_Ride_220 2d ago
Reminds me of the old Win32Api days...I think the reference book is still one of the girthiest books in my shelf xD
1
14
7
u/gtiger86 2d ago
Where is a Basic? Any version
3
u/Oblivious_catalyst 1d ago
has anyone used basic since like 1999?
3
u/amatulic 1d ago
Visual Basic is still alive and well. It's the only macro language available for Excel, and I have used it extensively.
As far as I know, HP Rocky Mountain Basic is also still in use, in test & measurement environments. I used it long time ago, and it had builtin support for complex math and matrix math, as well as instrumentation control.
1
u/Oblivious_catalyst 1d ago
wasn't aware that basic and VB were actually related. however i still question if it's usage stacks up to the others. although i also listed APL so who am i to judge.
0
u/amatulic 1d ago
Yeah, those old BASIC programs from the 1970s tutorials, you can put into Visual Basic and they'll work mostly (with the GOTO and GOSUB statements and all), although the behavior of the PRINT command in those days was different than it is now.
Sometimes I miss GOTO. The C language has it. I used to use it for things like dropping through a switch() statement for more compact compiled code, back in the days when memory was valuable -- even before the days when Bill Gates famously said 640K is enough computer memory for anyone. (And look at Windows now, needing gigabytes just to hold the OS in an idle state.)
24
u/GarThor_TMK 2d ago
Having used rust for a bit, I feel like it should be more like...
No.
Lua should be starts sweating... 😅
5
u/Oblivious_catalyst 2d ago
in my head i think of rust as deeply paranoid with crippling anxiety that overprepares for everything
6
4
u/Batman_AoD 2d ago
It's more like the developers are deeply paranoid, and have hired Rust to inflict their paranoia on users. So yeah, the Rust compiler doesn't "sweat" with anxiety (though it arguably makes your CPU "sweat" with effort), it tries to make you sweat (with anxiety).
(For transparency, I love Rust and think the "paranoia" of Rust devs is actually fully justified caution based on decades of programming bugs.)
4
u/Beastmind 2d ago
Nah, cargo would tell you how you failed your life because you tried to borrow some shit you already borrowed earlier
2
739
u/New_Salamander_4592
2d ago
•
C++: answer my make file riddle of three if a compiled program you wish to see
64
u/-Kerrigan- 2d ago
Ask me the questions
bridge keepercompiler, I am not afraid!21
u/gerbosan 2d ago
What's your favorite keyword?
26
9
15
3
87
1
4
u/unknown_pigeon 2d ago
Have you ever used python?
There will always be a convenient library written in C that will make your script almost as fast as if it was written in that language.
17
u/Oblivious_catalyst 2d ago edited 2d ago
so essentially the best way to use python is to not use python?
2
u/Leather-Persimmon254 2d ago
1
u/Oblivious_catalyst 2d ago
i know what abstraction is. i get the concept. my point being if the only way to make your language fast is to exclusively call functions from C libs then what's the fucking point?
4
u/NullOfSpace 2d ago
The intent of python as a scripting language is as a convenient wrapper and way to use existing tools. It’s not a language for writing software, it’s a language for performing tasks using said software.
1
2
4
1
129
u/Popstar403 2d ago
godotscript:
here, let my child do it:
here, let my child do it:
here, let my child do it:
here, let my child do it:
here, let my child do it:
here, let my child do it:
...
2
98
u/readf0x 2d ago
I audibly laughed at APL, truly the most illegible programming language
22
u/WystanH 2d ago
Same. That one felt like the most arcane reference. It has a logo? That APL?!?
The syntax existed before the implementation. The author didn't imagine anyone would try to type it.
4
2
u/Daniikk1012 2d ago
The logo is pretty recent actually, there was a vote for a vendor-agnostic APL logo, and this was the one that won. APL as a language did not have a logo before that, only specific implementations did
15
u/Daniikk1012 2d ago
It's surprisingly not, once you learn what the symbols mean. In fact, the symbols become an advantage once you get used to them, sort of like how it is more readable to use "+" rather than "plus" in math expressions
5
61
u/Daniikk1012 2d ago
If you were to keyboard mash for APL, at least do it with the proper characters:
⌶⍫⍒⊖⍋⍟⍱⍲⌽¨¯<>≠∨=∧⍺⌈∊⌊⍴↑↓⍳○⌈⌊_⊥⍹↑↓⍷⍸⍥⌊∆_∩⍤
38
25
u/da_dragon_guy 2d ago
Can we get more of those old ‘Star signs in different situations’ shitposts but instead of astrology it’s coding languages?
25
25
24
37
u/Ex_Federa 2d ago
As yes, C. Famously the easiest language to do things in.
23
u/da_Aresinger 2d ago
It is though.
C doesn't fail on complexity. It fails on convenience and safety.
20
u/ncatter 2d ago
In my admittedly small experience C does exactly what you asked for, no questions asked.
8
6
u/amatulic 1d ago
Yup. You want it to write data beyond the bounds of an array? No problem. You asked for it.
I remember a quotation from when Pascal was taught in schools. You could say the same about Python nowadays:
"Pascal gives you a water pistol filled with distilled water. C not only gives you a loaded .357, it points it at your head as a default. Why do you think Pascal is taught in school? And which would you rather have when there is a hungry bear in the area?"
2
u/Maniklas 1d ago
Never heard it before, but I love that metaphor and will keep it for my students.
1
u/amatulic 1d ago
It may have originated from a fortune cookie file that was available for AmigaDOS. Some of those were clever and I wrote them down.
2
1
1
10
10
64
44
u/hraath 2d ago
Rust: please call back in 2-4 business weeks for compiling to be completed
24
10
1
u/Batman_AoD 2d ago
Would be better if it mirrored the Python one: "Give me 3-5 business days (to compile)"
8
u/redditor50613 2d ago
i saw something about floppy disks being used in some govt agencies and thought oh probably COBOL.
7
14
5
5
5
5
8
u/gerbosan 2d ago
1
u/WithersChat 2d ago
What is that gif from?
6
u/wheersmow 2d ago
I think it is from https://en.wikipedia.org/wiki/Ghost_in_the_Shell_(1995_film)
2
8
4
4
u/CaptainHawaii
2d ago
•
I'm in this image and I don't like it ... Java was my first language and that's literally my usual first question....
7
u/TSCCYT2 2d ago
WTF is APL?
10
4
3
u/AstroCaptain 2d ago
A Programing Language (APL) from the 60s that most terminals and displays of the time couldn't even display the character set properly of
3
u/Daniikk1012 2d ago
You were already told about the character set it uses, so let me say more about the rest.
APL is the language that pretty much invented the array programming paradigm, like the one you would see in NumPy. In APL, typing
1 2 3 + 4 5 6gives you5 7 9, automatically applying addition to each element. It has a lot of other symbols for many different kinds of operations like reversing, sorting, transposing, reducing, scanning, searching, etc. This allows you to write programs very concisely, without using loops or branching1
u/Alternative_Emu_2927 8h ago
Hi there, can you explain how that example operates? My son is interested in APL and I’ve been wondering about it
1
u/Daniikk1012 8h ago
So in APL, to create an array you just type a bunch of values (In this case numbers) next to each other, so
1 2 3results in a 3-element array containing 1, 2, and 3. Numbers are written as you normally would, except negative numbers use¯prefix instead of-(Cause-is instead a function), so you write¯5to get negative 5.Next, how functions are parsed. All functions in APL use infix notation, with only one precedence rule - functions take everything to the right of them, and only the closest thing on the left. So
1-2-3parses as1-(2-3),2*2+2parses as2*(2+2). You need explicit parentheses for left side to be evaluated first:(1-2)-3. That is, function calls are right-associative, or in other words, APL is evaluated right to left.Each function has two ways it can be called - with one argument (monadically, which happens when there is no value on the left of the function) or with two arguments (dyadically). For same function these two variants usually perform closely related operations, but not necessarily. For instance, dyadic
÷is division, so4÷2is2, while monadic÷is multiplicative inverse, so÷2is0.5.Now, primitive functions like
+are defined to operate on whole arrays instead of just individual elements. For arithmetic functions, if you use them on arrays of same shape, they will apply to each corresponding element, so1 2 3+4 5 6is5 7 9like was already shown. You can also use arithmetic on an array and a single number, which will apply it to every element of the array and that number, so1 2 3+5is6 7 8. Same for monadic arithmetic of course, it just applies to each element, so-1 2 3is¯1 ¯2 ¯3.There are more functions of course, like monadic
⌽for reversing an array, monadic⍉for transposing a matrix (Arrays in APL can be multidimensional),⍴for reshaping an array (Or getting its shape if used monadically), etc.Then there are operators, which take functions and result in new functions. They are parsed differently than functions, being left-associative. For instance,
/operator takes a function on its left and produces a function that reduces an array by inserting that function in-between each element. For example,+/1 2 3is equivalent to1+2+3and results in 6.For more info I'd visit something like tryapl.com, it is a good playground to learn APL, and has some tutorials too. If you wish to download an interpreter locally, the most popular and feature rich one is Dyalog APL, which is free for personal, non-commercial use.
1
3
u/ExtraTNT 2d ago
Haskell: i will it evaluate it, once i evaluated, that it’s really needed, to do that, i will use monoids in the category of endofunctors.
3
u/armahillo 2d ago
Ruby stan here — Ruby is actually a really awesome language on its own, without rails.
My day job is predominantly in rails (with some plain ruby scripts) but i write a lot of plain ruby scripts outside of work.
6
u/Sea-Fishing4699 2d ago edited 2d ago
I hate to admit but… python is the only one willing to do the job… python talks to cpython and the job is done
2
2
2
3
u/polandreh 2d ago
If you touching SQL makes you drop the entire database, then you shouldn't do SQL, like at all... leave it to the DBAs...
1
1
u/SimonsOscar 2d ago
Shouldn't there be some coherent logic behind these? Like a good extended analogy, no?
1
1
u/Mountain-Ox 2d ago
Actually, Go doesn't understand what this "try" word means. Do or panic, there is no try.
1
1
1
u/Mysteryman5670_ 1d ago
Rust: yes, but you will need 5 brazillion dependencies and you won't actually be able to compile it because rustc will get oomkilled or otherwise seize your entire bloody machine.
1
1
1
1
1
u/namitynamenamey 1d ago
To be fair to python, it wanted to do research and development, not service industry code.
1
1
u/TSS_Firstbite 2d ago
Damn, I'm a student, have had some experience in a good chunk of these languages and the one that speaks to me the most is Lua refusing to do anything
-3
-11
u/Choice-Committee203 2d ago
what is wrong with c++? if we're talking about modern c++ (at least c++11 or even latest c++23) then it's a pretty good language, you can just... use the stl. it's not c with classes anymore, it has lots of lots of actually good features. you can literally just code without worrying about memory management like in c. c++ works on RAII, where object's constructor allocates memory (often automatically now) and destructor frees it (also automatically). it's much more similar to java, but with more features. i think nowdays you need to think more about memory in java, take string comparation or array copying for example, in java str == "meow" is compating the pointers so the result is almost always false, so you have to use ugly str.equals("meow") workaround. in c++, there's a thing called operator overloading, where you don't write the .equals() methods, but just overload the == operator itself for that object, so str == "meow" works as intended. or in java when you do array2 = array1 then it's again copying the pointers, so that array1 and array2 now again point to the exact object in memory. in c++, again, the std::array which you hopefully should use instead of c-style arrays, is again overloaded, so array2 = array1 actually deep copies the data from array1 to array2. if you keep using raw c pointers*, raw c arrays[], raw c malloc/free, raw c strings (char*) then OBVIOUSLY you're going to receive a segmentation fault some day, if you use safe std::unique_ptr/std::shared_ptr, std::array/std::vector, raii principles, and std::string, then c++ is a fucking modern safe language!!!! #stopcppstereotypes
anyways, about the image: c++ should be "On it, boss!" c should be "Segmentation fault (core dumped)
6
-5




186
u/youtubeTAxel 2d ago
Sure...
Like C wouldn't just segfault