[OT] Is the D(n) PL discovery or invention?

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Thu Aug 5 11:24:02 PDT 2010


Nick Sabalausky wrote:
> "Justin Johansson" <no at spam.com> wrote in message 
> news:i3e758$a67$1 at digitalmars.com...
>> This question is a play on the eternal question
>> "is mathematics discovery or invention?"
>>
>> There are many web references to the latter topic
>> and web search is easy, take this one for example:
>>
>> "IS mathematics a discovery or invention"
>> Friday, 16. November 2007, 07:19:16
>> http://my.opera.com/maxx%20steel/blog/2007/11/16/is-mathematics-a-discovery-or-invention
>>
>> and your own web searches will uncover a myriad of ideas and opinions
>> on this very subject.
>>
>> My discussion starter is now about programming languages (PLs)
>> and their relation to discovery or invention.
>>
>> Since PLs are somewhat related to maths, does it bare fruit
>> to ask the same question of PLs themselves?
>>
>> Obvious questions that might be asked include:
>>
>> What is the definition of discovery versus invention?
>>
>> Is there a gray-scale (or a continuum) between discovery and invention?
>>
>> In the context of the D PL, where does D(version n) lie in the continuum
>> between discovery and invention.
>>
>> I have my own ideas on this subject and will admit that my
>> leaning is towards discovery.
>>
>> What's your opinion?
>>
> 
> My view on it:
> 
> - Math *concepts* are debatably either invention or discovery.
> 
> - Math *notation* is ostensibly a creation. Although, whether or not all 
> "creation" is really nothing more than "discovery" in disguise is a question 
> philosphers could probably spend centuries discussing and getting nowhere 
> on.
> 
> - Specific programming languages, such as D, are in the same category as 
> math *notation*. Just like math notation, they are *arbitrary* 
> representations of abstract ideas.

I agree, however this journey with helping defining D during the past 
four years taught me something interesting. There are considerably many 
programming language artifacts that are sheer consequences of 
higher-order decisions. For example, if you go for memory safety and 
self-referential data structures, you pretty much must use garbage 
collection. There are consequences that are even subtler, like 
transitivity of qualifiers.


Andrei


More information about the Digitalmars-d mailing list