[Baypiggies] Official Language War Thread? - Rails vs.Turbogears.
David E. Konerding
dekonerding at lbl.gov
Thu Dec 1 22:16:01 CET 2005
Alex Martelli wrote:
>...and for me, it's close to a tie (of course, I know Python much
>better, but I'm trying to factor out "familiarity", as that would soon
>change if I were to use Ruby heavily for a month or two): some Ruby
>things (such as calling methods w/o parentheses) irk me strongly (and
>familiarity won't change that -- I hated this just as much in other
>languages allowing such omission of parentheses, such as Basic and
>Perl, even when I used them heavily), but then I also still dislike
>some Python things no matter how perfectly I know them (namely,
>parentheses being mandatory in the header of a function w/o arguments
>BUT forbidden in the header of a class w/o bases -- heavy syntactic
>overloading of parentheses and commas -- mandatory colons at end of
>head clauses of composite statements)...
It's been my experience lately that more and more languages are starting
to look a lot like Python.
Or rather, there is a semi-consensus on syntax which is shared among
several dynamic and statically typed
languages, with obvious commonalities in defining methods, signatures,
complex data types, etc, and Python is established within that
consensus. Most days, I can move between Java, C++, C# and Python
without having to think too hard (mainly because we don't use
any syntax features which are unique to any of the languages). I call
this type of programming style "C without pointer crap".
I'm pretty happy with Python syntax, although I think there are too many
languages features added recently (list comprehensions and directors)
which give me pause because they don't jibe with the basic philosophy of
readable code and principle of least-surprise.
Perhaps in a few more years somebody will converge all the desireable
features of this language subset into a new language which "gets it
right from the beginning" (functionally oriented, dynamically typed but
with conventions to allow programmers to specify static behavior,
self-consistent standard library
and we can all go back to being productive programmers rather than
arguing over which language is best :-)
More information about the Baypiggies