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?

  • Wiz@midwest.social
    link
    fedilink
    English
    arrow-up
    0
    ·
    6 months ago

    Clojure is an interesting language that will improve the way you work and think with other languages. A passionate community, but there are very few “starter” Clojure jobs; they mostly expect you to have years of experience.

    I don’t think anyone could go with doing the “Clojure For The Brave And True” book which is online and available in dead-tree form. I liked it so much, I bought the book.

    It’s a Lisp language which is the oldest kind. Instead of “object oriented”, I think if it as verb oriented. Each statement is a verb (function) possibly followed by all the nouns you want to apply it to. Easy peasy, right?

    People complain that there’s “too many parentheses”. People like to complain about dumb stuff.

    • People complain that there’s “too many parentheses”. People like to complain about dumb stuff.

      😂I’m off on a tangent here, but this made me laugh so much! As a Maths teacher I see all the time people complaining about “this is ambiguous - add more parentheses for clarity!” when the reality is Maths is never ambiguous and they’ve just forgotten 2 of the most important rules of Maths (meaning we already have the correct amount). 😂 These very same people often put the brackets in the wrong place anyway when they do add them adding/removing brackets

  • eerongal@ttrpg.network
    link
    fedilink
    arrow-up
    0
    ·
    6 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
      0
      ·
      6 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.

      • eerongal@ttrpg.network
        link
        fedilink
        arrow-up
        0
        ·
        6 months ago

        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.

        List out some ideas you’re thinking of. While it may not be obvious to you, someone who is seasoned (me or someone else) might notice at least a general theme or idea to point you in the right direction for where you should go and what you should learn, regardless of if the projects are reasonable.

        Note - Most projects take teams to realize, so if your ideas are too large, they might not generally be feasible alone.

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

        I don’t know enough to know if my ideas are achievable, or if I’d just be bashing my head against the wall.

        Achievable is subjective, and even if you progress a ways and learn something that makes you realize that that particular project can’t be achieved how you envisioned it, you still have the knowledge to either a) figure out new ways to achieve the same effect, or b) take to a new project.

        Knowledge builds on knowledge builds on knowledge. If factor in not starting a project is not knowing enough to know if it’s achievable or not, you’ll never actually get the necessary knowledge to figure that out. You can’t know how to do something until you try to do it…fundamentally.

  • breadsmasher@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    6 months ago

    Its never too late to start learning something! I am sure you are well aware of your learning rate and how it changes as you get older but that doesn’t mean you cannot learn at all.

    As a beginner, often Python is recommended as a simpler language to pick up and start learning.

    Do you have a goal in mind with what you want to learn? Learning to write code in general is fine, but if you have an idea in mind that you want to program, different languages maybe a better starting point. For example if you want to build a web app browser based, id suggest learning front end tools like javascript. Whereas if its a desktop app you want to build, python would work well.

    Or maybe you want to just learn programming as a concept without any specific goals in mind beyond how stuff works?

  • Shareni@programming.dev
    link
    fedilink
    arrow-up
    0
    ·
    6 months ago

    Julia, Clojure and Go. Are any of these good for a beginner or should I start with something else?

    That totally depends on what you want to do.

    Go should be easiest since it’s purposefully simplified in order to make learning it easier. There are some more difficult concepts, but the start should be easy enough. I know about go with tests, but it’s not really programming beginner friendly.

    I’d avoid clojure as a beginner. It’s more for people who know java, but don’t want to write java. Common lisp and schemes are good for learning programming, but they’re not a popular group of languages and that can be a problem.

  • InternetCitizen2@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    6 months ago

    Its only too late if its for a career change since you really need to be safe about income and retirement (notto mentions age discrimination). Still could help you in your day job to automate tasks. If you like math puzzles then coding them is a nice hobby too! Learning is always worth it in my opinion.

  • somethingp@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    6 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.

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

    Kotlin is a really nice language with plenty of users, good tooling support, gets rid of a lot of the boilerplate that older languages have, and it instills many good practices early on (most variables are immutable unless specified otherwise, types are not nullable by default unless specified otherwise, etc)

    But to get the most “bang for your buck” early on, you can’t beat JavaScript (with TypeScript to help you make sense of your codebase as it keeps changing and growing).

    You will probably want to develop stuff that has some user interface and you’ll want to show it to people, and there is no better platform for that than the web. And JS is by far the most supported language on the web.

    And the browser devtools are right there, an indispensable tool.

  • EnderMB@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    6 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.

  • KidnappedByKitties@lemm.ee
    link
    fedilink
    arrow-up
    0
    ·
    6 months ago

    It’s always worthwhile to learn new things!

    And programming is a tool, so it’s typically made to be clear how to use it, although of course people will differ on what needs to be clarified the most.

    My experience is that there’s way too much discussion in what tool to pick, it doesn’t matter that much and almost all of the common languages will allow you to do all the things. And even though some will be better adapted for certain applications, it’s easy to pick up the new tool when relevant, and you’ll be that much ahead by being well versed in one.

    As for how to learn, I find that you kind of need to figure out the basic syntax in each language (loops, conditionals, output, memory management, typology, lists, function calling, maybe classes/libraries if you’re fancy), and then start doing projects.

    A nice intro for C# is the C# Player’s Guide by R B Whitaker, using some gamification and storytelling to get you through the basics, and even leave you prepared to tackle your first projects (by practicing design philosophy, how to break down projects, etc).

    Otherwise, Python is a lot of fun, it’s made to be very easy to jump into, and then it’s fully featured to do anything you’d like it to. Unfortunately all my resources for it are in my local language, but it has many many users so I’m sure there’s great resources to be found in your own language.

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

    I’m a big proponent of life-long learning. Never let anyone tell you that you shouldn’t learn something. Do you know what types of things you would want to write a program to do? It’s easier if you have a goal in mind as it will provide a motivation as well as specific things to learn since “programming” is a rather large topic.

    Clojure, Julia and go are very different languages. Of the three “go” is probably the most popular and would likely have a lot of resources available for learning. Python is also a very popular and “beginner friendly” language since it’s interpreted and you can run scripts without the need for compiling them. But they’re all fine languages so if you’re drawn to one go for it. There are many concepts that are simply “language agnostic” so if you learn one language it will be easier to switch to another language later. You’re not going to be locked in. That said Clojure will be the most different from the others you’ve listed. It’s a so-called “functional language” which has a different approach from non-functional languages. This is not a criticism, just an FYI. Though functional languages do tend to be “less popular” generally but with a core of people who simply love them. Your mileage may vary.

    And there is an important point to make here - programming is about more than learning languages. There are many concepts that you’ll want to learn as well that are used when programming. “Object Oriented” programming, the aforementioned “functional programming”, various data structures (lists, maps, arrays, etc.). many algorithms for things like sorting, searching, etc. The list goes on. To start with you’ll want to learn simple data types (numbers, strings, probably dates) and data structures (lists, maps, arrays). Then move to more complex data structures (“structs”, classes, queues, etc.).

    Once you’ve selected a language you’ll want to consider a development environment. What will you write code with, how will you run it, etc. Often some sort of IDE (Integrated Development Environment) is useful as it will provide many tools that assist in running your code. There are sometimes different IDEs for different languages, and some that support many languages. VSCode is a flexible option that is free, IntelliJ is another good option but is commercial (though with a “community edition” that is free). You can always ask here about tooling.

    These days I would start out with an AI helping you. AI’s get a lot of crap for “sometimes generating bad or non-working code” but they can be extremely helpful as a learning aide and for explaining concepts, code, etc. They’re infinitely patient and provide near-instant response. I’ve been coding for, well, we’ll just say “some time” but even I’ve found AIs very helpful when learning a new language. You can directly ask it “what’s that ‘?:’ thing on line 4?” and get a good quick response vs. trying to google “?:” without knowing it’s called “the elvis operator”. Some AIs are better at coding than others and they’re getting better almost daily. If you’ve sat for an hour trying to figure out why something isn’t working chances an AI can often provide some guidance and keep you from getting too frustrated.

    Edit: One thing I should add is that you will find many people with very strong opinions in the programming community. These opinions can be about which languages are good, what editors you should use, etc. Take any guidance that “X sucks” or “avoid Y” with a grain of salt. Best to ignore them completely and look for people who have more reasoned responses.

  • ScampiLover@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    6 months ago

    People look down on Javascript (and therefore Typescript) but as someone who learned by doing I think its a really good option

    Once you get past the hello world phase you can take it any direction you want: websites/apps, command-line stuff, desktop apps you name it. Just avoid the trap of getting sucked into specific frameworks or loads of tooling early on and learn the language

    W3schools is a great resource and you can do the examples and exercises right there in your browser

  • xmunk@sh.itjust.works
    link
    fedilink
    arrow-up
    0
    ·
    6 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?

  • lemming123@thelemmy.club
    link
    fedilink
    arrow-up
    0
    ·
    6 months ago

    I think the idea you stop learning/can no longer learn past a certain age is rather stupid.

    I think its a misconstrued fact, but the brain is always learning, I think the actual fact is its easiest to learn as a younger child, but I’d argue that is just due to not having knowledge already and not having any habits etc.

    If you want to learn programming go for it! There’s lots of very good resources online.

    A language like python is very flexible and syntax wise is made to read close to natural language/English :)

    • kakes@sh.itjust.works
      link
      fedilink
      arrow-up
      0
      ·
      6 months ago

      I wonder how much of this idea that you can be “too old to learn” came from the advent of schooling and childhood education. Like, in a time before everyone went to school up until a certain age, did people still have this mindset?