I can't code. - eviltoast

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
      9
      ·
      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
        5
        ·
        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
        4
        ·
        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 computing). 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.

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

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

      • rambaroo@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        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
        3
        ·
        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.

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

      The first language I learned is C# and it sparked that interest that got me the job I’m in now!

      I see other people recommending Python for beginners because of the simpler syntax (the way you write the code) but I’d still recommend C# because although the learning curve is a little steeper you’ll find it MUCH easier to learn pretty much any other language you choose. And even if you don’t choose to learn another language, you’ll still know a good (and fast) general-purpose language!

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

        This. I love me some python, but it’s so unstructured (and by that I mean more how the structure is based off spacing), I actually think it makes it harder to learn vs. easier.

        “Bracket” languages let the learner get a feel for when a piece of logic ends, which I think is important to learn at first. Also, C type languages, ESPECIALLY C#) are everywhere, depending on the field you end up specializing in you probably have a 90+% chance of needing to know one of these languages.

        Seriously, there is nothing wrong with python, but I think the easiness of it actually works against learning to code (imho)

  • TheBeege@lemmy.world
    link
    fedilink
    English
    arrow-up
    31
    ·
    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
      9
      ·
      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
        2
        ·
        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.

  • Schal330@lemmy.world
    link
    fedilink
    English
    arrow-up
    22
    ·
    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.

    • vestigial@lemm.ee
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      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.

    • Toribor@corndog.uk
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      1 year ago

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

      Not the ones that I work with.

  • Wander@yiffit.net
    link
    fedilink
    English
    arrow-up
    15
    ·
    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.

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

        Sorry for the late reply. If you’re interested in music, you could give both javascript or C# a try. C# works integrated with the operating system and is not sandboxed by the browser, which means that you could do nifty things like actual sound processing and interact with sound devices etc.

        In general you will want to start with a console application that receives user input, does something and even prints the output. Let me give you an example of playing an audio file in C#

        LINE 1: System.Media.SoundPlayer myAudioPlayer = new System.Media.SoundPlayer(@"c:\mywavfile.wav");

        LINE 2: myAudioPlayer.Play();

        In the first line we are calling a pre-existing blueprint (library) that knows how to create an audio player. This blueprint can be located in System > Media > SoundPlayer within the collections of libraries. We are giving this virtual audio player a name and called it “myAudioPlayer”. Then, after the “=” sign we are giving it the instruction to be created with a preloaded file that would be found in “C:\mywavfile.wav”.

        In the second file we are commanding our newly created virtual audio player and telling it to play the file. Please note that this audio player would not have a visual interface yet. You would hear audio coming from the speakers but no way to pause. Fortunately C# / .NET (.NET are the pre-existing libraries that you can use), has a drag-and-drop way to create windows application interfaces with buttons via the “Visual Studio” editor, so you could potentially create a drag-and-drop interface and bind a button with a Stop symbol to the instruction “myAudioPlayer.Stop();”

        This is just a very very basic example, but object oriented programming often boils down to this: create virtual representations of something and then command them to do something.

        If this has peaked your interest check out this playlist of a full complete programming course in C# which is what I used to learn programming years ago. https://www.youtube.com/watch?v=umAcMO3d9_E&list=PLFqasLx4-AErVMCWiIyJe9uA3yQMPBukG

        In the end it’s all about creating a series of instructions that the computer will follow. The trick is to learn what these instructions mean and to not be scared by their syntax, because behind every scary looking syntax there’s just an instruction that can be explain in human language.

  • OldFartPhil@lemm.ee
    link
    fedilink
    English
    arrow-up
    15
    ·
    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.

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

    Software engineering nowadays is really complex. There is no way you’re going to know what’s going on, nobody is.

    It’s just the more experience you have, the easier it is to figure out what’s going on. If you want to learn coding, just start coding.

    I will start from something no one mentioned - start with Linux. Windows has its own very “special” ways of compiling stuff, while Linux is very simple. If you start on Windows, you’ll probably use IDE which will set up everything for you (cause setting up thing in Windows is messed up), and it will still be a black magic for you how the code transforms into binary.

    Many people recommend python, but I would start with C (not C++, C++ sucks). It will give you the understanding of basic concepts like memory management.

    Then start using something like javascript, which will get you wide range of libraries, which you can use to build anything.

    Then at the end learn how infrastructure works, how are services communicating with each other, how to put your server to the public, learn Docker, set up reverse proxy, run stuff in cloud.

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

    Good news for you, I’m 33 years old and I canxt code yet. I just finisged a book about shell scripting (in Linux) so I can understands the scripts I see in github and made some simple ones to automate some of my needs. Now I want to up it up a bit with python and I’m starting a new book with Havard cx50 course. You are never too old to learn. My regret is that i did not start sooner, like when I was your age.

  • SJ0@lemmy.fbxl.net
    link
    fedilink
    English
    arrow-up
    14
    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.

  • MossBear@lemmy.world
    link
    fedilink
    English
    arrow-up
    12
    ·
    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.

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

      X2! David Malan is an excellent teacher, OP! I hate academia and prefer learning through YouTube, but CS50 is an EXCELLENT way to get started with learning about computers and programming!

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

    What are your hobbies? Most people struggle to learn programming until they find a project that they are interested in. You mentioned an interest in music. Perhaps you could try Sonic Pi, which is a live coding environment where you can create music from code. It comes with a built-in tutorial, and a bunch of pre-written example code-music. It’s built with the ruby language.

  • 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!