On 18 Feb 2014, at 21:38, Fabrizio Giudici wrote:

So, perhaps, the real world problems in software development are quite far from the language.

One thing that's been on my mind in this area lately revolves around the rise of Docker, and the continuous deployment movement.

At work we went OSGi with it's promise of modularity and hot-swappable bundles ( yeh well, Hibernate put an end to that back in the day ;p ) and now we've started looking at breaking up our Javascript resources into separate modules ( require.js and all that ).

However, everything was and will be for awhile - deployed via RPMs which assemble bits and pieces at runtime - docker seems to be leading to building up "statically bound" black-boxes of computation - which get composed and run - potentially under a different OS than the primary host OS.

Combine this with puppet/chef and deploying to 100 of virtual machines in a cloud cluster and our magic OSGi based deployment is now secondary to more "OS level" packaging ( puppet, chef, docker, even RPM ).

So maybe languages, and platforms that promote and drive a good modularity story at both compile time, packaging time, and run-time is something we need to be looking at.

Clojure lovers laud the lack of typing, and flexibility of the language over the type-insane Scala folk, but can often lend themselves to problems at run-time ( swap that for ruby, groovy, python ), and Ceylon brings the module system into the language to bring enforcement of modules/dependencies to compile run, rather than just run-time like OSGi ( for all the type safety of scala/java - OSGi bring run-time issues when imports/exports are not honoured, or mismatched ).

What if we had a new breed of languages that introduced this "packaging time type checking" as a middle ground - types are not checked at compile run ( arrity checking please tho! ) but at a specific packaging time ( and also run time ).

So, for instance clojure doing full type-inferencing and AOT when you package the application for distribution - you wouldn't need to use something like Typed Clojure or Prismatic Schema - something more along the lines of OCaml and Hindly Milner.

Mmm, maybe I'm just ranting, and still feverish ( darn flu ).


--
You received this message because you are subscribed to the Google Groups "Java 
Posse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/javaposse.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to