What Makes A Programming Language Good

Christopher Nicholson-Sauls ibisbasenji at gmail.com
Tue Jan 18 02:07:21 PST 2011


On 01/18/11 03:11, Vladimir Panteleev wrote:
> On Tue, 18 Jan 2011 11:05:34 +0200, Walter Bright
> <newshound2 at digitalmars.com> wrote:
> 
>> Vladimir Panteleev wrote:
>>> On Tue, 18 Jan 2011 07:20:56 +0200, Walter Bright
>>> <newshound2 at digitalmars.com> wrote:
>>>
>>>> http://urbanhonking.com/ideasfordozens/2011/01/18/what-makes-a-programming-language-good/
>>>>
>>>  So, why do users still get a scary linker error when they try to
>>> compile a program with more than 1 module?
>>
>> What is that message?
> 
> C:\Temp\D\Build> dmd test1.d
> OPTLINK (R) for Win32  Release 8.00.8
> Copyright (C) Digital Mars 1989-2010  All rights reserved.
> http://www.digitalmars.com/ctg/optlink.html
> test1.obj(test1)
>  Error 42: Symbol Undefined _D5test21fFZv
> --- errorlevel 1
> 
> 1) The error message is very technical:
>   a) does not indicate what exactly is wrong (module not passed to
> linker, not that the linker knows that)
>   b) does not give any indication of what the user has to do to fix it
> 2) OPTLINK doesn't demangle D mangled names, when it could, and it would
> improve the readability of its error messages considerably.
>    (I know not all mangled names are demangleable, but it'd be a great
> improvement regardless)
> 
>> dmd can build entire programs with one command:
>>
>>     dmd file1.d file2.d file3.d ...etc...
> 
> That doesn't scale anywhere. What if you want to use a 3rd-party library
> with a few dozen modules?
> 

Then I would expect the library vendor provides either a pre-compiled
binary library, or the means to readily generate same -- whether that
means a Makefile, a script, or what have you.  At that time, there is no
need to provide DMD with anything -- unless you are one-lining it a la
'dmd file1 file2 file3 third_party_stuff.lib'.

Forgive me if I misunderstand, but I really don't want a
language/compiler that goes too far into hand-holding.  Let me screw up
if I want to.

-- Chris N-S


More information about the Digitalmars-d mailing list