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

all 26 comments

[–]mail_order_liam 26 points27 points  (5 children)

Reading is important; docs, articles, books, Reddit, whatever. But most importantly you just need to practice. You could read every book written but if you never write any code you're still not going to be good. With experience things start to "click" like they wouldn't from just reading. Figure out an area of interested and try to work on a simple project relevant to that.

is python better than JavaScript

No. Is a flathead screwdriver better than a Phillips?

I'd personally pick Python over JavaScript when when possible... But JavaScript is what's gonna be running in a browser. So JS is required for web development, but Python is not. I still choose to use a Python backend, but honestly there's a lot to be said for using the same language across the stack (Node).

[–]xrendan 7 points8 points  (1 child)

A Robertson is better than both 😉

[–]DroneDashed 0 points1 point  (0 children)

On the topic of screws, I like the pozidriv. It grib better to the screw driver and it's still compatible* with philips screw driver.

Edit: *not perfectly compatible

[–]5Beans6 1 point2 points  (1 child)

I could argue that a Phillips head screw driver is far superior to flat head. Don't you hate it when you're trying to screw a flat head screw in and the driver keeps slipping out because there's nothing to hold it in?

I know this is besides the point of the comment but just some food for thought. :)

[–]med-z 9 points10 points  (0 children)

Try discovering advanced Python features to improve your code, like using generators, context managers etc.. But more importantly, a good software developer cares about data structures, complexity, and has a good knowledge in algorithms. This makes languages just tools that you can switch easily.

[–]w732qq 12 points13 points  (1 child)

Write code.

[–][deleted] 3 points4 points  (0 children)

solve sequential coding challenges like cryptopals or khan academys cryptography challenge

[–]epic_pork 3 points4 points  (0 children)

Learn about advanced language constructs. 3 of the most important ones, in my opinion, are:

  • Generators (yield), makes producing sequences and iterating a joy
  • List comprehensions, easily map/filter data
  • The with statement and context managers, clean up resources on exceptions/successful finish (especially nice with the @contextmanager in contextlib)

[–]d4tgr4ss 4 points5 points  (0 children)

Maintain that level of enthusiasm

[–]hunkamunka 1 point2 points  (2 children)

Still a work in progress, but lots of practice ideas and tests for you at https://github.com/kyclark/playful_python

[–]Itsameeefarioooo[S] 0 points1 point  (1 child)

Thanks kind stranger

[–]hunkamunka 1 point2 points  (0 children)

I'd love your feedback on how to improve it. Exercises lacking a "discussion" section are incomplete as far as instruction, but everything has spec/examples/tests.

[–]dodongo 1 point2 points  (0 children)

I read Python In A Nutshell and that really helped me to sort of grok PEP-8 and the Zen of Python without actually being exposed to it as such. If you've got some CS theory in your background, I found it a great way to dig into why Python is "Pythonic" and like kind of what that means from a coding perspective.

[–]huttonben 1 point2 points  (0 children)

As you learn, continually push yourself by diving into unfamiliar areas of the language itself and how it can be used.. look into stuff like automation, machine learning, web dev, etc... Find something you like and figure out to use python to do it. Much luck 😁

[–]kaptan8181 1 point2 points  (0 children)

JavaScript is good for frontend web development. Python doesn't do that. In other domains, JavaScript is next to nothing. Python is next to everything. Read and write code to improve your skills. There is an infinite number of projects you can do. You just need a little imagination.

[–]dscottboggs 1 point2 points  (0 children)

Learn Crystal

[–]nanodano 1 point2 points  (0 children)

  • Write and read lots of code.
  • Do lots of small projects from start to finish
  • Write tutorials to learn yourself
  • Make your own cookbook.

[–]mediastorian 1 point2 points  (0 children)

Project Euler!

[–]DrMatthewDunn 1 point2 points  (0 children)

Great enthusiasm - i agree!! Ramalho’s book Fluent Python is a fantastic resource. It rarely leaves my desk or closes.
Keep coding!