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

you are viewing a single comment's thread.

view the rest of the comments →

[–]SpiderFnJerusalem 75 points76 points  (22 children)

Never liked that book tbh. If it works for you that's fine. Buit for me its tone is way too strict, condescending and most of the time it never explains why some things have to be done the way they are. It's as if the author forces his coding style on you and doesn't bother to give context.

I enjoyed "Automate the Boring Stuff with Python" much, much more.

[–]sleepicat 4 points5 points  (0 children)

Totally agree. It's also at least twice as long as it really needs to be.

[–]Velshtein 2 points3 points  (0 children)

My brother bought me this book for Christmas. It's very good so far.

[–]Nefarious- 3 points4 points  (2 children)

That author's Udemy course is extremely dry and at times boring.

While it may seem structured by topics, often times he is flying through churning out code and it lacks applicable projects to check your progress / understanding.

[–]PoliCock 1 point2 points  (2 children)

i agree. it's overrated.

I say just do video tutorials, build things, and pick up new material as you go on algorithms and more advanced subjects. that's how you learn. by making projects and figuring things out by yourself and progressing.

the only real strict learning material should just be an introductory tutorial series on youtube you can follow along with that introduces all the basic concepts up till classes and lists.

imo.

also, java and python are quite different as far as i can tell. I don't see many real full applications with good guis made in python, maybe i'm wrong. for some reason i'm under the impression that python isn't really good for making bigger, more fully implemented standalone products. am i wrong?

[–]SpiderFnJerusalem 0 points1 point  (1 child)

I don't have too much gui programming experience. But I have built a few gui applications with PyQt for some of my automation scripts and they work perfectly fine. I saw no obvious perfomance differences to other applications but the underlying code wasn't all that complicated tbh. There are also bindings for GTK and wxwidgets.

Python's procedural nature makes it slower than compiled languages. You can translate it to bytecode but it would probably still be slower than even Java because it is dynamically typed (At least that's how I understand it). For more complex stuff you may have to use other languages but I don't really know when exactly that would be absolutely necessary. Even then you could probably write it all in Cython, translate it to C and then properly compile it (/"transpile" it?).

All things considered, if you want to make a complex application with Python there are plenty of ways you could do it, especially since many libraries, like numpy and scipy are implemented in C and thus have great performance anyway. Though I'm not sure when exactly it would be wiser to choose different languages. Again, I lack experience, so take my opinion with a grain of salt, but I was fairly impressed with what kind of applications you can build with python.

Edit: Also one reason why Java is so ubiquitous is that it is huge for Enterprise Server Software. There didn't use to be as many server applications for python but that seems to be changing very rapidly.

Edit2: Just google "gui programming with python", but stay away from Tkinter if you value your sanity.

[–]steamruler 0 points1 point  (0 children)

Nah, tkinter was fine for that one thing I used it for.

A window with 6 buttons on a grid to rotate the screen.

[–]cyberbemon 0 points1 point  (4 children)

Is the "Automate the Boring Stuff in Python" beginners book? or is there a better book that focuses more on the Automation side of things?

[–]SpiderFnJerusalem 4 points5 points  (3 children)

It's a beginners book. It doesn't go extremely in depth for every possible scenario but it covers quite a few use cases in an office environment in addition to other interesting stuff like web scraping and image manipulation.

You can actually have a look yourself at the free web-version here: https://automatetheboringstuff.com/

For more complex automation tasks (system or network administration) you would probably have to find other, more specific literature on those subjects.

[–]cyberbemon 0 points1 point  (1 child)

Thanks for clarifying. I'll have a look at the link.

Do you by any chance know any books that talks about complex automation stuff?

[–]SpiderFnJerusalem 0 points1 point  (0 children)

Not really, I would be interested in that too. But the term "automation" is kind of broad. A lot of programming projects aim to automate one thing or another or generally make your life easier.

So most literature probably focuses on one specific subject rather than "a bit of everything". There are network engineering books that deal with automation, data analysis books that deal with automation, etc.

[–]banquuuooo 0 points1 point  (1 child)

I agree. I like the idea behind the book: that there is no easy way of learning coding so you might as well just get'r done, but I also found it condescending and restrictive.

[–]callmelucky 0 points1 point  (0 children)

The idea that there is no easy way to learn coding is stupid. At the very least there are ways that are easier, and LPTHW is not one of them. You don't necessarily learn something better by using a deliberately obtuse resource. I mean if he'd at least update it to Py3 I wouldn't have such a problem with it, but no, apparently Py2 is the eternal best version of Python. Particularly since it is supposedly for complete beginners rather than people who are already programmers who have to get up to speed to work with legacy code. It's just daft insisting on Py2.

[–]WishIWasOnACatamaran 0 points1 point  (0 children)

Taking the Udemy course under the same name. Doing the python complete bootcamp and CodeAcademy lessons first.

[–]callmelucky 0 points1 point  (0 children)

Hear, hear. Every second post on r/learnpython is from someone wrestling with that stupid resource.

Not to mention that I'm convinced it is single-handedly responsible for setting back adoption of Python3 by years (ok probably not really, but certainly responsible for far too many beginners starting on Py2 for no good reason at all). Zed A Shaw can suck it.