beginner's pyd question - exporting structs to python

Russel Winder via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Aug 18 22:47:21 PDT 2014


On Mon, 2014-08-18 at 23:12 +0000, Laeeth Isharc via Digitalmars-d-learn
wrote:
> > Whilst the hardcore Pythonistas remain Pythonistas, some of the
> > periphery has jumped ship to Go. Sadly D did not capture these 
> > folk, it perhaps should have done. It would be easy to blame 
> > fadism, but I think the actual reasons are far less superficial.
> 
> So I gather that you agree that "what everyone is doing" may not 
> be the best in this case (python vs D) if there are no direct 
> network effects beyond libraries and getting help and you have 
> the freedom to determine your own platform choices?

Go arrived with high marketing as something new, which it is. It is a
stripped down, strongly typed C with memory management, objects and
extension methods, and (most importantly) goroutines as a lightweight
built-in concurrency and parallelism framework based on thread pools.
The language itself is very simple (apart from the consequences of
semi-colon ellision/re-adding), and so captured the imagination of many.
Not unreasonably. I really quite like Go.

However it has some, for me, serious irritants, most especially an
obsessive hatred of exceptions, enforcing return codes and error
handling at the point of call – though it does support this in a neat
way.

One effect of the "fanboi" element of using go has been very rapid
evolution of the eco-system, especially strong because of the package
approach and the use of DVCS as a tool for accessing packages.

D is not a new language so doesn't have the "new shiny toy" feature, but
it remains an rapidly evolving language. It is definitely a better C++
but C++ is evolving fast enough that C++ folks stay with C++. So in a
sense D has failed to capture the market it aimed for when it started.
Also it is still playing "catch up" in the eco-system stakes.

D does however have a very neat model of abstraction that allows for a
very functional programming approach. It isn't functional programming
per se, but it gets very declarative. C++ is a long way behind in this,
but there is little C++ → D transfer.

The problem for Python folks looking for a native code language is that
D is a big language and Go is a small language.

And then there is Rust…

> > For me, NumPy has some serious problems despite being the 
> > accepted norm for computational work.
> 
> If not too offtopic, do you have a link describing, or would you 
> briefly summarize these problems?  I am intrigued.  And what 
> would you suggest in its place?  Fortran?
>

I'll start a separate thread for this one.

[…]
> Would you consider D stable enough/suitable for general financial 
> market work with development initially by a small underresourced 
> team?  Not ultra high frequency execution - at most legging in 
> and managing longer term positions.  But I am more interested in 
> sentiment analysis, producing technical analysis indicators that 
> summarize market activity across many different securities, some 
> bond arb stuff.  C++ just seems so ugly, and I feel uncomfortable 
> only having python in the toolbox.  D seems so far to be quite 
> suitable...

The most important thing about any project using a programming language
is that the development team, testing team and deployment team all
approve of the language being used. It sounds like you approve of D so
go for it. The language is not totally stable, so expect
incompatibilities on upgrade. I am not a fan of all this "backward
compatibility" obsession that has gripped Fortran, C++ and Java (though
I can see why it is necessary), but with D you will need to budget for
upgrade-related refactoring. Personally I was happy to take that hit.

-- 
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 winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

-- 
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 winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder



More information about the Digitalmars-d-learn mailing list