Something about programming

Python

We'll concentrate on Python in the beginning of our course of learning programming. Python is the great option to start learning programming. It has simple and clear syntax, many modules and apps that are written in Python are very easy to run.

Python programming language

At the end of nineties I've started to learn programming. I've tried different programming languages: Basic, Pascal, C++ (but with no success at that time). And I had a huge book about Perl language by Deitel. At the end of this book there was couple chapters about Python programming language. It was so hard for me to understand it. I didn't know that through the years Python will become my favorite programming language.

Starting to learn programming is always hard. You already saw different kinds of cool programs from user perspective and when you try Hello World and see the result, you have contradictory reaction. On one side you excited that you just created your first program. On the other side: "Wait... What??? Just a simple string of text in the console??? There are windows? Where is cool graphics?". If you get some good textbook about some programming language (i.e. I've learned C++ by Robert Lafore's great book), through hundreds of pages you'll work in console. You'll see hundreds of examples about banks, accounts, different math concepts - actually, not very fun.

Important question for learner: what programming language to learn first? Python is a good choice from any point of view. Actually, in my opinion, any popular imperative programming language, like C/C++, Java, Python, could be used as first one. There are many similarities in different programming languages so in the beginning you'll learn the same things (of course there are some difference but they are not important in the beginning). I think from all popular programming languages only JavaScript will be the bad choice as the first language.

I choose C language and Python for my tutorials. C language is quite low-level so it's code maps to lower-level precisely. And Python has easy syntax and have much functionality that can be added through modules. It's possible to very quick start working on real situations with Python: math problems with using numpy, data visualization with matplotlib, graphics and games with SDL2.

SDL2 with Python

After initial tutorials of Python programming language we'll start to work with SDL2 library. This library will allow us move to window application and work with graphics not just console.

SDL is written in C language, but it has binding to Python. Python doesn't have fast graphics library out of the box, that's why we need SDL. Additionally SDL library is cross-platform. So the code you meet in the tutorials will work on any operating system.

Content

Python interactive shell and interpreting of .py files
Python syntax and build-in types
Loops and conditions in Python
Collections in Python
Functions in Python
Classes in Python
SDL2 in Python Programming Language
Hello World in Python SDL2
SDL2 loading images (bmp, jpg, png)
Textures in SDL2