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.

  • Treczoks@lemmy.world
    link
    fedilink
    arrow-up
    4
    ·
    2 days ago

    There is no “most versatile programming language”. That is a myth.

    The choice of a programming language for a project depends on the projects requirements. It could be a script language like Python, PHP, JS, or even Perl or Bash. Or something compiled like C, C++, Rust, or even Pascal or Prolog. It always depends on the project.

    Heck, if you have to build something sticking to a COBOL or FORTRAN system, using anything else would probably a stupid idea in the first place.

    So if anyone tells you “Programming language X is the one and only solution for everything”, it is more an admission of a severe lack of knowledge and experience.

    • skibidi@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      1 day ago

      While this is true, I will say there are some languages built for very specific problems that make poor tools for general use.

      Trying to build a distributed web app in Matlab or Mathematica would either be a flex or a complete waste of time, for instance.

  • melsaskca@lemmy.ca
    link
    fedilink
    arrow-up
    1
    ·
    2 days ago

    Powershell? Is that a language? I used that to propel a lot of my projects in the past. I could do almost anything with it.

    • SlayersFan@lemmy.worldOP
      link
      fedilink
      arrow-up
      2
      ·
      2 days ago

      I think that’s used on windows like a command line, but I never looked into it (wasn’t using the terminal when I was on windows)

  • Kaligalis@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    2 days 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.

  • gridlock@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    6
    ·
    3 days ago

    Learn what looks like it makes sense to how you think. I’d argue Python is still #1 with js at #2. There’s still a ton of crusty Perl and Java holding more than you want to know together as well, so you have choices.

  • NoLemurs@lemmy.world
    link
    fedilink
    arrow-up
    4
    ·
    3 days 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
      ·
      3 days 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
        4
        ·
        3 days 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.

  • dontbelievethis@sh.itjust.works
    link
    fedilink
    arrow-up
    4
    ·
    3 days 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.

  • saboteur@sopuli.xyz
    link
    fedilink
    arrow-up
    2
    ·
    3 days 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.

  • THE_GR8_MIKE@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    3 days ago

    I’d imagine it’s Python. I have limited programming knowledge but like to experiment. During covid I messed with C, Javascript, Python, and even Commodore BASIC just to mess around with stuff. Python is by far the most user friendly modern language, I feel. The hardest part of Python for first time users is getting the IDE and PATH all set up.

  • 0xDREADBEEF@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    2
    ·
    3 days ago

    I think so. If you want to target as many platforms as possible it isn’t a bad choice. JS is unmatched, imo, for prototyping applications as well as being capable of turning them into something worthy of shipping to production. Lots of resources, isn’t going anywhere anytime soon. Server languages all compete for dominance in usage. JS doesn’t compete with anything and probably never will unless WASM really gets popular, which it isn’t close at all yet.

  • pmw@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    3 days 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.

  • Ephera@lemmy.ml
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    3 days 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.

  • jimmy90@lemmy.world
    link
    fedilink
    arrow-up
    1
    arrow-down
    2
    ·
    2 days ago

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

    it’s pretty great tho

  • [object Object]@lemmy.ca
    link
    fedilink
    arrow-up
    1
    ·
    3 days ago

    Sort of. I’d say JavaScript is well distributed for sure. Being the only first class browser language and 25 years of R&D from the biggest companies in the world have made JavaScript usable for a lot of things you mention.

    Versatility of a programming language is usually inversely related to the size of its standard library. See C vs Python.

    So in my opinion languages that are versatile may not be the most productive, so it’s always good to learn new ones and incorporate the ideas they can teach you.

  • chunes@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    3 days ago

    No. There is no one-does-it-all language. Learning Javascript will be great for webapps but most importantly it will make it easier to learn a language more suitable for making games or backends.