A few notes on choosing between Go and D for a quick project

Chris via Digitalmars-d digitalmars-d at puremagic.com
Sat Mar 14 17:04:57 PDT 2015


On Saturday, 14 March 2015 at 18:33:24 UTC, Russel Winder wrote:
> On Sat, 2015-03-14 at 18:11 +0000, Chris via Digitalmars-d 
> wrote:
> […]
>> 
>> This may be part of it. But I know that open source free 
>> software in this sector is also written in C/C++ or Java. I 
>> haven't seen a single system that was acceptable in Python. 
>> Sooner or later they all go back to C.
>
> Java will have the same problem as Python regarding shipping 
> source to
> anyone who knowns how to decompile Java.
>
>> I just don't see the point in using Python only to rewrite 
>> performance critical parts in C/C++ or D. Why not start with D 
>> or C from scratch. Also, I know that this Cython and C module 
>> mixing becomes a mess very quickly which makes development 
>> tricky and deployment a pain in the a**. I believe that as 
>> soon as you have to mix languages like that, there is 
>> something wrong, and you begin to rely heavily on an 
>> infrastructure that helps you to keep track of the whole mess.
>
> I would reject C as a language of implementation for everything 
> except
> small operating systems – which includes many embedded things, 
> most
> being effectively operating systems. I can see people using 
> C++, but it
> would be better if they used D, but I doubt this will happen :-(
>
> Mixing Python, Cython, and C does require standard compiled 
> project
> management, but is no worse than pure C, C++ or D systems. I 
> would
> suggest that the "messiness" is due to the Python people not 
> doing the
> Cython and C properly, and the C people objecting to having 
> Python
> involved. It usually comes down to the people and not the 
> technology.

But why do they keep inventing new technologies and compilation 
methods for Python when it's already soooo good? Every year I 
hear "now Python is fast", "now you can write fast and efficient 
code in Python", and more often than not it is some C-based 
stuff, some additional layer of complexity.

Try to integrate Python into third party software or some OS 
framework, and you'll begin to hate it. The question of which 
version of Python to use is enough to put you off. Some programs 
are delivered with their own Python version to avoid problems. 
All this is messy, not clean. I've seen it, and I've done it. I 
prefer D that gives me native efficiency and can interface with 
C. No Cython magic needed.


More information about the Digitalmars-d mailing list