I want to learn another programming language now that I’ve been using Python for over 2 years now. I am kind of leaning on learning JS so that I can use it for the backend and also for the frontend. But the syntax is kind of weird. I heard Go is pretty good for the backend and also is compiled. What do y’all say? I also welcome other language recommendations.

  • sarjalim
    link
    fedilink
    13
    edit-2
    1 year ago

    As someone else already said, don’t overthink the language choice aspect in general. If you learn almost any imperative language with C-like syntax (Go, JS/TS, C#, Java etc), picking up another one in the same “family” to a usable degree will be a very minor hiccup done within a very short time (hours). Sure, there are quirks and special syntax and different collections of built-in features for each one, but as a developer you will likely switch between several anyway and need to look up syntax from time to time - you know that something can be done, but the details how are a bit fuzzy.

    For instance, I code mostly in C# and JS/TS, but we have legacy applications written in VB.NET so I often google VB syntax for things that I know how to write in C#. I also occasionally code in C, have dabbled in Fortran, Python and PHP and I’m sure I’m forgetting one or two. SQL and LINQ syntax too of course. What you learn on your developer journey is that something can be done, but remembering the specific implementation in a specific language might be a job better suited for your search engine. That said, of course it’s good to start with one language that you know pretty well, but it seems like you’re already there with Python.

    The real challenge is learning the methodology of building applications, philosophy of OOP, patterns and program/application architecture and frameworks. Language choice is very much secondary to those areas of expertise imo.

    Personally though, I am partial to JS/TS as I’ve used those the longest, they are extremely versatile and frontend development is my favorite area.