Pitching an investment bank on using D for their bond analytics

Andy Smith via Digitalmars-d digitalmars-d at puremagic.com
Wed Apr 15 04:01:43 PDT 2015


   I've spent a few years in the trenches so here are a few 
additional
points that come to mind.. (+1 for John and Rikki's points BTW).

-------------------------------------------------------------------

> - what are the things to emphasise in building the case for 
> trying D?  the most effective factors that persuade people are 
> not identical with the technically strongest reasons, because 
> often one needs to see it before one gets it.

Extremely fast compiler makes for a very 'fluid' work-flow.

The RDMD compiler wrapper turns D into very effective scripting 
tool

Phobos standard library (subjectively) more useful for finance 
than Boost +
C++

Painless C interop offers many integration possibilities

Syntax is familiar curly brackets so will be familiar to 
C++/Java/.Net devs.

Built-in slice syntax for arrays increasingly important, given 
that
the array of contiguous memory is the new 'go-to' structure for
cache-friendly algorithms.

Paraphrasing Walter + Andrei's collective bios into 28 words or 
less
can impress on management the credibility/gravitas of the 
language.

> - what are the likely pitfalls in the early days?

   Productivity will initially dip while everyone learns D, adapts 
to
new tools etc., but will soon rebound to a higher level - so have
expectations + timescales firmly in place + account for the 
initial
'dip' when making promises.

   Providing adequate tooling for a D-based group in an IB 
environment
may be challenging - Linux distros can be antiquated/bad, unlikely
you'll run as privileged user so a lot hinges on finding helpful
sysadmin(s), desktop OS may be locked down.

   Entrenched IB C++ developers can be difficult to work with. They
tend to cover a spectrum of personality types and abilities. Many 
are
reluctant to change + are not particularly incentivized to embark 
on
'risky' projects. Many are simply intellectually incapable of 
learning
a new language quickly. Best to find out quickly which variety 
you're
dealing with + if they really buy into the idea. They can become 
the
bane of your life if they don't.

> - what are potential factors that might make D a bad choice in 
> this scenario?  I would like to use D certainly - but it is of 
> course much more important that the client gets the best 
> result, however it is done.

   Any issues that occur will (fairly or not) tend to be blamed on
having chosen a 'nonstandard' language, so there's an extra risk
associated. But if things go well you can look like a innovator 
:-)

   Integrating with the IB's existing systems may be tricky. If 
you go
'off-piste' (so to speak), the onus will generally be on yourself 
to
get things working; internal service/library providers may push
back against supporting an unconventional language. When 
debugging a
problem you may find yourself obliged to produce a minimal 
example in
a 'supported' language in order to be taken seriously :-(

   Other than that I can't think of any pure technical reason why D
wouldn't be suitable :-)

-------------------------------------------------------------------

   These are first few initial thoughts based on what you've said,
think there's not much detail can be supplied without knowing a 
bit
more about the specifics of what you'll be looking to do. HTH + 
Good
luck!

Cheers,

A.


More information about the Digitalmars-d mailing list