Please dont take this seriously guys its just a dumb meme I haven’t written a single line of code in half of these languages
C# Solution -> .sln
(brought to you by .net gang)
C could just be a blank and you have to bit blit the arrow on yourself.
I never understood this logic:
“I know nothing about this subject, I’m gonna post a meme (a funny graphic usually about a specific topic, this one outlining the differences between languages) but I know nothing about the subject and will ask that nobody correct me or try to apply rationale here because I choose to be ignorant and have no interest in expanding my knowledge of the world and people around me, I just want people to tell me I’m funny and give me internet points”
To each their own ig
Geez relax lol. Just downvote it and move on.
Why does everyone always assume you have to be fuming to bring up something goofy you saw lmao
Y’all are the ones who need to chill apparently
Because they themselves are fuming
if you don’t understand memes, you’re in the wrong place
This is not Reddit tho.
Says the person posting the lemmy equivalent of the facebook copypasta after their comments.
@stevedidwhat_infosec @renzev I agree in principle but this meme is unironically accurate?
To the point that I’m doubting the OP’s non-knowledge.
He must know at least a lot of C++… But I disagree with the PHP one; it always transforms the problem, never leaves it alone. And transforms it very productively.
Again, I’m referring to OPs message. Not the meme itself, which was funny.
We need a SeniorProgrammerHumor community. Less jokes about quitting vim and programming languages and more about every day funny issues.
We need a SeniorProgrammerHumor community
to get an invide you must have at least 5 years of verifyable lemmy-experience
People tried that on Reddit. We got a handful of jokes, but nobody had time to laugh of them or post new ones.
We had planned to get some memeing done but we had an all-hands right before sprint review, then sprint retro, then there was an “optional” product sync that we kinda had to go to, and then the team social, and that was basically our whole day.
Thought we might meme a bit at lunch, but there was a lunch-and-learn and it’s not like we were going to skip a free lunch.
We no longer have humor, it’s been beaten out of us by code reviews and merge conflicts.
I believe the idea is to potentially induce a brief nasal snort possibly accompanied by a slight upward curling of the lips in those casually scrolling by. In other words, it’s a joke, being posted on a joke community.
A coding humor community, if you gotta post about it, you should probably expect it.
We’re adults, we can joke about stuff and also talk about stuff… unless you’re not which would still be okay because I wouldn’t be interested in discussion then
…but it’s funny (although it would’ve been funnier if C was “Problem -> Buffer Overflow”)
Yeah it’s a funny meme, was specifically pointing out the post text though not the meme specifically/directly
If you have never had a segmentation fault, then you have never programmed in C
DATA ABORT
Hello JavaScript user 🙃
Hello angry underpaid programmer
Ew.
Also, terrible attempt at a strawman, you didn’t even try lol. Unsurprising response tho from king shallow over here
I never understood this logic
You’re looking for logic in a joke.
Do you question why Donald Trump, the pope and a kid are the only passengers on a plane that’s about to crash?
I bet it was an orgy.
You’re misunderstanding my text.
The joke is funny, telling people not to respond because “it’s just a joke” is cringe.
We can talk about reality and also joke about stuff.
When did I ever tell people not to respond? Where am I being ignorant? I told people to not take the post seriously, because it is a joke post on a community about jokes. By all means, have discussion in the comments, silly or serious. I’ll gladly listen in and maybe learn something. Just don’t try to dissect silly things with serious arguments.
It was an over simplification for the sake of dramatic effect in our conversation, not that deep.
I also was under the wrong impression given this new info, thanks for clarifying. I really wasn’t mad or upset or anything like everyone keeps trying to gaslight me into thinking. Was just pointing out an observation I had…
Why is everyone wound so tight here in a joke community?
OK rust made me laugh
Yeah that one got me too. Rust has tons of c libs wrapped in safe rust.
I was mainly thinking about how so many Rust projects advertise very loudly that they’re written in Rust. Like, they would have
-rs
in the name, or “in Rust” as part of their one-line description. You rarely see this kind of enthusiasms for the the language in other languages. Not a bad thing by the way! And also there’s the “rewrite it in rust” meme, where people seem to take perfectly functional projects and port them to Rust (again, not a bad thing! Strength in diversity!)Yeah, no python package has “py”, JavaScript “.js” or java “java”. None at all.
For Python I think there’s an actual point though: A lot of Python projects are user friendly wrappers for pre-compiled high-performance code. It makes sense to call something “py<SomeKnownLibrary>” to signal what the library is.
I’d even say Rust is python but gone through
format!("{}-rs", problem)
Java:
Problem -> NullPointerException.
Great! The problem is lost in the memory. That means it doesn’t exist anymore right? Right?
More like
Problem → new ProblemSolverFactory().createProblemSolver().solveProblem();
And then it throws a NullPointerException.
Exactly. And configured by 5000 lines of brittle XML.
XML is great because while most config formats compromise on either being human-readable or machine-readable, XML solves this problem by being utterly incomprehensible to man and machine alike 😍
But you repeat yourself.
Needs more
Beans
andAbstractFactoryFactory
No internal logging framework/facade used!
PHP: Problem ->
real_solution_for_real_this_time()
(real_solution_i_swear()
is unsafe and deprecated)PHP: Problem -> Laravel -> Solution
Ahem: Problem -> Laminas -> Solution
Eh, your statement is accurate for PHP4 and still relevant up to PHP5.2… We’re on PHP8.3 now and PHP8.0 is now out of security updates. I know it’s trend to hate on PHP but you’ve got to at least update your materials to var-vars… it’s like knocking node for having
substr()
andsubstring()
.trend to hate on PHP
2 years ago I tried to give a drupal project the ci/cd makeover (i.e. containers, test-deployments, reproducable builds, etc)… that’s when my hate was freshly renewed.
At this point I think it’s ok to let a dead language die and move on to something else (anything else, really)
mysql_real_escape_string
Python one is accurate. Most of our problems are solved by importing a library and writing the line, librarySolver.importedFunction.SolveMyProblem()
def main(): Print(‘thanks librarySolver’)
Advent of code 2023 day 24 part 2. Z3 solver saved the day on that one.
Now I have PTSD every time I see an hailstorm.
So many solver solutions that day, either Z3 or Gauss-Jordan lol. I got a little obsessed about doing it without solvers or (god forbid) manually solving the system and eventually found a relatively simple way to find the intersection with just lines and planes:
- Translate all hailstones and their velocities to a reference frame in which one stone is stationary at 0,0,0 (origin).
- Take another arbitrary hailstone (A) and cross its (rereferenced) velocity and position vectors. This gives the normal vector of a plane containing the origin and the trajectory of A, both of which the thrown stone must intersect. So, the trajectory of the thrown stone lies in that plane somewhere.
- Take two more arbitrary hailstones B and C and find the points and times that they intersect the plane. The thrown stone must strike B and C at those points, so those points are coordinates on the line representing the thrown stone.
- Use the equation for the thrown stone to find its position at time = 0
- Translate that position back to the original reference frame.
It’s a suboptimal solution in that it uses 4 hailstones instead of the theoretical minimum of 3, but was a lot easier to wrap my head around.
That is a great explanation of how you solved it, thanks! I should go back to it and conquer that puzzle properly without a solver. Or at least try.
Actual C: Problem → Segmentation fault
Actual Problem: C → Segmentation Fault
Actual Problem: C → Segmentation Fault?
C --> segfault --> new problem
Sry, the best I can do on mobile
It’s good
🙉 it’s perfect!
python is like that. someone waay smarter than you have already done this 10 years ago.
Idk I still like writing my own stuff purely pythonic when I can. Pythons syntax is the most “fun” and “natural” for me so I find it fun. Like doin a sudoku puzzle
I can’t get over the load-bearing whitespace.
This is the best way I’ve ever heard this described lol. You get used to it so fast, it’s really simple. Just indent your code like you’re supposed to 🤷🏻♂️
At least untill someone sneaks a tab in your spaced code, and you don’t know how to make your code editor show the difference, or it doesn’t support showing the difference.
Only soln is to write Python to read the bitstream and detect several white spaces followed by a tab or vice versa
That sound like a you problem really, detecting this is quite simple because any editor worth their salt will literally lint you an issue saying that tabs and spaces are mixed and the thing literally won’t be interpreted. If your editor can’t show white spaces, chances are you are one google question away from discovering that it actually can do that easily.
The more I code the less I mind the tool and the more I hate the ones using it wrong.
The problem is that Python programmers tend to think the job of readability is done just by indentation. This is wrong, and it shows in all sorts of readability issues. Many of which are in official docs.
Same could be said about people that don’t think that indentation is not important for readability. Both are important, but if you really care about it defining an auto formatter and customising it for whatever consensus the team has is the only way to operate anyway.
Same could be said about people that don’t think that indentation is not important for readability.
You should really avoid double negatives. What you actually said was "Same could be said about people that think that indentation is important for readability“, which makes no sense in the context of the rest of your post.
And I’m not saying this just to be a dick about grammar. I mean, obviously I am, but not just that. If your English isn’t readable, then I don’t trust your Python, either.
My bad, I deleted part of the comment to rewrite it and forgot part of the original. And as you probably guessed I meant for it to be a single negative.
Good thing this is a casual forum and not a work environment where I would reread my code with care haha. There’s a reason linters exist in code editors, it’s for people like me.
Yeah pythonistas just group bad code into “non-pythonic”
It’s basically a credo if you aren’t familiar but Python is preeeetty explicit about formatting recommendations and whatnot so there’s really no excuse for poor Python practices/non-pythonic code
Then what the hell is this shit?
class argparse.ArgumentParser(prog=None, usage=None, description=None, epilog=None, parents=[], formatter_class=argparse.HelpFormatter, prefix_chars='-', fromfile_prefix_chars=None, argument_default=None, conflict_handler='error', add_help=True, allow_abbrev=True, exit_on_error=True)
This is a mess. None of this ascii vomit is useful or enlightening.
I got it from the argparse docs, which is a core module. But really, this is just the way Python docs are generated. Every class doc has an ascii vomit like this at the top, and my eyes hurt every time I see it.
I can’t see what you’re referring to
Does “like you’re supposed to” mean with tabs, or with spaces?
Because if someone else disagrees you are not going to have fun with their code.
Who TF codes with tabs? All the editors I know input spaces when pressing tab anyway.
I would not have fun in any language if someone inputted actual tabs and their tab size was different from mine. Chances are my linter would have told me, regardless of language used!
I have worked with OS projects in C and not even those were tab formatted.
Why the fuck does anyone use spaces when tabs mean everyone uses the same tab size as you? That’s what they’re for!
Yeah, okay. Tell that to every code editor’s defaults and every open source projects source code that I have read.
Encountering tab indented files is like encountering ANSI encoded files or /r/n newline’d files. It’s not how it should be done. Sorry.
Spaces are there to ensure that everyone sees the same, tabs have issues with internal indentation of function declaration and the sort. Yeah it indents like correctly, but then you do need spaces to indent vertically called functions correctly and it always ends up being a cluster fuck. Spaces are a standard for a reason.
PEP8 is clear about that.
I agree, whether or not it is good or bad, or readability concerns over nested braces. I fundamentally hate invisible delimiters. If it matters, make it visible. We have so many ascii characters, why not just borrow a few?
Indentation is visible, and much more so than braces.
Python whitespace is child’s play compared to yaml, which I have the displeasure of having to interact with on the regular
Yaml is honestly just a terrible terrible format that is neither good for humans nor good for machines.
That’s true of basically all problems you deal with in programming. Unless you’re truly bleeding edge you’re working on a solved problem. It’ll be novel enough that you can’t out-of-the-box it but you can definitely use the tools and paths everyone else has put together.
Part of why I like kotlin as a language. It has so many tools built right in.
C:
Problem
→return Solution;
C++:
Problem
→const [auto]&& (Problem&& problem) noexcept(noexcept( Solution<Problem>{}(std::forward<Problem>(problem)) )) { return Solution<Problem>{}(std::forward<Problem>(problem)); } -> decltype( Solution<Problem>{}(std::forward<Problem>(problem)) )
But this doesn’t return the
Solution
. You don’t invoke the lambda.(Or does C++ have implied returns now? Last I heard there was implied
move
)Actually I do; it’s the
{}
that initializes the lambda, and the parenthesis after invokes.That said, it would have been fun.
C:
return *(solution_t*)&problem;
Maximum optimization!
missing the stage of C where it’s all incomprehensible bitfucking with comments like “this works, i do not know why it works, do not touch this”
Real fast inverse square root algorithm hours
That one is not that complicated if you don’t think about the math. It’s basically just if we interpret the float as int and add a magic number we have a good estimation.
From what I remember at least, it’s been a little while since I implemented it.
IIRC also relying on how floating-point is basically scientific notation and the most-significant bits are the exponent.
And most importantly, relying on how a sloppy answer works just fine. The most important skill in game development is cheating.
The most important skill in game development is cheating.
Makes me feel better about my own game dev attempts lmao.
I was more thinking of the comments which are pretty much exactly what you said (“incomprehensible bit hacks” followed by “what the FUCK?”)
C should show some overflow corruption of the problem graphic.
I had this in CSS.
CSS isn’t as bad these days if you use Flexbox. Debugging floats and absolute/relative positioning was a nightmare in comparison.
On the other hand, it made webpages way less flexible.
Like yesterday (i have the browser not in fullscreen, for reasons) on my 16" fullhd notebook, webdev couldn’t imagine that someone would use his site in a ~1000px browser window, sidebars left and right, the main content about 20 characters wide squeezed inbetween. So i pressed f12 and deleted the sidebars. But the content was still 20em wide, because of flexbox.
It’s ironic that the illustration for JavaScript is probably the most realistic and best solution IRL. In the sense that a lot of what problem solving is (which is a big part of software engineer) is breaking a big problem into smaller problems. And you continue doing this until each problem is solvable in a short period of time.
JavaScript sucks though as a language.
Typescript is amazing though.
I guess I have to defend this one. I personally think Typescript is the better language compared to typed Python or Ruby (two comparable languages based on how they are all used). Modern Javascript actually have a lot of nice language features, the only issue is the lack of types. Typescript doesn’t entirely solve the problem but it’s a decent attempt at it. A good typescript repo is decently readable, testable and performant enough for most use cases.
Typescript is wasted on JS. Currently getting a JS certification while porting an action script 3 project to JS, ActionScript 3 was the better language.
JavaScript is a great language until you ask it to do more than toggle a div or send a request to the server
I thought it was a jab at all the NPM packages
Each npm package import will be future maintenance hell.
None of us is as dumb as all of us.
You’re completely correct. But what I meant by that graphic is “poor solutions leading to more problems”, not “breaking down problems into smaller ones”. It was inspired by a cube drone comic that made the same complaint, but I can’t find that particular comic now
Racket: problem - > #lang solution
Didn’t see any mention yet, so… Useless use of
cat
!I’ve seen this before but don’t accept it myself. There are cases where you just wanted to cat. In this case, maybe to review the problem. Then you want to extend the command. Preserving it in the next commands where you start stacking on pipes is useful since it can be fewer strokes and maintain a habit.