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