Heyy, I’m learning programming and trying to choose a focus, I saw you can make web/backend w node, desktop (bloatware but discord uses it so if it works it works), games (not AAA and not optimized for performance but it shouldn’t matter for indie too much) Is there anything that compares? I wanna focus on one thing instead of spreading myself over a ton of languages, I do feel js is interesting for this, but I’m just starting out, so looking to hear some thoughts of people more familiar with programming.

  • jimmy90@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    1 hour ago

    rust is now the most versatile language. however it is not yet the most popular or easiest language

    it’s pretty great tho

  • Kaligalis@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    9 hours ago

    The best language for starting is the language you find easiest to learn.
    But Rosetta Code lists a lot of programming tasks solved in a lot of different languages. Just browse a bit and if you’re lucky you just fall in love with one of the languages. Then, difficulty doesn’t matter.

  • fediUser@lemmy.zip
    link
    fedilink
    arrow-up
    4
    ·
    12 hours ago

    If this is your first language I wouldn’t focus on variety too much. Just pick something and start building. Once you pick up one language, the next one will be easier. On that note, Typescript (JavaScript with type enforcement) is a great first language. It’s multi-paradigm so you get exposure to lots of concepts and can use it in many different ways. That means you can learn tons of concepts without having to learn the syntax of another language first.

    Make sure you use typescript, not JS. I’m assuming this is a learning experience for you. You’ll learn about type enforcement, get much more out of your IDE, build safer programs, and be better prepared for your next language.

    DM if you have any questions about getting started as a developer.

  • one_old_coder@piefed.social
    link
    fedilink
    English
    arrow-up
    38
    arrow-down
    3
    ·
    20 hours ago

    Python or C++ are way more suited to build all the applications you listed.

    And IMHO JavaScript is one of the worst language ever created. PHP is also a very bad language, it seems like the web attracts all the bad stuff.

    • i_stole_ur_taco@lemmy.ca
      link
      fedilink
      arrow-up
      13
      ·
      18 hours ago

      There was this business analysis someone wrote about years ago trying to nail down which programming language was the most successful, which they measured by how many business problems it solved.

      The winner? Visual fucking Basic.

      Because it was so accessible that people in businesses the world over used it to implement simple and sometimes complex solutions to problems without reuquirkng a big dev team and all the complexity that comes with writing “real” software.

      I see JS in the same boat. It’s a mess. But it’s so widely deployed (free with a web browser!) and used for so many things that in reality it’s one of the top dogs, even though everyone who knows it well enough to understand its quirks thinks it’s a pile of shit.

      • agentTeiko@piefed.social
        link
        fedilink
        English
        arrow-up
        5
        ·
        15 hours ago

        This is unfortunately true can’t tell you how many times I have found VB attached to filemaker pro and an access db with 1000s because the customer wanted one table per customer.

    • SlayersFan@lemmy.worldOP
      link
      fedilink
      arrow-up
      1
      ·
      20 hours ago

      so python/c can be used for web/backend desktop gui apps, mobile apps and games? I’m not talking just about what’s the “best” language but the more versatile, also i haven’t included it, but speed of development (how long it takes to write the code for the programmer) is also a plus

      • one_old_coder@piefed.social
        link
        fedilink
        English
        arrow-up
        9
        arrow-down
        1
        ·
        edit-2
        20 hours ago

        Most modern games are written in C++. If you need speed using a high-level language, there is only C++ (or maybe optimized C#).

        • gastroglizzy@piefed.social
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          1
          ·
          3 hours ago

          optimized C#

          No. C# runs inside of the .NET common language runtime, which is Microsoft’s version of the Java Virtual Machine. It’s basically the layer that handles garbage collection and all the other conveniences people expect from modern languages. Because of the overhead associated with all that, C# will never have performance comparable to C or C++.

        • NotSteve_@lemmy.ca
          link
          fedilink
          arrow-up
          4
          ·
          17 hours ago

          Most modern games are built on engines written in C++ but game development is usually done in languages like C# on top of those engines, no? Unless you’re doing engine development you probably won’t be touching C++

          I could be wrong since I’m in software and not games but that seems to be the way

          • gastroglizzy@piefed.social
            link
            fedilink
            English
            arrow-up
            1
            ·
            3 hours ago

            It depends on the engine. Unity is based on C# so it isn’t as performant as Unreal Engine 4 and 5, which use C. Unreal Engine uses UnrealScript, which is an intermediary language based on Java, which is similar to C#. The Source/id/Quake engine also uses C.

          • boletus@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            2
            ·
            11 hours ago

            If you’re building a game from start to finish in a game engine written in c++ you’ll probably end up having to touch some c++ eventually. Better to learn that than only ever learn how to use a scripting language.

        • SlayersFan@lemmy.worldOP
          link
          fedilink
          arrow-up
          1
          ·
          20 hours ago

          Mhmm, but to start out i feel its best to focus in one programming language only, if under those parameters python/c (whatever c variant) are better than javascript, while it might be better in theory to use the right tool for the job, that takes way more time than doing everything with a less optimal more generalized tool (i think)

          • CompactFlax@discuss.tchncs.de
            link
            fedilink
            English
            arrow-up
            12
            ·
            edit-2
            20 hours ago

            If focusing on one language, learn one that is good because you’ll have to work in other languages eventually and a well structured language will make that a lot easier than a less well structured one.

            I’m not a swe but I learned fundamentals in C++ (probably wouldn’t recommend that), work frequently in PowerShell, have played in C# a bit, and I’ve worked in Python a bit as well. Python seems like a really good place to start, today.

            Another note - front end and back end isn’t usually the same skill set even if it is the same language.

  • saboteur@sopuli.xyz
    link
    fedilink
    arrow-up
    2
    ·
    13 hours ago

    Wide varety of things is something, but maybe ask yourself what would you like to build? What interests or excites you? And then make a choice based on options that are suited for that thing. I wouldn’t be motivated unless I was building things I like and find fun.

  • CameronDev@programming.dev
    link
    fedilink
    arrow-up
    10
    arrow-down
    1
    ·
    20 hours ago

    Once you learn and master one language, the main concepts will usually transfer across, and with minimal effort youll be able to pick up any other language.

    So starting with JS is fine, but don’t be afraid of switching later down the line. Choose the right tool for the job.

  • jtrek@startrek.website
    link
    fedilink
    arrow-up
    6
    ·
    18 hours ago

    Javascript is a language full of weird quirks. A language with fewer footguns would probably be smoother for learning fundamentals. Python is pretty good in terms of letting you do the thing, instead of making you find a third party library (not that one, that’s deprecated) or having unexpected default behavior ( in JS [1,2] + [3,4] is the string 1,23,4, for example)

    TypeScript adds more guard rails, but is a little more complex to get going.

  • dontbelievethis@sh.itjust.works
    link
    fedilink
    arrow-up
    6
    ·
    19 hours ago

    I would Start with rust today. The compiler always tells you what is wrong and there is a clear way of doing things. It is a bit harder to pick up but you will get a better understanding of why things work.

    The learning material is also good.

    For me the JS ecosystem is a nightmare. It changes so frequently and it seems not to be the place where thoughtful engineers build stuff. Just the wild west. To exhausting for me.

  • Ephera@lemmy.ml
    link
    fedilink
    arrow-up
    3
    arrow-down
    1
    ·
    15 hours ago

    I’d say technically it’s Rust, because you can do everything from embedded/kernel development to web frontends (via WebAssembly).

    I do like the versatility, but I agree with what has already been commented, that you shouldn’t worry about this yet.
    Newbie programmers always consider it a daunting task to learn a new language and then you’re a few years in and just inhale a new language on a weekend for fun.

    And when I say fun, I do mean that it’s actually educational to learn multiple languages. They emphasize different concepts, which gives you a new perspective and new patterns for solving problems.

  • NoLemurs@lemmy.world
    link
    fedilink
    arrow-up
    4
    ·
    19 hours ago

    Learning more programming languages isn’t the hard part of becoming a decent programmer. You’re optimizing for the wrong thing here.

    You should choose a language that works well for the specific projects you think you’re going to do in the near term. Depending on exactly what sort of projects you want to do, Python, Typescript, C++, and Rust are all languages I might recommend. I wouldn’t recommend raw Javascript for anything other than doing some tutorials before learning Typescript.

    Without more information, I’d recommend Python.

    • SlayersFan@lemmy.worldOP
      link
      fedilink
      arrow-up
      1
      ·
      19 hours ago

      While it might not be the hardest part, I do feel it is a factor, so all things being equal i think it can help to choose a good first programming language that will help out the on-boarding process.

      • NoLemurs@lemmy.world
        link
        fedilink
        arrow-up
        5
        ·
        19 hours ago

        What I’m trying to say is that you should choose the programming language that will make your learning and early projects easiest.

        Learning a new language later is not hard. Trying to use the wrong tool for the task when you’re just learning is hard, and will teach you the wrong lessons.

  • pmw@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    20 hours ago

    Javascript is used everywhere, yes, but you definitely should spread your focus to other languages as a student. At minimum definitely dig into C for low level understanding and rigor, and a “real language” like C# for exposure to all the great features and paradigms in that world.

  • kbal@fedia.io
    link
    fedilink
    arrow-up
    4
    ·
    19 hours ago

    The only legit reason to use javascript is if you need something that runs in a web browser. Unless you do need that, pick a better language.

    • SlayersFan@lemmy.worldOP
      link
      fedilink
      arrow-up
      1
      ·
      19 hours ago

      what would you personally consider a better language? like which ones would you recommend for someone starting out?

      • kbal@fedia.io
        link
        fedilink
        arrow-up
        1
        ·
        19 hours ago

        Python is fine, or maybe Java. They’re both widely used and therefore “versatile” — because what matters there is not the language itself but the libraries and such that are easy to find and use. Python is probably easier to get started and do fun things with, but Android apps are typically Java which might make a difference since you mentioned mobile apps.

        • SlayersFan@lemmy.worldOP
          link
          fedilink
          arrow-up
          1
          ·
          19 hours ago

          I don’t really like mobile, even less with all the constant changes towards (more) mobile surveillance, i just included it as another versatility thing (in case i ever need to build mobile) but python can be used to build things with UI? like with a good way to write UI for your programs? I see python mostly on cli

          • Ftumch@lemmy.today
            link
            fedilink
            arrow-up
            2
            ·
            18 hours ago

            There is a Python library for everything. That’s what makes out so versatile. If performance is not an issue and it doesn’t need to run in the browser, Python is virtually always an option.

  • Zwuzelmaus@feddit.org
    link
    fedilink
    arrow-up
    2
    ·
    19 hours ago

    I would not recommend to choose JS as your first language. Yes, it is versatile, but it has many varieties, good and bad ones, and it can easily cause bad habits in your coding.

    So you better choose one of the more strict languages. Maybe Kotlin. Or python, or rust.

    Or good old C, as some others have suggested. C is a great teacher for good habits, because it’s outright dangerous to make certain mistakes there. But it is not so much used anymore.

    • SlayersFan@lemmy.worldOP
      link
      fedilink
      arrow-up
      1
      ·
      19 hours ago

      seems python is super popular too, can you build nice UI’s with it? I mostly see python on AI stuff and cli

      • lokalhorst@feddit.org
        link
        fedilink
        arrow-up
        3
        ·
        edit-2
        18 hours ago

        Python is a general purpose language, you can do almost anything with it, including nice UIs. But I would say it’s definitely not the first thing I would chose for heavy UI. It is generally strong in data stuff and it’s a very good language to learn programming in general. It’s not a bad choice.

      • Zwuzelmaus@feddit.org
        link
        fedilink
        arrow-up
        1
        ·
        17 hours ago

        Good UIs are not made in good programming languages, but in good UI builder tools.

        That’s because the UI should be somewhat separated from the logic “below”. You can still use python, no problem at all, if your UI tool supports it.

            • SlayersFan@lemmy.worldOP
              link
              fedilink
              arrow-up
              1
              ·
              7 hours ago

              Yeah i won’t go a ton into detail, but he (i wont say which one out of the 2 main guys) had an interesting relationship with his girlfriend at the time, so he threw some cash my way for me to do her in front of him. It wasn’t like too weird or like the cuck thing, they were just really a horny couple and w me being a cute young short guy on a girl cosplay… Well seems they love having fun haha. They were super respectful and we had lunch together watching rick and morty before getting it on. Also they love playing the stock market, this godot guy told me he over estimates consulting jobs for big companies (2 weeks for a thing that takes him like 3-4 days) and then he spends the rest of the time playing with stocks, he tried to explain it to me but it was super complicated for my small brain. TLDR: godot guys are chill af