Across this vast Fediverse, I have encountered a trend of people answering questions with esoteric programming language speaking in tongues that I don’t understand, including under my own posts. I am a Boomer when it comes to coding and I am only 27. I don’t even know where I would start to learn it because programming is so diverse. I want to feel like I know what’s going on but I don’t. Coding is the future and the future is now and I am lagging severely behind. I guess I’m asking where a bumbling novice like me can learn more about where to start when it comes to programming.

    • voidf1sh@lemm.ee
      link
      fedilink
      English
      arrow-up
      7
      ·
      1 year ago

      Is C# really that nice to work in? I’m looking to expand my horizons past JS now that I feel fairly comfortable with one language.

      • CIA_chatbot@lemmy.world
        link
        fedilink
        English
        arrow-up
        12
        ·
        edit-2
        1 year ago

        It’s a genuinely nice language with tons of syntactic sugar. It’s fast, flexible and runs everywhere. Honestly my favorite language.

        Other nice things about it is you can write object oriented code as well as functional style with it, so it even handles the style of code you prefer which is a lot harder to do with other languages. Finally it’s open source but also has deep pockets behind it so the language is constantly being pushed forward.

      • ale@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        1 year ago

        Yes, it’s nice and worth learning, especially if you try at both highly abstracted code and performance sensitive projects. Don’t get stuck thinking in c# though. Its brand of strict oop seems to be getting less popular these days.

      • KRAW@linux.community
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        1 year ago

        I always prescribe learning Python over basically any other language (unless you’re gonna start doing some real low-level computating). It’s a much more relevant and popular language. C# isn’t irrelevant, you’ll just see Python used way more often. Python will also compliment JS much more.

      • loutr@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        I’d go with Kotlin. It’s a really nice language, easy to learn if you already know JS (or even better, TS), and with KMM and Compose Multiplatform you can write apps which run natively on smartphones, browsers and PC/Mac.

      • Mr_Buscemi@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        I absolutely loved learning C# a few years ago. I haven’t touched programming since my last C# class and I’m probably going to relearn it later this week.

      • rambaroo@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        1 year ago

        It’s basically a cleaner, more concise version of java. It’s a good choice to study if you want to learn something very different from JS but with some familiar syntax. These days you can also run C# anywhere, so it’s very useful for app development.

        If you learn C# you’ll be able to learn java very quickly as well.

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

        C# is my primary language, so I’d certainly recommend it. It can be a little daunting to get into because it is a large ecosystem of tools, so you might want to watch some videos and keep things simple for a while.

        For work I mostly use it for APIs for web sites, that might be a good place to start if you’re familiar with JS/TS front-end work. From there you might want to try Razor or Blazor for handling web UI work in C#. I’m not very experienced with that aspect of it, but it’s mostly been a positive experience (TBH I kind of prefer React, but I’d need to spend more time on the Razor/Blazor side to have a strong opinion).

        The desktop development side in C# is kind of a mess at the moment. Maybe stick with web until you’re feeling pretty comfortable with the language.

  • TheBeege@lemmy.world
    link
    fedilink
    English
    arrow-up
    26
    ·
    edit-2
    1 year ago

    What are these answers…

    Wrong place to ask, but whatever.

    It depends on what you want to build. If you’re not sure, start with Python. It’s likely easiest to pick up and get running. There’s a book called “Automate the Boring Stuff.” I think there’s an online version. (Edit: link - https://automatetheboringstuff.com/)

    If you don’t want to set up Python (or any language, really) on your computer, there’s a tool called a REPL that you can find online. So you can just search “Python online REPL,” and you’ll get a functional online environment to code. Now, you won’t be able to do stuff interacting with your local computer this way, like reading files, but it’s good for learning the basics of the language.

    In terms of software for writing code in on your local computer, Visual Studio Code (NOT to be confused with Visual Studio) is a free, lightweight code editor. It supports every language via plugins.

    If you do go the Python route, make sure to learn about virtual environments before you do ‘pip’ or ‘conda’ anything. Also, unless you’re doing data science things, stick to pip. (Maybe some personal bias there, but I hate anaconda.) If you’re starting from nothing, it’ll be awhile until you get there anyway, so don’t worry too much about it.

    Most importantly, find a community that welcomes new learners. Learning to code is absolutely fucking brutal, so having supportive people available makes a world of difference. Bonus points if you can find an offline meetup in your local area.

    • DreamButt@lemmy.world
      link
      fedilink
      English
      arrow-up
      8
      ·
      1 year ago

      Python is the way to go for any newbie imo. Js has too many weird pitfalls that don’t make sense when first starting out

      • KRAW@linux.community
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Also if you’re looking to make a job out of it, Python will lead you to job opportunities that are imo much more satisfying than JS.

  • balance_sheet@lemmy.world
    link
    fedilink
    English
    arrow-up
    18
    arrow-down
    1
    ·
    1 year ago

    I am a Boomer when it comes to coding and I am only 27

    Do you realize that boomers are the ones who literally made the Internet?

    No one is a boomer when it comes to coding.

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

      Growing up post-internet shortens the generational memory, thoughts are limited to 160 cognition units. Everything relevant to modern life has been SEOed to the foreground, actual history can be safely ignored.

      Now I’m a boomer in my mid-30s.

  • Schal330@lemmy.world
    link
    fedilink
    English
    arrow-up
    16
    ·
    edit-2
    1 year ago

    No one has mentioned it from what I can see but I highly recommend the courses provided by https://www.mooc.fi/en/. It’s the university of Helsinki and it’s completely free. They offer both Java and Python courses. I believe they have an introduction to programming course that is done in Python.

  • Wander@yiffit.net
    link
    fedilink
    English
    arrow-up
    14
    ·
    edit-2
    1 year ago

    Try “the Odin project”, which has an amazingly active community.

    But before you try too much, once you’ve learned to set up any programming tools, just use them to have fun. Find a way in which you can use programming in relation to your hobbies.

    With JavaScript you can manipulate any webpage you see or create your own interactive webapp. Even if it’s just a few ugly buttons and text fields, you could make an app that calculates good builds for a videogame you like, for example.

    If you want to interact with a windows operating system you can’t go wrong with C# using visual studio. This will literally allow you to manipulate files, folders or automate anything you want from the operating system.

    Try to find something that is fun and just enjoy yourself with small apps before you try to go too fast.

    • Xylight (Photon dev)@lemmy.xylight.dev
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 year ago

      I agree. I can only learn languages by having an idea of something that’ll excite me. Making a to-do app rarely teaches me anything since I don’t have fun doing it.

  • OldFartPhil@lemm.ee
    link
    fedilink
    English
    arrow-up
    13
    ·
    edit-2
    1 year ago

    I am a Boomer when it comes to coding

    Hey, OP, I think it’s cool that you’d like to learn to code. I made my living as a coder for many years and it’s a good career path. But I would not say it’s an essential life skill and the vast majority of people of all ages get by fine without coding skills.

    With that out of the way, I’m going to defend the honor of Boomers here. Boomers (and the Silent Gen before them) built the technology industry as we know it today. For example, here’s a list of popular programming languages and their inventors:

    • Java: James Gosling (1955) - Boomer
    • C: Dennis Ritchie (1941) - Almost a Boomer
    • C++: Bjarne Stroustrup (1950) - Boomer
    • C#: Anders Hejlsberg (1960) - Boomer
    • Python: Guido van Rossum (1956) - Boomer
    • PHP: Rasmus Lerdorf (1968) - X Gen
    • Perl: Larry Wall (1954) - Boomer
    • JavaScript: Brendan Eich (1961) - Boomer
    • Ruby: Yukihiro Matsumoto (1965) - Cusp of Boomer/X Gen
    • SQL: Raymond Boyce (1946) and Donald Chamberlin (1944) - Boomers
    • Go: Robert Griesemer (1964), Rob Pike (1956) and Ken Thompson (1943) - 2 Boomers and an almost-Boomer

    <Adjusts onion>. Thank you for your indulgence.

  • SJ0@lemmy.fbxl.net
    link
    fedilink
    English
    arrow-up
    13
    arrow-down
    1
    ·
    1 year ago

    Then the grizzled old curmudgeon bellied up to the bar and said “ONE WORD. BASIC.”

    And everyone else in the room pointed and laughed. But I still like it. shut up.

    • OldFartPhil@lemm.ee
      link
      fedilink
      English
      arrow-up
      7
      ·
      1 year ago

      I’m part of the cohort of programmers that learned to code in pre-dotnet VB. VB6 (my precious) was the most popular programming language for years.

        • SJ0@lemmy.fbxl.net
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          Extended color basic on the COCO was amazing, and so when I moved to a Commodore 64 I was like “What the hell is this? Where’s all the graphics commands?”

    • OldFartPhil@lemm.ee
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      I’m part of the cohort of programmers that learned to code in pre-dotnet VB. VB6 (my precious) was the most popular programming language for years.

  • zombie_kong@lemmy.world
    link
    fedilink
    English
    arrow-up
    12
    arrow-down
    2
    ·
    edit-2
    1 year ago

    My biggest problem is figuring out what I want to do with any coding skills. I have none, by the way, and I don’t even know where to start.

    Some of the usual responses when I state this:

    “Automate your work” - I work in Salesforce. Have you seen Salesforce? I’m not a multi faceted systems administrator constantly updating DNS records or working in Active Directory.

    “Write a cool app” - What cool app? What is “cool”?

    “Open dev tools and look around” - Why? Specifically, why?

    Also, learning programming is BORING. Most of the courses I’ve tried are so so stale and they aaallll end up explaining concepts in the same way.

    “This is a fleeble and it holds the sping, the sping tells the plus plus that it must do what the herbug says”.

    k.

    • Dnn@lemmy.world
      link
      fedilink
      English
      arrow-up
      11
      ·
      1 year ago

      learning programming is BORING

      Then it’s not for you. No shame in that. I don’t understand the notion that everyone is supposed to be a coder now.

      If anything, the low-level coding part is something AI models may well make obsolete relatively soon. Unlike any craftsmanship - why not learn masonry or carpentry instead?

      • zombie_kong@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        arrow-down
        1
        ·
        1 year ago

        I’m not giving up a 20+ year career in IT just because I haven’t yet found a way to learn how to code.

        There’s more than one way to teach a subject and it would be nice to have even a basic understanding of the mess I am supposed to be supporting,

        • jdaxe@infosec.pub
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year ago

          Why do you want to learn how to code?

          Is it purely to get a better understanding of how salesforce works “under the hood”?

          (I’m looking for context because I don’t know anything about salesforce but I do know how to code)

            • jdaxe@infosec.pub
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 year ago

              Gotcha, maybe you don’t necessarily have to be a coder to understand those products better.

              Simply being curious and having conversations with devs will probably get you far.

    • Sicklad@lemmy.world
      link
      fedilink
      English
      arrow-up
      9
      ·
      1 year ago

      I’m somewhat of a programmer, but there’s ideas everywhere in life. My bank came out with an API so I built an app that pulls it all down, stores it in a database, and makes some pretty graphs. Had no experience in fullstack or backend development before (I’m a sysadmin/cloud engineer), so it took me a really long time and I was following a course but adapting it to my project for a lot of it.

      The other day I picked up an old game (Mu online) that is soooo grindy it even gives you an in-game bot to play for you, but if you die you just respawn in a safe zone. So I’ve started writing a script that reads the screen (character position is shown in x, y coordinates on screen), and those coordinates are within a given area (the safe zone) it will alert me. Again, had no experience with any of the window controls or image to text conversion (tesseract), but got chatgpt to help me a bit. Will it save me time? Maybe a little. Will I stop playing this game in a month? More than likely. Did I learn something? Absolutely.

      I’m self taught but working in tech there’s obviously more work related use cases to actually start learning, but there’s every-day stuff you can do too.

      • russjr08@outpost.zeuslink.net
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Damn, a bank with an accessible API? I would be so happy if mine did this, they don’t even have a way to export transactions into a sane format like CSV…

    • kklusz@lemmy.world
      link
      fedilink
      English
      arrow-up
      8
      ·
      1 year ago

      My biggest problem is figuring out what I want to do with any coding skills.

      Honestly, why learn programming then?

      I’m asking this as a programmer myself. I’m not trying to discourage you from learning it by any means, if that’s what you want to do. I’m just asking because it doesn’t sound as if you actually want to do it.

      You’ve already tried learning it, and it’s a slog (whereas for me, I was immediately fascinated by it when I was introduced to it as a teenager, even though I was horrible at it). You don’t have any burning desires to create apps (whereas for me, there are so many ideas I want to explore, so many things I want to create that don’t exist yet, but alas I don’t have enough time or energy to work on it all). You don’t even have the desire to do it for purely career-related purposes, which is what I’d imagine drives most of the rest of people learning programming without enjoying it at all.

      So why bother with learning something you neither enjoy nor have strong motivations to do?

    • 🇰 🌀 🇱 🇦 🇳 🇦 🇰 ℹ️@yiffit.net
      link
      fedilink
      English
      arrow-up
      5
      ·
      edit-2
      1 year ago

      I learned more by just taking the Doom source code and messing with it than I did from reading books. The main thing every language shares is the logic. Once you figure out how to translate your problem and solution into logical terms, using any language is rather easy; only the function names and syntax changes.

      I’ve never written anything in Python, for example, but I am pretty confident that if I spent a day or so reading up on the syntax and functions and looking at some example snippets, I could port anything I’ve written in C, Java or Basic to Python.

      I agree that books are dry as fuck and hard to keep up with as they tend to make a person fall asleep. But so much more learning can be done by examining others’ code that does the things you’re trying to do.

      I did laugh at the Salesforce quip. I have seen it. It’s a fucking mess lol

    • starman@programming.dev
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 year ago

      When I was learning from the courses or videos, it was boring too. I prefer just reading docs and “fucking around” with the technology I’m interested in than listening to Indian guy on YouTube. Each person has their own preferences, I’m just telling ya what worked for me. Don’t give up, instead try a different approach.

      Also, there is no shame in admitting that programming just isn’t for you.

      Speaking of cool projects; build a lemmy app. It can be console app for simplicity.

      • zombie_kong@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        Speaking of cool projects; build a lemmy app. It can be console app for simplicity.

        Not a bad shout. I see wefwef is a webapp. That could be worth exploring.

        Thanks.

    • TitanLaGrange@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      My biggest problem is figuring out what I want to do with any coding skills

      Maybe some dumb little games? If you aren’t interested in 3D gaming you can do 2D platformers, top-down Rogue-likes, or Zork-style interactive fiction (text) games (from scratch instead of with a Z-Machine).

      As a self-taught developer, when I was learning I found it a lot more useful to just go code stuff, and then when I found something that seemed hard or ugly, I could go look for solutions to that kind of problem, which was much more interesting than just reading about various techniques. (Well, I was learning well before normal people had internet, so mostly I invented some shit to fix my own problem, but it got easier/faster after the internet became available).

    • FiskFisk33@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      Write a stupid little app if you have no cool ideas! The journey is the goal here. like, write a fart button app, make a clone of flappy bird, or whatever

  • aubertlone@lemmy.world
    link
    fedilink
    English
    arrow-up
    8
    ·
    1 year ago

    Honestly, I would start with learning JavaScript.

    Anything in the browser runs on JavaScript, and it’s a very forgiving language to learn for beginners.

  • Dave@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    ·
    1 year ago

    I’ve been coding for 40 years, it’s both my job and my hobby, and I still feel old and out of touch when reading or taking part in coding conversations outside of my sphere :)

    This is not meant to be discouraging - even the smallest amount of coding you could learn will be immensely rewarding - more to say that coding is vast arena with a breadth of complexity that can often feel overwhelming. So don’t be put off when you teach yourself some JavaScript and then still feel adrift in a conversation about C#.

    I don’t have any specifics to recommend, but I would say that you should start small. Don’t aim to write the next Flappy Bird as your first project, or the next Mastodon. Just concentrate on making a web page say “Hello world!” or changing the colour of some text. Back in the 80s, most kids got their first taste of programming by having a computer shop C64 print “Dave is rad!” on an infinite loop! :)

    Good luck!

  • nednobbins@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 year ago

    I’d actually start by playing around with the automation and customization functionality you already have. Learn to set email sorting filters, get some cool browser extensions and configure them, maybe even start by customizing your windows preferences or making some red stone stuff in Minecraft.

    Computers are just tools. Programs are just stuff you tell a computer to do over and over again. All the fancy programming languages give you really good control over how you talk to a computer but I’d start with the computer equivalent of “Me Tarzan, you Jane.”

      • nednobbins@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        I’m not talking about any particular language.

        Modern programming languages are as complex as natural languages. They have sophisticated and flexible grammars. They have huge vocabularies. They’re rich enough that individual projects will have a particular “style”. Programming languages tend to emphasize the imperative and the interrogative over the indicative but they’re all there.

        Most programming languages have a few common elements: Some way to remember things
        Some way to repeat sets of instructions
        Some way to tell the user what it’s done
        Some way to make decisions (ie if X then do Y)

        Programmers mix and match those and, depending on the skill of the people involved, end up with Shakespear, Bulwer-Lytton, or something in between.

        The essence of programming is to arrange those elements into a configuration that does something useful for you. It’s going to be hard to know what kinds of useful things you can do if you’re completely fresh to the field.

        Python and Javascript are great. The main reasons I wouldn’t recommend them for an absolute beginner is that it takes some time to set up and, even after that, there’s a bit of a curve before you can do something interesting.
        If they go and change configuration settings in an app, they’re learning to manipulate variables.
        If they click a “do this N times” they’ve learned to create a loop.
        etc.

      • biddy@feddit.nl
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        They aren’t talking about a programming language, just the graphical tools in the programs you already have.

        If you are interested in simple automation for your computer, learn python. If you are interested in simple automation in a browser, learn JavaScript.

  • MossBear@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    1 year ago

    Has anyone mentioned the free Harvard CS50 course? Start there and learn the very basics of computer science and programming. By the time you finish you’ll have a solid idea of where to go next.

  • james@lurk.fun
    link
    fedilink
    English
    arrow-up
    5
    ·
    1 year ago

    There’s lots of good advice here!

    Don’t learn C/C++/Rust. They’re great languages but you’ll get stuck learning things most experienced programmers don’t understand and you’ll get discouraged.

    Python/C# are both great options!

    If you want to do mobile development, you might try Kotlin (for Android) or Swift (for iOS).

    The trick is just to learn one language, to learn general programming concepts, then learning another in the future will be a lot easier.

    You can learn a lot from following online tutorials, YouTube, etc., and you can find communities for each language too.

    Also you don’t need to learn to program, there’s a lot of other good skills you could learn. (I keep trying to learn to draw or 3d model, and I just can’t do it lol).

      • james@lurk.fun
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        Maybe, hopefully not, but even if it is: with WebAssembly, you’ll be able to (you already can actually but it’s not very widely used) compile and run many languages in the browser, other than JavaScript.

        I wouldn’t really recommend learning JavaScript as your first language, it’s pretty weird. Unless you really want to learn web development, then go for it! maybe check out TypeScript though - there’s a lot of learning material for both online.