Recently, I presented a Christmas lecture to schools, and had some an old friends to help me … Python, a R-PI and Linux. And so, I booted up my Raspberry PI (R-PI), and connected my CCTV camera, my Hue lights, and Wi-fi electrical sockets, and with a quick ssh I was in, and running my Python programs. For me, it feels like I am back in the 1980s, and when computing was fun. In a world of cloud computing and complex programs, I feel in complete control of my digital world. No Cloud, no Internet, no public wifi, no logins, no IDEs, no databases or no compilers to get in my way.
For all the fun of the 1980s, the PC came along and changed all that, and made computing more business like and serious. But now with Python, Linux and the R-PI, computing is cool again, and I can build my own digital world and learn every single time I type a line of code.
This is the world that our kids need to learn within, and where they see the world through code. So why do we teach them to run PowerPoint and order pizzas on-line, when we should be showing them how a temperature sensor works and how to turn-on a water pump? If you are interested, here’s my little setup [here]:
Personally I have seen whole modules transformed from the switch from Java to Python. Often students who care little in becoming software developers are switched off Java (and, especially if it is not applied to a topic of interest), but love being taught cryptography or network packet analysis with Python. For them, the subject becomes alive, and where Python becomes the way to explore and learn about the methods.
For all our move to strongly typed languages and pre-run checking, our hardware is now so powerful, and that we don’t actually need the compiled languages anymore Our scripted languages now allow us to build without much complexity and on simple systems. The days of complex installs, DLL updates, and registry updates are gone too, and where PIP and NPM are there to simplify the adding of libraries and associated code. We now live in a much simplier world for code, and where APIs and local code are there at the tip of a hat. The requirement of thousands of lines are gone within our programs, and where with a few lines of code we can perform complex operations.
As a core C# coder, I could see nothing that could compete with .NET. I have built large scale Web infrastructures and programs based on it (including NetworkSims, asecuritysite.com and brightbooks.net). But, increasingly, I found that I couldn’t find the most up-to-date code for cryptography, and I started to move towards Python. Now many predict that it is heading to overtake Java and C++, and has even gained No 1 spot on the YPL Popularity of Programme Langauge Index. This language table measures the number of people using the languages within tutorials:
Stop teaching our kids structured coding, and structure charts. That will all come in the end. Let them have fun with technology. Let them make things and understand how our physical world worlds, and how they could change it. Let them understand the new world that is evolving, and stop switching them off with pseudo code and structure charts. We have built a flawed world, so let them build it in a better way.