top | item 39394265

(no title)

bikingbismuth | 2 years ago

Think Python 2e changed the trajectory of my life. I took a single Java class and hated it so much I gave up on programming. A few years later as a network engineer I had a problem that seemed like it could be scripted and ended up picking up Think Python and fell in love with the language and programming in general.

discuss

order

bemusedthrow75|2 years ago

This is just the sort of thing I needed to read.

I am considering changing the trajectory of my own life, towards a more community/maker/teacher role, and I have a freelance/small business idea about teaching but I need sort of "soft syllabus" materials.

I am learning Python myself, having just never had a need for it in all of my professional web development life (I've written apps in just about every other web-focussed programming language, including Perl and Ruby).

It looks like the right language to teach general concepts in, and having a book I can draw from will help.

eru|2 years ago

Think Python is also just a really great book, even for people who don't want to stick with Python long term.

macintux|2 years ago

Python is challenging as a production language, given its tooling inconsistencies, but it’s a great pseudocode language.

dleink|2 years ago

I would like to hear more about your trajectory. I'm in a similar place.

noisy_boy|2 years ago

Just as an counterexample, I started with bash/Perl, moved to Python and really liked it and then started getting issues due to dynamic typing. Around that time, Java was chosen to be the main language for our team and once I saw the benefits of static typing, there was no looking back. Since then Python has come a long way with optional typing support and IDEs to help enforce it but by now I am forever biased in favor of statically typed languages. I still enjoy Python for writing utility scripts because it is so much more polished compared to just using bash (which has its own place obviously) - but if I have the option of choosing a language for a full fledged application, I would prefer Java/Scala etc (Rust is great but the learning curve is way too steep for most mortals).

I do admit that I haven't had the first-hand experience of optional typing in Python supported by something like PyCharm so it is possible that the tooling has brought the experience to be comparable to working with a statically typed language. If someone has used IntelliJ community edition with Python typing-enforcement turned-on, please share your experience.

maxbond|2 years ago

It's a lot easier to appreciate Java when it isn't your first language. I think it's really important for new programmers to have a streamlined experience to their first magical moment with programming, when they understand they can do cool stuff and succeed by being persistent. ("Streamlined" may be overstating it, there will be lots of friction along the way, but it should be caused by bugs they introduced themselves and overcome by debugging, not by tangential or environmental factors.)

There's a lot of context and drudgery involved in programming that can dissuade people before they get to that magical moment, and they can blame themselves and think they weren't smart enough because they don't understand that the deck was stacked against them. For instance with Python, broken virtual environments can be really dissuading for new programmers.

I think Java's opinionated and verbose nature can be cumbersome to beginners, who have never debugged a type confusion issue and so don't give a hoot about static typing. But I think after programming in Python for a while, they'll see why eg declaring what exceptions you'll raise is tremendously helpful.

ambrose2|2 years ago

Similar for me - I had learned some Java, Matlab, C, Perl here and there but it wasn’t until Think Python 2e that I was gripped and from there read many other books and changed my career to software.

el_oni|2 years ago

What other books did you read that you would recommend?

rmbyrro|2 years ago

Couldn't this result be more attributable to Python itself than the book?

ndjdbdjdbev|2 years ago

Same here. I moved cities and was looking for a job... I printed a copy of this book and started going through the chapters... This book made me into a software engineer :)

cjohnson318|2 years ago

Think Python helped me finally understand OOP for the first time, after a C++ class, a Java class, etc.

725686|2 years ago

That must have been Calendar.class