Java > Scala

Paulo Pinto pjmlp at progtools.org
Sun Dec 18 12:18:41 PST 2011


I saw it live in CERN when I stayed there during 2003-04 timeframe.

Depending on the research group, the code was either mostly Fortran
or C++.

Python is used everywhere from running builds, automate data acquisition
or show nice data GUIs. On my group, TDAQ-Atlas, Java was actually used for
the data rendering part.

--
Paulo

Russel Winder Wrote:

> On Sun, 2011-12-18 at 10:30 -0500, dsimcha wrote:
> [...]
> > Please elaborate.  I think D for HPC is a terrific idea.  It's the only 
> > language I know of with all of the following four attributes:
> 
> For years HPC was Fortran only (*).  Many of the codes used today were
> written in the 1970s and Fortran compiler technology revolves around
> making those sequential codes run on parallel kit.
> 
> During the 1990s there was a move to writing new codes in C++ --
> especially in the HEP area.  Of course many of these codes rely on being
> able to call into the Fortran codes.
> 
> With the rise of data visualization there was a need for a language for
> writing GUIs and the like, and they have decided on Python since it
> connects to C and C++ trivially.  They also found SciPy and NumPy which
> actually leads to prototyping new codes in Python and then rewriting in
> Fortran or C++ if there is a need to -- which often there is not.
> 
> With PyPy now running faster than CPython there is a possibility that
> new codes other than core computation frameworks will always be in
> Python.
> 
> Given the time and effort it took to get C++ accepted by this Fortran
> oriented community.
> 
> > 1.  Allows you to program straight down to the bare metal with zero or 
> > close to zero overhead, like C and C++.
> 
> Or Fortran.
> 
> > 2.  Interfaces with C and Fortran legacy code with minimal or no overhead.
> 
> This is an essential.  This is Go's biggest problems, it cannot link
> easily to existing codes.
> 
> > 3.  Has modern convenience/productivity features like GC, a real module 
> > system and structural typing via templates.
> 
> The bulk of the HEP community might know the words but only if it is in
> Fortran -- or C++.
> 
> > 4.  Has support for parallelism in the standard library.  (I'm aware of 
> > OpenMP, but in my admittedly biased opinion std.parallelism is orders of 
> > magnitude more flexible and easier to use.)
> 
> The main current tool is MPI for cluster and multicore parallelism using
> SPMD and MIMD models, and OpenMP for thread management on multicore
> systems.  Fortran, C, C++, and Python all have MPI capability and
> Fortran, C, and C++ have  OpenMP -- OpenMP isn't relevant to Python.
> This has been the model for 20 years and is likely immovable.  No matter
> how good a different model is, it is fighting a war on an entrenched
> technology.
> 
> The issue is not really a technical one, it is an inertia and
> expectation, even political, one.
> 
> C++ broke into the Fortran dominated area by fiat of a group of people
> in the HEP community.  Also Barton & Nackman "Scientific and Engineering
> C++: An Introduction with Advanced Techniques and Examples" was an
> important factor.
> 
> The question is what is the need and the vector for D to gain traction
> in this area where it really does have a USP?
> 
> 
> (*) FORTRAN and Fortran are different languages.  The case was changed
> formally with the Fortran 1995 standard.
> -- 
> Russel.
> =============================================================================
> Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder at ekiga.net
> 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel at russel.org.uk
> London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
> 



More information about the Digitalmars-d mailing list