Live data from Hacker News

Advice on learning Python efficiently

simplydjango.com

31–40 of 75 posts

Re: Advice on learning Python efficiently

#31
post #29

>It's called Pyret. How about just learning Python instead of learning a toy language and then having to learn Python anyway?

Python has gotten hard to learn. It's not too bad if learning it just to learn, or learning it in a classroom setting with a careful plan, but I've witnessed people trying to learn it professionally in the context of getting testing running, and it's hard to learn when trying to use a mature Python codebase that uses Python thoroughly. There's these decorators, and iterators vs. functions, and things using introspect…

Most people learning it professionally are doing it so they can work with an existing code base. How is learning a different language going to help them with that?

Re: Advice on learning Python efficiently

#32
post #29

>It's called Pyret. How about just learning Python instead of learning a toy language and then having to learn Python anyway?

Python has gotten hard to learn. It's not too bad if learning it just to learn, or learning it in a classroom setting with a careful plan, but I've witnessed people trying to learn it professionally in the context of getting testing running, and it's hard to learn when trying to use a mature Python codebase that uses Python thoroughly. There's these decorators, and iterators vs. functions, and things using introspect…

>Python used to be easy to learn. It isn't anymore.

Compared to C++, C# and Java, Python is still MUCH easier to learn. Python and Ruby are the easier languages to learn. I have to agree with the other commenter, why learn a toy language only to later have to learn a real one? That is a waste of time.

Re: Advice on learning Python efficiently

#33
post #24

>It's called Pyret. How about just learning Python instead of learning a toy language and then having to learn Python anyway?

Right? The only reason I got hooked on coding was because I was making cool things. Good practice and CS fundamentals came later. If programming was introduced to me in this "bottom up" approach, I would have lost interest. Math education has the same problem.

I know exactly what you mean. I got interested in programming because I wanted to build cool things. I just dived right in trying to learn whatever was necessary to help me build games. Unfortunately, plenty people aren't coming to programming with that exploratory and playful mindset.

I also agree with you that math, CS and science education is really messed up, especially in my country.

Here's an old gem of a talk from a fantastic CS educator, https://www.youtube.com/watch?v=efhh0Cf6sT8, that I found some years ago.

Re: Advice on learning Python efficiently

#34
post #4

Pretty good advice, along with some good pointers about what NOT to do when learning a languages (ex. reading some instructional book cover-to-cover, forgetting most of the stuff along the way). I often suggest the read-a-chapter-write-a-program-based-on-it route, just to get the practice that is really important, and to solidify some intuition as to what the machine (whether interpreter or bare metal) is doing, and…

> Side note: While I definitely applaud the idea of trying to create a language that is geared towards beginners and good for learning on, I don't know if I can get behind recommending such a language that is still under development being suggested to beginners. I second this. Especially when python itself is very beginner friendly. IMHO the best advice on learning a skill is just do some projects with it. I am not e…

>By doing python projects first you familiarize with it and then if you are still on - you should read zen of python, pep8, etc..

Would you mind recommending some projects for a python beginner?

Re: Advice on learning Python efficiently

#35
post #4

Earlier quoted context omitted.

> Side note: While I definitely applaud the idea of trying to create a language that is geared towards beginners and good for learning on, I don't know if I can get behind recommending such a language that is still under development being suggested to beginners. I second this. Especially when python itself is very beginner friendly. IMHO the best advice on learning a skill is just do some projects with it. I am not e…

I strongly agree. Dealing with a language in development is hard enough when you're an experienced programmer, I can't imagine trying to learn programming with an unstable language.

I tend to agree as well. The Pyret option is probably better done with a mentor by your side. If no mentor is available like they probably have in the Bootstrap (http://www.bootstrapworld.org/) program then Python is more than likely the better option. So I'd expect 99% of the people to stick with Python anyway which is fine.

Re: Advice on learning Python efficiently

#36
post #29

>It's called Pyret. How about just learning Python instead of learning a toy language and then having to learn Python anyway?

Python has gotten hard to learn. It's not too bad if learning it just to learn, or learning it in a classroom setting with a careful plan, but I've witnessed people trying to learn it professionally in the context of getting testing running, and it's hard to learn when trying to use a mature Python codebase that uses Python thoroughly. There's these decorators, and iterators vs. functions, and things using introspect…

It's only hard if you dig into the giant async/await mess. You can still handle tons of work without worrying about concurrency.

Re: Advice on learning Python efficiently

#37
Be pythonic, be pythonic, be pythonic!

My biggest complaint about python is how easy it is to learn (heh). It takes so little effort to write a script, so it feels deceptively easy to write great python. After all, as long as it works, who cares right?

I care. Your colleagues care. Your users care. Python is an object oriented language, use it as such.

Re: Advice on learning Python efficiently

#38

For many years, I worked on the periphery of the programming world, but with a very superficial level of programming knowledge. I was a "webmaster" back in the mid 90s, working with simple PHP, JavaScript and VB scripts. I then went to grad school for public health and afterwards worked in several biostat-oriented research analyst roles focusing on Stata and SPSS programs. All these jobs definitely involved a very ba…

> Point is, we think in different ways, so keep trying different approaches until something sticks.

So true, great advice. You have to experiment and find out what works for yourself.

Re: Advice on learning Python efficiently

#39
post #4

Earlier quoted context omitted.

> Side note: While I definitely applaud the idea of trying to create a language that is geared towards beginners and good for learning on, I don't know if I can get behind recommending such a language that is still under development being suggested to beginners. I second this. Especially when python itself is very beginner friendly. IMHO the best advice on learning a skill is just do some projects with it. I am not e…

>By doing python projects first you familiarize with it and then if you are still on - you should read zen of python, pep8, etc.. Would you mind recommending some projects for a python beginner?

You have the standard things like a calculator, card game (start with blackjack), anagram maker/solver...

With the web you can move to things like an address book, todo list, message board (regular or reddit/hn clone)...

Re: Advice on learning Python efficiently

#40
post #4

Earlier quoted context omitted.

> Side note: While I definitely applaud the idea of trying to create a language that is geared towards beginners and good for learning on, I don't know if I can get behind recommending such a language that is still under development being suggested to beginners. I second this. Especially when python itself is very beginner friendly. IMHO the best advice on learning a skill is just do some projects with it. I am not e…

>By doing python projects first you familiarize with it and then if you are still on - you should read zen of python, pep8, etc.. Would you mind recommending some projects for a python beginner?

I find scratching one's own itches is always the best way to learn a new language. Solve a problem that you have.
Post reply on HN