General goals
- Posted by James W Hofmann <jhofmann at ucsc.edu> Jan 06, 2007
- 735 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 :)