Re: Prototype-Based Programming
- Posted by TheresNoTime Sep 25, 2013
- 2353 views
I saw in the Archive several extensions, which injected OOP to Euphoria. However, the creators of Euphoria, apparently, are the enemies of this paradigm.
Yes! I fight to the death against OOP.
I myself is not a OOP-fan[atic]. On the contrary, this paradigm is alien to me. But how else to develop a program consisting of several large pieces? In principle, it is possible to realize the communication between parts in pure Euphoria (stuffing maps in the stack). But it is the invention of bicycles.
No, actually, this isn't true. In fact, there are vague plans to add OOP programming paradigms to euphoria. This would be a pretty massive undertaking, and would certainly be a new major version (e.g., eu5).
Even so, I can not wait. I have three ways:
1. Add one of the OOP-extensions in the Euphoria. The main drawback of this approach: I do not know what extension to choose. And all of a sudden it will not work?
2. Choose mainstream OOP-language such as C#.
3. Find another way of splitting the program into parts. For example, dissect it to independent programs that communicate through files (in 21th century!).
I'd be interested to hear if you have an idea about how to put prototype based OOP into euphoria.
Matt
Unfortunately, I can provide such information only in Russian. Search about what's inside the PBP in JavaScript, Lua or other PBP-language. In short, the PBP is programming with objects, but without classes. Each object is unique. Thus, we can not inherit classes (because they are not). It's not so bad. Many believe that the inheritance is the evil. In the GO language (by Google!) no inheritance. As far as I know, this is called "anemic OOP". (But I'm not sure I understand correctly this term.) This is not the first example, where the improvement is to avoid something. For example, the avoid of the operator GOTO improves the structure of the programs. So, what we have instead of inheritance? Cloning! We can clone any object. It is possible to do in almost any language, that have some structure, which capable to store data and pointers (routine_id). For example, PBP in Lua is just syntactic sugar for it's tables.