• bitsplease@lemmy.ml
    link
    fedilink
    arrow-up
    12
    ·
    1 year ago

    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

    • tsonfeir@lemm.eeOP
      link
      fedilink
      arrow-up
      5
      ·
      1 year ago

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

      • phorq@lemmy.ml
        link
        fedilink
        arrow-up
        4
        ·
        1 year ago

        “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…

    • jarfil@beehaw.org
      link
      fedilink
      arrow-up
      2
      arrow-down
      1
      ·
      edit-2
      1 year ago

      Define “reasonable”…

      Something like 20 years ago, I learned PHP in 2 days… meaning, I could write better PHP than anyone else on the team.

      (not to diss on the team, one was a Java guy who left shortly afterwards, the others were a couple interns, while I had the power of something like 10 years of coding experience… and a PHP cheatsheet-booklet)

      • bitsplease@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        That sounds less like you learned the language to a high standard, and more that you were already a good programmer in general terms and everyone else on your team barely knew what they were doing.

        Ultimately if you can write good code in one language, you can probably also do it in another (especially with access to cheat sheets), but I still wouldn’t call using a cheat sheet having “learned” a language.

        Of course it’s all relative and subjective - which is the whole point , one person may consider just being able to write syntactically correct statements as having “learned” a language. Where others might expect a deep knowledge of the language features, standard libraries, and best design practices (this is the side that I personally lean, which I maintain can’t be done in 2 days)

    • jecxjo@midwest.social
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 year ago

      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.

      • floofloof@lemmy.ca
        link
        fedilink
        English
        arrow-up
        2
        ·
        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.

  • Ullallulloo@civilloquy.com
    link
    fedilink
    arrow-up
    10
    ·
    edit-2
    1 year ago
    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. :(

    • WackyTabbacy42069@reddthat.com
      link
      fedilink
      arrow-up
      10
      arrow-down
      1
      ·
      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

  • jarfil@beehaw.org
    link
    fedilink
    arrow-up
    4
    ·
    1 year ago

    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!

    • tsonfeir@lemm.eeOP
      link
      fedilink
      arrow-up
      10
      ·
      1 year ago

      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.

  • Steeve@lemmy.ca
    link
    fedilink
    arrow-up
    4
    arrow-down
    1
    ·
    edit-2
    1 year ago

    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”.

    • tsonfeir@lemm.eeOP
      link
      fedilink
      arrow-up
      6
      ·
      1 year ago

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

      • Steeve@lemmy.ca
        link
        fedilink
        arrow-up
        5
        ·
        edit-2
        1 year ago

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

        • Zikeji@programming.dev
          link
          fedilink
          English
          arrow-up
          2
          ·
          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?

    • relevants@feddit.de
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      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.

      • DrQuint@lemm.ee
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        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.

      • Steeve@lemmy.ca
        link
        fedilink
        arrow-up
        0
        ·
        1 year ago

        There are plenty of Python libraries that are similar complexity to React, and not just for web development. Huge frameworks aren’t unique to JS, but depending on your background you can totally “learn” how to use them in two days, at least at a base level while you google how to do everything else (but let’s be honest, we’re doing that ten years in too lol).

        But my point was more that gatekeeping “learning” a new tool isn’t really a conversation you can win, because when do you actually consider it “learned”?

        • relevants@feddit.de
          link
          fedilink
          arrow-up
          0
          ·
          edit-2
          1 year ago

          How do you know what is similar in complexity to React? As far as I can tell you aren’t familiar with it.

          at least at a base level while you google how to do everything else

          Ah, there’s the problem. Your definition of learning doesn’t include having an appropriate mental model, which is key to actually retaining and internalizing the way it works. I don’t think it’s unreasonable to say that is a prerequisite for claiming to have “learned” something like a language or framework.

          • Steeve@lemmy.ca
            link
            fedilink
            arrow-up
            0
            ·
            1 year ago

            Your definition of learning doesn’t include having an appropriate mental model, which is key to actually retaining and internalizing the way it works.

            Glossing over the pretentiousness of your comment, this is not quantifiable. When do you consider someone’s “mental model” “appropriate”? You can form a mental model in two days, and that mental model can evolve. This is how learning works.

            • relevants@feddit.de
              link
              fedilink
              arrow-up
              0
              ·
              1 year ago

              Glossing over the pretentiousness of your comment

              And your stance of “I can learn x in two days, so how can people say it takes longer to learn y” isn’t pretentious?

              When do you consider someone’s “mental model” “appropriate”?

              “appropriate” isn’t a quantification of the mental model in itself, I am using the word as “having a mental model that is appropriate to the thing being learned”. A different mental model is required for React than working with vanilla JS and manipulating the DOM directly, so the mental model for one isn’t appropriate for the other.

              And yes, a mental model is quantifiable, to the extent that it accurately predicts what consequences design and implementation decisions may have on the behavior of the system.

              • Steeve@lemmy.ca
                link
                fedilink
                arrow-up
                1
                ·
                edit-2
                1 year ago

                And your stance of “I can learn x in two days, so how can people say it takes longer to learn y” isn’t pretentious?

                Yeah, I never once said anything close to that. I’m simply stating that considering something “learned” is subjective. Get this strawman shit out of here.

              • PreachHard@mander.xyz
                link
                fedilink
                arrow-up
                1
                ·
                edit-2
                1 year ago

                I have nearly a decades experience and react can definitely be learnt in a few days. I say maybe 5-6 on average if you dedicate yourself to it and have a good chunk of development experience already under your belt. My 18 year old apprentice had it mostly down by the end of an afternoon. Although he is exceptionally talented.

                • relevants@feddit.de
                  link
                  fedilink
                  arrow-up
                  0
                  arrow-down
                  1
                  ·
                  1 year ago

                  I think there’s a pretty significant difference between a week and 2 days in terms of how much time you had to solidify your understanding.

                  I also didn’t take that long to pick up the basics, but I could not say that I understood hooks within the first two days of working with React. There are just so many small details and limitations that can catch you by surprise if you don’t know why hooks work the way they do, same with the lifecycle of a component and what triggers a re-render. That does take a few days to fully understand in a way that you can utilize moving forward.

                  It’s possible that I had a harder time because I was used to manipulating the DOM directly, and so managing all updates through state changes and being strongly discouraged from directly referencing UI elements felt very foreign to me. I don’t think that my stance would change if I had a different experience in the beginning though.

    • jecxjo@midwest.social
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Because anyone worth their salt knows that the superficial hello world example covers the tip of the iceberg. So to say you learned it in two days means you either don’t get that you barely scratched the surface or you dont get what other developers really need when they hire someone with knowledge in a specific framework.

    • 30p87@feddit.de
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      Like programming languages, it depends on the context. “Learned” in a casual conversation would mean that one can write programs/libraries and achieve what they want in that language. “Learned” in a more professional manner, like a resume, would mean you can write good, maintainable code and know much of the language underlying stuff and other tools. But practically, in my experience, on a job, knowing a language/library means being better than or equal to your boss if they’re a dev.

      The boss of my father, for example, is gonna challenge you with his knowledge until you agree you’re wrong, if you claim you “know” something. To him, “knowing” would mean you read the docs, source code and used it for many years, so actually know all quirks known to mankind of that language/library. Which isn’t really humanly possible.

      • Steeve@lemmy.ca
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Hard disagree on “learned” for the resume. As long as you know enough to get you through the interview you can learn the rest on the job!

  • alexcoder04@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    Hell, I already sat down three times and tried to figure out what this React thing is. Couldn‘t make it. Using Svelte now and being happy.

  • Notnotmike@beehaw.org
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    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

    • tsonfeir@lemm.eeOP
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

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

  • ______@lemm.ee
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    I learned about how much I didn’t understand react on my 2nd dev job. I had like 2yoe with react previously. There’s a lot about it. Mostly tricks. hacks and work arounds for it’s abysmal performance.

      • ______@lemm.ee
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        There many ways of doing things in react and some are faster than others. I would abuse state and use effect at my old job but at this job my sr dev doesn’t allow me to use useffect unless the situation warrants it.

  • RGB3x3@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    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!

  • Potatos_are_not_friends@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    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.

    • tsonfeir@lemm.eeOP
      link
      fedilink
      arrow-up
      1
      ·
      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.

  • Auzy@beehaw.org
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    I thought I learned it… Then I got screwed for ages until I worked out how UseEffect worked.

    To be clear though, I still suck, and am probably doing a lot wrong

    • tsonfeir@lemm.eeOP
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      That’s the true spirit of development. I’m probably still doing it wrong, but it functions most of the time and no one seems to notice my bugs! Paycheck!!

  • Rusty@lemmy.ca
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    1 year ago

    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.

    • penguin@sh.itjust.works
      link
      fedilink
      arrow-up
      0
      arrow-down
      1
      ·
      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.