1. General goals

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 :)

new topic     » topic index » view message » categorize

2. Re: General goals

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)

new topic     » goto parent     » topic index » view message » categorize

3. Re: General goals

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

new topic     » goto parent     » topic index » view message » categorize

4. Re: General goals

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.

new topic     » goto parent     » topic index » view message » categorize

5. Re: General goals

> 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.

new topic     » goto parent     » topic index » view message » categorize

6. Re: General goals

Agreed.

new topic     » goto parent     » topic index » view message » categorize

7. Re: General goals

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

new topic     » goto parent     » topic index » view message » categorize

8. Re: General goals

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/

new topic     » goto parent     » topic index » view message » categorize

9. Re: General goals

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

new topic     » goto parent     » topic index » view message » categorize

10. Re: General goals

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/

new topic     » goto parent     » topic index » view message » categorize

11. Re: General goals

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

new topic     » goto parent     » topic index » view message » categorize

12. Re: General goals

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

new topic     » goto parent     » topic index » view message » categorize

13. Re: General goals

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/

new topic     » goto parent     » topic index » view message » categorize

14. Re: General goals

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/

new topic     » goto parent     » topic index » view message » categorize

15. Re: General goals

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

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu