On Tue, 2011-07-12 at 21:02 -0400, Nick Sabalausky wrote: [ . . . ] > Before I go implemeting everything, I'd like to get input on it. Is it > something that could be a major D tool? [ . . . ]
Given the nature of the debate, I will add to the mix that SCons, a pre-existing -- and indeed working :-) -- system, has a D tool and can compile and link D code. What it needs is some love to bring it up to the level of the C and C++ support. SCons has a built-in D tool which needs work, but rather than fork SCons to work on the tool I have created a separate tool that can be used with any SCons installation. See https://bitbucket.org/russel/scons_dmd_new. Prior to any SCons release a patch between this version and the one in the SCons core will be made and applied. I started using SCons (and recently Waf -- which also has a D tool) in preference to Rake because SCons has very superior support for C, C++, Fortran and LaTeX. Using Rake for these is like using assembly language to write a GUI application: with Rake you have to build everything yourself, with SCons most of the work is done for you in the tool infrastructure. There was Rant which tried to replace Rake in the C, C ++, Fortran arena but the project died. Rake appears to have almost no traction outside the Ruby community. Even Buildr (which tried to build on Rake to combat Maven seems to have no headway in the market. Clearly there is always a trend for a language to demand a specialist build tool: Scala has SBT, Clojure has Leiningen, Ruby has Rake, but there is also a section of the universe that thinks the same build tool should be usable across all languages. Ant and Maven were Java specific but now can handle anything targeting the JVM. SCons and Waf come from a C, C++, Fortran, LaTeX, D background but can now handle Java, Scala, etc. Gradle arose as a replacement for Maven on the JVM, but is now (finally) branching out into C, C++, etc. Note also that systems like Gradle and indeed Maven, are not just code compiler and link systems, they also manage code review tools for creating coverage reports, bug reports, documentation generation, even whole websites. Currently, from what I can tell, we have a number of individuals making proposals for ideas. Nothing wrong with that per se. However I think this is the third time this debate has occurred since I have been (peripherally) involved with the core D community. This does strike me as wrong since it means that there is no momentum being created, the energy associated with each debate simply dissipates. I think that in order to create a momentum, a fundamental choice needs to be made: -- Should D have a specialist tool (à la SBT/Scala, Leiningen/Clojure -- at the risk of massive NIH-ism, just as the Scala and Clojure folk appear to have) or go with a generalist tool such as Gradle or SCons. True there has to be debate about the possibilities in each category so as to get the "lay of the land" and a feel for the "pluses" and "minuses", but always the aim should be to answer the above question. Then we can move to debating the possibilities. Then we can create some momentum behind doing something by creating a group of activists. Then D build wins. -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:[email protected] 41 Buckmaster Road m: +44 7770 465 077 xmpp: [email protected] London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
signature.asc
Description: This is a digitally signed message part
