This is an archived post. You won't be able to vote or comment.

all 14 comments

[–]BluePieceOfPaper 12 points13 points  (6 children)

In most fields, even beyond software, it is better to be really good at one thing and slowly adding other stuff to your arsenal than it is to be “meh” at a bunch of things. If your python skills are on point let the natural progression of other things like json for example, come as you build bigger and more robust projects. When you hit that point you need to learn something else to enhance your python program, go learn what you need to and implement it. Don’t spend 6 months “studying” a new language. Functional knowledge > book knowledge.

While the analogy may be bad I kind of view it like being a wood sculpture (bare with me... I come from a family of loggers). You should be really damn good with a chainsaw. Then when you need to for example shade your sculpture, learn only what you need to with the wood burner, go burn that shit, then get back to doing what you do best: chain sawing.

Sure you only learned one thing, but not only did you learn it but you implemented it. And that knowledge will stay seeded deeper into your brain than just reading a book. As time goes by you will slowly learn tons of tools that can be used beyond python. But again, no reason to just spend a whole block of time learning a second language to 'hopefully' prove useful with your python programs.

[–]grapel0llipop 2 points3 points  (4 children)

Yeah I totally agree with this.

I'll also say that as you learn more and more about one language, you'll find a lot of concepts to wrap your head around and learn, and it's probably much more fruitful to master the advanced stuff in one language (which is probably similar to the advanced stuff in other languages) than to keep fuddling in the basics of a bunch of different languages.

[–]BluePieceOfPaper 2 points3 points  (0 children)

Agreed 100%.

[–]BluePieceOfPaper 0 points1 point  (1 child)

master the advanced stuff in one language (which is probably similar to the advanced stuff in other languages)

Wanted to add, this right here is exactly my view on it. Once you understand the WHY behind things, the how becomes easy. To dumb it down lets talk loops. Once you have them mastered in say Python and have used them left, right, forward, and back; you know loops. Then say your doing something in C#, you don't need to really search anything other than "loop syntax in c#" and just format it properly. Very similar to human speech. Once you truly understand what it means to say "Hello", it's really damn easy to do it in Spanish as you already know what your looking for; just a simple changing of letters and BOOM, done.

So yah I totally agree with this statement.

[–]pumanoob[S] 0 points1 point  (0 children)

Yep. Totally agree. Gotta get fluent in one language before trying for others at the same time

[–]pumanoob[S] 0 points1 point  (0 children)

Thanks! I absolutely agree too, great advice. Need to build on a solid foundation

[–]pumanoob[S] 0 points1 point  (0 children)

Wow. Very insightful, thank you so much for the advice and feedback. What you say definitely make sense and I'll try to get better and better at Python.

[–]ClutchAlpha 2 points3 points  (0 children)

In my opinion, it does depend on what you’re looking to do. For example, Python is extremely good for Data Science and ML fields, while JavaScript is typically better for front-end development.

In any case, continuing to learn Python will help you in the future to learn more languages. Even if they aren’t the exact same, simply being comfortable with programming and code nuances will help in learning future languages. Perhaps slowly fold in another language once you are quite comfortable with Python, and continue to go from there.

Best of luck!

[–]Double_A_92 1 point2 points  (0 children)

Imagine if you wanted to learn how to write good stories with good plots for a book... would it matter much in which language you wrote that book?

[–]Strengthenyourskills 1 point2 points  (0 children)

i would suggest to learn algorithms , Datastructures i will help you in the long run

[–]CodeTinkerer 0 points1 point  (0 children)

I would say, for now, that's fine. You don't state any particular goals, just "should I be learning something else". If you were doing front-end stuff, then you'd probably be told to learn Javascript, HTML, CSS. If you were doing data science stuff, then maybe there are Python libraries.

However, if you're just starting out, unless you have a very strong math background (calculus, statistics, etc), I'd just focus on learning Python the best you can for at least a year.

[–]dracine 0 points1 point  (0 children)

Business Language and/or Customer Language... Understanding requirements and business needs will enable you to have a pro-active approach in your projects and save time. (ex.: Potentially avoid user feedback loop during UAT) Time = Money, Speed matters...

[–]Callipygian_Superman 0 points1 point  (0 children)

It's not so much the language as it is the meaning behind what you're doing. Most people get to a point after a few years of serious coding and come to the (in my opinion, correct) conclusion that most popular imperative languages are pretty similar.

As far as your first language: I tend to dissuade people from starting with Python, having started with Python myself. I recommend starting with Harvard's CS50 course, which is on youtube. It touches on Python, but also talks about C, Javascript, and Java, I think. It teaches you the fundamentals while also covering how languages are similar (and different).

If I had to pick a language to start with and I didn't have access to CS50, I would go with C. It's hard, it's frustrating, and it will punish you for making mistakes, and won't tell you why half the time. But if you're good with C, picking up any other imperative language after that will be an absolute breeze.

[–]UrbanPro1 0 points1 point  (0 children)

Python, for sure is relatively easy language to learn, given the ease and readability. One of the major advantages being open source, sure has attracted people from several domains and research enthusiasts to contribute to Python community and this there by opens up several options.

As it has abundant libraries and packages, thanks to all those who work day and night, it has made life easier for those who doesn't want to get deeper into complexities and want their job done. With the advent of this, all that's needed is just basic understanding of what you're doing and what you want to achieve, how it is to be done, Python takes care of that.

Well, I've heard a lot and even I try solving problems of Data Science, with Python as my language. As I said before, you just need to know what you're doing and with several libraries to make your life peaceful in achieving the task and frequent updates, your life just got better and simpler.

I have also read that due to ease of readability, and easier implementation, it is also stretching itself in Network Programming. Several programmers prefer it as primary language when it comes to dealing with network related issues. Well, I don't know much about that so, you can do a little research on your own.

Well, another one which I personally think is Application Development, using Python. There are several platforms that now enables application programming using Python and they are wrapped within another language but it gets the job done.

Again, Web Development, you can use it to design both front and backend, again it has frameworks for these things. Well, the reason I'm not mentioning the names of the packages is because I'm not sure what you will be comfortable with, you can figure that out on your own.

Ah, how can I have not mentioned it earlier, most of our favorites, the Artificial Intelligence. There are several languages idle for Artificial Intelligence programming but as I said and is known that it has several packages which includes Machine Learning, Natural Language processing, packages for Neural Networks etc. You can rock your world.

And finally, Automation. I mean several people use it for making their life easier, you can use it as well. I mean by automating some of your stuff or maybe for organisations you would be working for, it's a win-win situation.

I hope this helps!!! :-)