this post was submitted on 21 Aug 2023
42 points (92.0% liked)

Programmer Humor

19488 readers
842 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
 
all 27 comments
sorted by: hot top controversial new old
[–] [email protected] 7 points 1 year ago (2 children)

Tbf, "learned a language" is a hard thing to pin down in any case.

I've been building enterprise software with python for almost a decade now. I still occasionally find stuff in the stdlibs that I didn't know about, or even sometimes some subtle feature of the language that I never had reason to explore until now.

If someone asks me if I "learned" python, id say hell yeah - but there's always still plenty to learn

That being said, no reasonable definition of learned includes what you could do in 2 days, even as an experienced dev lol

[–] [email protected] 3 points 1 year ago (1 children)

Exactly. I’m 20 years in and I’m still like “I had no idea this was a feature… cool!”

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

"cool": that sinking feeling that there's so much you could go back and optimize, but that you probably will never have the time to...

[–] [email protected] 2 points 1 year ago

Yeah… stuff from last week too 🙃

[–] [email protected] 0 points 1 year ago (1 children)

To be fair, i did cover the Fortran 95 spec in a weekend, but i was motivated to tutor aerospace engineerings as there were far more females there than in Electrical Engineering and Computer Science.

[–] [email protected] 2 points 1 year ago

The point is that learning a spec is not learning how to program in the language, just as learning how a violin works is not learning to play the violin. And writing your first few programs is like learning to play Twinkle Twinkle Little Star and The Happy Farmer on the violin. You've kind of learned the violin, but you're not getting into any professional orchestras.

[–] [email protected] 4 points 1 year ago* (last edited 1 year ago) (1 children)
import React from 'react';
import ReactDOM from 'react-dom';

ReactDOM.render(
	<div>
		<h1>My Site</h1>
		<p>Welcome to my cool site. 😎</p>
	</div>,
	document.getElementById('root')
);

Me too. I'll take my salary now, please.

Edit: Lemmy stripped out my rickroll. :(

[–] [email protected] 2 points 1 year ago

Sucks that your rick roll got taken from you. I understand how hard it must feel, so please know that I'm never gonna give you up, never gonna let you down, never gonna run around and desert you

[–] [email protected] 2 points 1 year ago (1 children)

Probably the hardest part of React, for me, was getting used to the callbacks. Passing data up to the parent component using a function. It's a little difficult to get used to if you haven't encountered it already

[–] [email protected] 1 points 1 year ago

Just shove it in the state! I watched a few react videos over the last TWO WHOLE DAYS, it works!! ;$

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago) (2 children)

React is a library, when do you consider a library "learned"? If they already knew JavaScript why couldn't they "learn" React in two days?

I've been using Python regularly for a decade and I'm continuously using new libraries and learning new things, I can't think of when I would have considered Python "learned".

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

“Learned” means you can make code for production that other people won’t go “wtf are they doing, this isn’t how react works”

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (1 children)

That's just how we look at eachothers' code, and even our own code that we forgot we wrote lol.

[–] [email protected] 2 points 1 year ago

Whenever I have to dredge up an old project to make a change or just to check something, I'm hit with the temptation to rewrite the entire thing. I'm constantly learning, and I subscribe to the notion that there are endless ways to do something and none of them are right. Hell, I've brought 3 fairly large Vue projects to term and all of them were done the "right way" at the time, but completely differently. There's what, 3 different approaches in Typescript for components?

[–] [email protected] 1 points 1 year ago (1 children)

React, Vue, Solid, ... are a lot more complex than your average JavaScript library, because they contain so many abstractions and basically require a separate "way of thinking" in addition to what you know from JS itself. There's a separate state and UI model, hooks are a foreign concept at first, and component memoization and re-rendering takes some getting used to as well.

Now, I only have two years of experience with React, but ten in JavaScript overall, and I will say that using React/JSX required the biggest "mental model shift" for me. That's not to say that it's difficult to work with or particularly hard to learn, but it takes time to understand and really internalize this language-within-a-language library.

The way you're asking that question seems to imply that because the API of some Python libraries can be learned in two days, the same must be possible for React, and that seems rather dismissive.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

This post got the issue exactly. To use either React or Vue, the first thing you (should) learn from them is about the render mechanisms, which are introduced under the concept of component lifecycles, which only exist because both render things using a Virtual DOM. This is NOT hard, not even close, but it's also non-trivial and it's not immediately learnable with just hands-on code experience. It's also boring to go through it first, so "first thing" has a ton of quotation marks most of the ways you learn it. It's the kind of stuff that explains why the code is the way it is, and it makes sense of the thing, but can be new and weird.

I think a better way to relate to the issue is to ask people to recall how they learned git, specially those who tried to learn by doing. I've known SVN before I learned git, so when I had to sit down and actually understand it, some of the concepts were transferrable. But I've seen many, many people try to learn it and completely fumble to understand what the hell they were doing until they were presented with some visual representation such as https://user-images.githubusercontent.com/1256329/117236177-33599100-adf6-11eb-967c-5ef7898b55dc.png A diagram such as that is basically a shorthand to learning the mechanics of git, a sense-maker.

[–] [email protected] 1 points 1 year ago (1 children)

Bah, 2 whole days? I learned React in 1 day!... then another, and another, and then I got a book, and a few years later... I learned how to fix whatever ChatGPT spits out in React in 2 days!

[–] [email protected] 1 points 1 year ago (1 children)

This person also lectured me on using AI to write code. Saying it was better than a human (in 2023), and that it made him senior level. They practically mocked me when I told them ChatGPT was pretty bad at coding.

[–] [email protected] 1 points 1 year ago

React definition: React (also known as React.js or ReactJS) is a free and open-source front-end JavaScript library for building user interfaces based on components.

Guys, I've learned React in 1 minute!

[–] [email protected] 1 points 1 year ago (1 children)

I feel bad because while I don't reach for react (I usually pick Vue or vanilla), people's comments about react is really depressing.

There's a LOT of shitty react code. And when you see beautiful react implementation, it's like a work of art.

Unfortunately, react projects have been given to by bootcamps grads with 6 months of experience and it's like the blind leading the blind...

I wonder if it's like PHP. Lots of people shit on it because they had to futz around in a garbage project written by garbage developers, fully unaware that it can be elegant in the hands of a professional team who cares about code quality.

[–] [email protected] 1 points 1 year ago

PHP is great for building APIs to use with React or Vue. I’m happy I have so much back end experience with both good and bad code.

My motto: if a Junior dev can’t figure out what I’m doing after two weeks of training, I’ve failed.

[–] [email protected] 0 points 1 year ago (1 children)

Took him two days to figure out a hello world in react?

[–] [email protected] -1 points 1 year ago

Might be "her" ☝️

[–] [email protected] 0 points 1 year ago* (last edited 1 year ago) (1 children)

To be fair it took me couple of days to learn the basics of react. But I had years of programming experience, including other frontend frameworks like angular, angularjs, knockoutjs etc.

[–] [email protected] -1 points 1 year ago

Eh, lots of stuff can be easy to learn, difficult to master.

Most languages only take a few minutes to do a "hello world" app.

When you announce you're comfortable with something, it probably depends on the scale of the apps you're used to working on.

So a junior dev could very well feel they've learned something like react after two days of cramming.