On Wed, 2011-11-09 at 18:58 -0800, Walter Bright wrote: [...] > > Python with 33, I think most would agree that is has a very consice grammer. > > Python lacks a lot of powerful features that are in D.
<<I started to construct a terse reply and it has turned into a bit of an essay. Apologies.>> Can I suggest that relating two languages just by abstract metrics such as number of keywords and perceived simplicity of grammar is the start of the slippery road to useless and irrelevant comparison. Without measurement of the impact on actual software development, without measurement of expressibility and expressivity, basically without context and effect, any form of comparison such as number of keywords is navel gazing with no positive outcome. No matter the number of keywords and the simplicity of grammar that may, or may not, be in favour of one language compared to another, trying to compare a statically typed, native code generating language such as D to a dynamic bytecode/virtual machine/just-in-time compiler based language such as Python is like trying to compare a tiger with a boa constrictor. Statements such as "Python lacks a lot of powerful features that are in D" are fundamentally useless, just as "D lacks a lot of powerful features that are in Python" is equally useless, albeit equally true -- possibly. First of all, without explicit statement of features, the statements have no foundation to be proven right or wrong, and second without putting those features into the context of developing systems or applications software systems, there is no framework for comparison. I know this forum is about D language community building, and one of the techniques is to ensure everyone agrees on the common enemies, but to pick on all languages other than D as "enemy" is to miss the whole point of the new polyglot world. On the JVM systems now use Groovy, Scala, Clojure, JRuby, as well as Java. In scientific HPC, systems now use Python, Fortran, C++ all interworking. Systems comprising static language components (as dynamic libraries) and dynamic language components are now the norm. Part of the rationale for this is the run time MOP of the dynamic languages which allows for techniques not possible using statically typed languages, whereas the statically typed, compiled languages generally run computational code much faster (IO bound code runs slowly independent of language). It is a fundamentally wasted exercise to have discussions within the community slagging off other languages. No matter how good D is compared to C++, or any other language, unless D gets traction and take up, it is a long dead language. Google is throwing out new languages on a monthly basis just now. They make very carefully constructed marketing announcements to ensure maximum attention and then let the market decide. Go will likely become the C beater, albeit with masses of money shoved at it by Google to ensure usage. Dart may or may not take off, but if it does it will decimate the JavaScript market. Scala is trying to replace Java (silly concept but...) and people are throwing money at it to do so. Without a properly financed and orchestrated marketing campaign to push D out there to the C, C++ and Fortran crowd and/or a group of people who could be the "killer audience", and then for there to be serious take up, D remains a 10+ year old niche experiment with no mainline future. I am now getting more and more requests for Python training from hard core C++ folk, they are not asking for D training. So on current statistics Python is successful and D is not. I would be very happy to have to construct D training courses because there was a good client base. On current evidence I won't hold my breath. -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.win...@ekiga.net 41 Buckmaster Road m: +44 7770 465 077 xmpp: rus...@russel.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
signature.asc
Description: This is a digitally signed message part