What language to learn after python reddit

Hi all,

I've been learning/working with Python for over a year now. Python was my first programming language and I feel comfortable saying I've got an intermediate level when working with it: I use it daily at my job [research institute], automating data analysis and figuring out new ways to look at our data. I've also done a bit of GUI development with PyQt5 so I can share my tools with my colleagues in a more intuitive fashion.

The thing is, I sorta want to learn a second programming language to complement my skills, but I don't really know which to pick. Does anyone have a good suggestion? Some points to consider:

  • I don't have much interest in web development, so JavaScript and PHP are off the table, at least for now.

  • Java... well I've looked at it and it seems interesting, but apart from the fact that it's easier to port anywhere due to the JVM it kinda feels the same as Python? Not sure I will gain that much from learning it.

  • I've considered learning SQL and databases in general, and I'm sure that I'll learn about them at some point in the future, but since it's more of a "tool" rather than a proper language I think I'll cross that bridge when I get to it. Similar to how I feel about HTML/CSS; I'll learn it when I need it.

  • R, MatLab, Julia - torn about learning these. On one hand, I believe that the data analysis capabilities of these languages are on par with Python's [apart from the one or other specific use case that I'm sure there are workarounds for]; on the other hand, it would be helpful to better understand the code whenever I come across them in a scientific publication.

  • C/C++ - now these I've actually considered. Learning a lower level language might give me insights on how things work in a computer and help me code better in general. Also Qt is native C++ so it may help me to avoid some limitations of the PyQt5 wrapper. I'm just "scared" that it will be such a departure from Python that I'll get lost halfway through.

  • Rust, Ruby, other stuff? I don't even know what's the use of these languages, let alone what I gain from them when comparing to Python.

Have I got something wrong in these examples? Given this background, what do you suggest? Or should I rather just stick with Python?

Thanks in advance for your input!

Cheers

Python is a solid choice. Don't waste your time learning basics of multiple languages. If you're done with basics you can go multiple way

  1. Learn data structure and algorithm, solve tons of problem and develop your sense of logic [highly recommended] Some website:

->www.hackerrank.com, good for beginners.

->www.leetcode.com, good for interview prep.

->www.codeforces.com, good for competitive programming.

2] Learn a python framework depending what you want to do[e.g backend dev, ML ] and build cool projects. You have to google for this and choose yourself.

3] Learn object oriented concepts in depth.

Posted by2 years ago

Archived

Right now I am focusing on Python and it is going to stay that way till I get completely comfortable with most of the important uses for it and its syntax, maybe learn some frameworks as well. Now I wasn't sure for my next language if I should choose C++ or JavaScript, I heard many stories of people saying that if you know C++ to a great extent, any future language you learn will be as easy as a cake, if that were the case then I would love to go to C++ especially because of how many opportunities open up if you know this language, but the same can be said for JavaScript...so which one do yous think would be best to learn after Python? I am not looking for an answer which says that JavaScript because C++ is hard, I'm looking one stating why one would be better to learn before the other when focused on the security/'ethical hacking' field.

Hello!

I've been working with Python and R for quite some time now [4-5ish years], mostly in an academic setting [working with data, scraping stuff off the internet, ML, data analysis, you get the idea]. I feel pretty comfortable working with those languages now, both in the setting described above and making small contributions to open source projects [although most of them are somehow connected to ML/data analysis as well.] I should point out that I'm currently a full-time PhD student who continues to do the thing I described above.

However, I sometimes feel like I'm in a bit of an echo chamber, and that to become a better programmer, I should [try to] learn another programming language. I guess that for me, the choice is basically between C, C++ and Java/Kotlin. I can see both the pros and cons of investing my time [and maybe money] into any of the alternatives:

  1. C - understanding of how computers [and operating systems] work on a lower layer [something definitely lacking with Python], huge community, a lot of useful libraries, ability to write performant code that works anywhere including the web, BUT the language ecosystem [libraries etc] has almost 0 connection to my work or studies

  2. C++ - same pros that C has, together with good support on Windows, OOP, and having a larger, more robust standard library, BUT the same cons that C has [e.g. I could not find a HTML5 parsing library] for, together with the fact that the language is huge and hard to learn and has a history of being poorly taught.

  3. Java - I can really easily start to use it for my job. There are a lot of useful libraries, it's still easy to integrate with Python/R, still works in a lot of places and is still very fast. BUT, from what I gather it's considered less fun, and I also think that with it being higher-level it has slightly less "better programmer" potential. Also, from what I gather, as of now it's hard [impossible?] to use Java for client-side web, and that setting up Java projects involves a lot of ceremony.

So, my question is, where should I go from where I am now? Are there any better alternatives than the ones I described? Any help will be greatly appreciated!

Which language should I learn after Python?

Personally, if you want something of more practical use, stick with C [or C++]. It's the most basic of languages and will teach you a lot about efficiency, memory and all that other good jazz. And afterwards you'll be able to write your most performance-critical apps/parts of apps in C and use them from Python.

Is C++ easier after Python?

Python is easy to learn and easy to put in practice when compared to C++ which becomes harder as we advance through its features. Another advantage of Python is its libraries that allow us to write any functionality especially data analysis and machine learning. So popularity-wise Python scores over C++.

Is 2 years enough to learn Python?

In general, it takes around two to six months to learn the fundamentals of Python. But you can learn enough to write your first short program in a matter of minutes. Developing mastery of Python's vast array of libraries can take months or years.

Is Python still worth learning 2021?

Learning Python is still worth it. Python is a versatile and in-demand language that is one of the easiest programming languages to learn. You can use Python in almost any field of software development, such as Machine Learning, Data Science, AI, Web Development, and much more.

Chủ Đề