lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: reading material?


From: Douglas A Linhardt
Subject: Re: reading material?
Date: Fri, 19 Mar 2004 17:25:08 -0600
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 (CK-LucentTPES)

>>* Han-Wen Nienhuys (address@hidden) wrote:
>>
>>>We have actually gotten to the point that we have a slight dislike for
>>>C++ as an implementation language. I recommend to learn Scheme and
>>
>>I'm learning C++ to use in sound synthesis programs and to be able to
>>hack lilypond. Could you share a litte more about your dislikes?
> 
> 
> I remember having had longish slashdot flamewar about it, see  
> also
> 
>   http://www.xs4all.nl/~hanwen/public/ramblings/stroustrup
> 
> I think that it is too large, too complex, and carries to much
> historical baggage that sacrifices correctness for speed. Also it
> lacks a lot of features that I consider necessary for comfortable
> programming, like garbage collection, reflection and built-in strings,
> lists, dictionaries, vectors, and first-class functions.
> 

C++ does have built in strings, lists, dictionaries, and vectors.  They are all
part of the standard template library, and string is used as:
        string x = "Hi ";
        string y = "there.";
        cout << x + y << endl;          // concatenation

I'm not exactly sure what you mean by first-class function, but if you mean
functors, or function objects (an object that is a function - better than a
function pointer), C++ has those, too.

There are hooks in the memory allocation libraries that would allow for the you
to replace the default memory allocation library with a garbage collection
library. There are probably open-source versions of such libraries (although I
have not looked for one).

I'm not exactly sure what you mean by reflection, so I cannot comment.  As far
as size, yes it's large, but I believe there are compiler settings to reduce the
size by dropping some unnecessary libraries (like error handling).

The rest are personal opinions that I happen to not share.  That's what makes
individuality great!

But as long as you are controlling the Lilypond source, it's your opinions that
matter here.  I just wanted the capabilites of C++ to be represented properly.
Long live Scheme!!





reply via email to

[Prev in Thread] Current Thread [Next in Thread]