Matt versus Chris

new topic     » topic index » view thread      » older message » newer message

The the boring tiff between Matt and Chris is gaining momentum and becoming a bit more entertaining, unfortunately for very wrong reasons: it is now completely ridiculous, and nasty insults are creeping in. The guys are both desperately trying to defend indefensible positions.

Here is my take: the old system was clearly bad and no amount of fine fiddling could fix it. The new scheme is poorly documented and appears to be just as bad as the old one, with added level of complexity. Depending on your point of view, it seems to present more problems than it solves.

I know it is easy to criticize and it is much harder to come up with a good solution. I haven't got one - these days I am interested in euphoria only for purely sentimental reasons. But I have one or two suggestion despite the fact they were already sneered at by Matt and co.

First of all, keep it simple! That's the main attraction of euphoria: after all, after more than fifteen years of development it is still essentially a hobbyist's language and that's not going to change any time soon just because you add few tweaks and a half-baked standard library.

If you want something a little bit more concrete, here we go again: keep 'include' directive just for the purpose of joining files at the same level, no hierarchy, just seamless (monolithic) insertion. Keep 'global' directive for system wide, generally useful definitions, and the new 'import' 'export' combination could be used to bring in marked definitions just from 'import'ed files. All naming conflicts would have to be resolved with full qualifications.

And while I am at it, perhaps one or two more (old!) ideas. Drop the stupid, quasi-religious 'declare before use' notion! It has no place in the modern world with fast and sophisticated tools combined with powerful hardware. It is an anachronistic obnoxious restriction of the program's logic flow without any palpable benefits. The compiler will bark at you in a fraction of a second if you forget to declare anything, even in relatively huge programs.

I think we will all agree the sequence is the main feature of euphoria, indeed the cornerstone of the language. It is a remarkably flexible, polymorphous beast, immune from any sort of typing. Strangely enough Rob designed a statically typed language with a weird typing system around it. I think that's one of the reasons why many dynamically typed languages of roughly the same vintage or younger (python, lua, ruby, etc) became vastly more popular. Their authors realized that the bug reduction claims for such systems were always grossly exaggerated. Simply ditch the type declarations altogether, or make them merely optional ('strict' or 'explicit' directive?) to pacify the ultra-conservative element, the retired submariners among us. That would substantially reduce the number of lines we have to write, with attendant improvement in the clarity of the code.

And while I am talking about the code clarity, small doses of syntactic sugar in selected places would do wonders for the euphoria's taste. An example: a dot notation for simpler associative arrays with string keys, would be, I am sure, greatly appreciated.

Just one more, forever studiously ignored wish, before I go to bed - it is getting quite late down here in New Zealand. For goodness sake, get moving on those 'parameters by reference' perennials. For me Derek's recent adventure with stacks highlighted again how badly we need the feature...

jiri

new topic     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu