Its my aim with this blog to share a learning process, in developing application software.
Following the processes of putting some hardware systems into place such as the Raspberry pi b+ and B2 along with a Cubietruck, ARM CPU development boards and also placing them into a networked structure, I am ready to get going.
So lets take a quick look at one of the highly recommended programming languages for these systems.
As a Programming Language, Python comes per-installed in Linux (Its true home!), also being available via download for Mac OS-X, android ( phones and tablets ) along with MS-Windows systems.
It is supported and developed by The Python Software Foundation (PSF), which is a non-profit organization devoted to the Python programming language. launched on March 6, 2001. The mission of the foundation is to foster development of the Python community and is responsible for various processes within the Python community, including developing the core Python distribution, managing intellectual rights, developer conferences including PyCon, and raising funds.
Python is a recommended Development Language on many Development Board systems including the Cubi-board/truck range and the Raspberry pi systems.
Its an interpreted language in the modern sense of the word, in that to run a module of code it first opens and reviews your human readable python code with an aim to produce and output file containing what is called “Byte-code”, which it then executes. The reason for this is that your application can be processed much faster than would be the case using the higher level code. it also helps to produce a ‘Byte-code’ file used to run the same application over and over again.
Interpreted computer languages such as “BASIC” have taken this ‘byte-code’ processing format for some 30 years or so, taking your human readable code converting it into a ‘byte-code’ file and then running the application faster by using this file.
Were Python can be called a more contemporary language is in the fact that it does two very different things than the older BASIC language :
Firstly … It saves the byte code so that it can be used for running an application over and over from the ‘BYTE-CODE’ file and also on any system with python installed. This helps you to distribute your applications (to any system architecture !) yet protects your coding methods.
Secondly… you can produce a file that includes the python execution modules within it, along with your code. So that your application can be executed as a standalone executable file, this is a great step forward for an interpreted language system. Some will already have worked out however that this executable will only work on the system architecture you are developing for (i.e. ARM or INTEL), it is however easy to use what is called and ‘SDK’ or move your high level source code to another system and produce a version for that platform.
Both of these above features in Python provide for a very flexible system, you get the ability to use the (write and run!) speed of an interpreted language (i.e. you don’t need to keep recompiling (eg, Make, link and compile in C++) code every time you make a change to it. Yet you can at the final stages of the development cycle produce a standalone system application that can safely be distributed.
While I have used Python some, I have only worked my way through examples and material that related to the areas that I needed/wanted to know at the time, so my aim here over the next weeks is to work my way through a proper training paths. To do so I have selected the following book (Learning Python, 5th Edition), I started this last weekend and have worked my way through the less interesting “Lay of the land !” first sections which is somewhat hard going and I have to say and a little repetitive!!!.
I now however feel its worth starting to sharing some of the areas being covered !!
I will posted any topics I find helpful with some samples of my own coding ideas , follow the download link and get a copy if it’s of interest !!!
Back soon ………