Re: [Vala] vala code generation too constrained?




On Tue, 2011-01-11 at 10:47 +0100, pancake wrote:
On 01/10/11 05:03, Nor Jaidi Tuah wrote:
Dear all,

Some of the big gotchas in vala is due to the
desire to produce a standardized C code that can
interface nicely with non-vala module. I suspect
this constrain also makes it difficult to implement
some features.

Old timers familiar with C will find the gotchas
natural and can live with it. But I wonder what
the java-educated mass will think when they encounter
vala idiosyncrasies.

Since not all vala code are intended for libraries
accessible from non-vala, I suggest that the compiler
should be given more freedom with the name mangling
and so on, so that its behaviour is gotcha-free.
A compiler flag can be added to revert back to the
human-friendly C generation.

Vala is great already. But I wish it to be even
greater.

Nice day
Nor Jaidi Tuah
Can you give any example of what you are moaning about?

Do you think that breaking standards and breaking human
readability and compatibility with other languages/programs
is preferible to adding new unknown features?

I don't see what's the problem with timers. But I think that
clear, standard and portable code generation is more
important than any unnamed feature.

Duplicating the code generation engine and adding a new
flag for only this purpose is IMHO senseless. But maybe I
don't get your point because I don't know which 'features'
are you talking about.

You totally misunderstood him, pancake :)
By "old timers" he means "people with a long experience of C".

And what's he's talking about, is Vala's way of mangling names to be
usable in C, which can make some names that are different in Vala
conflict once translated to C. That behavior is useful when you're
coding a library (you want your lin usable from C), but not when you're
building an application.

So he's asking for a switch to change name mangling, so that "My.Class"
and "My_class" have different names in the generated code. I tend to
agree with him.

HTH,
        Xav




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