[Python-3000] Q's 2 U's; Perceptions, growing into langs
Linda W.
python at tlinx.org
Sun Jun 22 09:25:46 CEST 2008
> Care to give any examples of 'unbeautifying' other than the print
> statement -> print function conversion?
???Care to?...not really :-) I __really__ am not familiar enough with
python, let alone the differences between the versions.
I tried to find a concise list of differences, but while I found long
descriptions that were readable, I wasn't finding a full set of
differences -- but part of that was, I believe, the incremental way Py3
as been developed.
I may be projecting more about my differences on perl versions than python.
> I would tend to disagree that the new print function is less "pretty"
> - I've actually found it to be more consistent and 'pretty' within the
> language. But YMMV.
----
Ahhh....welll you know what they say, beauty is in the eye of the
beholder. One of the things I thought was attractive about python is its
cleanness -- from the perspective of it being nearly opposite of perl
(which I like alot, BTW, so not trying to rag on it). In that I mean
how perl has more than once been described by some as looking like 'line
noise'...:-)
>> As to what I think will happen with adoption of Python 3... I think
>> 2.x and 3.x will coexist quite happily for a number of years (at
>> least until a 2.7 release, possibly even a 2.8).
----
That's what the perl folk claim somewhat of Pl5/Pl6. But I was
around for the Pl3-Pl4, Pl4-Pl5 transitions...I know Pl3 and Pl4 code
could easily, often with no changes, run under Pl5 -- but Pl6 -- wish
the creator when with a different language name so
Pl5 could evolve to fill in its gaps and holes -- but naming the new
language is "Pl6" was intentional on L'Wall's part -- he specifically
said he wanted to get the notoriety associated with Perl5 associated
with his new language. Also, IMO, deliberately or not, I think it is
meant to bring a none-too-subtle end to Pl5 as a living, developing
language. But maybe Larry really reached the end of his creative
'ropes' in trying to evolve Pl5 and just gave up the ghost by going with
a new lang.
Took me years before I started actually using Pl5-features like the
object orientation (most of my p4 work had been mostly using it as a
quick script/filter language). When I sat down to actually try to use
Pl5's OO features and use it as a higher-level lang (and not just a
scripting lang), I began to run into its limitations -- and things I
missed about high-level langs that seem to be more limited to compiled
languages...
I'm happy to hear there isn't the same type of schism in the Python
community -- sounds like most things should just continue to
'evolve'...with, what it sounds like, more 'gentle' paths to grown
between the levels. Hopefully Python won't hit the wall in another 8-12
years and need a similar restart. But we all know what happens when
you hang too much on to past compatibility -- you get Windows (and
become some of the richest people on the planet...)... compatibility
over 'new' or 'better' seems to be what the market favors (even though
it agreeably may not be the best technical choice). But such are the
limitations of a 'free market system'...
It seemed like some of Py3's development and feature changes happened
over a long time -- but not sure where they came from, where pl6 --
seems to be a complete semantic and source rewrite. Not that the end
result may not be good, but neither is it remotely pl5 compatible.
I do keep nudging at getting into doing something with python other than
'hello universe', but I love all the 'verbs' in perl -- and having alot
of experience in the environment many of those 'verbs' came from (unix
cmd-line tools), it just feels natural to optimize 'shell' tasks into
perl scripts...
But that's the area of perl-shine. quick scripts that I can build
up via repetitive re-edits of a previous 'line' -- under 'bash',
(cmdline): execute, see if I am getting output I want from whatever the
input was, no? ESC, edit line, try again -- can have an entire little
'1-line filter (multistatements)'. Usually throw-aways...but if useful
enough, can write them to a file to save and/or do proper indenting on
them. .
I miss that type of interactive development on the cmdline with python.
Any thought ever been given to allowing a cmd-line friendly syntax?
I'm not wanting an attack or religious discussion here, BTW (**1). But
was thinking along the lines of something where statements could be
separated by semi's (or embedded newlines) and indentation could be done
using braces.
Something like (in 'bogo'-syntax):
<pipein>|\
py -e 'e=sub(x,y){x**y}; while((x,y)=<inline>) { outln (x "**" y " = "
e(x,y) ) }' |\
<etc>
....
I can't speak for everyone, but as someone who uses the cmdline "alot",
it would make it much easier for me to learn and try out python "little
bits" a time...from the cmdline...
little filter here, little filter there...etc. then maybe they grow.
Could even have a
python 'pretty printer' that got rid of all curly brackets and replaced
them with
a user-specifiable amount of indentation. The reverse might have other
uses...dunno...
Certainly would provide a *less-steep* learning curve if one could start
with 1-liners on the cmdline. Not that I'd want to be able to play
with/ and start using little snippets till I got
more comfy with syntax and standard libraries.
Perhaps I don't need to say it -- but going into a 'mode' (like a python
interpreter
with a prompt) doesn't count as cmd-line usage. You've still entered a
non-command
line, special environment.
> >> BTW -- is there a CPyAN similar to perl's CP[l]AN? Curious. <<<
Like someone said in the replies -- this list may not be the best place
to get 'balanced' input. Certainly -- as I *stress*....not looking to
start 'arguments' or such...just getting input/'vague' impressions...
Thanks for the feedback...I "hope" it was representative of the bulk
of the Pythonisti (pythonistae?) :-) (pythonistas sounds too much like a
south-american terrorist group... :-)
Linda
(**1) - not wanting a religious discussion here on the pluses/minus of
enforced
syntax. I admit, the last time I programmed in a language where
white-space
and columns were meaningful and essential was in a a college course
running
on a mainframe where the standard input was a punched cards).
More information about the Python-3000
mailing list