On 16-05-2012 16:04, Gor Gyolchanyan wrote:
On Wed, May 16, 2012 at 5:25 PM, Steven Schveighoffer
<[email protected] <mailto:[email protected]>> wrote:

    On Tue, 15 May 2012 18:31:26 -0400, deadalnix <[email protected]
    <mailto:[email protected]>> wrote:

        Le 15/05/2012 17:51, Christophe a écrit :

            deadalnix , dans le message (digitalmars.D:167404), a écrit :

                This looks to me like a bad practice. C string and D
                string are
                different beasts, and we have toStringz .


            C string and D string are different, but it's not a bad idea
            to have
            string *literals* that works for both C and D strings,
            otherwise using
            printf will lead to a bug each time the programmer forget
            the trailing
            \0.


        Due to slicing, it is already unsafe to pass a D string to C
        code. The main problem is array casting silently to pointers,
        making the error easy to do.


    How so?  strings are immutable, and literals are *truly* immutable.


        Fixing the problem for literal isn't going to solve it at all.

        The real solution is toStringz


    toStringz can allocate a new block in order to ensure 0 gets added.
      This is ludicrous!

    You are trying to tell me that any time I want to call a C function
    with a string literal, I have to first heap-allocate it, even though
    I *know* it's safe.

    I don't see a "problem" anywhere.  The current system is perfect for
    what it needs to do.

    -Steve


Aside from the string problem the very existence of this debate exposes
a fundamental flaw in the entire software engineering industry: heavy
usage of ancient crap.
If some library is so damned hard to refresh, then something's terribly
wrong with it. It's about damned time ancient libraries are thrown away.

--
Bye,
Gor Gyolchanyan.

I... don't think that's a very pragmatic view.

Yes, software sucks. Deal with it, etc.

--
Alex Rønne Petersen
[email protected]
http://lycus.org

Reply via email to