[racket] Blog post about Racket

From: Stephen De Gabrielle (spdegabrielle at gmail.com)
Date: Tue May 13 12:14:55 EDT 2014

FWIW the http://software-carpentry.org team have done some excellent work
on teaching scientists how to code.  'Data-carpentry' seems to be topical
for them (looking at the twitter feed).



On Tuesday, 13 May 2014, Konrad Hinsen <konrad.hinsen at fastmail.net> wrote:

> Matthias Felleisen writes:
>
>  > > Note however that I didn't look at performance, which is not
>  > > really important for most of what I do.
>  >
>  > In hindsight that is obvious from your use of Python :-) It should
>  > have clicked in me, but I am just so used to think "scientific
>  > computation ~ simulations of nuclear bombs, aircraft wings, oil
>  > platforms, and such" and that's when performance is the overriding
>  > concern.
>
> That's a very common misconception. High-performance computing is the
> most visible part of scientific computing, but not what most
> scientists write code for. Mundane tasks such as file format
> conversion take much more of our time.
>
> That said, it's interesting to look at why Python became such a
> popular language in science. Python code rarely has great performance,
> but Python makes interfacing to C and Fortran code very easy. Most
> domain-specific scientific libraries for Python have a C library at
> their core. One reason for this simplicity of interfacing is Python's
> reference-counting approach to garbage collection. In many scientific
> applications, the bulk of the data is held in NumPy arrays, which is
> just a C/Fortran array plus some bookkeeping information for Python.
> Both sides can work on the data, with no copying and no access
> restrictions due to garbage collection.
>
> The price we pay for this is of course the dangers of C and its
> explicit memory management. I'd really love to get away from this (and
> I know I am not alone), but there is no GC-based language yet (as far
> as I know) that is convenient enough for scientific computing.  The
> most frequent problem (also in Racket) is GC ruining performance for
> short-lived small data items (think of complex numbers or points in 3D
> space). Even if the GC overhead itself is small with a good
> generational GC, GC tends to prevent other code optimizations
> that are crucial for performance.
>
> Konrad.
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users
>


-- 
Sent from Gmail Mobile
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20140513/2dff69ee/attachment.html>

Posted on the users mailing list.