REPORT
Topic : Python Programming
(MOOCS SEMINAR)
(Session – 2022-23)
Python is a backend programming language that’s great for beginners.
Python is similar in many ways to Ruby, but is less verbose than other
programming languages - a little less wordy.
Python is approachable. Even if you haven’t taken a CS class, you can still write
a useful tool in Python. It’s high-level, so you don’t have to deal with the lower-
level aspects of programming, such as memory management.
Python can be used for scripting, web scraping, and creating data sets. It’s
popular in the scientific community for scientific computing; there are libraries
that make it easy to share academic code projects in Python.
Python is a web programming language, so it interfaces with the internet. It
knows how to receive and send web requests and talk to databases.
Python is said to be “loosely typed.” This category of programming languages
doesn’t require you to state the type of value a function returns when you define
the function or the type of variable before you create it.
The Python community is welcoming, well-maintained, and well-documented.
That’s important for a beginner!
What are the origins of Python?
In the mid-1980s a dutch fellow named Guido van Rossum was working on an
educational project to build a language for new coders called ABC. As a result of
working on this project, Van Rossum became interested in language design, and
that’s when he started working on Python. He made some unusual decisions, which
really set Python apart from the zeitgeist at that time, and continue to make the
language special today.
Indentation in Python
One of Van Rossum’s decisions was to make indentation meaningful, which is
unusual in programming languages. Critics who thought this would make the
language hard to use didn’t receive the idea very well, but this feature is part of the
reason why Python is both readable and popular. Good code style and readability is
enforced by the way you have to write Python. When I first learned about indentation
in Python, it struck me as a reason for the language’s success.
Encouraging responsible coding
A lot of Python’s design is about encouraging developers to make good decisions, so
that Python code is more readable. Although indentation is enforced in Python, a lot
of other things are not enforced, so you have to be a responsible coder to actually
write good Python. Unlike Java, Python doesn’t yell at you if you call a variable or
function a particular name, and it doesn’t require you to define a type.
People often describe Java as a really controlling parent, who actively prevents you
from playing in the road and forcing you to stay in the house. Even though
JavaScript has come a long way, it could be said that JavaScript, is the parent who
is actively encouraging you to make bad choices and play in the road. Python is
somewhere in the middle: the parent who says you could go play in the road, but
should you? They’ll let you do it, but it’s your decision, and you have to deal with the
consequences. So Python is somewhat of a, happy medium.
Why is Python a great first coding language for beginners?
Python syntax is very similar to English, so it’s intuitive, which helps you
understand what’s going on. You don't have to look up what symbols mean
when you use Python. Here’s an example:
Python is so readable that even if a company’s entire code base isn’t written
in Python, developers tend to want to write code in Python. Hackbright
mentors and alumna tell me that even if they can’t always write in Python,
they try to write smaller projects, internal tools, and automation scripts in
Python.
Python will be a marketable skill if you join any software engineering team
because you’ll know how to create something that is well-maintained and well-
received by your team.
Python programmers are among the most highly paid, which is encouraging,
especially if you’re considering starting a career in software engineering.
Which frameworks will I use with Python?
Django and Flask are the most popular web frameworks with Python.
Jupyter Notebooks are popular among scientists, folks studying machine
learning, and people on the more academic side of computing in general.
They let you share runnable snippets of code alongside explanations of what
the code is doing.
How do real developers use Python in their jobs?
When I ask alumni or mentors what they use Python for in their jobs, this is what I
hear:
They write Python because that’s the back end language their company
uses. That’s fairly common, but we do see a lot of graduates using Java,
Ruby, and PHP, and others.
When companies don’t use Python for their main back end language, they
might instead use Python to build scripts for deployment or other dev ops
tasks, managing automation processes, cleaning up data, or migrating
data from one place to another.
Python is readable and fairly declarative, so it tends to be good for
those one-off management tasks. Python is also a bit like super-glue –
it’s good at connecting various different libraries, data sources, etc. as
one cohesive tool or program.
Most big companies use Python for something. Yelp is a well-known Python shop.
The creator of Python works at Dropbox, and much of Dropbox is built in Python.
Websites which use Python in some aspect:
Google
Facebook
YouTube
Pinterest
Dropbox
Spotify
Netflix
Quora
What are the disadvantages of Python?
Python is slower than other languages. There is a trade off between how high-level
and abstract a programming language, is and how efficient it is in terms of memory
usage and space usage. Python is not low-level, so it’s not as fast or efficient as a
compiled, lower-level language, like Java or Rust. It’s less common to use Python to
build distributed database systems or other systems where speed is incredibly
important.
There are also some concerns about scalability, although I know that you can make
Python scalable with different implementations of the language, such as PyPy.
What are alternatives to Python?
The most common alternative to Python is Ruby. Ruby is similar in syntax to
Python that it can be hard to learn Ruby and Python one right after another.
It’s almost like learning Spanish and Portuguese at the same time.
The other primary alternative in the web arena is Full Stack JavaScript.
Python and JavaScript are not too similar, but they can be used for similar
purposes.
Report by:
Name : Nidhi Kaintura
Section : G
Class roll no : 43
Year/semester : 2/3
Univ roll number : 2118830