Python Forum
Just completed Learning Python the Hard Way
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Just completed Learning Python the Hard Way
#1
Hey guys,

My goal is to become the best Data Engineer ever.

I have a bachelors degree in Economics and fell in love with Python too late.

I worked through pgexercises.com and I just completed Learning Python the Hard Way.

I don't know what I should do next?

  1. Go through the Django Polling app example they have in their documentation

  2. Read Fluent Python

  3. Read Mastering Python

  4. Read Learn More Python the Hard way

  5. Maybe do something else?

Currently I started a business bucklerconsulting.com and my resume is [email protected]
Reply
#2
https://lectures.quantecon.org/py/
Reply
#3
I recommend strongly against LPTHW. You may have learned incorrect / bad habits. I recommend you skim over something else (e.g. Think CS) and be very prepared to be challenged on your Python by people who know better than Shaw.

The best way to learn Python is with projects. You can search for "free data source" or something like that, see if you can find anything that interests you. I recommend you make your projects data science-oriented unless you're feeling really passionate about something else, in which case, go for it.

Also, I hate to be the bearer of bad news but from my point of view, a master's degree is typically required for data science. I have a BS in computer science and in my current role work with data scientists as a data engineer, and I'm nowhere near qualified to do data science like they do. If you're serious about DS you should consider a masters program if at all possible, or get serious projects going and focus on startups who are more into scrappiness than academics.
Reply
#4
(Apr-23-2019, 02:42 AM)micseydel Wrote: I recommend strongly against LPTHW. You may have learned incorrect / bad habits. I recommend you skim over something else (e.g. Think CS) and be very prepared to be challenged on your Python by people who know better than Shaw.

The best way to learn Python is with projects. You can search for "free data source" or something like that, see if you can find anything that interests you. I recommend you make your projects data science-oriented unless you're feeling really passionate about something else, in which case, go for it.

Also, I hate to be the bearer of bad news but from my point of view, a master's degree is typically required for data science. I have a BS in computer science and in my current role work with data scientists as a data engineer, and I'm nowhere near qualified to do data science like they do. If you're serious about DS you should consider a masters program if at all possible, or get serious projects going and focus on startups who are more into scrappiness than academics.

Hi!

Thanks for your advice man,

I was wondering if you had any specifics as to what are the specific things Shaw teaches that are wrong? A lot of people say the same thing you have said but don't really explain.

I know that he is very opinionated, but everything that he teaches, I made sure to figure out why I would do such a thing.

For example: make a project directory with docs and tests. <- i don't think that is a bad thing.
Or always use else statements <- I agree with this.
Or always use composition when talking about a datastructure in a has-a relationship.
The only negative thing I see is that he is not really writing in a pythonic way.

I incorrectly put my email instead of my resume above: randiaz95.github.io
Reply
#5
(Apr-26-2019, 02:38 PM)rxndy Wrote: I was wondering if you had any specifics as to what are the specific things Shaw teaches that are wrong? A lot of people say the same thing you have said but don't really explain.
I should have been more measured in my initial post. I mostly know this by reputation, the only thing I've investigated first-hand was his claim that Python 3 is not Turing-complete.

He wrote a rant about Python 3 that starts out, "This document serves as a collection of reasons why beginners should avoid Python 3". So the audience is clearly beginners. Later in that document he makes his claim that Python 3 is not Turing-complete (can't find the original), and when he received challenges to this, he shot back that it obviously is Turing-complete, that he was clearly trolling, and his critics are "stupid" (his word). The implication is that he was trolling Python 3 advocates, but his audience was explicitly new programmers, so this alone reduced my trust in him. I think that his update that complains about people not enjoying his trolling stands by itself as showing what a dick he is:

Ed Shaw Wrote:In the previous version I trolled people by pointing out that, if what the Python project says is true and it would have been "impossible" to support Python 2, then they broke it and Python 3 is not turing complete. Obviously Python 3 is turing complete, but Python project members frequently claim something this basic is "impossible" soooooooooooo alright. I even had a note after the gag saying it was a gag, but everyone is too stupid to read that note even when they do elaborate responses to my writing. Even more telling was when people said this was stupid, I'd feign ignorance further and ask, "Wait, so why doesn't Python 3 support Python 2 then?" This then sent them down a logic loop death spiral of simultaneously trying to defend the design decision and also state that Python 3 is fully capable. It was pretty funny to watch, but after a while I guess I have to straighten this out and simplify it so here you go.

I read the original, before he posted that notice, and I don't recall anything explicitly saying it was a gag. Even if he had, I still think it was misleading for beginners, and he's a dick for calling people stupid when basically the whole community was against him. If you think you're smarter than everyone you're probably just mistaken.

I haven't seen a direct source that said supporting Python 2 is impossible, and he's almost certainly right that it isn't, but the core Python developers made a judgement call and now we are where we are; he could complain about it reasonably but he doesn't. Perhaps Shaw is right that it will kill the language, but I don't anticipate a genuine apology in the event that he turns out wrong, he'll probably have some dickish explanation for why he was right all along like above.

And I must say - if Python 2 compatibility is so easy and important, why has no one (such as him) just gone ahead and done it? All the relevant code is open-source. If he were right on both those points, certainly someone would have come up with what he's asking for. There was a time when I expected Google would do it, but we're late enough in the game that I'm doubtful now.

Though I don't have specific citations for what makes the tutorial itself bad, he has zero credibility in my mind and each step forward he takes is just digging in and making things worse, and based on the pattern, that will continue in the future. If he reforms then I'd be happy to change my mind about him and then his tutorial, which I know in spite of all this a lot of people have benefited from.

(Apr-26-2019, 02:38 PM)rxndy Wrote: I know that he is very opinionated, but everything that he teaches, I made sure to figure out why I would do such a thing.
That's good, it'll help you a lot with programming in general.

(Apr-26-2019, 02:38 PM)rxndy Wrote: For example: make a project directory with docs and tests. <- i don't think that is a bad thing.[quote="rxndy" pid="78677" dateline="1556289501"]
I don't think he's unique / unusual in suggesting that documentation and tests are good. I spent 30 seconds Googling this to see if there was any interesting context and couldn't find it. If you want to discuss it further you're welcome to provide a link, though I suspect I'd just agree it's a good idea.

[quote="rxndy" pid="78677" dateline="1556289501"]Or always use else statements <- I agree with this.
I disagree with this. I've been programming for >10 years and I've literally never had someone write an if and accidentally forget the else. If I remember correctly, that's people's justification for the suggestion. I think it's just noisy to include
else:
    pass
needlessly. Again, if you know of context or anything I'm missing I welcome it and am open to changing my mind (though if I did change my mind, I suspect I'd have to keep that style to personal projects, because I expect that during code review at work people would suggest I remove it).

(Apr-26-2019, 02:38 PM)rxndy Wrote: Or always use composition when talking about a datastructure in a has-a relationship.
I don't quite understand what you mean here, this sounds tautological.

(Apr-26-2019, 02:38 PM)rxndy Wrote: The only negative thing I see is that he is not really writing in a pythonic way.
I can't comment on that.

(Apr-26-2019, 02:38 PM)rxndy Wrote: I incorrectly put my email instead of my resume above: randiaz95.github.io
I don't expect that you have permission to edit your original post anymore, but if you request it then we can remove it. I'm waiting until hearing back in case you wanted to include both here.
Reply
#6
(Apr-26-2019, 07:54 PM)micseydel Wrote:
(Apr-26-2019, 02:38 PM)rxndy Wrote: I was wondering if you had any specifics as to what are the specific things Shaw teaches that are wrong? A lot of people say the same thing you have said but don't really explain.
I should have been more measured in my initial post. I mostly know this by reputation, the only thing I've investigated first-hand was his claim that Python 3 is not Turing-complete.

He wrote a rant about Python 3 that starts out, "This document serves as a collection of reasons why beginners should avoid Python 3". So the audience is clearly beginners. Later in that document he makes his claim that Python 3 is not Turing-complete (can't find the original), and when he received challenges to this, he shot back that it obviously is Turing-complete, that he was clearly trolling, and his critics are "stupid" (his word). The implication is that he was trolling Python 3 advocates, but his audience was explicitly new programmers, so this alone reduced my trust in him. I think that his update that complains about people not enjoying his trolling stands by itself as showing what a dick he is:

Ed Shaw Wrote:In the previous version I trolled people by pointing out that, if what the Python project says is true and it would have been "impossible" to support Python 2, then they broke it and Python 3 is not turing complete. Obviously Python 3 is turing complete, but Python project members frequently claim something this basic is "impossible" soooooooooooo alright. I even had a note after the gag saying it was a gag, but everyone is too stupid to read that note even when they do elaborate responses to my writing. Even more telling was when people said this was stupid, I'd feign ignorance further and ask, "Wait, so why doesn't Python 3 support Python 2 then?" This then sent them down a logic loop death spiral of simultaneously trying to defend the design decision and also state that Python 3 is fully capable. It was pretty funny to watch, but after a while I guess I have to straighten this out and simplify it so here you go.

I read the original, before he posted that notice, and I don't recall anything explicitly saying it was a gag. Even if he had, I still think it was misleading for beginners, and he's a dick for calling people stupid when basically the whole community was against him. If you think you're smarter than everyone you're probably just mistaken.

I haven't seen a direct source that said supporting Python 2 is impossible, and he's almost certainly right that it isn't, but the core Python developers made a judgement call and now we are where we are; he could complain about it reasonably but he doesn't. Perhaps Shaw is right that it will kill the language, but I don't anticipate a genuine apology in the event that he turns out wrong, he'll probably have some dickish explanation for why he was right all along like above.

And I must say - if Python 2 compatibility is so easy and important, why has no one (such as him) just gone ahead and done it? All the relevant code is open-source. If he were right on both those points, certainly someone would have come up with what he's asking for. There was a time when I expected Google would do it, but we're late enough in the game that I'm doubtful now.

Though I don't have specific citations for what makes the tutorial itself bad, he has zero credibility in my mind and each step forward he takes is just digging in and making things worse, and based on the pattern, that will continue in the future. If he reforms then I'd be happy to change my mind about him and then his tutorial, which I know in spite of all this a lot of people have benefited from.

(Apr-26-2019, 02:38 PM)rxndy Wrote: I know that he is very opinionated, but everything that he teaches, I made sure to figure out why I would do such a thing.
That's good, it'll help you a lot with programming in general.

(Apr-26-2019, 02:38 PM)rxndy Wrote: For example: make a project directory with docs and tests. <- i don't think that is a bad thing.[quote="rxndy" pid="78677" dateline="1556289501"]
I don't think he's unique / unusual in suggesting that documentation and tests are good. I spent 30 seconds Googling this to see if there was any interesting context and couldn't find it. If you want to discuss it further you're welcome to provide a link, though I suspect I'd just agree it's a good idea.

[quote="rxndy" pid="78677" dateline="1556289501"]Or always use else statements <- I agree with this.
I disagree with this. I've been programming for >10 years and I've literally never had someone write an if and accidentally forget the else. If I remember correctly, that's people's justification for the suggestion. I think it's just noisy to include
else:
    pass
needlessly. Again, if you know of context or anything I'm missing I welcome it and am open to changing my mind (though if I did change my mind, I suspect I'd have to keep that style to personal projects, because I expect that during code review at work people would suggest I remove it).

(Apr-26-2019, 02:38 PM)rxndy Wrote: Or always use composition when talking about a datastructure in a has-a relationship.
I don't quite understand what you mean here, this sounds tautological.

(Apr-26-2019, 02:38 PM)rxndy Wrote: The only negative thing I see is that he is not really writing in a pythonic way.
I can't comment on that.

(Apr-26-2019, 02:38 PM)rxndy Wrote: I incorrectly put my email instead of my resume above: randiaz95.github.io
I don't expect that you have permission to edit your original post anymore, but if you request it then we can remove it. I'm waiting until hearing back in case you wanted to include both here.


I understand now why people don't like him. I learned python *3* the hard way lol not python 2.

Thanks for the input, it seems like ethos is a pragmatic way to make smart & quick decisions about who I should learn about.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Error: completed with code 1 (0x1) LWN 3 2,171 Oct-23-2019, 10:54 AM
Last Post: buran
  How hard is this? Phillips45 0 2,078 Jun-11-2018, 05:49 PM
Last Post: Phillips45
  Learn Python 3 the Hard Way oldDog 1 2,923 May-31-2018, 04:50 PM
Last Post: wavic
  Exercise 20, Learn Python 3 the Hard Way Dixon 6 5,969 Feb-26-2018, 04:54 PM
Last Post: snippsat

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020