To begin in D coming from Python

JAnderson ask at me.com
Wed Jul 23 23:08:12 PDT 2008


Jesse Phillips wrote:
> On Mon, 21 Jul 2008 11:51:23 +0000, Luis P. Mendes wrote:
> 
>> Hi,
>>
>> I use to program in Python, but I need some programs to run much faster.
>> So, D seems to be as the best programming language for my needs.
>>  
>> Still, there's a long way to go because I've never programmed in C.
>>
>> To begin with, is version 2 just a developer version or should I start
>> by using it?
>>
>> In Python, lists can have variables, functions, text and others as
>> elements.  As far as I can recall from reading a C book, arrays in C
>> don't have this possibility.  What about it in D?
>>
>> And regarding list comprehensions like li = [elem*2 for elem in li]?  is
>> there something close in D?
>>
>> For example, how could I do something like: valores = []
>> for c in lista_campos: valores.append(getattr(self,c)), so that I can
>> have all the
>>
>> Is there also any construct similar to dictionaries?
>>
>> Are there D libraries to access PostgreSQL database or do I have to use
>> C's?
>>
>> I don't know about the theoretical issues regarding language
>> development, so documentation with good examples is a must have. Is
>> there something like www.diveintopython.org in the short term horizon?
>>
>> These are just some topics I need to know about D.  I'd appreciate some
>> answers.
>>
>>
>> Luis
> 
> I don't have a lot to add to what was already said, but I do want to note 
> that in using D you are likely going to lean quite a bit of C. This might 
> be directly (something is explain using C), or indirectly (D constructs 
> are similar to C's)
> 
> I don't have much experience with speed performance tackling, but have 
> read many discussions. And one thing that is not pointed out is that DMD 
> has not had huge development done in the area of optimizing code, and 
> there is GDC that will let you use the GCC backend to do more 
> optimization which supposedly is better than DMD, but still not the same 
> as native C. And Hashtables are currently very inefficient compared to 
> Python's.
> 
> On a note of when bearophile said that if you write code as you do in 
> Python, you only get about Python speed. I'm not sure how close to the 
> "Python" construct he is referring, but through my lack of experience 
> with speed comparisons, if you right code that follows the D "style" you 
> should see good performance. Hopefully bearophile or someone else will 
> correct me if this is off base.
> 
> I would definitely suggest sticking with D1, yes even for Linux.
> 
> Final thoughts, D is a very clean language with a few hiccups and 
> provides a range of tools. It may not suit your needs, but at the current 
> time the best way to know is to try it yourself. If do use it, whether a 
> success or failure, a report on how it went is always useful. Hope you 
> add yourself to the community, and if not for this task, for your own joy.

Some very good points.  Cheers!

-Joel



More information about the Digitalmars-d mailing list