Python Guide For Beginners: Reasons Behind Increasing Demand For Python
Python Guide For Beginners: Reasons Behind Increasing Demand For Python
What’s so great about Python?
Well, the list is really long and varied.
Let’s start with Python containing
all the different major programming idioms.
So Python is great for building object-oriented applications.
And architecting your application
that way there’s a very rich type hierarchy,
even has multiple inheritance, which may or may
or may not be a good thing.
But you can model things using objects super well in Python.
At the same time, you don’t have to use objects.
Unlike languages like Java and C# where it’s only
object-oriented programming.
And like everything has to be a class.
And you can kind of shoehorn other models.
You could just work in functions.
So there’s procedural style.
It is totally good.
And there’s also a functional style
of programming, which works with things
like immutable data and passing functions
and all of those ideas from the functional programming
languages.
And you even have things like aspect-oriented programming
with things like decorators in Python.
So you can model or work in whatever way suits you.
And Python runs everywhere.
So Python, obviously, runs on the major platforms–
Linux, Mac OS, and Windows–
but it also runs on things as small as Raspberry Pis
or even microchips.
There are special microchips that run a flavor of Python
called MicroPython.
And these are like $5 microchips.
And yet, you can take Python, and it is more or less
the O/S for that little chip.
You can even do wild things like hook function callbacks
up to, say, a hardware interrupt.
How about that?
So in addition to all these programming models,
we have a very simple and easy to learn, easy
to read programming language.
And the icing on the cake is really
what you’ll find at what’s called the Python Package
Index or PyPI.
At PyPI, there’s over 120,000 external libraries
that are one line in the command line to install.
And you can do amazing things.
You can install deep learning models or image recognition
models or web frameworks.
The selection of these various libraries is amazing.
And one of the challenges of learning Python
is actually learning those libraries and which
ones work well with others.
And there are sites out there to help you
with those kinds of things.
But it’s really a huge, huge benefit
that you don’t just get the language.
You don’t just get the standard library.
You get the 120,000 plus other packages
out there to help you build your Python application.
Why is Python a great language for beginners?
Well, the language is super simple.
And in fact, you could probably learn the basic syntax
of Python in a weekend.
It’s one of these things that you can learn right away,
but it takes a lifetime to master sort of things.
But because Python doesn’t force all this formalism on you
and all this structure, you can use just the little pieces
that you need, maybe you don’t know
how to work it all with web frameworks or databases
or decorators or list comprehensions or all
these advanced language features,
you can just pretend they don’t exist.
You can just write your simple little program.
You don’t even need functions if you really
don’t want to, if that doesn’t make sense for you.
So as you need them you bring in these language features.
And this is one of the reasons that Python
is the number one first language for computer science students.
This is across universities in the United States.
This is also true generally throughout the world.
If you look at people learning computer science,
these days they’re learning on Python.
And then they move away from there
because all the major concepts can be taught in Python
without all the headaches.
Why do expert developers choose Python as their preferred
language?
You might think this simple language,
easy to get started language that’s
great for beginners is not going to be that great for experts.
You’ll outgrow Python.
And that’s one of the magical bits of Python
is typically you don’t outgrow it.
You just bring in these richer and richer features
into your application that maybe the beginners didn’t use.
So if you look at some of the major applications that
are out there, they’re built with Python.
We’ve got the question and answer site
Quora, one of the major, major sites around Q&A
on the internet.
We have Dropbox, front-end stuff and back-end stuff.
Even that little icon in your taskbar
or your Notification Center, that’s
Python coming from Dropbox.
And we have YouTube written in Python.
YouTube actually gets several million requests per second.
And it’s totally handled in Python.
So while Python starts small, its ability to grow
is really kind of special.
And this has somewhat to do with the language having a simple
but not simplistic style to it.
You can bring in advanced features,
but you don’t have to.
And the 120,000 packages on PyPI that you can just
go and reference.
It’s also super, super popular in data science,
machine learning, deep learning, a lot of those things,
TensorFlow, Carrera, these are all
using Python in major, major ways.
And on top of this, Python is one of the fastest growing
languages out there.
According to a Stack Overflow sort of analysis
that they did in late 2017, this is
one of the fastest growing major languages by a long, long shot.
And it’s much, much more popular than really shiny new languages
like Go or Rust.
So you can see across the board, Python
is widely used by professional programmers
for applications that require the highest demands like this YouTube example.
What’s so great about Python?
Well, the list is really long and varied.
Let’s start with Python containing
all the different major programming idioms.
So Python is great for building object-oriented applications.
And architecting your application
that way there’s a very rich type hierarchy,
even has multiple inheritance, which may or may
or may not be a good thing.
But you can model things using objects super well in Python.
At the same time, you don’t have to use objects.
Unlike languages like Java and C# where it’s only
object-oriented programming.
And like everything has to be a class.
And you can kind of shoehorn other models.
You could just work in functions.
So there’s procedural style.
It is totally good.
And there’s also a functional style
of programming, which works with things
like immutable data and passing functions
and all of those ideas from the functional programming
languages.
And you even have things like aspect-oriented programming
with things like decorators in Python.
So you can model or work in whatever way suits you.
And Python runs everywhere.
So Python, obviously, runs on the major platforms–
Linux, Mac OS, and Windows–
but it also runs on things as small as Raspberry Pis
or even microchips.
There are special microchips that run a flavor of Python
called MicroPython.
And these are like $5 microchips.
And yet, you can take Python, and it is more or less
the O/S for that little chip.
You can even do wild things like hook function callbacks
up to, say, a hardware interrupt.
How about that?
So in addition to all these programming models,
we have a very simple and easy to learn, easy
to read programming language.