<<

Lex Smirnow

Table of Contents

Introduction ……………………………………………………………………….. 3 ​ Chapter 1: The Recent History of Coding…………………………………….…....4 ​ ​ Chapter 2: The Creation of Python …………………………………………….…..6 ​ ​ Chapter 3: The Appeal of Python.………………………………………………….8 ​ ​ Chapter 4: Who is Guido Van Rossum?…………………………………………. 10 ​ Chapter 5: Python in the World of Coding………………………………………. 11 ​ ​ ​ Conclusion……………………………………………………………………….. 12 ​ ​ Works and Images Cited ………………………………………………………… 13 ​

2

Introduction

Python is a topic that has recently interested me, and that I found fascinating. My father had been using Python for most of his career and had a chance to work with Guido Van Rossum, creator of Python. What had started out as an interest quickly grew into a passion. Soon after I began my expert project my father started teaching me how to code in Python. From here my interest grew to a desire to participate in the annual Python convention known as PyCon. I also made a poster proposal for PyCon and to my surprise the proposal was accepted. All of this has snowballed into me having invested hundreds of hours into Python and learning to code. I am glad that I decided to research Python for my expert topic. It is something that I feel indescribably passionate about.

3 Chapter 1: The Recent History of Coding

Mary Allen Wilkes wanted to be something completely unrelated from a coder. Mary wanted to be a trial lawyer and ended up becoming one after she finished being a software engineer. Her teacher suggested to Mary that she should get into the software development field. Once Mary was a software engineer she, and a few others, were tasked with building the world's first personal computer called the Laboratory INstrument Computer (LINC). Like most computers at that time it would use paper punch cards to input code. After Mary finished LINC she pursued her career in law.

Like Mary Allen Wilkes, Ruchi Sanghvi wanted to be something completely different from a coder. She wanted to be a worker at her father's car factory. But instead she became one of the most influential coders of our time. She single-handedly developed 's newsfeed feature. Ruchi made the newsfeed and proposed the idea to . He loved the idea. Once the newsfeed feature was launched, it was immediately hated with groups forming on Facebook with names such as “Ruchi is The Devil”. Within twenty-four

4 hours of the newsfeed being launched, some of the groups had gained ten thousand followers. Ironically these groups had expanded by using the newsfeed feature. In a couple days the offensively named groups left and people were pretty happy. Most new things that have been very influential to our world were initially hated, such as mobile phones.

The next generation of coders was the “Hackers”. The Hackers originated at MIT. They would experiment in the MIT computer lab after hours, and play and make video games. Playing video games was considered absurd due to the immense cost of computers which used to be about $120,000. Richard Stallman, one of the lead Hackers, nearly kicked someone out of the group after they refused to share code with others.

The following wave of coders was the commercial use coders. A great example of this time in coding is Mike Krieger. Mike Krieger became so obsessed with coding that he would commonly hand in book reports as custom websites. Krieger made a statement that he thought coding was like a video game, there are mini bosses (small challenges ) and big bosses (big challenges). Coding has been through many waves and certainly has many more to go through.

One of the most influential programmers was Bram Cohen. When he was twelve he entered a coding contest and nearly won. Bram would lecture coders about why improvement upon old code is necessary. Bram was and is one of the most influential coders of our time because he now commonly lectures students to accept failure as an essential part of coding.

5 Chapter 2: The Creation of Python

Python was conceived in the Netherlands by Guido Van Rossum. Guido was on a tech deployment to help create the coding language ABC for Amoeba. Although ABC turned out to be not as successful as hoped, while working on ABC Guido started to play around with the idea of creating his own coding language called Python. Python started out as Guido’s pet project but soon evolved into much more than that. Most big things start out small, like Python (or Apple which was invented in Steve Jobs’ garage in Palo Alto.)

Python was inspired by many different sources. One of the main coding languages that inspired Python was JavaScript. The humans' need to adapt to new things and challenges was very important to Guido’s vision of Python. Python is supposed to be like any other coding language which means it is easier for people to learn it if they already know a different coding language. The open source programming community also influenced the creation of Python. Many things like human nature and simplicity have found their way into python through the constant need for adaptation to making coding easy and fun.

The intention of making it open source was to give coding to people who did not want to pay for professional classes. Python wanted to help people who could not afford a professional coding class. Developers did this by making it excessively easy to learn and by trying to make it like all of the other coding languages. Python to this day is still helping people and charities while becoming more complex and

6 yet easier to learn at the same time. Experts like Brian Kernighan agree that Python is a complete success

The impact of Python on the coding landscape was indescribable. What had started out as Guido’s pet project had snowballed to become one of the top three most used coding languages in the world. Soon developers were questioning whether to move to Python instead of their current coding language. As previously mentioned it was extremely easy to learn for those who already knew how to code. Python has begun to thrive in the coding world and has simplified the jobs of many many software developers working in data analytics artificial intelligence and machine learning.

7 Chapter 3: The Appeal of Python

Python is approachable because of its easiness to learn and its simplicity to use for data analytics. When a person starts out coding with Python probably the first thing that they will be instructed to do by nearly any guide is type “print(“Hello World!”)” which will make “Hello World!” appear on the screen. ​ ​ Since Python is very adaptable an experienced coder who was great with JavaScript could just as easily code Python due to their similarities. An example of their similarities are that they are both object oriented languages. Python also has plenty of guide books and instructional videos. The main reasons why python is the third most used coding language in the world is due to it appealing in its accessibility and user friendliness. Many guides and tutorials make it easier for everyone to use and learn Python. One of the most useful guides is “Introduction To Pygame” by Sloan Kelly or the entire Pygame website because it contains all of the documentation for the Pygame insert (commonly called a plugin). Another great source for learning about Python is the YouTube channel Coding Train. It has tutorials on how to make points randomly appear on the screen and physics simulations. A great source for learning how to connect Python to a microcontroller is Adafruit which has plenty of tutorials such as how to set up a device to work with Python and how to enable and use motors through Python. Python is

8 approachable because users do not need excessive experience, as well as the availability of many guides to help newer software developers.

There is an ecosystem spanning the internet of available code libraries for Python. One of these libraries is the Pygame website. Code libraries make it easier to code so newer programmers don't have to stress about having to make functions and variables. They are then easily able to register a mouse click or a key press. These libraries are usually composed in such a way that shows the function which is a collection of code wrapped up into one or two words so the programmer does not have to type it in each time, gives an explanation of what it does, and then says how to use it. With near infinite amounts of information in the libraries it is easier for newer developers to design games without spending hours getting the mouse movement to register.

9 Chapter 4: Who is Guido Van Rossum?

Guido Van Rossum was born on January 31st 1956. He was born and raised in the Netherlands. He graduated from the University of Amsterdam with a masters degree in math and computer sciences. His first job after college was at Centrum Wiskunde & Informatica (CWI) where he helped start ABC.

Guido wanted to be a programmer or software developer for most of his life and ended up being one. After ABC flopped he started to make Python, but then was interrupted by moving to Virginia. Once he got to Virginia he began to work at a non-profit tech organization. Once he finished working there he jumped around and ended up in California which is where he still lives today. While he was still in Virginia he married a Texan. In 2005 he was hired by where he became a senior staff engineer. If you want something and try hard enough to get it, you usually will succeed.

Guido had a great time working on Python but his time there eventually came to a close. After he worked for Google he was hired by Drop Box in 2013 as a principal engineer. Sadly on October 19, 2019 Guido retired from his post as Python's Benevolent Dictator For Life (BDFL). He now lives in with his wife.

10 Chapter 5: Python in the World of Coding

Python is an object-oriented coding language. “Object-oriented” means that certain objects have their code contained inside them. JavaScript is also object-oriented but not class-oriented like Python. An example of class-oriented coding in Python is “ class Ball: pygame.image.load(“ball.png”) ” Python is a ​ ​ class-oriented coding language.

The main three types of coding languages are: Type Safe, Object-Oriented, and Battle Hardened. Object oriented means that the language lets the programmer create objects that have code stored in them, like mini files. A type safe coding language is a language that will correct you while you are typing out your commands. A battle hardened coding language is an old but reliable coding language such as JavaScript. There are many coding languages but most of them can be sorted into these categories.

Python has shaped the current day by being one of the top coding languages in the world, and by being open-source. It has also shaped the world by being an easy and adaptable alternative to other coding languages. Finally it has shaped the world by creating multiple communities and donating to charities. Python has had such an impact that the world might not see a bigger impact for a long long time.

11 Conclusion

Expert was a challenging, rewarding, fun, and difficult experience. From learning about people like Guido Van Rossum and Barry Warsaw, to how the world has been majorly changed by coding, my experience with expert project will stay with me for the rest of my life. At some times I would say it was stressful, and at others I would describe it as calming. This project has affected me and changed the way I view the world. From what started out as my hobby, Python has evolved into part of my life and a tool to help overcome challenges. The work was hard and difficult but manageable if I kept up with it. If I were to get the choice to be an expert again, I most definitely would take it.

12 Works Cited

Chin, Robert. Arduino and Raspberry Pi Sensor Projects for the Evil Genius. 1st ​ ​ edition, McGraw-Hill Education, 2017. Guido’s Personal Home Page. https://gvanrossum.github.io/. Accessed 22 Apr. ​ 2020. Keranen, Rachel. The Power of Python. 1st ed., Cavendish Square Publishing, ​ ​ 2018. Thompson, Clive. Coders: The Making of a New Tribe and The Remaking of the ​ World. 1st ed., Penguin, 2019. ​ Warsaw , Barry. 6 Jan. 2020.

Images Cited https://commons.wikimedia.org/wiki/File:Guido_van_Rossum_OSCON_2006_cro pped.png https://commons.wikimedia.org/wiki/File:Adafruit_PiTFT_-_Running_VIM_(1465 2477196).jpg https://isorepublic.com/photo/html-code-on-computer/ https://en.wikipedia.org/wiki/Ruchi_Sanghvi https://en.wikipedia.org/wiki/Mary_Allen_Wilkes

13