Why did no one invent Python before?

J

j_mckitrick

Yes, it's a silly question, but given how far we have come, why is it
that a natural looking, easy to read, incredibly powerful language has
appeared only recently, from a tech standpoint?

I can't *believe* how much more productive I am with the built in data
types and powerful expressions Python offers. It made me want to quit
my C++ job. Well, not quite. ;-)

Seriously, why is a language like this only NOW appearing? And aside
from the interpreter, because while it is nice, it's not the main
forte' of the language, IMHO.

jonathon
 
T

Terry Reedy

j_mckitrick said:
Seriously, why is a language like this only NOW appearing?

Actually, it was released over a decade ago, which is hardly 'now' by CS
standards. Perhaps you should ask why you didn't hear about it and
download it sooner? In any case, welcome to the community of Python
enthusiasts.

Terry J. Reedy
 
J

Jeff Epler

Python's been around for more than a decade at this point. ABC came
before that, and was broadly similar to Python in its syntax. Earlier
still, Apple's Hypertalk was a "natural looking, easy to read,
incredibly powerful language" for hypercard. We're now all the way back to
the mid or late 80s (the Internet didn't immediately answer that
question for me).

Myself, I've been using Python for something like 9 years, and loving
every moment of it.

Jeff

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFAvl12Jd01MZaTXX0RAsBDAKCqWOM2tY0hs9XS6ImHoD7bF68OIwCfS47r
yj01vmieBMX78WwqyK5/UdE=
=BqJl
-----END PGP SIGNATURE-----
 
E

Erik Max Francis

j_mckitrick said:
Seriously, why is a language like this only NOW appearing? And aside
from the interpreter, because while it is nice, it's not the main
forte' of the language, IMHO.

I think there's some validity to this question. It probably has to do
with a combination of things. First, it takes a while from the
inception of a language before it gets enough development behind it that
it's as powerful as Python is. Even if everyone immediately recognizes
the merits of the languages, it takes a sort of "critical mass" of
people before it really takes off, in terms of usage and people hearing
about it, as well as in terms of building enough of the standard
libraries to make doing advanced things with it a snap. Of course,
things like the Internet have contributed to letting people get in touch
with each other much more easily. Remember that Python has been around
for over ten years; it takes a while for a language to become stable,
build up a developer community that continues to add features to it, and
attracts a base of users. Even with the Internet, that takes time.

Additionally, I think it's at least partially a matter of building up
"technology," so to speak. First, computers have been getting faster
and more powerful for a long time now, of course, but it's only the last
five years or so where it's really been practical to make a high-level
language whose primary concern is not speed, but where machines are fast
enough that for a very large majority of applications. There has
certainly been a niche market for high-level languages in the past, but
computers were often limited enough that you had to carefully fit them
to a task. Nowadays computers are so fast and have so much memory that
it's the other way around -- you usually don't need to worry about raw
performance at all.

Second on the "technology" front is, to lump a bunch of things together
in one term, the computer science. It takes a while to build up
powerful high-level programming ideas that can be brought to bear easily
and effectively in a programming language. Language designers need to
put things together in a way that makes sense, is relatively easy to
use, and is also powerful. Lots of languages don't do it well. Python
does, and I think there are other examples that also fit into the first
technology point, but haven't reached massive popularity yet, like Io.

Simply put, we live in a time where we have computers that are fast
enough that it's very practical to use high-level languages, and we live
in a time where we've had enough practice at it that the the creme of
the crop are really good at what they do. That makes the creation of
something like Python possible.
 
R

Russell E. Owen

Yes, it's a silly question, but given how far we have come, why is it
that a natural looking, easy to read, incredibly powerful language has
appeared only recently, from a tech standpoint?

I can't *believe* how much more productive I am with the built in data
types and powerful expressions Python offers. It made me want to quit
my C++ job. Well, not quite. ;-)

Seriously, why is a language like this only NOW appearing? And aside
from the interpreter, because while it is nice, it's not the main
forte' of the language, IMHO.

I think smalltalk users would argue that it was done many years ago. It
looks a bit odd at first to C programmers, but is easy to learn and has
most of the strengths of python:
- interpreted
- automatic garbage collection
- simple and clean
- powerful
- rich set of collection types
- rich set of libraries

There are a few important differences:
- much worse for scripting
- built in GUI
- much better development environment; you really don't know what you're
missing until you've used smalltalk's browsers, inspectors and
debuggers. It's the main thing I really, really miss in python.

I think lisp users would also argue for their language. It's really
weird to non-lisp users (much more so than smalltalk is to C/python
programmers) but really powerful.

Anyway, I did not intend to detract from your praise of python. It is a
wonderful language, and my main language right now.

-- Russell
 
G

Grant Edwards

I think smalltalk users would argue that it was done many years ago. It
looks a bit odd at first to C programmers, but is easy to learn and has
most of the strengths of python:
- interpreted
- automatic garbage collection
- simple and clean
- powerful
- rich set of collection types
- rich set of libraries

There are a few important differences:
- much worse for scripting
- built in GUI
- much better development environment; you really don't know what you're
missing until you've used smalltalk's browsers, inspectors and
debuggers. It's the main thing I really, really miss in python.

The big difference between Smalltalk (back then) and Python
(now) is the price of admission -- both financially and
mentally.

Smalltalk was an amazingly cool system, but I don't remember
any usable free Smalltalk systems until recently. I think I
paid several hundred USD for the "entry" level version of
Smalltalk for a '286 about 15 years back. Add-on libraries
weren't free, and had to be purchased separately. It was cool,
but it didn't integrate with _anything_. It was a world unto
itself. You launched it from DOS, and it completely took over
the machine. Smalltalk was the OS. You couldn't ease into
Smalltalk the way you can with Python. You jumped into the
deep end and either swam or drowned. With python, you can get
your feet wet by wading around in the shallows and gradually
learn to swim as you have the time and inclination.
 
P

Peter Hansen

j_mckitrick said:
Yes, it's a silly question, but given how far we have come, why is it
that a natural looking, easy to read, incredibly powerful language has
appeared only recently, from a tech standpoint?

Python is almost ancient, from a tech standpoint, as it's over
ten years old...
Seriously, why is a language like this only NOW appearing?

I would claim that Rexx, which appeared long before even Python
was invented, is quite "like this" language we currently love.

-Peter
 
D

Dennis Lee Bieber

Yes, it's a silly question, but given how far we have come, why is it
that a natural looking, easy to read, incredibly powerful language has
appeared only recently, from a tech standpoint?
Define "recently".

FORTRAN goes back the tail-end of the 50s, and COBOL and LISP
aren't too distant from it. Call it 1960.

I was using Python on my Amiga nearly a decade ago (when did the
first edition of the Python book come out?). Say 30 years to go from '60
to '90.

Now consider that for much of that period, computers were these
big monolithic things that billed one by the second -- making
interpreters rather expensive to run, not to mention editing on card
decks.

It takes computer power to process a language... Imagine having
to pay the time used for Python, when running on a processor like my
college mainframe (we had 1MB of core! It was a big event when we
obtained a pair of 300MB drives to support the OS swap space). Oh, and
terminals ran at 1200baud, monochrome, text-only.

--
 
F

fishboy

Now consider that for much of that period, computers were these
big monolithic things that billed one by the second -- making
interpreters rather expensive to run, not to mention editing on card
decks.

It takes computer power to process a language... Imagine having
to pay the time used for Python, when running on a processor like my
college mainframe (we had 1MB of core! It was a big event when we
obtained a pair of 300MB drives to support the OS swap space). Oh, and
terminals ran at 1200baud, monochrome, text-only.
and you had to use upload bandwidth both ways....

rats! just remembered someone made this joke already in #twisted.
 
H

Hung Jung Lu

Russell E. Owen said:
I think smalltalk users would argue that it was done many years ago.
...
I think lisp users would also argue for their language. It's really
weird to non-lisp users (much more so than smalltalk is to C/python
programmers) but really powerful.

Another two sets of languages that are smart in different dimensions:

(a) Haskell: functional programming,
(b) Self/AppleScript/Io: prototype-based OOP (PB-OOP).

regards,

Hung Jung
 
A

Alan Gauld

FORTRAN goes back the tail-end of the 50s, and COBOL and LISP
aren't too distant from it. Call it 1960.

And the power of data structures like dictionaries weren't really
appreciated till the 70's and standard *efficent* implementations
weren't available till about the early 80's. Now given that much
of Pythons innards consist of nothing but dictionaries, it would
have been difficult to build something like python(or ABC) toill
at least the mid 80's. ABC was late 80's, so not so very far
behind the state of the art...
It takes computer power to process a language... Imagine having
to pay the time used for Python, when running on a processor like my
college mainframe

True, although BASIC was atound in 1963 and interpreted - but
with a very much simpler syntax than Python...

Alan G.
Author of the Learn to Program website
http://www.freenetpages.co.uk/hp/alan.gauld
 
M

Matthew Thorley

Steve said:
That's not all. There is one thing that I've heard more about Python than
any other language. People, myself included, say it is fun to program in
Python. Fun. I find programming neat but I would never say that my time
programming in Turbo Pascal or Perl was fun. :)
Hear Hear !!! I'll second that. Programming in pythong is fun.

-matthew
 
C

Cameron Laird

I think there's some validity to this question. It probably has to do
with a combination of things. First, it takes a while from the
.
[thoughtful analysis]
.
.
Simply put, we live in a time where we have computers that are fast
enough that it's very practical to use high-level languages, and we live
in a time where we've had enough practice at it that the the creme of
the crop are really good at what they do. That makes the creation of
something like Python possible.
.
.
.
I see as critical enough time to make sufficient mistakes.
Some of what's right about Python was *not* designed, but
discovered. Being the finite humans we are, on occasions
it takes us a bit of experience and practice and stumbling
before we're ready to see clearly.
 
C

Cameron Laird

.
.
.
I think smalltalk users would argue that it was done many years ago. It .
.
.
I think lisp users would also argue for their language. It's really
weird to non-lisp users (much more so than smalltalk is to C/python
programmers) but really powerful.

Anyway, I did not intend to detract from your praise of python. It is a
wonderful language, and my main language right now.
.
.
.
Those are the two natural high points I see, too. We're
*still* trying to get back to their accomplishments, in
plenty of ways. LISP first appeared in the '50s, Small-
talk sometime between '71 and '76, depending on whom you
ask (I like the '71 nucleus, myself). Those looking for
other antique ways to blow minds should also consider
Forth. Moore first called it that in 1968, although at
that point he was re-using code and design elements that
first appeared in his writings at the end of the '50s.
 
C

Cameron Laird

j_mckitrick wrote: .
.
.

I would claim that Rexx, which appeared long before even Python
was invented, is quite "like this" language we currently love.

-Peter

Good catch. I find Rexx similar also in the passion it
has inspired in some users, particularly in its Amiga
(and, in a more subdued way, OS/2) manifestation(s).
 
T

Tim Bradshaw

Yes, it's a silly question, but given how far we have come, why is it
that a natural looking, easy to read, incredibly powerful language has
appeared only recently, from a tech standpoint?

Well, discarding the fact that Python isn't really new, I think there
are several factors (in no particular order):

* machine speed/cost. Machines probably started offering enough
price/performance (or just simply enough raw performance, ad any
price) to make languages which concentrated on human usability rather
than optimising performance at the price of everything else viable
around 20 years ago. 10 years after that programmers noticed this
(many still have not, of course, and bizarrely also have not noticed
that machines are no longer like PDP11s, resulting in lots of
`optimized'-but-slow programs...).

* Language design issues. A lot of the people who designed languages
which were oriented towards usability rather than performance fell
into the trap of designing those languages for expert users: people
who would want to do lots of really advanced things with the language,
such as design their own domain languages and so on. The tradeoffs
needed to do this typically steepened the learning curve for the
language enough that lots of people just gace up. Lisp is the classic
example of this. Python has got this just right: it's really easy to
learn Python - no hairy macros or strange syntax to support them - and
unless you come from a Lisp background it only occasionally feels like
hammering nails into your own head.

* Big standard libraries. I think this is largely an artifact of the
technology boom. For much of Python's life high-tech companies were
making so much money that it was considered fine for people to work on
some library for Python. That's somewhat changed now, but Python is
way over critical mass.

--tim

*
 
C

Cameron Laird

.
.
.
I was using Python on my Amiga nearly a decade ago (when did the
first edition of the Python book come out?). Say 30 years to go from '60
.
.
.
O'Reilly published the first edition of *Programming Python*
in October 1996; is that what you're after?
 
J

j_mckitrick

- much better development environment; you really don't know what you're
missing until you've used smalltalk's browsers, inspectors and
debuggers. It's the main thing I really, really miss in python.

I keep hearing about this Smalltalk IDE. What is really the big deal,
and why hasn't MS ripped it off? I tried to find screenshots but
couldn't. I also applied for a demo download, but never heard back
from the company.

jonathon
 
S

Sion Arrowsmith

j_mckitrick said:
Seriously, why is a language like this only NOW appearing?

As others have pointed out, Python has been around for a good
decade (as have a number of other powerfully expressive
languages, particularly in the functional camp). A more
pertinent question might be why, when languages like this
appeared some time ago, are monstrosities like C# still being
created? (I recently saw some basic socket server code in C#
-- it's a poor reflection on a supposedly modern, high-level
language when the pure C equivalent would be *less* verbose.
And the library designers appear to have not encountered the
concept of polymorphism.)
 
P

PiedmontBiz

The big difference between Smalltalk (back then) and Python
(now) is the price of admission -- both financially and
mentally.

Smalltalk was an amazingly cool system, but I don't remember
any usable free Smalltalk systems until recently. I think I
paid several hundred USD for the "entry" level version of
Smalltalk for a '286 about 15 years back. Add-on libraries
weren't free, and had to be purchased separately. It was cool,
but it didn't integrate with _anything_. It was a world unto
itself. You launched it from DOS, and it completely took over
the machine. Smalltalk was the OS. You couldn't ease into
Smalltalk the way you can with Python. You jumped into the
deep end and either swam or drowned. With python, you can get
your feet wet by wading around in the shallows and gradually
learn to swim as you have the time and inclination.


I played around with Little Small talk some years back (Tim Budd)
I got it to compile on Minix then lost interest.
I recall that Guido VR did the Macintosh version of it -- windowing system I
believe.

I googled but found no mention of it (actually only checked 2 screens)

I am curious why he left that project behind.

allen
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top