1. Minimalism and Euphoria
- Posted by YuriZyuriz Sep 26, 2014
- 2757 views
I am interested in minimalist programming languages and someone pointed out to me OpenEuphoria. Does OpenEuphoria still retain the 'minimalist' philosophy of the original Euphoria? What OE features/concepts are most relevant to minimalism?
Lastly, how does (Open)Euphoria compare to other minimalist languages? (Actually, I only know of one other language that claims to be minimalist: Oberon).
Thank you very much.
2. Re: Minimalism and Euphoria
- Posted by bugmagnet Sep 27, 2014
- 2727 views
Can you point us to a definition of minimalist? Do you mean languages with the fewest reserved words (see also Wikipedia)? Or do you have something else in mind?
Bugmagnet
3. Re: Minimalism and Euphoria
- Posted by DerekParnell (admin) Sep 28, 2014
- 2749 views
I am interested in minimalist programming languages and someone pointed out to me OpenEuphoria.
My understanding is that a minimalist (and the term is purely relative) language is one that aims to have as few as possible "built-in" functionality items. As an example, I'd suggest you take a look at the group of languages based on Forth and Lisp.
I would not categorize Euphoria as a minimalist language, even though a huge part of it is written in Euphoria itself.
4. Re: Minimalism and Euphoria
- Posted by Slacker Oct 21, 2014
- 2486 views
Minimalism is the main reason I like Eu so much. I've been using it since 2000 and have yet to see a programming language which better suits the needs of the casual programmer. This changed somewhat with the eu 4, which is why I'm still using 3.1.1.
5. Re: Minimalism and Euphoria
- Posted by GreenEuphorian Oct 21, 2014
- 2444 views
Minimalism is the main reason I like Eu so much. I've been using it since 2000 and have yet to see a programming language which better suits the needs of the casual programmer. This changed somewhat with the eu 4, which is why I'm still using 3.1.1.
At first this seems odd, because one would assume that, in general, new language features make users jump to the newest versions. On the other hand, the addition of new features make a language less minimalistic, and this is non-trivial in languages that aim to be minimalistic. It seems that Euphoria, while still remaining easy to learn and to use, is moving away from the minimalist paradigm. Maybe minimalism was never a primary aim, after all, but just a temporary state of affairs while the language was not fully developed, in the earliest stages.
I am now wondering: are there many users who still prefer using v3 because it is more 'minimalistic'? Or for any other reasons? (e.g. better performance?)
6. Re: Minimalism and Euphoria
- Posted by Spock Oct 21, 2014
- 2418 views
Minimalism is the main reason I like Eu so much. I've been using it since 2000 and have yet to see a programming language which better suits the needs of the casual programmer. This changed somewhat with the eu 4, which is why I'm still using 3.1.1.
At first this seems odd, because one would assume that, in general, new language features make users jump to the newest versions. On the other hand, the addition of new features make a language less minimalistic, and this is non-trivial in languages that aim to be minimalistic. It seems that Euphoria, while still remaining easy to learn and to use, is moving away from the minimalist paradigm. Maybe minimalism was never a primary aim, after all, but just a temporary state of affairs while the language was not fully developed, in the earliest stages.
I am now wondering: are there many users who still prefer using v3 because it is more 'minimalistic'? Or for any other reasons? (e.g. better performance?)
I use Euphoria a lOT at work (a shipping company) for various data conversion utilities. I wanted to use the latest 4.x but the start up is just so _slow_. On my new laptop it would take 20 seconds just to run a win32 (not Winlib32) app. So I am using the euiw.exe dated from Dec 2010 (4.0.0). With it I get 2 seconds.
I dread to think how slow an equivalent Win32lib app would be, even worse for our users that have old computers - perhaps upwards of 2 minutes?
What happened, guys?
Spock
7. Re: Minimalism and Euphoria
- Posted by ryanj Oct 21, 2014
- 2467 views
Minimalism is the main reason I like Eu so much. I've been using it since 2000 and have yet to see a programming language which better suits the needs of the casual programmer. This changed somewhat with the eu 4, which is why I'm still using 3.1.1.
At first this seems odd, because one would assume that, in general, new language features make users jump to the newest versions. On the other hand, the addition of new features make a language less minimalistic, and this is non-trivial in languages that aim to be minimalistic. It seems that Euphoria, while still remaining easy to learn and to use, is moving away from the minimalist paradigm. Maybe minimalism was never a primary aim, after all, but just a temporary state of affairs while the language was not fully developed, in the earliest stages.
I am now wondering: are there many users who still prefer using v3 because it is more 'minimalistic'? Or for any other reasons? (e.g. better performance?)
I use Euphoria a lOT at work (a shipping company) for various data conversion utilities. I wanted to use the latest 4.x but the start up is just so _slow_. On my new laptop it would take 20 seconds just to run a win32 (not Winlib32) app. So I am using the euiw.exe dated from Dec 2010 (4.0.0). With it I get 2 seconds.
I dread to think how slow an equivalent Win32lib app would be, even worse for our users that have old computers - perhaps upwards of 2 minutes?
What happened, guys?
Spock
Start up is definitely slower because it has to parse the entire program before executing, but i don't really notice...or perhaps I have gotten used to it. I have been using Euphoria 4.1 dev for awhile now with my FluidAE gui library, and start up is much faster than win32lib. I don't remember the start up time on my 1 GHz XP machine, probably 10-20 seconds on that old thing. But on my main work computer (Athlon X2 6000+ dual core 2GHz) that is about 7-8 years old, it's probably around 3-5 seconds, if i remember correctly. On my modern computers (i7 or APU) it is no more than 1 second. I am curious what would cause your programs to take so much time to start up.
Vversion 4 has such a great standard library that if you are still using 3.1, i think you are really missing out. It has so many nice routines that have been thoroughly tested and optimized. As far the new syntax, the developement team has done a very good job staying true to the elegant design, and have only added syntax features after much consideration. In my opinion, they only enhance the beauty of the language and make it even easier to use (such as switch..case, enum, new scope rules, etc.). Yes, there are more keywords to learn, but they make so much sense that I have learned to embrace the changes once i got used to them, and can't imagine going back. Even with all the new syntax, I would consider Euphoria 4.x to be "minimalist".
8. Re: Minimalism and Euphoria
- Posted by Slacker Oct 22, 2014
- 2380 views
I know there were quite a few unhappy euphoria programmers when Rob Craig handed over the reins to the new development team. I found early versions of Eu 4 slow to start up (as far as I know, that's still the case), buggy, and the size of an executable was huge in comparison to Eu 3 exes (3Mb for "hello world").
There didn't seem to be much thought put into the development process. It started off with the intention of providing a standard library, all well and good (although what was wrong with Ricardo Forno's General Functions?), but then all kinds of control structures were added like Goto, Switch, etc without any consideration of whether these features were needed or not (they weren't). Apparently the guiding principle was simply "more is better".
I'm sure there are lots of happy Eu 4 programmers out there now, but probably a significantly number of "old-timers" like me who stuck with the older versions.
I must admit I never really understood the philosophy that a programming language has to be in continual development for it to "survive". Maintenance/bug fixes, sure, and perhaps things like conversion to 64 bit, but anything else is just feature creep and changes the fundamental nature of the language and its intended niche.
The size of the documentation of Eu 4 is huge in comparison with Eu 3, and much more technical. Rob's vision was "Just Say no to complicated programming languages", but in my view, it seems that the devs lost sight of that imperative.
My two cents.
9. Re: Minimalism and Euphoria
- Posted by MatthewMacGregor Oct 22, 2014
- 2414 views
I believe that to be effective and successful, most languages need to figure out their identity. Development should be focused on making sure it continues to solve the problems it's uniquely positioned to solve well.
I still think the attractiveness of Euphoria is that it's lean, fast, and the executables are small. Programs are easy to distribute as standalone applications. It doesn't require an external runtime to be installed. It's easy to use native libraries. Startup time is probably also a key feature.
These are unusual characteristics for a scripting language, and there aren't many contenders for this niche.
10. Re: Minimalism and Euphoria
- Posted by AndyDrummond Oct 24, 2014
- 2314 views
I'm one of those who still like the old Euphoria 3. I use Judith Evans' IDE almost exclusively, and what I love about the whole thing is that I can write a dead simple program for some silly job or do some complex emulation job, and when I press f5 - it runs. Instantly. No hangups, just runs. Windows XP, Windows 7, Windows 8.1 (grr) and Windows 10 alpha. Just works. I do it rarely enough that I don't remember all the options and syntax rules in Eu4, but to compensate I have to put up with having main() as the last function and occasional namespace funnies in Eu3. I want to get away from all the code involved in making a program work, I just want to write my code and have it run. It's fabulous.
As an aside, Judith never really finished cleaning up the IDE; she went down with dementia soon after stopping work on it, and I have to say I'm not even sure she's alive. Her husband Archie has not replied to my emails recently. But the IDE, once you get used to some of its funnies, is extremely useful. Am I the only user of it?
11. Re: Minimalism and Euphoria
- Posted by SDPringle Oct 24, 2014
- 2263 views
Would anybody like to get rid of the 'for' and 'loop do' statement and go back to only using 'while' for loops? For is not really needed but it is convenient. A balance has to be struck. It is 'minimalist' probably because of the amount of man hours that can be contributed to the project at least for my case for free.
It is easy to say vote with dollars but if the product is free and thus the devs unpaid, it is hard to see how there can be incentives to do what the users want. I don't know if the donations cover hosting costs because I don't pay and I don't get paid but I contribute a commit from time to time.
SDPringle
12. Re: Minimalism and Euphoria
- Posted by ChrisB (moderator) Oct 30, 2014
- 1984 views
Hi
so you would like to replace
for I = 1 to 100 do Do stuff end for
With
I = 1 while 1 do Do stuff I += 1 (or other) If I = 100 then exit end if end while
rather than giving people the choice?
Doesn't seemto enhance the language.
Chris
13. Re: Minimalism and Euphoria
- Posted by DerekParnell (admin) Oct 30, 2014
- 1968 views
I = 1 while 1 do Do stuff I += 1 (or other) If I = 100 then exit end if end while
While well intentioned, Chris, I think you might mean ...
I = 1 label "LoopTop" if I <= 100 then Do stuff I = I + 1 goto "LoopTop" end if
Actually, in the first program I ever wrote, I didn't know about looping so I did something like this ...
Do stuff Do stuff Do stuff Do stuff ... '96 more lines just the same'
14. Re: Minimalism and Euphoria
- Posted by jaygade Oct 30, 2014
- 1957 views
I think that point is that Euphoria folklore states that Rob C wanted only "while" loops in Euphoria in very early versions. That was certainly prior to Euphoria 1.4 when I started using it. Very few people wanted the language to be that minimalist though, and lobbied for including "for" loops.
cf., Google's Go language has only "for" loops, although they are still very flexible.
-- canonically integer i = 1 while i <= 10 do -- Do Stuff ? i i = i+1 end while
15. Re: Minimalism and Euphoria
- Posted by DerekParnell (admin) Oct 31, 2014
- 1939 views
Minimalism is the main reason I like Eu so much. I've been using it since 2000 and have yet to see a programming language which better suits the needs of the casual programmer.
My opinion is that Euphoria is not, and has not been, a minimalist language. This goes to show how definitions are important.
This changed somewhat with the eu 4, which is why I'm still using 3.1.1.
What is there in V4 that has prevented you from coding in the same style you code using V3?
16. Re: Minimalism and Euphoria
- Posted by ChrisB (moderator) Nov 01, 2014
- 1843 views
HI Derek
You are of course absolutely right, I tend to use for loops where I know how the progression will be, and infinite while loops with exits where I don't, so that was just laziness on my part.
incidentally my first prgram was on a commodore pet,
10 print "hello" 20 goto 10
I didn't know how to stop it, so panicked and turned the computer off!
I would probably have to do the same with your example too
Chris
17. Re: Minimalism and Euphoria
- Posted by MatthewMacGregor Nov 01, 2014
- 1799 views
incidentally my first prgram was on a commodore pet,
10 print "hello" 20 goto 10
Very similar to my first in AppleSoft Basic. Except I think mine was:
10 print "The orcs are coming!" 20 goto 10
(LOTR)
18. Re: Minimalism and Euphoria
- Posted by SDPringle Nov 02, 2014
- 1798 views
Hi
so you would like to replace
for I = 1 to 100 do Do stuff end for
With
I = 1 while 1 do Do stuff I += 1 (or other) If I = 100 then exit end if end while
rather than giving people the choice?
Doesn't seemto enhance the language.
Chris
I was playing a kind of devil's advocate here in asking whether we should get rid of 'for'. Sometimes it is better to describe what one is advocating instead of arguing against it. A minimal language would be a an aseembler of a virtual computer of the following type OISC : [http://en.wikipedia.org/wiki/One_instruction_set_computer]. In this link you can download one. There are some emulators at the end of the web page.
SDPringle