By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
459,201 Members | 1,617 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 459,201 IT Pros & Developers. It's quick & easy.

"The World's Most Maintainable Programming Language"

P: n/a
There is an article on oreilly.net's OnLamp site called "The World's
Most Maintainable Programming Language"
(http://www.oreillynet.com/onlamp/blo...inable_p.html).
It's not about a specific language, but about the qualities that would
make up the title language (learnability, consistency, simplicity,
power, enforcing good programming practices). I thought this might be of
interest to some of you, and I thought I'd point out the two places
where Python was mentioned:

from Part 4, Power:
"Of course (second point), a language that requires users to extend it
to be productive has already failed, unless it can enforce that there is
one obvious solution to any problem and autonomously subsume the first
working solution into the core language or library. Python is a good
example of this practice. There is a strong polycultural subcommunity in
the world of free and open source, and the members of this group
consider the lack of competing projects in Python (one XML parser, one
logging library, one networking toolkit) to be counterintuitive and even
counter to the goal of language progress. They’re wrong; this is
actually a strong force for cohesion in the language and community,
where the correct answer to a novice’s question of “How can I parse
XML?”, “How can I publish a database-driven web site?”, or even “How can
I integrate the legacy system of an acquired company from a different
industry with our existing legacy system?” (to prove that this principle
does not only apply to small or toy problems) is usually “Someone else
has already implemented the correct solution to that problem — it is
part of the standard library.”"

from Part 5, Enforcing Good Programming Practices:
"Having a comprehensive standard library helps alleviate this problem to
some degree for many languages. Consider how PHP and Java have both
avoided the trouble of conflicting addons by aggressively integrating
new features into the language. (Of course, Python has done a similar
job through a rigorous set of community procedures, but that’s difficult
— though not impossible — to emulate in a parser and compiler.)"
Apr 5 '06 #1
Share this Question
Share on Google+
9 Replies


P: n/a
John Salerno wrote:
There is an article on oreilly.net's OnLamp site called "The World's
Most Maintainable Programming Language"
(http://www.oreillynet.com/onlamp/blo...inable_p.html).


There is one really interessting (imho) point
in the last part that struck me down:

<blockquote>
Aside from a formal specification, which I hope to
produce in the near future, the language needs a name.
Here is where many modern languages have done well.
Perl, named after Pearl Biggar (Larry Wall’s fiancée),
Ruby (named after Ruby Kusanagi Matsumoto, Yukihiro
Matsumoto’s youngest daughter), Ada (named after
Charles Babbage’s first programming student,
Ada Lovelace), and COBOL (named after Colleen
Bolero, the heroine of a Ravel operetta) have
set a high standard for naming techniques.
</blockquote>

OMG!

Did you people know that already ;-)

Regards

M.
Apr 5 '06 #2

P: n/a
John Salerno wrote:
There is an article on oreilly.net's OnLamp site called "The World's
Most Maintainable Programming Language"
(http://www.oreillynet.com/onlamp/blo...inable_p.html).
It's not about a specific language, but about the qualities that would
make up the title language (learnability, consistency, simplicity,
power, enforcing good programming practices). I thought this might be of
interest to some of you, and I thought I'd point out the two places
where Python was mentioned:


It's interesting to see a slightly different take on type checking..

"In the real world it is an error to put five pounds of potatoes in a
ten pound sack"

"The same might be true of computer games, where a type checker so
careful that it might refuse to allow an operation where a 180-pound
character can carry 10,000 gold pieces might actually remove the aspect
of fun from the game."

Isn't this data validation and if it is, should the compiler be checking
this?

Tim Parkin
Apr 5 '06 #3

P: n/a
"Mirco Wahab" <pe*********************@gmx.de> wrote in message
news:e0**********@mlucom4.urz.uni-halle.de...
John Salerno wrote:
There is an article on oreilly.net's OnLamp site called "The World's
Most Maintainable Programming Language"
(http://www.oreillynet.com/onlamp/blo..._maintainable_
p.html).
There is one really interessting (imho) point
in the last part that struck me down:

<blockquote>
Aside from a formal specification, which I hope to
produce in the near future, the language needs a name.
Here is where many modern languages have done well.
Perl, named after Pearl Biggar (Larry Wall’s fiancée),
Ruby (named after Ruby Kusanagi Matsumoto, Yukihiro
Matsumoto’s youngest daughter), Ada (named after
Charles Babbage’s first programming student,
Ada Lovelace), and COBOL (named after Colleen
Bolero, the heroine of a Ravel operetta) have
set a high standard for naming techniques.
</blockquote>

OMG!

Did you people know that already ;-)

Regards

M.


COBOL = COmmon Business-Oriented Language

I think the author was just testing to see who was reading. Also, is there
any significance to the publication date of the Conclusion (or the name
selected for the "ultimate" language)?

Seems like a lot of work for an Avril Fool's prank...

-- Paul


Apr 5 '06 #4

P: n/a
John Salerno wrote:
There is an article on oreilly.net's OnLamp site called "The World's
Most Maintainable Programming Language"
(http://www.oreillynet.com/onlamp/blo...inable_p.html).
It's not about a specific language, but about the qualities that would
make up the title language (learnability, consistency, simplicity,
power, enforcing good programming practices). I thought this might be of
interest to some of you, and I thought I'd point out the two places
where Python was mentioned:

from Part 4, Power:
"Of course (second point), a language that requires users to extend it
to be productive has already failed, unless it can enforce that there is
one obvious solution to any problem and autonomously subsume the first
working solution into the core language or library. Python is a good
example of this practice. There is a strong polycultural subcommunity in
the world of free and open source, and the members of this group
consider the lack of competing projects in Python (one XML parser, one
logging library, one networking toolkit) to be counterintuitive and even
counter to the goal of language progress. They’re wrong; this is
actually a strong force for cohesion in the language and community,
where the correct answer to a novice’s question of “How can I parse
XML?”, “How can I publish a database-driven web site?”, or even “How can
I integrate the legacy system of an acquired company from a different
industry with our existing legacy system?” (to prove that this principle
does not only apply to small or toy problems) is usually “Someone else
has already implemented the correct solution to that problem — it is
part of the standard library.”"


xml templates ? ORM ?
Apr 5 '06 #5

P: n/a
Mirco Wahab wrote:
Perl, named after Pearl Biggar (Larry Wall’s fiancée),
His wife was Gloria since at least 1979, perl was published
in 1987. This seems to be an insider joke (he wanted to call
the language "Gloria" first, then "pearl", then "perl").
set a high standard for naming techniques.


So we should rename Python into Cottonmouth to get more attention.

Ralf
Apr 5 '06 #6

P: n/a
Hi Ralf
Perl, named after Pearl Biggar (Larry Wall’s fiancée),


His wife was Gloria since at least 1979, perl was published
in 1987. This seems to be an insider joke (he wanted to call
the language "Gloria" first, then "pearl", then "perl").


Thanks for pointing this out ;-)

This makes perfectly sense - then. I mean, its
'chromatic' who wrote about that, so at least
something has to hide in each of the jokes ;-)
set a high standard for naming techniques.


So we should rename Python into Cottonmouth
to get more attention.


No, always take some word that relates to
something more or less 'feminine', its about
96% of young males who sit hours on programming
over their beloved 'languages' ;-)

Pythia? (http://en.wikipedia.org/wiki/Pythia)

Regards,

M.
Apr 6 '06 #7

P: n/a
Mirco Wahab wrote:
Hi Ralf
So we should rename Python into Cottonmouth
to get more attention.


No, always take some word that relates to
something more or less 'feminine', its about
96% of young males who sit hours on programming
over their beloved 'languages' ;-)

Pythia? (http://en.wikipedia.org/wiki/Pythia)


I guess that would make our motto "Pythia: now you're programming with
ethylene."

-Peter

Apr 6 '06 #8

P: n/a
Peter Hansen wrote:
Mirco Wahab wrote:
Hi Ralf
So we should rename Python into Cottonmouth to get more attention.

No, always take some word that relates to
something more or less 'feminine', its about
96% of young males who sit hours on programming
over their beloved 'languages' ;-)

Pythia? (http://en.wikipedia.org/wiki/Pythia)

I guess that would make our motto "Pythia: now you're programming with
ethylene."


Who said programming in Python was a r'P[y|i]t(hi)?a' ?-)

(oops, sorry --->[])
--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'o****@xiludom.gro'.split('@')])"
Apr 7 '06 #9

P: n/a
I thought the paragraph about provability was interesting. Presumably
the author refers to proofs in the spirit of "A Discipline of
Programming" from Djikstra, 1976. Unfortunately, I don't think anyone
has writting much about this since the 70s. I'd be interested to learn
if anyone's tried to write "weakest precondition" style specifications
for python (builtin functions, for, lambda, etc). Or perhaps there's
some easier to understand medium?

It's worth noting that the author makes proving correctness sound like
a trivial task, which of course it's not. Consider

def collatz(n,i=0):
if n==1:
return i
elif (n%2)==0:
return collatz(n/2,i+1)
else:
return collatz((3*n+1)/2,i+1)

It is currently unknown whether this even terminates in all cases.

Apr 9 '06 #10

This discussion thread is closed

Replies have been disabled for this discussion.