My 10c on namespaces
- Posted by Alan Oxley <fizzpop at icon.co.za> Jun 28, 2001
- 516 views
I've been lurking with interest ever since Rob mentioned that he would be attempting a solution to the namespaces issues in Euphoria 2.3. Taking a step back from the proposals: Whatever the technical syntax Rob goes for, I hope that these factors are considered, in order: 1. Clarity. 2. Flexibility 3. Redundancy of previous code Clarity comes first, because its of vital importance for the program creator (and anyone else) to understand what the intent of the code is. Hopefully with a minimum of comments or reading manuals. A silly example: Personally I don't code in the format "a += 1" because: a) Its more obscure than "a = a + 1" and therefore harder to understand, particularly for newbies. b) It appears to be a "neat trick" from another language. Why? Who are we trying to impress? c) Using it makes old code break, for virtually no gain. d) Why are we wasting Rob's time, altering his parser for something so inconsequential? We are using Euphoria because it is clear, easy, stable, quick etc. Not because it is the same as something else. Flexibility - as in the solution/syntax should allow for as many factors as possible. Eg, have a solution that elegantly (and clearly) handles subsequent references to a variable as the second reference. Don't build in restrictions that are not required. Do have meaningful error messages and options that can be used on demand. Redundancy.. ie breaking of old code is less important then the abovementioned two factors IMHO, despite argument to the contrary . Why? a) Euphoria must move forward. Using an obscure solution that does not break old code may set us up for a headache that will never go away. The listserv will abound with the same tired explanations of why it works that way. Answering the "Why couldn't Euphoria have done this easier (CLEARER)" and "Why does this (seemingly obvious) code not work" will be right up there with the "How do I get off this list" used to be, or "deleteItem does not work"... Ring a bell, Derek ? b) How much old code do we REALLY use, both in bytes and in persons doing it? With the exception of Win32lib, I would suggest not much. IMHO those skilled enough to include others' code, will be skilled enough to make the required changes. I submit that most old code written by others is purely reference material. c) Nothing is stopping us from binding old code and using the executable, until such time as we get around to correcting the breakages brought about by the namespace solution. Even simply persisting with the old release of Euphoria would work. Rob, how about putting the suggestions up on rapideuphoria.com , and allowing licenced users to vote? Each methodology to have the pros and cons mentioned. You don't have to go for the most popular of course ;) Regards, Alan (now ducking for cover)