visit
“If the implementation is hard to explain, it’s a bad idea.”
The best time to learn to code was ten years ago. The second best time, is today.At first I was oriented toward web development, something like HTML & CSS, or maybe Javascript, but then, after some reads on and other websites, and also thanks to the hints of some friends (thanks and ), I finally decided to approach Python.
“Python is a general-purpose language, which means it can be used to build just about anything, which will be made easy with the right tools/libraries. Professionally, Python is great for backend web development, data analysis, artificial intelligence, and scientific computing. Many developers have also used Python to build productivity tools, games, and desktop apps” ().
Python is elegant, readable, and easy to understand at first, especially for someone like me that has no solid background in coding.Suppose you’re willing to print “” to your console:C++:
int main()
{
cout<<"Hello World";
return 0;
}
Python:
print ("Hello World")
Being completely open source, there are just tons of useful resources, tutorials, manuals you can get your hands on for free and learn from.Do you know that the name “Python” is coming from “Monthy Python” and that the language was invented “for fun” by Guido van Rossum during Christmas Holiday?
“Over six years ago, in December 1989, I was looking for a “hobby” programming project that would keep me occupied during the week around Christmas. My office … would be closed, but I had a home computer, and not much else on my hands. I decided to write an interpreter for the new scripting language I had been thinking about lately: a descendant of ABC that would appeal to Unix/C hackers. I chose Python as a working title for the project, being in a slightly irreverent mood (and a big fan of Monty Python’s Flying Circus).”In 1999, van Rossum submitted a funding proposal to called , in which he further defined his goals for Python:
I found the course incredible effective: first of all their IDLE ( Integrated Development Learning Environment) is smart and readable. It really helps breaking the ice. Consider that the course is on version 2.7, and it’s 100% free of charge.
Exercises are easy, tailored for beginner for sure, but not stupid or obvious. You have to think and try many solutions before getting the green light from the computer (only one solution is accepted for each exercise, even if many could be theoretically possible). It also include a forum where you can post your question and in ALMOST REAL TIME receive feedback from the community. The people volunteering here are great: they never offer you the solution, but they gave you hints and suggestions, forcing you to think again and finally solve the problem on your own.My work environment on Spyder: so clean and simple ❤❤❤
Aside that, I wanted to have also an online repository for my codes. I picked the most basic yet likeable solution possible: Repl is a simple online IDE, not just for Python but for many languages such as JavaScript, C++, Ruby, HTML, and more.I like it since it easily allows me to write, check and share code from any pc and mobile. I’m using it also as online repository for my projects. It’s effective and easy. I like it a lot!0. Surely I haven’t learned “how to code”. That would have been a whole different learning process, I won’t claim this. But it was a very profitable exercise anyway! I also grown interest in Python and in programming languages in general and I’ll likely invest more time in the future to learn about it.
1.Firstly, I learned to read programming languages a bit.While first, looking at a complex code, I would immediately discharge it, thinking “there’s no way I can understand what’s going on here”, now I’m thinking “ok, let’s see if I’m able to get something out of this mess”.It’s a bit tricky to explain this, but it’s like I gave myself the “permission” to try to read and understand code. I am at least able to break a complex script or algorithm in little chunks I can understand, or at least search for their meaning on or .This is probably the most valuable lesson I get from the whole project.
2. Learning to code is hard, so, implicitly, I strengthen my problem solving attitude (even better: “the code is easy, it’s solving the problem that is hard”).It’s a mindset: there’s this problem, and you have to rely on your expertise only to solve it.Last week, my gf needed help to fix an issue with an HTML string on . Usually, I would have searched for a solution straight on Google. But this time, I patiently read thru the lines until I found a little “<” missing. Fixed and solved. It was like Xmas to me that day :)
“It’s not that I’m so smart, it’s just that I stay with problems longer.”Albert Einstein
3. Then, I was able to develop some little project on my own.The classic exercises for beginner, but very interesting nevertheless (click on the link to see and try the code on my Repl repository):
4. I spent also some nights on Pygame! is a free and open source Python programming language library for making multimedia applications like games built on top of the excellent library.
In a week I was able to write my PONG! code…hell yeah! (I also read that a proficient student can write this code in 20 minutes, but ok that’s another story!).7. Ten facts that may ignite a spark on you about Python world:
1. There’s a version of ported to Python: . This port has been created and maintained by a girl, :)
2. There’s a random number of Python quests and trivia around the web. One of the most famous, and also pretty challenging, is this one:
3. There are tons of website proposing online courses; one of the most famous is from which I also took inspiration for the title of this article.
4. You can find of people hating on Python.
5. I found, and more than once, terrific Python programs ! Like “looks at this tool for predicting house prices I wrote at age 8”. Ridiculous.
6. is a thing, and it’s also pretty famous.
7. There’s a huge amount of Python pranks around the web. For example will make your CD-ROM goes crazy until you kill the application. It works :)
8. Spotify, YouTube, Instagram, Dropbox, as well as Civilization IV are mainly based on Python code.
9. (the cloud architecture adopted by NASA and CERN) is reasonably the most complex Python code ever: it counts 2'400'000 lines. Good luck for debugging that beast then…
10. But it’s also possible to wrote a very complex algorithms in less than 50 lines: