Admittedly, my aim was back-end; I was pursuing knowledge for knowledge's sake. I had no active plan of becoming a programmer or any kind of IT person.
So, during that meeting, when one of the group's participants' asked the rest of us for our opinion on Python - because she actually did have a plan to make a career out of programming languages, my curiosity was piqued.
Despite the reviews, good and bad, that group members delivered, I decided to find out for myself what good could come from using Python and how easy it would be for a part-time programming enthusiast like me to learn.
As it turns out, Python is really easy to learn and it is used across many disciplines. Let's look at some of them.
Web development is more of a concept; it defies actual definition. You can concretely say that it addresses websites - building and maintaining them, but web development also concerns what runs those pages and makes things happen when site visitors click on tabs, buttons and links.
You'll note that web development and web design are two different categories of the same basic principle. The website designer configures their clients' site to do what it should do - clickable links and tabs to further information. While the web developer may dabble in web design, their main concern is backend stuff; domain logic and how the site interacts with databases.
How does Python help web developers build and maintain websites?
- Python is easy to work with; vast libraries contain a trove of modules, each meant to address specific actions or functions
- Python is a quick way to prototype, meaning developers can get their sites running faster
- Python is wildly popular; Pythonistas are constantly adding new libraries and features. They also provide lots of support for novice and seasoned developers alike.
One more quality that sets Python apart: it is so easy to learn.
Take Java, one of the most popular programming languages, for instance. To code in Java, you have to know the code inside out and be willing to type... a lot! There are no shortcuts, no convenient modules to plug in, and the syntax is pretty elaborate.
By contrast, Python uses whitespace and common expressions even computer-averse people know. For example, a print command in Python is simply the word print; compare that to all the curly brackets and the three or four lines of code needed to express the same command in Java.
Using Python in web development isn't just a passing fad; it's here to stay and will only get better.
For such a lofty-sounding field, data science is actually yet to be defined. Or, more specifically, there is, as yet, no consensus of what data science actually is. And to make things more confusing, it is essentially an umbrella term that covers data of all types, from marketing and vital statistics data to the kind of data that environmentalists and cosmologists study and draw conclusions from.
Still, regardless of what the data represents - the movement of stars or popular shopping trends, they all have something in common: they must be collected, analysed, visually rendered and interpreted.
Python can help with all of that.
ScyPi and NumPy are Python libraries that contain modules specifically meant to make linear algebra and other mathematical applications easier while Matplotlib permits visualization of data in a number of ways, from scatterplots to 3D graphs.
A fourth library, pandas, is used to build dataframes, prepare data for analysis and import files, in particular comma-separated values files (CSV files) so commonly generated in data tabulation.
Data science is one of today's hottest topics, both on the jobs market and as an internet search. Why not find out for yourself what all the buzz is about?
How do you teach a dog to sit and stay? Put glue on its favourite chair.
It's thought this joke dates back to the days of slapstick comedy. The Marx Brothers were the kings of that brand, as was the team of Abbott and Costello a couple of decades later. Whoever that (not-quite-funny) joke originated with, it illustrates well the difficulty of trying to teach something to perform tasks outside of its nature.
Find good python tutorial here on Superprof.
Of course, dogs are much more teachable (trainable?) than machines are. You can reward a dog for performing well and scold it when it's done something it wasn't supposed to do, like chew on your game controller or steal food from your plate when you had your back turned. But how do you discipline a machine?
To make matters more difficult, machines have no nature to counter. they're only as capable as their programmer makes them... and therein lies the challenge. The race is on to 'teach' machines how to interpret input from various sources and make decisions to bring about a specified outcome. We're all spectators to those trials.
Do you think self-driving cars, a prime example of machine learning, are an idea whose time has come? Imagine all of the drink-driving fatalities that will be avoided! If only we had the ability to program cars to drive themselves, like in the film I, Robot!
We're not just spectators of the machine learning saga, we're also participants. Have you ever travelled by air? What are the chances that the plane flew most of your journey on autopilot?
Planes' autopilot setting is the forerunner of machine learning. Once it's set, the system continuously monitors airspeed, altitude, heading and a variety of other factors the plane's instruments report and adjusts the corresponding systems accordingly.
Indeed, there is a push in the aviation sector to transition wholly to artificial intelligence and newer iterations of machine learning.
As Python is the preferred language of machine learning, you can bet it will feature prominently in any new aviation programming development.
Every computer game is a GUI but not every GUI is a computer game.
Graphical user interfaces, whimsically nicknamed GUIs (pronounced gooeys), allow humans to interact with machines. These interfaces can be simple, as in a series of Yes/No prompts - perhaps on an office printer/copier, or complex, like a computer game.
Python excels when included in the former... and it also works well in the latter, provided it is bound to a more performative programming language like C++.
Indeed, that language is the standard for writing game code. Depending on the operating system and hardware involved, C++ can run up to 100 times faster than Python.
The lack of speed is Python's greatest drawback. The language has an entire library full of graphical user interface modules but they are better suited to things like industrial applications such as touchscreens for machine controllers.
Still, if you're in Sylvia's position, the novice programmer from that Meetup group, you can cut your Python teeth by writing a simple, 2D game. You only need to get familiar with Python's basic code and browse Pygame, a collection of Python modules specifically designed to write video game programs.
Pygame is suitable for all platforms that games are played on, from MacOS to PC, Linux and Android.
Indeed, if you wanted to become a game developer, you should get familiar with Pygame and Python because, even though the bulk of your code will likely be written in C++, you will still need the cross-platform convenience that Python can deliver.
Find good python classes here on Superprof.
As mentioned in the previous section, Python is the gold standard for graphical user interface and, no matter what kind of robot you're designing, developing or building, you will have to have a way to interact with it.
Robot code, like coding for action games and those with lush graphics, is usually written in C++. Again, the issue here is performance, particularly if you're under contract to build industrial robots. Their performance must be both fast and precise to meet the concern's demands, meaning that the machine will make split-second (or faster) decisions while it's operating.
Python, as fun as easy to use as it is, simply doesn't work that fast.
However, if you wanted to build a prototype machine to present to investors while pitching your business plan or you simply want to build a robot for the fun and experience of it, you can code it entirely in Python. Just don't hold any high performance expectations for it.
One aspect of robotics where Python does shine is in machine interfaces. If you are programming an industrial robot, you can write a Python binding to run the GUI while C++ runs the robot.
Python has so many uses, not just in robotics but in industry, science and research.
For a computer language that has been around for over 30 years - and for it to just now come into its own is remarkable. No wonder everyone's scrambling to learn all about it.
Find good python courses London here on Superprof.
The platform that connects tutors and students