Language selection for new projects

Limey Drink bhicking at bhicking.plus.com
Thu Oct 16 18:47:50 EDT 2003


Alex, I don't know how you find the time to write such detailed replies :-)
but they're very welcome.

I have the book Learning Python, I think its an excellent book for learning
the core language but I have noticed on the O'reilly website a 2nd Edition
being released in December.

Has the core of the language changed very significantly from the version
covered in the first edition of Learning Python ?

By the way, I had no idea of your significance in the Python community,
since I have been looking for more information on Python I have noticed your
name on various books and websites so I appreciate information from a highly
experienced developer like yourself.

I am taking the first steps in developing/architecting quite a large project
and there are a lot of skills I need to aquire and also technologies to
choose for the job, this is not for the benefit of my current employer but
for myself :-) so I have alot of time to mess around and play with different
technologies and I can also actually enjoy writing the software without
silly timescales and sales/marketing types interfering.

Would you mind if I email you in the future if I am really stuck witha
problem ?  looool :-)

Thanks again

"Alex Martelli" <aleaxit at yahoo.com> wrote in message
news:rsGib.211918$hE5.7131319 at news1.tin.it...
> Limey Drink wrote:
>    ...
> > Thankyou very much Alex, this is the first time I have attempted to use
> > this group for information and I am very pleased with the prompt
response.
> >
> > once again  thanks
>
> You're welcome.
>
>
> > By the way, what do you think to Python with regards to productivity
> > benefits in general and also in comparison to other languages ?
>
> Python, in my experience, is the most productive language over its wide
> range of optimal applicability.  pyrex, a variant of Python which it might
> be still a bit too early to consider fully mature enough for production
> use, extends Python's applicability to somewhat "lower levels", in a
sense.
>
> I have seen people with particularly good mathematical mindsets do wonders
> with functional programming languages, but I suspect those who'd be more
> productive with those than with Python for typical applications would be a
> tiny minority of the population. (This remains to be proven, but as a
> working hypothesis it seems quite believable).
>
> If you're after "tinkering" more than "production-level applications",
don't
> need to consider the issues of group cooperation, or are slowly weaning
> yourself from the complexity of perl and don't want the shock of going
"cold
> turkey" into the simplicity of Python, Ruby may be a good compromise.
Perl
> itself is too complicated, and other scripting languages (Javascript and
> variants, VBScript, bash & variants, PHP, IMHO Tcl too though some Tcl'ers
> will disagree, awk, etc) too feeble, to compete for productivity with Ruby
> or Python.
>
> Other languages which, depending on cultural background, available
> tools, and problem areas, may be competitive with Python include Lisp
> (Common, maybe the lesser-known ISO kind, Arc if it ever matures, Scheme,
> ...), Dylan, Smalltalk -- and no doubt others that I haven't had a chance
> to try out yet.
>
> Looking at the kind of languages that currently appear to rule the
roost --
> C, C++, Java, C#, Visual (and other kinds of) Basic, Object Pascal,
> Fortran, Objective C, Ada, Cobol, Eiffel -- it does not seem to me that
any
> of them can compete in terms of programmer productivity with the ones
> listed above (I do not have sufficient experience with _all_ of them to
> make this claim substantially stronger; I do have susbtantial experience
> with most, and enough acquaintance with all, to hold this opinion rather
> strongly) for application areas suitable for the latter (of course, if I
> had to code, e.g., a Linux device driver, I _would_ use C -- that's not
> within the application areas suitable for the various languages above).
> Once-cool weirdish languages such as snobol, icon, etc, should not really
> be considered for normal production use.
>
> If one had infinite time, trying out all languages in the world would be
> instructive (and, for some, fun).  In practice, I would suggest to
somebody
> who wants to become a professional programmer to start with Python
> (easiest to learn, yet powerful enough to be a constant companion
> thereafter, whatever kind of programming one does); then add a lower-level
> language, and I would suggest C because of its huge importance in both
> practical open-source tools and existing literature about programming;
then
> add a mind-expanding one of the functional variety (I would suggest
Haskell,
> but some ML variant, or Clean, or Erlang, and others yet, might be
favoured
> by others); then some Scheme or other Lisp again mostly for instructional
> purposes (chiefly to be able to study the great book, now freely available
> online, known as SICP -- "Structure and Interpretation of Computer
> Programs", by Abelson and Sussman).  By the time this course of study was
> finished, new languages might well have emerged, of course;-).  And, also
> of course, non-programming languages and non-languages issue should
> also be studied -- relational databases and SQL, XML and related
> technologies, networking and protocols, GUIs, algorithms and data
> structures... (Python helps a lot in playing around with each of these
> other important technologies and concepts, btw).
>
> Somebody who wants to program but doesn't see producing programs as
> an end in itself, but just as a means to whatever other ends, might be
happy
> just with Python (and a little pyrex on the side, perhaps -- but right
know
> I do not think there are texts to learn pyrex that don't assume you
already
> know some C) and whatever smattering of other computing technologies
> they may happen to need in their application area.
>
>
> Alex
>






More information about the Python-list mailing list