Hi everyone, I'm a freelancer in python, and I want to learn other things. currently, I only know python, js. what other technologies that will help me move forward?<p>P.S. I'm not a professional in python, and I probably need to learn it more. but I just want a new useful thing.
I've started my career with Python and after doing some Typescript for a while I've really fallen in love with Scala. The syntax in Scala 3 is very readable (after dealing with the initial discomfort of a new language) and the language feels, in same ways, like a natural evolution of Python.<p>Having the possibility of using the whole Java ecosystem is also a huge plus. It's definitely not a perfect language but it shares some strengths with Python and it's a great language for "larger" projects.
Do you really know deep python? Things like async.io? Frameworks for parallel processing such as Dask? How about even how to do deep learning with Python (Pytorch, Tensorflow). How about NumPy, Pandas, Scikit-learn? How about interop between Python and native code? I have a feeling that you can get more depth rather than breadth. I'm a breadth kind of person and wish I focused on depth early in my career.
You will see a lot of anecdotal opinions, obviously, as each persons advice will come from their own history but I'd like to echo the comments that there's no real linear path of what you "should" do next after learning Python. You have endless opportunities.<p>My own 2 cents would be that I would recommend sticking around before moving on. Learning one language until you're fully proficient as you said you're not yet "professional in python", find problems that you can solve so you get used to solving the actual problems not working on learning the language syntax. Python is incredibly versatile and you have endless projects available to you. Once you have done that, you can start to consider what languages would've made sense to use for the project, what would the advantages/disadvantages be and try to pick the most appropriate language for each project.
Whatever you want. Really.<p>There isn't a "I've done language x so now I'll move on to y" progression chart anywhere.<p>It's more about what languages you like to use, what you would like to work on, what you're curious about, whether you want to be using that language at work some day etc.
I'd say docker and sql. If you have some base that you want to build upon, extend the stack so that you are more versital and can handle issues around the stuff you are working on.
You could learn about basic anomaly detection systems or simple recommendation engines.<p>At a simple level this is language agnostic although at a higher level you should use Python for machine learning.<p>As for specific technologies possibly Rust which is like an OCaml and C hybrid.<p>If you wish to think differently I recommend Haskell and Coq but these are not 'useful'.
I would not focus too much on “technology” but more on its applications. Maybe you want to have a look into electronics, machine learning, cryptography, network protocols or something like that.<p>With some literacy in Python you are well equipped to proceed to a more problem-solving focus.
Read the [Hissp][1] tutorials (find the docs). It shouldn't take a Python dev too long. It will deepen your Python knowledge and give you a gentler introduction to the world of Lisp because it uses the familiar Python vocabulary with Lispy syntax and then introduces macros. After that intro, and given your JS experience, you should be able to pick up ClojureScript without too much trouble.<p>[1]: <a href="https://github.com/gilch/hissp" rel="nofollow">https://github.com/gilch/hissp</a>
With already knowing python and js it might be interesting to learn databases and web servers next. I would reccomend postgres and nginx. They'll connect up nicely with python and JavaScript and you'll be working with a whole stack top to bottom.<p>Another fun place to explore might be libraries for either language. Both have rich ecosystems of thousands of libraries that connect up to various things in the physical and digital world.<p><a href="https://pypistats.org/top" rel="nofollow">https://pypistats.org/top</a>
You could try Rust, it’s a bit more verbose and complex than Python but it’s a very loved programming language. The most loved one according to the latest stackoverflow.com survey.
I second the answers saying to bother on what to build, the how will follow, and that there is not hierarchy of languages. Js/Ts, rust, C++ are perfect choices. But maybe Go can be easy to take on after python. It all depends on what you want to build.
Check out Common Lisp. Many of the concepts they designed in 80s and 90s have made their way to python in some form. Also, much more efficient runtimes and a more useful type system.<p>Peter Norvig's book seems like a good introduction.