Re: export & public

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

Hi

I would like to further the discussion on this one.

Having given this some considerable thought, I can't help thinking that the new, modernised, include system is somewhat inelegant. Look at the problems that have been had with Langwar (admittedly the current problem is not an include problem, but one of memory management).

The current idea seems to be to include whatever files you want to include, within the files that you include (this is why its inelegant - its moved away from the beautiful simplicity of eu3). This has been explained in various ways (by means of foo, bar.e etc, many times, and yet when it comes to implement it (in Langwar for instance), it just seems to fall over.

Derek's comment, that I was not supposed (or recommended) to include std.e will I suspect become one that will come back to haunt him time and again, as beginners, and lazy programmers (myself included), who simply want the job done quickly, without having to hunt through the st include library to find the function (and dependencies) that they want, will just include std.e

The old eu include system, while it had its faults, was quick, and simple to use, and any namespace problems could be resolved by changing the name of the function, or by using namespace qualifiers. (specifically, put the includes for the entire program in the head of the main program, and then allow allow functions etc, in the main program, and the includes, find the functions etc called below them)

To have to specify the scope of functions, procedures etc within include files, and then to have to specify that the include is public, and it is allowed to access it, and then to make sure add include directives to any sub includes is wrong (IMHO), and certainly a step away from the original goals of euphoria to be a simple to write programming language.

If you come back and say, that's not how it is, lets explain it to you again, then this just goes to illustrate my point. I certainly do not hope to attain the heady heights of computer programming attained by Derek and Matt, but I am no newby with either programming or euphoria, and I suspect that if I am having problems, then many other people will be too.

My request is therefore this - continue with forward referencing of functions and procedures and the language keyword list, but remove the include directives, public and export, and allow multiple level includes includes again, or add another directive that allows the 'sloppy' include method.

Derek asked me if I had downloaded the SVN version - in this instance I think it important that I do not, but I will continue to download, and rigorously punish any alpha release that comes along, as I will have no preconceived notion of what I should and should not be doing, that the devs will have acquired through there day to day involvement with the language.

I would like to stress that the developers have done a great job to get eu 4 to where it is, most of the programs I test run with little or no mods, and some work arounds, (DOS programs too) but that include system is going to be a nightmare. The programs that include files are generally only include level deep, and are the 3.1 includes.

Hope I haven't put too many noses out of joint. And of course, the whole development cycle may have gone too far to backtrack, but if this is the case, then I suspect that there will be drop off of current users, or at least a reluctance to leave 3.x behind, despite the advantage that 4 offers.

Chris

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

Search



Quick Links

User menu

Not signed in.

Misc Menu