• go $fsck yourself@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    4 months ago

    This is fucking dumb. People learning how to code don’t know how to start. They don’t know what to start writing or where to start on it. This is akin to telling a depressed person “just don’t be sad”.

    • Kindness@lemmy.ml
      link
      fedilink
      arrow-up
      0
      ·
      4 months ago

      When I’ve spoken with people who says they ‘want to code, but don’t know how to start,’ dollars to doughnuts it’s the same problem as wanting to learn hacking, artistry, or science. (I think the original comic was drawing.)

      There isn’t a solid reason for why they want to learn X, the wanters just think it would be cool to *be an X-er", and want anyone to hand it to them.

      The people who want Y, and need to learn X to accomplish it will take the first step. Though many won’t follow through if goal Y is too high. I’ve pointed people to the resources to learn X countless times. It’s only the people who want Y, and are willing to learn X to achieve it, that succeed. Hacker, Coder, Engineer, Artist-er, and on and on. You can lead a horse to water, but not teach it how to drink.

    • Zombie-Mantis@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      4 months ago

      It’s like trying to make a person learn how to play the flute by just handing them a flute. If they don’t know how to assemble it, clean it, hold it, press the keys, and proper embouchure, they’re never going to learn how to play the instrument.

      • EuroNutellaMan@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        4 months ago

        Not everyone learns in the same way. If someone learns better by asking others for guidance and you tell them to just read a book I hope they spank your arse with that brick of paper smh.

    • AggressivelyPassive@feddit.de
      link
      fedilink
      arrow-up
      0
      ·
      4 months ago

      Exactly. If you know nothing about a topic, you don’t even know, what exactly to google, except “how to make computer do stuff”.

      The initial hurdle of incompetence can be extremely frustrating and almost impossible to climb, if you don’t have guidance.

      • KombatWombat@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        4 months ago

        If you want to learn how to code, can’t you just google “coding tutorial for beginners” or something similar? Probably you would need to pick a language, but that would similarly be solved with “recommended coding language for beginners”. Then it’s very easy to find a resource that starts with hello world and gradually introduces new things. And I’m sure if it moved beyond a browser toolbox, a guide for setting up whatever IDE would be included.

        Learning to code is by no means easy, but it’s possibly the best type of thing to learn when it comes to having a wealth of free, easily discoverable guides. The main obstacle is choosing to put in the time, and this comic removes that obstacle by forcing them to not put it off.

        • EuroNutellaMan@lemmy.world
          link
          fedilink
          arrow-up
          0
          ·
          edit-2
          4 months ago

          No because most tutorials will start from “write print(“Hello World”)” and the like without mentioning compiling or where to write it or with what…

          I didn’t really get into coding until someone guided me through the basics of python, which is an easy language that doesn’t even require compiling. One of the reasons was precisely not knowing where to start.

          • buzziebee@lemmy.world
            link
            fedilink
            arrow-up
            0
            ·
            4 months ago

            It’s gotten a lot better in recent years tbf in terms of those kinds of resources. Beginner recommended languages like Python are still a pain because it’s super easy for a beginner to bork how they set it up, but on the whole there’s plenty of online code sandboxes and other ways to get started.

            Your point is definitely valid though. Why on earth would we want someone who’s just showing an interest in programming to write their own compiler??? Wtf? If someone wants to get into baking you don’t send them out into the fields for 6 months to grow some wheat.

            When I was a kid I mucked around with html and css to make some GeoCities sites. I decided I wanted to learn how to code so I got a book from the library called “how to code games for beginners” or something. The thing never told you how to set up an IDE or compile the game. So I was just frustratingly typing out the code examples into notepad without a clue as to what to do. I think this was during the dialup era so it wasn’t like there was a wealth of info online.

            I ended up abandoning programming for quite a few years. It just seemed like nonsense because writing graphics libs for C in notepad does feel like nonsense to a child. I wonder what life would be like if I had some better resources at that moment in time and decided you continue pursuing it.

        • blind3rdeye@lemm.ee
          link
          fedilink
          arrow-up
          0
          ·
          4 months ago

          I’m sure its different now from when I started - because coding is very popular, and the internet is a thing… But I can tell you, that it took a long time before I knew what a programming language was, or ‘coding’… these words were just not familiar to me.

          I learnt stuff by just opening random executable files in notepad to see what they look like… mostly it was just garbage that no one can understand - but some of them were readable, and I replicated and learnt from them. (they were .bat files.) I became a bit of an expert in making very fancy batch files. I made customisable menus, and a little adventure game. Then my parents helped me out by buying me a programming book. It was about programming in Visual C++. I was pretty excited - until I quickly worked out that Visual C++ was something you had to buy before you could use it.

          Anyway, my point is that it is easy to see what you need from the point of view of an expert; but from the point of view of a novice, you don’t know what you don’t know. You don’t know which words are important, or what anything is called. The first steps are not hard except that you don’t know which direction you are meant to be stepping in, or where the starting point should be.

        • AggressivelyPassive@feddit.de
          link
          fedilink
          arrow-up
          0
          ·
          4 months ago

          Well, put yourself in the shoes of someone who knows nothing about programming and googles what you described. They’ll be flooded with information that they can’t really make sense of. What language do I choose? I want to make games! So is C++ the right one? Can I learn another one?

          Look at the questions in beginner forums. The naive, seemingly stupid questions. Many beginners struggle to understand what a language is, and how languages are related. To many a programming language is a series of magic incantations that make the computer do stuff. They treat it like spells.

          Then, if you do manage to get over that hurdle, you’ll have to put in quite some time to get anything useful out of your code. You’ll have to bang your head at many hard surfaces, read tons of unrelated crap because, once again, you don’t even know what to google.

          I don’t know, if you ever worked with complete novices. People who want to learn, but know next to nothing. Where I live, you can do apprenticeships for software development, and I had to guide a few of our apprentices. At that point I had been programming since 14, had programming classes in school, master’s degree in CS and several years of work experience. So I was very much removed from being unknowing. Being confronted with the utter incompetence and lack of any context of these guys was extremely eye opening to me. Those were bright, motivated younglings, but everything that seemed obvious to me, was completely beyond their capabilities.

          In short: you may underestimate the difficulties to learn without guidance.

      • Appoxo@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        0
        ·
        4 months ago

        My best motivator is having an issue and a need to solve it (e.g. room is cold after work but I’d like it warm -> automation or “I hate how netflix is taking away my movies” -> Media library). This resulted in me getting a smart home thermostat and jellyfin.

    • johannesvanderwhales@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      4 months ago

      I think some people view it as “if you’re meant to be a coder your natural curiosity towards how things work will probably lead you to writing code naturally.” But it’s a pretty gatekeepy point of view.

      • UnderpantsWeevil@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        4 months ago

        Its a good litmus test for people who are genuinely interested versus people who just heard “Lern 2 Kode” from a hustler on YouTube and thought they could bullshit their way through it.

        But also, you’ll notice the cartoon character getting handed a nice looking laptop and keyboard. How cool is that? A cartoonist handing you a few hundred dollars worth of hardware plus presumably an always-on internet connection. Imagine if everyone had those kinds of resources just tossed to them at the asking.

        • EuroNutellaMan@lemmy.world
          link
          fedilink
          arrow-up
          0
          ·
          4 months ago

          But they aren’t asking for tools they’re asking for guidance. What’s the point of all that expensive hardware if they have no clue what to do with it and where to start learning?

    • UnderpantsWeevil@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      4 months ago

      Rolling up and getting started is a great way to find some really sloppy ways to do some initially very fascinating tricks. Like, its not a terrible idea on its face.

      But there’s a huge difference between learning some javascript tricks or python commands to macro with and professionally designing a full stack. Really depends on what you’re trying to accomplish.

      Best thing in the world is a fresh faced young developer who is eager to learn everything you put in front of them. Worst thing in the world is someone who only half-knows how to code but thinks they can do a proper mobile app from first principles. Every time I see a mile of copypasta spaghetti code sitting inside a single oversized Main() function, I die inside.

    • exu@feditown.com
      link
      fedilink
      English
      arrow-up
      0
      ·
      4 months ago

      At least for me the most learning to program happened because I had something specific in mind I wanted to achieve and just go for it.

      Yes, the code sucks (And I rewrote it 3 times originally, it still sucks), but it’s not really something I particularly care about now as it mostly works as designed.

      • fsxylo@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        4 months ago

        I’m physically incapable of doing code “for the sake of it” something has to piss me off enough to want it automated. It’s stifled my theoretical knowledge but I can do a thing if I need to.

        It’s a good thing I have a big project to occupy my time. No shortage of problems to solve there.

    • Simmy@lemmygrad.ml
      link
      fedilink
      arrow-up
      0
      ·
      4 months ago

      So right. I did start a self-taught course in Python years ago, I got stuck on OOP, and couldn’t wrap my head around it, so I go demotivated. I want to start over and learn now that I have more free time.

    • JoYo@lemmy.ml
      link
      fedilink
      English
      arrow-up
      0
      ·
      4 months ago

      Ironically that is how to fight depression, changing your mind. Any technique that has proven effective has been exactly: stop being sad.

      I’ve tutored at least a few people that have needed me to put their hand on a mouse and show them how to navigate an IDE.

        • JoYo@lemmy.ml
          link
          fedilink
          English
          arrow-up
          0
          ·
          edit-2
          4 months ago

          it takes daily practice but it can be “just”.

          of course, any recommendations given to people can be abstracted absurdly in order to dismiss them if they’re motivated to do so.

      • Doc Avid Mornington@midwest.social
        link
        fedilink
        English
        arrow-up
        0
        ·
        4 months ago

        Medication helps a lot of people, and CBT is very effective for others. I’ve never heard of a “technique” that’s effective against depression that can be reasonably described like that, but I’m not an expert. Would love some concrete examples.

  • Napain@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    4 months ago

    sometimes i wish i could start over learning to code again. it used to feel so mysterious and badass.

  • hakase@lemm.ee
    link
    fedilink
    English
    arrow-up
    0
    ·
    4 months ago

    Starts typing gibberish in Microsoft Word because the magic hand still hasn’t told me how to get started coding.

  • Presi300@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    4 months ago

    Alright, I learned graduated harvard and learned how to code, now how do I center a div?

    Source: the actual harvard university website

  • N_Crow@leminal.space
    link
    fedilink
    English
    arrow-up
    0
    ·
    4 months ago

    Alright, smart guys. I know how to code. How do I make these variables into a an app?

    Honestly I’ve been trying to learn coding for a while, and there’s a huge chasm between knowing a language and doing something with it that I can’t go over. I want to make an app to create ttrpg character sheets… Alright how do I make my code into something with an UI? How do I turn it into an executable? How do I turn these lines into SOMETHING?

    • Asafum@feddit.nl
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      4 months ago

      This has always been my issue with programming. I can visualize how to build a chair, I know what I need to build it and I know what it needs to do. I know how screws work, and I understand when glue is applied.

      But with programming it’s like i know what the word wood is and I know what the word fabric is, but I haven’t the slightest idea how I use any of it to make anything useful. I can’t even start to build a plan because I don’t even know what’s needed for any specific thing.

      At least you have an example of what you want to make, I don’t even know what I want to make so it makes “figure it out” even harder lol

    • Dudewitbow@lemmy.zip
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      4 months ago

      this is where branches of coding splitoff, as learning the fundamentals of coding doesn’t stop there, its a field where you have to pick up new skills on the go because not everyone needs it.

      some people never touch apps because they might work backend or engineering, some people might not touh databases because they arent the ones dealing with CSV files. some people never touch web development (because its not engineering in some jurisdictions /s)

      If i have to make a crude comparison, think of it like driving. basic driving knowlege is knowing how to drive a car. Knowing how to drive a car doesnt imply they know how to drive a boat, formula vehicle, big truck, forklift and such, so you need to go into further training for those, but you never should expect someone to cover all usecases.

      • nonfuinoncuro@lemm.ee
        link
        fedilink
        arrow-up
        0
        ·
        4 months ago

        Then what’s the class C passenger vehicle license of coding that everyone needs to survive in the modern world from teenagers to grandparents? I just want to drive a sedan from point A to point B, maybe pick up a piece of furniture from Costco or a litter from soccer practice in an SUV once in a while.

        • Dudewitbow@lemmy.zip
          link
          fedilink
          arrow-up
          0
          ·
          edit-2
          4 months ago

          the basics of coding is less the language, but more the algorithms and pracices.

          knowing concepts like object oriented programming is language agnostic. how you learn OOP can be done with several languages, usually most commonly with Java or Python, but it fundamentally doesnt matter for the common languages for the most part.

          • nonfuinoncuro@lemm.ee
            link
            fedilink
            arrow-up
            0
            ·
            4 months ago

            OK but that still doesn’t help me go from “I know the difference between integers and floating point variables and how to make loops” to “Hey Mom here’s a new house I bought with my stock options from my startup”

            • Dudewitbow@lemmy.zip
              link
              fedilink
              arrow-up
              0
              ·
              edit-2
              4 months ago

              hemce, in your case, you trained for a job which is something you do to get money.

              if you want to write an app, go lool up guides or classes on the type of app you want to write. not everyone takes said class because it may be irrelevant to their field of programming.

              the only thing they will typically all share is basic understanding of variables and object oriented programming.

        • GroundPlane@iusearchlinux.fyi
          link
          fedilink
          arrow-up
          0
          ·
          4 months ago

          Literally C/C++. Most used out there. Now if you want to do everything with it, you’re in for a long ride. You can do everything on every platform with C. But learning the language is the easy part. The hard part is learning good coding pratices, which library to use and how. Only guides and practice will help you there

    • AggressivelyPassive@feddit.de
      link
      fedilink
      arrow-up
      0
      ·
      4 months ago

      As stupid as it sounds, you build small blocks and put them together.

      In your case, build a console app, that (for example) creates basic sheets. Then you build a small text only interface to plug actual values into the file, then you can think about a GUI.

      Many beginners (myself included) want to go from 1 to 100 immediately, but that’s almost impossible. You tackle small problems first and then step by step go further.

      You may have heard of startups building MVPs, minimum viable products. The basic core of what functionality you want to have. That’s where you start.

    • peak_dunning_krueger@feddit.de
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      4 months ago

      If this is not a meme…

      You know how you have to look up… errors when you don’t know what they mean?

      That.

      Figuring out how to do something specific, like UI, works just like that. All the time. It’s “looking up how it works”, then “messing around with it until it does” all the way down.

      If you are just starting out, coding something in HTML and javascript might be intuitive, because you can see and run it right away. Otherwise you will have to figure out how to use some kind of UI framework in the language you’re using. Because they’re all different. Yeeeaaah…

      I think it’s harder for compiled languages and easier for interpreted ones.

    • flubba86@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      4 months ago

      Actually this is the biggest hurdle in leaning how to code. You can blame the huge numbers of “learn to code in 24 hours” articles and videos online and the the influx of “5 day bootcamp” courses. Its like teaching someone the basics of how to drive a car but never teaching them the road rules and never taking them on the road.

      A better analogy might be learning a foreign language. It’s like teaching someone all the words in Spanish, but never putting them together in a conversation.

      I’d argue that if you say “I know how to code, I know what variables are and how to print text to the console, how do I make an app?” Then actually you don’t know how to code. You might know the basics of a programming language, and that is the first step in learning coding, but there are many steps after that.

      I identified this gap a few years ago after seeing a couple of my friends (one finished a boot camp, and one finished a software development major at Uni) both were in this same situation. I determined there is a big gap between “knowing a programming language” and “knowing how to make software”. It’s like going from “I know how to write words” to “I know how to write a novel”. It’s not something that comes easy. It’s something that can take time (often years) to get good at. This is the reason you see requirements like “3 years software development experience” on entry level programmer jobs. The number of people in your situation is incredibly high. The coding bootcamps churn them out by the hundreds every month.

      A couple of years ago when I was between jobs, I created a Gumtree ad advertising “post-bootcamp” courses, that aimed at bridging this gap. It was a series of private 1on1 lessons aimed at teaching someone to go from “knowing how to code” to being “software developer” job ready. Lots of people have many different learning styles and different paths they took to this point. The key is focussing not on the giving them the missing information, but teaching the person how to identify what steps are missing and how to find resources to learn them (because that’s the real missing knowledge wink).

      Unfortunately I found some people didn’t want to learn how to learn for themselves, and just wanted me to hand them the “secret missing parts” on a platter.

    • locuester@lemmy.zip
      link
      fedilink
      English
      arrow-up
      0
      ·
      4 months ago

      What OS do you run? Are you planning on sharing this app with others? Should it be a web app?

      Happy to help!

    • JPAKx4@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      0
      ·
      4 months ago

      That is a really good point, and there isn’t a one answer first all. If you’re looking for a mobile app, then you could do Android studio or Swift for IOS. If you only want to develop one app for both, then maybe you should just do an electron app that is essentially just a website.

      These tools will either have a visual interface editor, markdown language (like html), or a way to define visual components in code. After programming an app you can build, which will give you the appropriate executables for the different platforms.

      If you’re looking to start simple, then use something like pygame to learn the basics of using a visual interface.

    • thedeadwalking4242@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      4 months ago

      Look for some UI libraries. They provide functions and classes that you can call that will draw things to the screen. As for the executable part that varies per Language. If you want help dm me and maybe we can do a discord call!

    • Kogasa@programming.dev
      link
      fedilink
      arrow-up
      0
      ·
      4 months ago

      What platforms would you like your app to run on? Then, which UI framework supporting those platforms would you like to use? Then, look at the framework’s documentation to find a sample starter project that you can run as an app, and modify it from there

    • whoelectroplateuntil@sh.itjust.works
      link
      fedilink
      arrow-up
      0
      ·
      4 months ago

      Libraries. If you had to write everything from scratch, nothing would ever get done. You pick a UI library/framework that meets your needs and is supported in the language you’re using, and go from there.

      You can use a Web interface, it’s absolutely hideous but it gets the job done. I hear QT is pretty easy to develop for and it’s cross-platform.

    • GroundPlane@iusearchlinux.fyi
      link
      fedilink
      arrow-up
      0
      ·
      4 months ago
      1. Turning into an executable is compiling as far as C goes. For Python, there probably is something somewhere to wrap a script into a .exe.

      2. For the UI: what matters is the data you generate, not the fluff around it. As the other commenter said, start with a CLI program. You can easily nest several levels of menus if that’s your thing. This allows you to have user input. Then for outputs you can do it to a .txt or .md file. Use simple text-based formats. Then once you’ve got that down you could build a GUI? But tbh I have never built a GUI and I’ve been programming for 10 years at this point so I can’t help you out. There are simple cross-platform libraries you can use out there

      • KyuubiNoKitsune@lemmy.blahaj.zone
        link
        fedilink
        arrow-up
        0
        ·
        edit-2
        4 months ago

        So much this. I spent probably 2 hours try to get something to work that it said would work before giving up, spending 5 minutes to Google and finding the solution that I could use to get what I wanted done and more.

        After that I rarely ask it for help.

    • zerofk@lemm.ee
      link
      fedilink
      arrow-up
      0
      ·
      4 months ago

      Arch? You’re way too nica. A bare Debian netinstall and a link to linuxfromscratch. They have wget, so they can get started.

    • IdiosyncraticIdiot@sh.itjust.works
      link
      fedilink
      arrow-up
      0
      ·
      4 months ago

      I recently sat in a call with someone ~50 y/o helping someone ~25 y/o…

      “Open vim and change xyz” met with “What’s vim…?”

      I don’t think I’ve ever laughed so hard while feeling overwhelming sadness at the same time 😖

      • Hugucinogens@lemmy.blahaj.zone
        link
        fedilink
        arrow-up
        0
        ·
        4 months ago

        I mean… Young people don’t know things yet… Isn’t that normal?

        I get feeling existential about the passage of time, but… Sad? Laughing? Maybe I’m imagining it wrong, but I dunno. Maybe I’m just the young person in this occasion.

        • DefederateLemmyMl@feddit.nl
          link
          fedilink
          English
          arrow-up
          0
          ·
          edit-2
          4 months ago

          I mean… Young people don’t know things yet… Isn’t that normal?

          Depends on the context I guess. If this is a professional IT context in which the 25yo is expected to be proficient enough on a Linux system to edit a text file, not knowing that vim exists is kinda sad.

          • Hugucinogens@lemmy.blahaj.zone
            link
            fedilink
            arrow-up
            0
            ·
            4 months ago

            … I don’t know if I’d call it sad, as much as kinda baffling. Vim was on every package manager list I’ve seen, under text editors… Big stylised letters, how does one miss that?

            I feel like it’s someone who only uses Linux specifically for (and because of) their work, and has probably never tinkered and casually browsed around in it.

            Yeah, I can see how that can be sad, like a person who doesn’t actually share your culture/hobby after all.

    • Lucidlethargy@sh.itjust.works
      link
      fedilink
      arrow-up
      0
      ·
      4 months ago

      I just use homemade integrated circuits on a huge self-built circuit board, myself. I guess some of you need a lot of hand holding.

      • ikidd@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        4 months ago

        It’s slightly less painful than having a beautiful woman walk on your testicles with high heels.

  • Schal330@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    4 months ago

    If anyone genuinely feels this way and wants to get started in coding, I highly recommend doing one of the mooc.fi courses. Codecademy is fine as a taster/refresh but don’t waste money on the premium when something like mooc is available for free.

  • barsoap@lemm.ee
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    4 months ago

    Obligatory link to the wizard book, aka learn programming the proper way. Never mind the language this is about principles and fundamental concepts. Yes by the end of it you’ll have written a compiler, that’s the equivalent of a smith forging a hammer and tongs. Flank with HTDP if you need a bit hand-holding putting programs together, SICP is rather pinpoint-focussed on the concepts so doesn’t contain much in terms of design. If you want a stand-alone implementation of the language (with the first link you can run all the code boxes in the browser, fancy newfangled stuff I approve of) racket is the way to go, just add #lang sicp in front of your files and you’ll have the exact dialect the wizard book uses.

    The wizard book has been the standard recommendation for like 20 years now, the only reason other tutorials exist is because newbs insist on “how to move cube in unity without programming” type of hand-holding. It’s not actually helping them, on the contrary I see much learned helplessness in the young’uns.

    From those basics you can dive into whatever concrete you need for whatever you want to do, you’ll have the necessary background to not be lost at sea. To further build that background knowledge it’s a good idea to have acquaintance with a broad selection of standard data structures, algorithms, and their properties. No need to go in real depth but you should have an at least intuitive understanding of why they have the properties they have, like, don’t be surprised if your game stutters if you’re using hashmaps. O(1) and amortised O(1) are not the same thing.

    Last, but not least, never write your own datetime or unicode handling code.