Start learning at 50

I’ve always wanted to learn programming. I’ve read a blog post saying that at this age it was to late . Then I read a post here in saying the opposite. I’ve found a site that was learn x in y minutes where it has a bunch of languages there. After reading them, the languages that caught my attention were Julia, Clojure and Go. Are any of these good for a beginner or should I start with something else? I know what are variables, can spot an if/else statement but that’s about it. What are some good resources for someone like me who likes to learn by doing things?

  • eerongal@ttrpg.network
    link
    fedilink
    arrow-up
    7
    ·
    2 months ago

    What are you looking to actually do with your programming skills? That will heavily influence which languages to recommend you learn. Do you want to make websites? build games? do AI stuff? Create enterprise-level software? something else?

    • OhmsLawn@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      2 months ago

      This is always the question that trips me up.

      I’m 5 years younger than OP. I work in a municipal transportation power system job (we maintain and control the grid for trains, trolleys, etc.). I’m sure I’m wasting all sorts of effort in my professional life. I have time. I got a lot out of learning Power Automate. However, if you ask me to pick one specific project, I get overwhelmed because I don’t know what’s reasonable.

      I don’t know enough to know if my ideas are achievable, or if I’d just be bashing my head against the wall. I don’t know if they’re laughably simple tasks, multimillion-dollar propositions, or Goldilocks ideas that would be perfect to learn a coding language.

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

    Never too old to learn. I think Python is a great beginner language. It has fairly broad applications, and easy to set up an environment (don’t have to download/install a thousand things, you just install python and can run the text files in terminal). I also learned by doing starting in late middle school/early high school. I always found YouTube videos to be the most engaging way to get started. I used to like thenewboston. Once I had a handle on the basic programming language, I would do easy programming challenges where you have to solve some sort of basic problem. The challenges helped me learn basics like taking in input, changing the input based on the various rules and conditions of the challenges, then outputting the proper results formatted in the right way. Also helped me to think about algorithms, etc. After that, I started learning programming through a textbook. This was helpful for understanding some of the more technical aspects, basics of memory management, what different variable types are really for, OOP, abstraction, algorithms etc. I found that leaving these advanced topics till after I had a working understanding of the programming language helped understand the concepts better, and helped me understand why it’s important to learn the concepts in the first place. I was using Java for learning most of this, which might also be a good place to start for you, but I feel like python has simpler syntax to start with. In the end once you learn one language, I recommend learning more and not being stuck to any particular language. Every language has it’s own strengths and weaknesses, and understanding the commonalities and differences will only make you better in the long run.

    Edit - now I use Go, python, JavaScript, R, Java, Julia, rust based on what I’m actually doing. It’s fairly easy to switch languages once you get used to basic syntax.

  • EnderMB@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    2 months ago

    I graduated in CS alongside a guy in his fifties. He’s now retired, but he had easily 10-15 years as a software engineer, and was the lead of a group at a large company before he retired, so I assume it all went well for him.

    If you want to learn something, do it. if you want to do it professionally, do it.

  • bob@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    2 months ago

    Python is suitable for beginner and is also easy to write code in different fields. I’m a developer, half of my time is writing code to get things done, and the other half is learning more development techniques, which I’ve been learning for over twenty years.

  • seaQueue@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    Honestly you’ll find more beginner resources for Python than anything else and it’s worth learning because it’s used everywhere. Lua is also extremely beginner friendly (even if it has some bad habits like 1 indexed arrays.)

    If you’ve got a math background LISP is a good place to start as well, particularly the old MIT/UCB Structure and Interpretation of Computer Programs (SICP) book, that was the start of a formal CS education before python took off.

  • xmunk@sh.itjust.works
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    Find a computer problem that you want to solve and focus on technologies that will help you solve it. Traditionally python is considered an excellent learning language due to the wide library support and adherence to most common programming styles - is there any romanticized pet project you’ve got on your brain?

  • 1boiledpotato@sh.itjust.works
    cake
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 months ago

    Julia, Clojure and Go

    From these 3 I think Go is the most straightforward and similar to most industry standard languages.

  • Adderbox76@lemmy.ca
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 months ago

    I’m 48. Last year, during a period of unemployment, I decided that to kill time I wanted to create a 3D aircraft model for my flight simulator (X-Plane). I had dabbled in Blender in the past, but nothing too in depth. So I sat down and just did it.

    Some of the features I wanted to implement required plugins that had to made with Lua (a programming language) so again…I just did it.

    Age and learning have nothing to do with each other. Regardless of the topic. I feel like maybe the only valid reason that such ideas took hold is because the older we get, the less time we have to focus on learning new things, and so it can seem as though we can’t learn, when in reality we just don’t have the time to. That’s certainly what I found to be the case personally. It wasn’t until I had literally nothing else to do that I could focus on really learning 3D Modelling and basic programming.

    The solution to that, that I found, was to be project based. I wouldn’t have made as much progress if I didn’t specifically have some thing I wanted to make, whether that’s an app, a 3D model, or whatever.

  • embed_me@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    2 months ago

    I would recommend C for the simplicity. You’ll get familiar with the nitty gritties of a relatively featureless programming language. Which will let you view other languages and their tools with more nuance. But it all depends on what you want to do with it, want to program an MCU like Arduino or learn linux? C is perfect. If you want to build something with graphical interfaces like websites or GUI apps, I would suggest something else but C is still a good place to get started.

    Here is something written by AI:

    • Mental Toughness: C can be challenging, but mastering it builds strong problem-solving skills and a deeper appreciation for higher-level languages.
    • Widespread Influence: Many popular languages like Java and C++ borrow heavily from C’s syntax and concepts, making it easier to learn them later.
    • Under the Hood: C provides a closer look at how computers work, memory management, and hardware interaction compared to higher-level languages.
  • hardkorebob@programming.dev
    link
    fedilink
    arrow-up
    2
    arrow-down
    2
    ·
    edit-2
    2 months ago

    No to Python, Go, Lisp and C to begin. In fact at this level you just need to get a feel for process. You need to start where u feel attracted to. You need to learn principles and not languages nor frameworks. Im surprised not one of the replies gives an accurate picture of what it entails to think like a computer. Computation is not an efficient brain like a humans. It was made to work with the hardware we invented long ago. You have to learn the rudimentary and boring repetition the machine HAS to do so it can appear as a real memorable entity. A practical suggestion is to go install Linux From Scratch. When you complete that journey you will have a taste of some principles. Then I also suggest to simply rewrite character for character kilo.c. Why? So you learn how much a pain and a workout it is to crunch at the keyboard. Learn by doing. Learn by breaking and briking. Go find a game u love with all ur being and reverse engineer it. Who cares what u know at the moment, the goal is the process not the result and besides nothing is ever finished, just get it done. One baby step at a time. Oh and dont ask any more questions. All of those have been asked, its our jobs to find the answer. Please take all this as a simple nudges. None is written with any ill will, trolling nor negativity. Take away the knowledge not the pressumed attitude behind my words. Forget the internet and just dive into it. Another way is to pay some pro to mentor you. Good luck with that since most persons are too busy and are elite. Whatever u want to learn has to be done in the spirit of neglect. You cant care too much about computation. It is just a process for making fragmented business. No one NEEDS software nor money. We all agree to play these nonsensical games. Have fun and be grateful for the process itself. Good journey to you friend! Its a weird one. Ive been at it for 35 years and Im still a newbie.

    PS The internet is filled with info. Its your job to determine the knowledge and not the judgement on the worth of the person who posted it. Too much drama and toxicity because everyone at the top of the food chain is pushing that vibe. Everyone everywhere is complaining about our violent ways, how we write to each other online and how we are all being subhuman. Peace to all!

    #allerrorsmatter #cod-ape

  • Pascal was designed for beginners, so I’d start there. Get a handle on the basics before you move onto something which is using object-oriented programming, as that’s a whole thing to understand in itself. One step at a time (I’m a teacher, and we always only teach students one concept at a time). And once you’ve got the basics then C# in a Nutshell series of books (one for each version of C# as new features come out) is very good with explaining the next level stuff and not rehashing the basics (there may be similar books available for other languages, but that’s outside my area of expertise).

    • For the people saying Python is beginner friendly, no, it isn’t. I had to teach it to high school students (I had no choice in the language). Having to have exact indenting, whilst also not caring at all about how you use your variables, not to mention is OOP, is all a bit much for some students, some of whom don’t even fully grasp how to use loops yet. One step at a time.

      • SapientLasagna@lemmy.ca
        link
        fedilink
        arrow-up
        0
        ·
        2 months ago

        One nice thing about learning (and teaching) python is that it’s a multiparadigm language. Students don’t have to learn about indenting until you cover flow control. Classes and OOP can come way, way later.

        I started with C++. Also multiparadigm, but the syntax and compiler errors were brutal, not to mention pointer arithmetic.

        I’m not sure I can think of a language that would be better suited to learning. GDScript seemed kind of nice, and you get to make games.

        • don’t have to learn about indenting until you cover flow control

          Which is one of the very first things they’re taught - “hello world”, variables (“Enter your name”, “hello {name}”), branches, and loops, in that order.

          I’m not sure I can think of a language that would be better suited to learning

          Pascal - it’s what it was designed for. Variables, branches, and loops, with strong types and optional indenting. Once people have a handle on that, THEN move onto OOP.

          • realbadat@programming.dev
            link
            fedilink
            arrow-up
            2
            ·
            2 months ago

            I am shocked there is someone besides me who still enjoys the wordy C.

            Pascal was the first real language I learned (after basic)

            • Pascal was the first real language I learned (after basic)

              Same. Taught myself some Basic in high school (first on a school computer, then we got a computer at home), learnt Pascal in 1st year Uni (programming basics - wrote a bunch of stuff for myself in Pascal for my computer) then C in 2nd year (OOP), and then Assembler in 3rd year. Later I taught myself (with the help of some books and courses… and intellisense! 😂) C#.

              • Oh, I nearly forgot! I had to learn Python too… because I had to teach it. Did try to argue for C#, which is allowed under the curriculum (and would be a more suitable language to teach), but then found it’s hard to get that agreed on because so many schools just run Python because it’s easier for them from an administrative point of view - I found I wasn’t alone in this predicament. Thanks school admins…

  • LoudWaterHombre@lemmy.dbzer0.com
    link
    fedilink
    arrow-up
    0
    arrow-down
    1
    ·
    2 months ago

    I’d actually recommend to start with C#, it’s the perfect balance from complexity and simplicity, so you don’t miss out on certain learning curves.