473,466 Members | 1,457 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

Python -- (just) a successful experiment?


Raise your hand if you think the best technology wins!
For those of you with your hands in the air, tell me: if Python is so good,why has PHP achieved such greater adoption and mindshare? Why do web scripters still cling to their Perl, even in corporate environments? Why hasn't Python made inroads against Java? Why is Ruby, and Ruby on Rails, getting such strong play?

Are these better programming languages, or is it other factors?

On a whim I installed Ruby on Rails today - pretty much a one-click deal. It was a very slick (Windows) installation, as it automatically figured outand downloaded dependencies - there was no question it was properly installed, and I ended up with a couple "IDE"s for Ruby, examples, etc. Markedly better than installing Python - no contest - and this downloaded a usefuland easy to employ application, with a clear path to show me how to use it..

As I perused the tutorial like documentation, I realized I wasn't anxious to jump into the language (Ruby), but I saw that I could certainly achieve aquicker success putting together a web application with RoR than with (take your pick: Perl, Lisp, Java, etc. etc.) If my mind wasn't appreciative of the Python language, though, Ruby would have hooked me right there.

While I perceive that the future of the language Python is in good development hands - well debated, and thoughtfully strategized; the Python accoutrements can be lacking.

Imagine, if you will, a new car, that does 0-60 in 2 seconds, 60-0 in .2 seconds, has a top speed of 185 mph, corners on par with an F-1 car, costs nomore than a Volkswagen Passat... but comes without tires or seats, and youhave to install the electrics and brakes yourself.

Sure, car geeks are going to love it, but you just are not going to see that many at the grocery store, or doing car pool duty, and no garage really works on them much... forget about finding parts, you have to make your own replacements.

I am not saying Python is that car, but I do think that "Python", as opposed to "Python the computer language specification", is done a great disservice by the lack of certain accoutrements. I do not know if there are features of the language (specification or philosophy) which thwart the development of the complementary items, but I firmly believe that the lack of them is a factor in Python's ho-hum adoption rate.

A good computer language is great, but it pales in comparison with what canbe done with such a language.

What is missing?

Maybe:
-- Automatic dependency handling
-- Tightly coupled GUI package ("tightly coupled" ~= "Pythonic")
-- High level IDE (i.e. intuitive drag and drop GUI builder)
-- High level database framework (perhaps a mature, killer Dabo)
-- Powerful web framework as good as the language (and simple enough for the PHP guys to use)
-- Etc.

Applications like Zope and Plone help drive more people toward the language, though the competition is stiff.

Dozens of competing half baked tools/applications... they just confuse people and take up their time with decision paralysis, though they may be fun to write.
Is it wrong to appreciate Python as a language, but want to have the nice accoutrements we see in some competing languages?

EP
Disclaimer: only recently downloaded Eric3 for Windows, and it looks good, but I haven't had time to learn it yet. Whatsup with the troll, though?

::::::::::::::::::::::::::::::::::
domainNot="@something.com"
domainIs=domainNot.replace("s","z")
ePrefix="".join([chr(ord(x)+1) for x in "do"])
mailMeAt=ePrefix+domainIs
:::::::::::::::::::::::::::::::::::

Aug 7 '05 #1
13 1349
"Eric Pederson" <wh****@now.com> writes:
Maybe:
-- Automatic dependency handling
-- Tightly coupled GUI package ("tightly coupled" ~= "Pythonic")
-- High level IDE (i.e. intuitive drag and drop GUI builder)
-- High level database framework (perhaps a mature, killer Dabo)
-- Powerful web framework as good as the language (and simple enough for the PHP guys to use)
-- Etc.


Are you saying Ruby on Rails has all that in the quick-install?
Aug 7 '05 #2
Eric Pederson wrote:
Raise your hand if you think the best technology wins!
Who is interested in such a matter? Is this a forum dedicated to some
programming language or a popularity contest?

If Python dies in a few years / looses attention but the Python Zen
survives in another language I have nothing to complain.
For those of you with your hands in the air, tell me: if Python is so good,
why has PHP achieved such greater adoption and mindshare?


PHP, Ruby and all this stuff is just the fashion of the day. If the
flow of money takes another direction away from Web programming I
believe there will still be C, some successor of Python, some members
of the ML/Haskell family rooted in CS, a deviation of C++/Java/C# and
some Lisp offspring and of course the new fashion of the day.

And in the end if the success of any language becomes dangerous somehow
it will be cloned and *improved* by Microsoft.

Kay

Aug 7 '05 #3
Eric Pederson wrote:
Why do web scripters still cling to their Perl, even in corporate environments?
Ignorance. One could argue that Python should be promoted more, but
Perl had the "cool tool" buzz a good ten years ago. Such habits don't
fade away very quickly.
Why hasn't Python made inroads against Java?
I would guess that most people deploying Java want to be able to buy
and deploy some big name product with the pretense that they can always
switch to another big name product later on, all in the name of
"multiple vendor support".
Why is Ruby, and Ruby on Rails, getting such strong play?
Relentless hype from blogging celebrities?

[...]
Applications like Zope and Plone help drive more people toward the language, though the competition is stiff.


If you've tried Plone, you must have noticed that it too installs
itself nicely, or at least it did when I last tried it out on a
proprietary operating system with no development tools of its own. This
observation somewhat undermines your assertion that the vanilla Python
language runtime should be bundled with the kitchen sink in order to
compete with the most hyped solution of the day. Indeed, I'd suggest
Zope and Plone as fairly interesting choices for those people wanting
to dabble with a self-contained Web solution but who don't want to
start choosing from a long list of technologies.

Paul

Aug 7 '05 #4
"Paul Boddie" <pa**@boddie.org.uk> wrote:
Perl had the "cool tool" buzz a good ten years ago.


That's true, but I think it understates just how important a development
Perl really was.

Before Perl, unix scripting consisted of awk, sed, grep, tr, a random
assortment of incompatible shells, and lots of duct tape. For all of its
faults, there is no doubt that Perl was a huge improvement over that mess.
Much of the uglyness in Perl's syntax was a deliberate attempt to be
backwards compatable with both awk and shell, which contributed to its
quick uptake by the Unix sysadmin community.

The next thing that drove its popularity is that it was quickly ported to
run on DOS/Windows. If there was a community even more in need of a better
toolkit than the early Unix sysadmins, the DOS/Windows world was it.

Compared to what existed at the time, in both the Unix and DOS/Windows
world, it was the best tool available at the time. No question about it.
Perl also had (AFAICT) a three-year head start on Python. That's a lot of
momentum to overcome.

The fact that 15+ years of experience has shown that there are better ways
to do things, should not in any way take away from Perl's importance. Perl
got where it is because it filled a huge need, not just because it got good
buzz.
Aug 7 '05 #5
Kay Schluehr wrote:
Eric Pederson wrote:
Raise your hand if you think the best technology wins!

Who is interested in such a matter? Is this a forum dedicated to some
programming language or a popularity contest?

If Python dies in a few years / looses attention but the Python Zen
survives in another language I have nothing to complain.

<cut>
Ave!
Although I think that the day that python is considerd dead is the same
day that unix is truly dead.
Ooh yes and I have heard for over two decades that unix-like systems are
obsolete, so why is the install base only growing and has never been bigger?

--
mph
Aug 7 '05 #6
"Paul Boddie" <pa**@boddie.org.uk> writes:
Why do web scripters still cling to their Perl, even in corporate
environments?


Ignorance. One could argue that Python should be promoted more, but
Perl had the "cool tool" buzz a good ten years ago. Such habits don't
fade away very quickly.


I don't think it's ignorance. Some people really do like Perl better
than Python. I can sort of understand why, even though I don't feel
that way myself.
Why hasn't Python made inroads against Java?


I would guess that most people deploying Java want to be able to buy
and deploy some big name product with the pretense that they can always
switch to another big name product later on, all in the name of
"multiple vendor support".


Come on, this is silly, Java is a lot more cumbersome for doing small,
quick projects, but Python doesn't have the language discipline or the
library support to do heavyweight projects that Java can. There is
nothing like JSSE in Python. There is no JDBC replacement unless you
get a third party module from somewhere. There is no MQ. CPython
doesn't support multiprocessing (multiple threads on parallel
processors, due to the GIL). Python's documentation is full of holes.
Python's runtime library is full of holes. Almost every time I use a
Python module that I haven't used before, I find bugs. Java is
tastelessly designed and clumsy, but its language spec is very
thorough and its implementation (including libraries) is complete and
well-documented. Python is great for recreational projects and
prototyping. It's not yet mature enough for deploying complex,
critical applications, though maybe it's getting there (PyPy will be
an important step).

I'm not trying to bash Python--I know how hard it is to write and
maintain a complex system that doesn't have gaps. And the Python
developers did some very nice work with rather limited resources. But
the magnitude of sheer grunt power that went into Java just completely
overwhelms what went into Python.
Why is Ruby, and Ruby on Rails, getting such strong play?

Relentless hype from blogging celebrities?


That's an interesting explanation and might be true for all I know.
But it does look like RoR has capabilities that Python (out of the
box) doesn't.
Applications like Zope and Plone help drive more people toward the
language, though the competition is stiff.


If you've tried Plone, you must have noticed that it too installs
itself nicely,


I looked at Zope a little bit and didn't find it attractive. Plone
sounds more interesting and I hope to check it out sooner or later.
Aug 7 '05 #7
Eric Pederson wrote:
Raise your hand if you think the best technology wins!
For those of you with your hands in the air, tell me: if Python is so good, why has PHP achieved such greater adoption and mindshare? Why do web scripters still cling to their Perl, even in corporate environments? Why hasn't Python made inroads against Java? Why is Ruby, and Ruby on Rails, getting such strong play?

Are these better programming languages, or is it other factors?


You make some good points and I agree that more needs to be done to make
python accessible, but you basically ruined the rest of your post right
off the bat. Replace Python with, say, Linux and PHP with, say, Windows.
How the respective technologies got where they are today is not
important to the analogy (except maybe being in the right place at the
right time). There is such a huge counter-example of "the best
technology wins" staring everyone in the face every day, that the first
part of your post doesn't really do anything for me.

But ultimately I am on your side. Python has a long way to go, and it
has nothing to do with the language design...
--
Brian Beck
Adventurer of the First Order
Aug 7 '05 #8
Paul Rubin wrote:
Come on, this is silly, Java is a lot more cumbersome for doing small,
quick projects, but Python doesn't have the language discipline or the
library support to do heavyweight projects that Java can.
I'm not necessarily arguing that Python goes all the way up to the
upper echelons of enterprise application development, but there seem to
be a lot of people grabbing the chainsaw in order to snap a twig, and
then justifying that choice by mentioning all the chainsaw vendors by
name.
There is nothing like JSSE in Python. There is no JDBC replacement unless you
get a third party module from somewhere. There is no MQ.
I won't doubt that there are pieces missing, although JDBC is something
of a red herring, given that Python does have a half-decent API
standard for database access and that you still need JDBC drivers (cf.
third party modules) to connect to actual database systems.

What I've argued for all along, in contrast to the endless advocacy of
language microfeatures that save ten seconds of typing in an average
working day, is increased attention to library support for actual
applications and solutions. So I don't disagree with everything you're
saying here. ;-)

[...]
Python is great for recreational projects and prototyping. It's not yet mature
enough for deploying complex, critical applications, though maybe it's getting there
(PyPy will be an important step).


I'd be interested to hear an amplification of the last statement.

Paul

Aug 7 '05 #9
Martin P. Hellwig wrote:
Kay Schluehr wrote:
Eric Pederson wrote:
Raise your hand if you think the best technology wins!

Who is interested in such a matter? Is this a forum dedicated to some
programming language or a popularity contest?

If Python dies in a few years / looses attention but the Python Zen
survives in another language I have nothing to complain.

<cut>
Ave!
Although I think that the day that python is considerd dead is the same
day that unix is truly dead.
Ooh yes and I have heard for over two decades that unix-like systems are
obsolete, so why is the install base only growing and has never been bigger?

--
mph


Of course "dead" has no absolute meaning for things that were never
alive.

May "infertile" be a better characterisation? If no new projects were
started using a certain language the language ( more precisely it's
runtime/libraries ) might become legacy and will be replaced
continously.

When the PyPy runtime becomes more mature and it's API somehow stable
we might see what is possible in the dynamic language area beyond the
current state of Python and also beyond Guidos projected Python3000. I
guess it will sprawl into several dialects pronouncing different
aspects: functional programming, concurrency, declarative programming a
mainline Python3000 and a legacy Python 2.X which remains to be
maintained.

Thinking about this prospects I don't actually believe that
Ruby-on-Rails will become a Python killer, just because it has a nice
installer.

Kay

Aug 7 '05 #10
On Sun, 2005-08-07 at 06:55 -0700, Paul Boddie wrote:
Eric Pederson wrote:
Why is Ruby, and Ruby on Rails, getting such strong play?


Relentless hype from blogging celebrities?


This is certainly part of it, but I feel it ignores the much deeper
reasons which are the root of this hype. I recently went to FOSCON (a
free seminar coinciding with OSCON put on by the local Ruby UG here in
Portland) and listened to a few presentations on Ruby and Rails by David
Hansson (the creator of Rails) and others. By the end it was clear that
Ruby is wonderfully suited to writing domain-specific languages (DSL)
and that Rails is an excellent example of a DSL geared toward writing
database-driven web applications. A friend of mine is writing a book on
Rails for a large publisher and admitted to me that he barely knows Ruby
(and has used Rails for only around six months).

The second presentation (I don't recall the speaker's name) specifically
covered metaprogramming (writing DSLs) and one of the things I found
interesting was that despite Ruby having far more syntax than Python in
general, the resulting Ruby-based DSLs presented had far *less* syntax
than had they been written in Python. This is undoubtedly the reason
why Rails is apparently completely usable even if one knows very little
Ruby.

Regards,
Cliff

--
cl***@develix.com
http://www.develix.com :: Web applications and hosting :: Linux, PostgreSQL and Python specialists ::
Aug 8 '05 #11
Eric Pederson wrote:
Raise your hand if you think the best technology wins!


Those who have raised hands should google for "worse is better"...

--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'o****@xiludom.gro'.split('@')])"
Aug 8 '05 #12
Cliff Wells <cl***@develix.com> writes:
The second presentation (I don't recall the speaker's name) specifically
covered metaprogramming (writing DSLs) and one of the things I found
interesting was that despite Ruby having far more syntax than Python in
general, the resulting Ruby-based DSLs presented had far *less* syntax
than had they been written in Python. This is undoubtedly the reason
why Rails is apparently completely usable even if one knows very little
Ruby.


Interesting. But if we can generalize from that, then Lisp should be
ruling the web.
Aug 8 '05 #13
On Mon, 2005-08-08 at 10:10 -0700, Paul Rubin wrote:
Cliff Wells <cl***@develix.com> writes:
The second presentation (I don't recall the speaker's name) specifically
covered metaprogramming (writing DSLs) and one of the things I found
interesting was that despite Ruby having far more syntax than Python in
general, the resulting Ruby-based DSLs presented had far *less* syntax
than had they been written in Python. This is undoubtedly the reason
why Rails is apparently completely usable even if one knows very little
Ruby.


Interesting. But if we can generalize from that, then Lisp should be
ruling the web.


Well, that is perhaps the other key feature: the Ruby/Rails community
seems pretty friendly and eager to help people jump to their side of the
fence (much like the Python community, btw), whereas Lisp community is
an oxymoron.

Regards,
Cliff

--
cl***@develix.com
http://www.develix.com :: Web applications and hosting :: Linux, PostgreSQL and Python specialists ::
Aug 9 '05 #14

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

220
by: Brandon J. Van Every | last post by:
What's better about Ruby than Python? I'm sure there's something. What is it? This is not a troll. I'm language shopping and I want people's answers. I don't know beans about Ruby or have...
699
by: mike420 | last post by:
I think everyone who used Python will agree that its syntax is the best thing going for it. It is very readable and easy for everyone to learn. But, Python does not a have very good macro...
20
by: Lucas Raab | last post by:
I'm done porting the C code, but now when running the script I continually run into problems with lists. I tried appending and extending the lists, but with no avail. Any help is much appreciated...
75
by: Xah Lee | last post by:
http://python.org/doc/2.4.1/lib/module-re.html http://python.org/doc/2.4.1/lib/node114.html --------- QUOTE The module defines several functions, constants, and an exception. Some of the...
217
by: gyromagnetic | last post by:
The following url points to an article written by Damian Conway entitled "Ten Essential Development Practices": http://www.perl.com/pub/a/2005/07/14/bestpractices.html Althought the article has...
10
by: malv | last post by:
I am involved in a major scientific algorithm design problem in which simulation of the underlying physics and visualization play an important role. Algorithm adaptation from run to run often...
53
by: Michael Tobis | last post by:
Someone asked me to write a brief essay regarding the value-add proposition for Python in the Fortran community. Slightly modified to remove a few climatology-related specifics, here it is. I...
64
by: Bayazee | last post by:
hi can we hide a python code ? if i want to write a commercial software can i hide my source code from users access ? we can conver it to pyc but this file can decompiled ... so ...!! do you...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.