1. General goals
- Posted by James W Hofmann <jhofmann at ucsc.edu> Jan 06, 2007
- 762 views
Chris Bensler wrote: > > Perhaps before even answering those questions we should ask ourselves what is > Eu's purpose? Other than the obvious "it's for programming", what kind of > programming > and what kind of programmers? > Well, start with the obvious. Any language would like to make itself useful to at least some programmers. (it's that, or it is called an elaborate joke - see brainfuck or Whitespace) To be useful to the largest number, languages have to make compromises, in speed or in beauty or in functionality. Alternatively, the language targets itself at a niche and fulfills that niche as much as possible. The classic Eu style of programming is already there. We aren't going to dispute (most) of the original features. But everyone participating in this discussion, I think, wants more people to use Eu. So as a result we are, and will be for a very long time, working out acceptable compromises that can expand the range of users. It's a hard process to get started. But the alternative is fragmentation, which has severely hurt promising languages(Lisp, Pascal...) My personal interest is in game development; I want tools to build games quickly. I came back to Eu because it provides an environment for engine-building that is a tad higher-level than C, and less obtuse as well. (C++, Java, C# etc. only complicate the situation further.) It can integrate pretty well to other languages for extra speed or scripting functionality. My abstraction needs are low, since I plan to write the bulk of gameplay code at a higher level. So I can get by with how it is in 3.01, but I still feel the limitations present. Hence I started posting here. If I felt experienced with compilers I would probably go write the extensions I want, but I'm not. To specify more, without going to an individual feature basis, the goals I think of: -Maintenance of high performance. -Readability: in my idealized language, good code is 100% understandable to someone who has had some, but not a lot of programming experience, if they can think logically. (Python is the closest match to this I've found, but Euphoria as-is comes in close behind. It's what Eu is missing, rather than what it has, that makes it hard to read. Python would look pretty bad too if all it had were numerical values and lists. Maybe all Eu needs are dicts, classes and references? :D <kidding> ) -Sophisticated, yet comprehensible ways to manipulate and organize data. It is more important to me that each line be easy to understand than for the code to be short in line count. -Reliability by way of eliminating "unintended consequences" and side-effects for as many operations as possible. I want powerful features, but I want to avoid confusion even more. There are very few languages, to me, that try to do that. Or they did try(for example BASIC) but the design is now clearly outdated. Eu still feels "new" to me. I just want it to be more new :)
2. Re: General goals
- Posted by duke normandin <dnormandin at bsdrocksperlrolls.com> Jan 06, 2007
- 718 views
James W Hofmann wrote: > > Chris Bensler wrote: > > > > Perhaps before even answering those questions we should ask ourselves what > > is > > Eu's purpose? Other than the obvious "it's for programming", what kind of > > programming > > and what kind of programmers? [snip] > My personal interest is in game development; I want tools to build games > quickly. I came back to Eu because it provides an environment for > engine-building that is a tad higher-level than C, and less obtuse as > well. (C++, Java, C# etc. only complicate the situation further.) > It can integrate pretty well to other languages > for extra speed or scripting functionality. My abstraction needs are > low, since I plan to write the bulk of gameplay code at a higher > level. So I can get by with how it is in 3.01, but I still feel the > limitations present. Hence I started posting here. If I felt experienced > with compilers I would probably go write the extensions I want, but > I'm not. Sounds to me like you should be looking at a sweet little language called Lua: http://lua-users.org/wiki/TutorialDirectory > I want powerful features, but I want to avoid confusion even more. There > are very few languages, to me, that try to do that. Or they did try(for > example BASIC) but the design is now clearly outdated. Eu still feels > "new" to me. I just want it to be more new :) I think that Euphoria is close to being a "general-purpose" Programming and Scripting language. IMHO, it needs to re-think/work the "standard" library, as well as perhaps introduce "associative" arrays and the tools to work with them. Euphoria is easy to grok as it is! It simply needs to flesh out here and there. BTW, Robert Craig, in his most recent message, made it clear that Euphoria is now truely Open Source. ANYBODY at ANYTIME can take the code and create a dialect that more closely meets your goals and requirements. That's a Good Thing! ;) Later..... -- duke http://www.rootshell.be/~perlster/euphoria/ (under construction)
3. Re: General goals
- Posted by Ray Smith <ray at RaymondSmith.com> Jan 06, 2007
- 736 views
- Last edited Jan 07, 2007
James W Hofmann wrote: > > Chris Bensler wrote: > > > > Perhaps before even answering those questions we should ask ourselves what > > is > > Eu's purpose? Other than the obvious "it's for programming", what kind of > > programming > > and what kind of programmers? > > > > Well, start with the obvious. > Any language would like to make itself useful to at least some programmers. > (it's that, or it is called an elaborate joke - see brainfuck or Whitespace) > [snip] I'll point you to a post I did just after eu was open sourced about creating a "mission statement" that any changes should be analyzed against: http://www.listfilter.com/cgi-bin/esearch.exu?thread=1&fromMonth=8&fromYear=B&toMonth=A&toYear=B&keywords=%22Mission+Statement%22 ----------------- Hi All, Instead of discussing each individual option about what everyone wants added/changed etc, how about we discuss the overall philosophy of what Euphoria "is" and what Euphoria should become (if this is to change). I propose the following features of Euphoria should be maintained / improved upon. Small: Euphoria should remain "relatively" small. Clean and simple Syntax: The Euphoria reserved words should be kept minimal and simple to use with minimal confusion. Fast and Efficient Execution: The interpreter should stay as fast as possible while providing safety checking and use minimal resources. Minimal and simple to use Data Types: This is really covered by "Small" and "Clean and simple Syntax". Keep the number of data types to a minimum. Helps reduce complexity. Cross Platform: As much functionality as possible should be available across as many platforms as possible. Maintainability: All enhancements/bug fixes/modifications/etc to improve the overall structure and readability of the Euphoria source code to allow Euphoria to stay reliable, bug free and easy to enhance. … and finally, User Friendly: Allow programmers to use Euphoria to create a wide variety of applications as easy as possible while giving as mush flexibility as possible … obviously a "wishy washy" statement, but really should be the final reason to make any changes. Obviously not all changes "have to" satisfy all of these rules, but there would need to be a big payback for the programmer to go outside these guidelines. What additions/changes does everyone have for this list??? ----------------- Regards, Ray Smith Ray Smith http://RaymondSmith.com
4. Re: General goals
- Posted by Jason Gade <jaygade at yahoo.com> Jan 06, 2007
- 713 views
- Last edited Jan 07, 2007
Ray Smith wrote: > ----------------- > Hi All, > > Instead of discussing each individual option about what everyone wants > added/changed > > etc, how about we discuss the overall philosophy of what Euphoria "is" and > what > > Euphoria should become (if this is to change). > > I propose the following features of Euphoria should be maintained / improved > upon. (Snipped) I concur with this. -- "Any programming problem can be solved by adding a level of indirection." --anonymous "Any performance problem can be solved by removing a level of indirection." --M. Haertel "Premature optimization is the root of all evil in programming." --C.A.R. Hoare j.
5. Re: General goals
- Posted by Jules Davy <jdavy at dsl.pipex.com> Jan 07, 2007
- 740 views
> Hi All, > > Instead of discussing each individual option about what everyone wants > added/changed > > etc, how about we discuss the overall philosophy of what Euphoria "is" and > what > > Euphoria should become (if this is to change). > > I propose the following features of Euphoria should be maintained / improved > upon. > > Small: > Euphoria should remain "relatively" small. > > Clean and simple Syntax: > The Euphoria reserved words should be kept minimal and simple to use with > minimal > > confusion. > > Fast and Efficient Execution: > The interpreter should stay as fast as possible while providing safety > checking > and > use minimal resources. > > Minimal and simple to use Data Types: > This is really covered by "Small" and "Clean and simple Syntax". Keep the > number > of > data types to a minimum. Helps reduce complexity. > > Cross Platform: > As much functionality as possible should be available across as many platforms > as > possible. > > Maintainability: > All enhancements/bug fixes/modifications/etc to improve the overall structure > and > readability of the Euphoria source code to allow Euphoria to stay reliable, > bug free > and easy to enhance. > > … and finally, > > User Friendly: > Allow programmers to use Euphoria to create a wide variety of applications as > easy > as possible while giving as mush flexibility as possible … obviously a "wishy > washy" > statement, but really should be the final reason to make any changes. > > > Obviously not all changes "have to" satisfy all of these rules, but there > would > need > to be a big payback for the programmer to go outside these guidelines. > > > What additions/changes does everyone have for this list??? > ----------------- > > > Regards, > > Ray Smith Hi Ray, I don't have a CS degree and know very little about C/C++, java, Python etc, so don't feel able to participate in the more technical discussions. I agree with your points, and think that the core of Euphoria should adhere to those principles (which it already does). Most of the discussion I've seen so far seems to revolve around changes to the core, but will these proposed changes significantly increase the number of new users? (assuming that this is one of the primary aims). In my humble opinion it won't. Personally I think that the progress of Euphoria would be better served by the addition of libraries which enable the average user to be more productive. I'd like to see a more network-aware Euphoria, with a easy-to-use cross-platform GUI. (something like REBOL). I think the most pressing need is for more integrated tools that support the 'general purpose programming language' which Euphoria claims to be.
6. Re: General goals
- Posted by Ricardo M. Forno <rmforno at tutopia.com> Jan 07, 2007
- 711 views
Agreed.
7. Re: General goals
- Posted by Matt Lewis <matthewwalkerlewis at gmail.com> Jan 07, 2007
- 744 views
Jules Davy wrote: > > I don't have a CS degree and know very little about C/C++, java, Python etc, > so don't feel able to participate in the more technical discussions. I agree > with your points, and think that the core of Euphoria should adhere to those > principles (which it already does). Most of the discussion I've seen so far > seems to revolve around changes to the core, but will these proposed changes > significantly increase the number of new users? (assuming that this is one of > the primary aims). In my humble opinion it won't. Personally I think that the > progress of Euphoria would be better served by the addition of libraries which > enable the average user to be more productive. I'd like to see a more > network-aware > Euphoria, with a easy-to-use cross-platform GUI. (something like REBOL). I > think > the most pressing need is for more integrated tools that support the 'general > purpose programming language' which Euphoria claims to be. This is very insightful, but, IMHO, doesn't take the concept quite far enough. One of the principles of euphoria is that it's fast enough to push a lot of functionality out to external libraries, written in euphoria. And this system basically works well, especially when you factor in the ease of linking to other compiled code to augment the euphoria code. But what about the people writing all these libraries? While the features themselves might not attract users, as someone who writes libraries that other people use, having some better tools for dealing with a large code base, and for organizing complex code (take a look at eusql), it could make my life easier in several ways, hopefully leading to better libraries, which benefits everyone. Matt
8. Re: General goals
- Posted by duke normandin <dnormandin at bsdrocksperlrolls.com> Jan 07, 2007
- 733 views
Jules Davy wrote: > > > > Hi All, > > > > Instead of discussing each individual option about what everyone wants > > added/changed > > > > etc, how about we discuss the overall philosophy of what Euphoria "is" and > > what > > > > Euphoria should become (if this is to change). > > > > I propose the following features of Euphoria should be maintained / improved > > upon. > > > > Small: > > Euphoria should remain "relatively" small. > > > > Clean and simple Syntax: > > The Euphoria reserved words should be kept minimal and simple to use with > > minimal > > > > confusion. > > > > Fast and Efficient Execution: > > The interpreter should stay as fast as possible while providing safety > > checking > > and > > use minimal resources. > > > > Minimal and simple to use Data Types: > > This is really covered by "Small" and "Clean and simple Syntax". Keep the > > number > > of > > data types to a minimum. Helps reduce complexity. > > > > Cross Platform: > > As much functionality as possible should be available across as many > > platforms > > as > > possible. > > > > Maintainability: > > All enhancements/bug fixes/modifications/etc to improve the overall > > structure > > and > > readability of the Euphoria source code to allow Euphoria to stay reliable, > > bug free > > and easy to enhance. > > > > … and finally, > > > > User Friendly: > > Allow programmers to use Euphoria to create a wide variety of applications > > as > > easy > > as possible while giving as mush flexibility as possible … obviously a > > "wishy > > washy" > > statement, but really should be the final reason to make any changes. > > > > > > Obviously not all changes "have to" satisfy all of these rules, but there > > would > > need > > to be a big payback for the programmer to go outside these guidelines. > > > > > > What additions/changes does everyone have for this list??? > > ----------------- > > > > > > Regards, > > > > Ray Smith > > Hi Ray, > > I don't have a CS degree and know very little about C/C++, java, Python etc, > so don't feel able to participate in the more technical discussions. I agree > with your points, and think that the core of Euphoria should adhere to those > principles (which it already does). Most of the discussion I've seen so far > seems to revolve around changes to the core, but will these proposed changes > significantly increase the number of new users? (assuming that this is one of > the primary aims). In my humble opinion it won't. Personally I think that the > progress of Euphoria would be better served by the addition of libraries which > enable the average user to be more productive. I'd like to see a more > network-aware > Euphoria, with a easy-to-use cross-platform GUI. (something like REBOL). I > think > the most pressing need is for more integrated tools that support the 'general > purpose programming language' which Euphoria claims to be. Right-on!! Just for the sake of argument, let's say that the Euphoria community decided that EU was going to out-do PHP and Perl in the CGI / Web domain. It follows that we might consider making a few changes /additions to the core / libraries to facilitate *that* goal. I'm here to tell you that this approach would put Euphoria on the map. It's already the fastest language out there -- out-do perl in string manip and regex; create mod-EU for Apache, and BOOM!! we're in! ;)) But alas.... we need a plan *before* we go carving up the language. MHO.... -- duke http://www.rootshell.be/~perlster/euphoria/
9. Re: General goals
- Posted by jacques deschênes <desja at globetrotter.net> Jan 07, 2007
- 706 views
To keep it simple and clear and avoid confusion by comparing euphoria to other language. I suggest that one look at the code he already written. and ask himself What was limiting me the most in that experience? My answer to that question is: - lack of structured sequence - lack of static variable inside functions (procedures) to keep state between call. - lack of namespace inside the same file. - better interfacing to the rest of the world (COM, ODBC, C/C++ libraries) A few month ago I read "C# 2.0 complete reference" by Herbert Schildt. Great language for professionals, but .net frameware like java is such a big and complex system, I didn't used it. Someone said that euphoria is a toy language. No shame about it. After all as a hobbyist programmer its what I need. Small, simple syntax et fast. Keep it that way. regards, Jacques Deschênes
10. Re: General goals
- Posted by cklester <cklester at yahoo.com> Jan 07, 2007
- 693 views
duke normandin wrote: > Right-on!! Just for the sake of argument, let's say that the Euphoria > community > decided that EU was going to out-do PHP and Perl in the CGI / Web domain. It comes close if it doesn't already... :) http://www.stepbysteptodo.com/ I created that site because nothing out there handled all my needs. The site is alpha, so any data or account you create might be inexplicably lost. For now it's a test bed. But it's all Euphoria + Ajax. I've limited it also to 20 new accounts, so please give it a try if you're interested in seeing what Euphoria can do for CGI. (Requires Javascript.) > create mod-EU for Apache, I had asked for this before. I hope it gets done eventually, although the way things are running now is not so bad. -=ck "Programming in a state of Euphoria." http://www.cklester.com/euphoria/
11. Re: General goals
- Posted by Chris Burch <chriscrylex at aol.com> Jan 07, 2007
- 704 views
cklester wrote: > > duke normandin wrote: > > > Right-on!! Just for the sake of argument, let's say that the Euphoria > > community > > decided that EU was going to out-do PHP and Perl in the CGI / Web domain. > > It comes close if it doesn't already... :) > > <a href="http://www.stepbysteptodo.com/">http://www.stepbysteptodo.com/</a> > > I created that site because nothing out there handled all my needs. The > site is alpha, so any data or account you create might be inexplicably > lost. For now it's a test bed. But it's all Euphoria + Ajax. Thats very nice - looks similar to a personalised google home page, where you can add widgets. > > I've limited it also to 20 new accounts, so please give it a try if you're > interested in seeing what Euphoria can do for CGI. (Requires Javascript.) > > > create mod-EU for Apache, > > I had asked for this before. I hope it gets done eventually, although the > way things are running now is not so bad. > > -=ck > "Programming in a state of Euphoria." > <a > href="http://www.cklester.com/euphoria/">http://www.cklester.com/euphoria/</a> Chris http://euallegro.wikispaces.com http://members.aol.com/chriscrylex/euphoria.htm http://uboard.proboards32.com/ http://members.aol.com/chriscrylex/EUSQLite/eusql.html
12. Re: General goals
- Posted by ags <eu at 531pi.co.nz> Jan 07, 2007
- 713 views
- Last edited Jan 08, 2007
cklester wrote: > <a href="http://www.stepbysteptodo.com/">http://www.stepbysteptodo.com/</a> > > I created that site because nothing out there handled all my needs. The > site is alpha, so any data or account you create might be inexplicably > lost. For now it's a test bed. But it's all Euphoria + Ajax. Wow, looks good for the login stuff. After I log in I get an Internet Explorer error. "Internet Explorer cannot open the Internet site http://www.stepbysteptodo.com/index.esp\n\nOperation Aborted.". I can see the calendar while the dialog is there, but when I click OK the standard unhelpful "Cannot find server" page displays. :/ Gary
13. Re: General goals
- Posted by cklester <cklester at yahoo.com> Jan 08, 2007
- 712 views
ags wrote: > > After I log in I get an Internet Explorer error. "Internet Explorer cannot > open the Internet site <a > href="http://www.stepbysteptodo.com/index.esp">http://www.stepbysteptodo.com/index.esp</a>\n\nOperation > Aborted.". Yeah, I don't know why. It works fine in Firefox. :/ -=ck "Programming in a state of Euphoria." http://www.cklester.com/euphoria/
14. Re: General goals
- Posted by duke normandin <dnormandin at bsdrocksperlrolls.com> Jan 08, 2007
- 708 views
cklester wrote: > > duke normandin wrote: > > > Right-on!! Just for the sake of argument, let's say that the Euphoria > > community > > decided that EU was going to out-do PHP and Perl in the CGI / Web domain. > > It comes close if it doesn't already... :) When I write a shopping cart or forum in Euphoria, withs lots of heavy back-end stuff going on THEN I'll be able to say one way or another. ;) No doubt, it's fast enough though. > <a href="http://www.stepbysteptodo.com/">http://www.stepbysteptodo.com/</a> Nice simple design! The only way to go! I hate the clown-suit, Las Vegas looking BS....... > I've limited it also to 20 new accounts, so please give it a try if you're > interested in seeing what Euphoria can do for CGI. (Requires Javascript.) ANY language can do CGI -- you know that! Hell I've written scripts in Bourne and Korn Shell code -- but its a major PITA. It all depends on the tools, libraries and some built-ins. > > create mod-EU for Apache, > > I had asked for this before. I hope it gets done eventually, although the > way things are running now is not so bad. mod-php, mod-perl, mod-lua (on Apache of course) make life so much easier to develop certain kinds of sites. It's that inline code .... I've been using EUphoria off my Apache server here at home as I'm developing a cgi library for myself (and others if they want). Very fast!! It's my hope to be able to showcase Euphoria in CGI/Web context starting with the URL in my sig. -- duke http://www.rootshell.be/~perlster/euphoria/
15. Re: General goals
- Posted by ags <eu at 531pi.co.nz> Jan 08, 2007
- 716 views
cklester wrote: > > ags wrote: > > > > After I log in I get an Internet Explorer error. "Internet > Explorer cannot open the Internet site <a > href="http://www.stepbysteptodo.com/index.esp">http://www.stepbysteptodo.com/index.esp</a>\n\nOperation</font></i> > > Aborted.". > > Yeah, I don't know why. It works fine in Firefox. :/ Hmmm, you probably need to set the secret key in the meta tags that enables you to do cool things with IE. ;) Yep, just tried it. Looking good! Gary