On Monday, 21 January 2013 at 23:42:49 UTC, Nick Sabalausky wrote:

I've heard that argument before, but I've yet to come across a good explanation of how this "dynamic mindset" different from the static one. Just that "it exists" and "it's different". Far as I can tell so far, the "dynamic mindset" is just "Bugs? Efficiency? Meh, I don't care
as long as I'm piling on and shipping (easily broken) code".

So what is this "dynamic mindset" that makes using dynamic typing
productive and non-bug-prone? How does it work, if it's not as I
described above?


Take a look at this project: https://github.com/pydata/pandas

It's a very effective library, that's easy to use in a flexible, interactive fashion. It's fast due to judicious use of C and cython where absolutely necessary and numpy elsewhere.

One of the strengths of the library is it's ability to make a "best guess" as to what to do with information it's passed, irrelevant of what type that information is. It's not the sort of behaviour you'd want in a large production codebase, but for an interactive toolbox it speeds things up by orders of magnitude. Whatever you throw at it, it just works, which for a high-pressure financial analyst (the primary target audience) is absolutely invaluable.

This is all stuff that (with better shared library support) D could do, making it the awesome king of all languages, but at the moment i'll still to drafting my data analysis in python and then writing it up in D when it's settled.

P.S.
dmd 32bit on linux produces functional shared libraries, which can be happily called by IDL (http://www.exelisvis.com/ProductsServices/IDL.aspx). IDL rules the roost in several data heavy scientific arenas (fusion physics, medical imaging, solar physics, astophysics etc) so this could be a potential jackpot for D. By and large people don't write their own extensions for IDL as they don't want to get their hands dirty with C. D could be the perfect tool for the job.

I've recently started collaborating with some people from MAST and JET (http://www.ccfe.ac.uk/), working on some better data analysis tools for some of the fusion diagnostics, to be run online during "shots" (running the reactor) and retrospectively. They all use matlab (yuck) and/or IDL so naturally i'll be writing my code as extensions to IDL, written in D!

Reply via email to