Presentations

Russel Winder is very active in the development of Groovy (a dynamic programming language that works symbiotically with Java on the JVM) and is the author of Gant (a build framework to replace the use of XML to specify builds with Ant and Maven with the use of Groovy scripting). During the No Fluff, Just Stuff eXchange event held in London 2007-08-29/2007-08-31, the Groovy and Grails User Group asked Russel to do a presentation on Gant. A PDF of the slides can be found by clicking here

At the recent PyCon UK conference, Russel Winder gave two presentations:

  • The Great Languages Debate which concluded that dynamic languages such as Python, Ruby and Groovy are better for small and medium applications development than static languages such as C++ and Java, and that Python is a very good dynamic language with lots of declarative capabilities – and declarative is good.
  • Python is the Future of Build Systems which concluded that internal domain specific languages (DSLs) are the future for build systems, that dynamic languages are needed for DSLs, that Python is a great dynamic language, and that SCons is a great build system. Gant (which is based on Groovy and Ant) got a mention as well – but then Russel Winder wrote Gant so that is not really surprising.

At the 2007-10-04 meeting of the Cambridge subgroup of ACCU, Russel Winder gave a light-hearted talk entitled Closing the Case for Groovy (and Ruby and Python) about dynamic programming languages and, in particular, closures. The emphasis was on Groovy since it is the dynamic language that is most integrated with Java.

Grails eXchange 2007 was the first conference dedicated to the dynamic programming language Groovy and the Web applications development framework Grails. Russel Winder wrote the original version of the Gant build framework and is project leader for the ongoing project to develop Gant. He gave a talk at Grails eXchange 2007 entitled Understanding Gant.

At the 2007-11-22 meeting of the South Coast subgroup of ACCU, Russel Winder gave a light-hearted, but serious, talk entitled Static Typing or Dynamic Typing: A Real Issue or a Simple Case of Tribalism focusing on what the static typing vs. dynamic typing issue means in current software engineering doctrine. The emphasis was on the inconsistencies in current software engineering dogma and concluded that mixed paradigm working (for example using Java and Groovy together to develop a system) is the right way of approaching systems development.

Russel Winder was asked by John Pinner to give the The Great Languages Debate presentation that he gave at PyCon UK 2007 (see above), at UKUUG Spring 2008, which ran 2008-04-01 and 2008-04-02. The presentation was amended to decease the Python bias. The slides are available as a PDF file here.

At the ACCU 2008 conference, Russel Winder gave two solo presentations and one presentation jointly with Jim Hague:

  • Them Threads, Then Threads, Then Useless Threads looked at the the problems threads are in real parallel systems, taking a language comparative view rather than a language specific view. However, there was an emphasis on showing that the introduction of a threads model in the C++0x standard is only the start to having proper parallelism capability in C++; OpenMP and MPI have to be taken into account. Also functional languages such as Haskell and especially Erlang are of great interest.
  • Functional Programming Matters. This presentation was part of the functional programming track at the conference. Following the title of a paper by John Hughes in 1984, but bringing the arguments and issues up to date, this session was introducing all the reasons why learning to program with functional languages such as Haskell and Erlang, makes people better programmers of C, C++, Java, Fortran, etc.
  • To Distribute or Not To Distribute: How to Know your DVCS from your CVCS. Jim Hague and Russel Winder presented a session aimed at people used to using Subversion or Perforce (centralized version control systems) for using the new paradigm of version control, distributed version control. Bazaar and Mercurial were used as the examples with some mention of Git.