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?
Advice on learning Python efficiently
41–50 of 75 posts
Re: Advice on learning Python efficiently
#42Can someone fix the misleading title? Stating "Learn python efficiently" is one thing, but stating "My advice on learning Python efficiently" is another entirely different thing. One is a statement of fact, another is just yet another opinion. Accepting clickbait articles degrades the quality of a news aggregator.
Thanks to whoever fixed it.
Re: Advice on learning Python efficiently
#43Earlier quoted context omitted.
Where did you get that from? I feel like we read different articles. Are you referring to the introduction where he suggests that people entirely new to programming should check out Pyret?
According to the article, learning Pyret is an efficient way to learn Python. It's a misleading title.
Re: Advice on learning Python efficiently
#44Earlier quoted context omitted.
Where did you get that from? I feel like we read different articles. Are you referring to the introduction where he suggests that people entirely new to programming should check out Pyret?
Then he should have Pyret in the title here.
Re: Advice on learning Python efficiently
#45>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.
Curricula in Pyret focus on building games using concepts from math, or interactive simulations using concepts from physics, or data analyses using concepts from working with spreadsheets.
I agree that a purely "CS concepts"-based approach is dry and ineffective for a huge portion of students. That's why applications are so critical, and why we build things like tables (https://twitter.com/PyretLang/status/773605473824145408) into the language, so we can give students real-world tasks to do right away.
We happen to also have carefully designed the language to allow us to teach these applications along with a rigorous programming style. Students write _examples_ that get them ready to understand automated testing, they write _contracts_ that teach them about type-based interfaces, they write _data definitions_ that teach them about structured data, and so on. But it's always in service of an application.
So I very much agree that a purely "bottom up" CS-concepts-only approach has issues.
Re: Advice on learning Python efficiently
#46Re: Advice on learning Python efficiently
#47Be 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.
This X 1000. Some Python candidates declare themselves professionals when their code is unsuitable for production.
If you're gonna spend many thousands of hours using a language, don't use initial learn-time as the one thing to optimize for!
Re: Advice on learning Python efficiently
#48>It's called Pyret. How about just learning Python instead of learning a toy language and then having to learn Python anyway?
Pyret came out of the PLTgroup, the group of educators responsible for the Racket ecosystem and before that MzScheme. They have been studying and innovating on programming pedagogy for more than two decades. What sets the PLTgroup apart, in my mind, is that it tends to row in the same direction at the low level. This has allowed it to create a robust platform upon which tools (particularly in the form of languages) c…