Python For Beginners - 2015 CACM
Python For Beginners - 2015 CACM
T
H E WAY TAY L O R P O U L O sees
it, learning to code in Python
is comparable “to learning TM
cording to the Python Software Foun- without getting in the way,’’ observes
dation. Python programs also tend to Python makes more Guttag. “So I don’t find myself spend-
be shorter than equivalent programs sense for people ing all my time explaining Python to
written in Java because of “Python’s the students. I get to spend a lot of
built-in high-level data types and its dy- who are writing time explaining what I think are more
namic typing,’’ the Foundation notes. small programs. long-lived concepts,’’ like algorith-
While the same is true of C++, Python mic complexity.
code is generally one-fifth to one-tenth Not everyone agrees Python is the
the length of equivalent C++ code, and be-all-end-all as an introductory pro-
“Anecdotal evidence suggests that one gramming language. Shriram Krish-
MA R C H 2 0 1 5 | VO L. 58 | N O. 3 | C OM M U N IC AT ION S OF T HE ACM 19
news
them, so there’s a lot more function- students,’’ he says, “Python is an ex- Research
ality built into one line, so if there’s a cellent choice as the introductory pro-
problem you want to solve in one line
of code, you get much closer to solving
gramming language.”
Krishnamurthi says Python may be
ACM
the problem than in other languages.”
Like Guttag, Guthmiller feels the
fashionable right now, but he believes
it lacks staying power. “Computer sci-
Europe
biggest disadvantage of Python is that
“the syntax is quite different from
ence programming education goes in
waves of fashion,’’ he says. “Ever since Protests
most other programming languages,”
making it trickier to move on to an-
other language once you get all the
Pascal introduced the idea of ‘one pro-
gramming language for introductory
programming education,’ the com-
H2020
general concepts down. However, he
says, Python’s advantages outweigh
munity has been stuck in a rut of try-
ing to find one and then arguing about
Cuts
its disadvantages. it. Pascal, C++, Java, Python, Scratch ... ACM Europe Chairman Fabrizio
Guthmiller recently used Python to take a number.” Gagliardi recently contacted
build a controller for a robot to make He likens Python to a “package tour: European leaders in opposition
to proposed budget reductions
it follow along a wall, although, gener- safe, comfortable, blandly conven- to Horizon 2020, the European
ally speaking, his go-to programming tional. Choosing Python is the modern Union’s seven-year, 80-billion-
language is C++. Python, he says, “gives equivalent of the old adage, ‘nobody euro research funding program.
you a lot of flexibility, and I’m very famil- ever got fired for buying IBM.’” In January, European
Commission President Jean-
iar with it and I am not concerned about Guzdial is also not sure how long Claude Juncker unveiled
having to remember small details.” Python will be used as the main intro- legislation that would remove
Abbie Burton, a senior majoring in ductory programming language in aca- 2.7 billion euros over 5.5
years from Horizon 2020, the
business at Georgia Tech, was required demia. “I think Python has hit its tip-
EC’s main funding stream
to take a computer science class and ping point, which may mean we have supporting research through the
took “Jython,” a combination of Java a couple more years before people say year 2020, to devote those funds
and Python that business students ‘Python, what?’” to economic stimulus through
the creation of a European
tend to take. She says most engineer- Fund for Strategic Investment.
ing students take Python or MATLAB, That investment, according
Further Reading
and she is not surprised by Python’s to Juncker, would help get the
popularity, “I guess because in the real Guo, Philip J. sluggish European economy
Online Python Tutor: Embeddable moving and create new jobs.
world that’s what people use, so they The largest share of the
Web-Based Program Visualization
want us to be prepared.” for CS Education, Google, Inc. cuts would be directed at
There does appear to be a preference http://bit.ly/1zB7ugb the European Institute of
Innovation and Technology,
for using Python outside of academia. Guttag, J.V. which aims to spur innovation
For the third year in a row, Python was Introduction to Computation and and entrepreneurship across
ranked the number one most popular Programming in Python, MIT Press (2013) Europe by bringing together
programming language by Codeval, a universities, research labs, and
Guzdial, Mark companies to form “dynamic
community of over 24,000 competitive Exploring hypotheses about media cross-border partnerships.”
developers, followed by Java, C++, and computation. Proceedings of the ninth In letters to Juncker,
JavaScript. (http://bit.ly/1vLiuFj). international ACM conference on European Council President
international computing education research Donald Tusk, and European
Guo says he has heard some com- http://bit.ly/13SWMod Parliament President Martin
ments that while easy to learn, Python Shulz, Gagliardi pointed
Enbody, R.J., Punch, W.F., and McCullen, M.,
does not have practical applications in out “the future success of
Python CS1 as preparation for C++ CS2.
the real world and that most coding is Europe requires Europe to
Proceedings of the 40th ACM technical consolidate and advance its
done in MATLAB and other languages. symposium on Computer Science Education position at the forefront of
He says it all depends on the domain. http://bit.ly/1tJjLu7 scientific innovation. This goal
“MATLAB is used in a lot of scientific Pritchard, D. and Vasiga, T. requires major investments
domains. I definitely think it’s less prac- CS Circles: An In-Browser in fundamental research,
Python Course for Beginners. Proceedings especially in such critical
tical in terms of getting an industry job, domains as computing science.”
of the ACM technical symposium on
because most industry coding would Gagliardi said ACM Europe
Computer Science Education
be in other languages, like Java or Java- recommends the European
http://bit.ly/1z7h8UV Commission authorities and
Script. So I would agree it might not be the European Council “preserve,
How to Think Like a Computer Scientist.
the language you’d use in your job.” Learning with Python: Interactive Edition 2.0 in the announced cuts to H2020,
Guttag says Python is a useful tool http://bit.ly/1tJkknG the support to fundamental
for people who do not intend to be com- research and especially in
computing science, given
puter scientists, because it provides a Esther Shein is a freelance technology and business their direct relevance for the
good foundation for learning how to writer based in the Boston area.
focus on innovation of
use computation as part of their work. the Investment Plan.”
—Lawrence M. Fisher
“For those non-computer science © 2015 ACM 0001-0782/15/03 $15.00
MA R C H 2 0 1 5 | VO L. 58 | N O. 3 | C OM M U N IC AT ION S OF T HE ACM 21