overhead in getting to the point
where people can start to write interesting programs; the syntax is pretty
straightforward,” observes John Guttag, professor of electrical engineering and computer science at MIT, and
the author of several books, including one about learning to program
in Python. In contrast to Java, which
has a “fairly complicated syntax and
fairly complicated static semantics,”
Python makes more sense for people
who are writing small programs, he
says. Java is designed to support people writing large, “industrial-quality”
programs containing thousands of
lines of code, says Guttag, who teach-es one of two introductory courses offered by his department.
Another reason Guttag believes
more colleges are using Python as an
introductory programming language
is that it has “a very large set of highly
useful libraries that have been built
over the years that support things …
that are easy to use from language
proper, and that makes Python a par-
ticularly useful language for scientists
and engineers who want to take ad-
vantage of those libraries.”
Python is also very good for “let-
ting you teach conceptual material
without getting in the way,” observes
Guttag. “So I don’t find myself spend-
ing all my time explaining Python to
the students. I get to spend a lot of
time explaining what I think are more
long-lived concepts,” like algorith-
mic complexity.
Not everyone agrees Python is the
be-all-end-all as an introductory programming language. Shriram Krish-
THE WAY TAYLOR POULO sees it, learning to code in Python is comparable “to learning Latin and romantic languag- es.” Once someone grasps
the logic behind Python, the concepts
can be more easily transferred to other
languages, maintains Poulos, a senior
majoring in industrial engineering at
the Georgia Institute of Technology
(Georgia Tech). “Once you get com-
fortable thinking in a different type
of logic and using different words, it’s
much more comfortable to learn new
things,” she says, adding that she was
required to take three computer sci-
ence classes at Georgia Tech, all in Py-
thon. “Python did that.”
Python, an open source scripting
language, has become the most popu-
lar introductory teaching language at
top U.S. universities—Georgia Tech
among them—according to a recent
survey by Philip Guo, an assistant pro-
fessor of computer science at the Uni-
versity of Rochester. Guo decided to
conduct the research after noticing
anecdotally over the past few years that
Python was replacing languages such
as Java as the de facto introduction to
programming class in more and more
computer science classes at universi-
ties around the country.
Because it is a scripting language,
Python automates tasks that would
otherwise need to be performed manu-
ally. Java and C++ also are popular and
widely used. The main difference is
that Python programs tend to run slow-
er than Java programs, but they take
significantly less time to develop, ac-
cording to the Python Software Foun-
dation. Python programs also tend to
be shorter than equivalent programs
written in Java because of “Python’s
built-in high-level data types and its dy-
namic typing,” the Foundation notes.
While the same is true of C++, Python
code is generally one-fifth to one-tenth
the length of equivalent C++ code, and
“Anecdotal evidence suggests that one
Python programmer can finish in two
months what two C++ programmers
can’t complete in a year,” the Founda-
tion’s website states.
During the summer of 2014, Guo
went to the websites of the top 39
U.S. schools for computer science as
ranked by U.S. News & World Report
in 2014, and collected as much data
as he could from looking at their introductory computer science courses.
He stopped at 39, he explains, because there was an eight-way tie for 40
and “we had to stop somewhere.” At
schools including the Massachusetts
Institute of Technology (MIT), Carnegie Mellon University, and the University of California, Berkeley, Python
emerged as the leading language to
teach novices (the full list, along with
Guo’s blog on the topic, can be found
at at http://bit.ly/W0vtox).
Proponents say it is no surprise Python
has become the most popular teaching
language in colleges, because compared
to programs like Java, it is easier to learn
and to use to write programs that do practical things with very little code.
With Python, “There’s very little
Python for Beginners
A survey found the language in use in introductory programming
classes in the top U.S. computer science schools.
Society | DOI: 10.1145/2716560 Esther Shein
In contrast to Java,
Python makes more
sense for people
who are writing
small programs.
I
M
A
G
E
C
O
U
R
T
E
S
Y
O
F
P
Y
T
H
O
N
S
O
F
T
W
A
R
E
F
O
U
N
D
A
T
I
O
N
TM