Surprisingly I suggest my own project.:-)
Let me explain why I think that supporting a programming
language project (and especially Seed7) is important:
Languages are an instrument to think. Natural and computer languages
provide a way to formulate ideas. How easy an idea can be formulated
depends on the capabilities of a language. When new ideas emerge a
language might need to be extended. Remember that the only constant
thing in life is change. This led to the idea to make extensibility
the most basic concept of a programming language.
When a language is syntactical and semantically extensible all other
features can be added sooner or later by using extensions. Most
languages are extended by using ad hoc extensions for the syntax and
the compiler. In the long run this is a wrong way. Syntactic and
semantic extensions should fit into a structured concept. Otherwise
a language and its compiler are in danger to become unmaintainable.
Seed7 has several areas which need improvement. E.g.:
- A database interface. Here I suggest something in the direction
of LINQ. It is IMHO important to integrate database statements
in Seed7 to avoid SQL-Injection. Sending unchecked strings as
database commands from the user level should be avoided (or even
prohibited).
- Integrating a widget library (or inventing a new one) without
complicated concepts with events and event loops (this should be
hidden somehow).
- Interface to OpenGL/Mesa (Complexities and OS/library differences
should be hidden in a thin layer).
- Checking and improving the documentation (this is a good first
step to get understanding of Seed7 and its concepts).
- Introduce statements with curly braces (many people are opposing
Seed7 and don't have a closer look just because it is not a curly
brace language).
- Provide a mechanism such that Seed7 functions can be called from
other programming languages.
- Of course you can choose whatever you want.
If you want to make a better world and don't fear the language
competition Seed7 is the right project for you.:-)
Please give me some feedback.
Greetings Thomas Mertes
Seed7 Homepage: http://seed7.sourceforge.net/
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
Seed7 Homepage: http://seed7.sourceforge.net/
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
Seed7 Homepage: http://seed7.sourceforge.net/
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
Seed7 variables always refer to a legal value.
This has advantages in many areas. There are no
problems with with uninitialized variables and
no NULL pointer errors are possible.
But it is als not possible to use NULL to describe a missing value. If this feature is needed it must be reached in a different way.
In most cases the default value provided by every type can be used as value with the meaning: Not initialized. The default value is just a normal value. You will not get an exception when it is used. IMHO the advantates of not having NULL outweigh the small drawback to describe missing values in a different way.
Greetings Thomas Mertes
Seed7 Homepage: http://seed7.sourceforge.net/
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
For a fan of open source the switch of vienna to vista is a sad story.
--- begin complain mode
Given that the 8M euros are 'just' the money of taxpayers and the city of vienna is dominated by one party for at least 90 years (minus the years during WW2) there is no reason to wonder about. Democratic power changes form one party to another do not happen in vienna. A lot of the voters in vienna just vote automatically for the same party all the time, independent of what this party does. Therefore the government of the city of vienna has no motivation to save the taxpayers money. I do not want to start a political discussion. I just think that power changes between partys are essential for democracy.
--- end complain mode
If you want to support an open source project in
vienna, support Seed7 (I am living in vienna / austria (no kangaroos here)):-) .
Greetings Thomas Mertes
Seed7 Homepage: http://seed7.sourceforge.net/
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
I think we need an alternate Wikipedia. The politics and the administrators of the current Wikipedia are immune to advice. An alternate Wikipedia could work as a filter to the current wikipedia. When an article exists in the current Wikipedia the alternate Wikipedia would just take it's contents. Changes in the alternate Wikipedia would also go straight to the current Wikipedia. When an article is removed in the current Wikipedia it's last version remains in the alternate Wikipedia. Such articles could get a notifier like: "Deleted in the old wikipedia" Additionally there could be a system to maintain the notability of an Article as integer value.
Greetings Thomas Mertes
Seed7 Homepage: http://seed7.sourceforge.net/ Seed7 - The extensible programming language: User defined statements and operators, abstract data types, templates without special syntax, OO with interfaces and multiple dispatch.
You speak out what I feel: People who can't create often like to destroy. And I think that in Wikipedia the destroyers have much more power than the creators. Years ago I wrote several things for Wikipedia (using an IP). Then I saw the efforts of many days thrown away by people who are just active in deletion discussions.
Greetings Thomas Mertes
Seed7 Homepage: http://seed7.sourceforge.net/ Seed7 - The extensible programming language: User defined statements and operators, abstract data types, templates without special syntax, OO with interfaces and multiple dispatch.
I learned Pascal at the university in 1980. It was my second language after BASIC. For a lot of years I was a big fan of Pascal.
Missing features of Pascal (and other programming languages) lead me to the idea of an extensible programming lanuage. For my diploma thesis (and later the dissertation) I wrote a preprocessor in Pascal which produced Pascal code as output. The preprocessor should provide an implementation for my extensible programming language MASTER. As it showed, Pascal is not a good target language. The portability of Pascal programs was also bad at that time. Because of this reasons the implementation of Seed7 (which is a successor of MASTER) uses C as implementation and target language. I still think that the basic ideas of Pascal are great. This is clear when you look at Seed7: The statements are like in Pascal/Modula2, everything must be declared and the Seed7 interpreter uses one pass to read the program. The Seed7 compiler compiles to C which compiles to native code. Other features try to extend the possibilitys like: Declaring new operators, statements, templates, abstract data types, object orientation, multiple dispatch, and so on. If someone likes Pascal he would probably like Seed7 too.
Greetings Thomas Mertes
Seed7 Homepage: http://seed7.sourceforge.net/ Seed7 - The extensible programming language: User defined statements and operators, abstract data types, templates without special syntax, OO with interfaces and multiple dispatch.
To use the units of measurement easily it would be helpful if Java had user definable operators or at least operator overloading.
That way a more "natural" notation of formulas would be possible.
Abstract data types would also help with measurement units...
Greetings Thomas Mertes
Seed7 Homepage: http://seed7.sourceforge.net/ User defined statements and operators, abstract data types, templates without special syntax, OO with interfaces and multiple dispatch.
... you should consider to improve/finish an existing game.
IMHO, the cooperation between game developers is less effective than the cooperation between other developers. Additionally there is a non-OSS scene which trys to develop games. I have seen a lot of (non commercial) game projects which try to stay proprietory (and stall with good intermediate results without releasing the source).
Writing games is not my main focus, but as a side effect (writing test programs) I have created some games: Panic, Shisen, Memory, Tetris, Sudoku, Startrek, Hamurabi, Wumpus and more.
Speaking of retro games... Does anybody remember Apple Panic? In ~1982 it impressed me. More then 20 years later I programmed an open source version (see http://seed7.sourceforge.net/scrshots/panic.htm).
Important points for a programming language
on
Beyond Java
·
· Score: 1
There are several points I consider important for a programming language
- Available under various operating systems. - Operating system independend (no access to proprietary functions). - An open source implementation of the compiler/interpreter + librarys. - Usable to write applications and skripts (Not only an internet language). - Possibility of compilation (some optimizations are not possible just in time). - Typesafety for containers, etc. (the compiler can find typing errors) - Object oriented but simple types should also be there. - Possibility for extension (new Datatypes, Functions, Operators, Statements). - For simple problems simple programs should be the solution. - Take load from the shoulders of programmers.
Because I am biased, I do not suggest a successor for Java
Surprisingly I suggest my own project. :-)
Let me explain why I think that supporting a programming
language project (and especially Seed7) is important:
Languages are an instrument to think. Natural and computer languages
provide a way to formulate ideas. How easy an idea can be formulated
depends on the capabilities of a language. When new ideas emerge a
language might need to be extended. Remember that the only constant
thing in life is change. This led to the idea to make extensibility
the most basic concept of a programming language.
When a language is syntactical and semantically extensible all other
features can be added sooner or later by using extensions. Most
languages are extended by using ad hoc extensions for the syntax and
the compiler. In the long run this is a wrong way. Syntactic and
semantic extensions should fit into a structured concept. Otherwise
a language and its compiler are in danger to become unmaintainable.
:-)
Please give me some feedback.
Seed7 has several areas which need improvement. E.g.:
- A database interface. Here I suggest something in the direction of LINQ. It is IMHO important to integrate database statements in Seed7 to avoid SQL-Injection. Sending unchecked strings as database commands from the user level should be avoided (or even prohibited).
- Integrating a widget library (or inventing a new one) without complicated concepts with events and event loops (this should be hidden somehow).
- Interface to OpenGL/Mesa (Complexities and OS/library differences should be hidden in a thin layer).
- Checking and improving the documentation (this is a good first step to get understanding of Seed7 and its concepts).
- Introduce statements with curly braces (many people are opposing Seed7 and don't have a closer look just because it is not a curly brace language).
- Provide a mechanism such that Seed7 functions can be called from other programming languages.
- Of course you can choose whatever you want.
If you want to make a better world and don't fear the language competition Seed7 is the right project for you.
Greetings Thomas Mertes
Seed7 Homepage: http://seed7.sourceforge.net/
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
Well, I wrote also a lunar lander. Here is a page with screenshots:
http://seed7.sourceforge.net/scrshots/lander.htm
Greetings Thomas Mertes
Seed7 Homepage: http://seed7.sourceforge.net/
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
Seed7 :-)
Sorry, couldn't resist...
Greetings Thomas Mertes
Seed7 Homepage: http://seed7.sourceforge.net/
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
Hello
The OO system of Seed7 works without NULL pointers. See:
http://seed7.sourceforge.net/manual/objects.htm
Seed7 variables always refer to a legal value. This has advantages in many areas. There are no problems with with uninitialized variables and no NULL pointer errors are possible. But it is als not possible to use NULL to describe a missing value. If this feature is needed it must be reached in a different way. In most cases the default value provided by every type can be used as value with the meaning: Not initialized. The default value is just a normal value. You will not get an exception when it is used. IMHO the advantates of not having NULL outweigh the small drawback to describe missing values in a different way.
Greetings Thomas Mertes
Seed7 Homepage: http://seed7.sourceforge.net/
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
For a fan of open source the switch of vienna to vista is a sad story.
:-) .
--- begin complain mode
Given that the 8M euros are 'just' the money of taxpayers and the city of vienna is dominated by one party for at least 90 years (minus the years during WW2) there is no reason to wonder about. Democratic power changes form one party to another do not happen in vienna. A lot of the voters in vienna just vote automatically for the same party all the time, independent of what this party does. Therefore the government of the city of vienna has no motivation to save the taxpayers money. I do not want to start a political discussion. I just think that power changes between partys are essential for democracy.
--- end complain mode
If you want to support an open source project in vienna, support Seed7 (I am living in vienna / austria (no kangaroos here))
Greetings Thomas Mertes
Seed7 Homepage: http://seed7.sourceforge.net/
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
I think we need an alternate Wikipedia.
The politics and the administrators of the current Wikipedia are immune to advice.
An alternate Wikipedia could work as a filter to the current wikipedia.
When an article exists in the current Wikipedia the alternate Wikipedia would just take it's contents.
Changes in the alternate Wikipedia would also go straight to the current Wikipedia.
When an article is removed in the current Wikipedia it's last version remains in the alternate Wikipedia.
Such articles could get a notifier like: "Deleted in the old wikipedia"
Additionally there could be a system to maintain the notability of an Article as integer value.
Greetings Thomas Mertes
Seed7 Homepage: http://seed7.sourceforge.net/
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch.
You speak out what I feel: People who can't create often like to destroy. And I think that in Wikipedia the destroyers have much more power than the creators. Years ago I wrote several things for Wikipedia (using an IP). Then I saw the efforts of many days thrown away by people who are just active in deletion discussions.
Greetings Thomas Mertes
Seed7 Homepage: http://seed7.sourceforge.net/
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch.
I learned Pascal at the university in 1980. It was my second language
after BASIC. For a lot of years I was a big fan of Pascal.
Missing features of Pascal (and other programming languages)
lead me to the idea of an extensible programming lanuage.
For my diploma thesis (and later the dissertation) I wrote a
preprocessor in Pascal which produced Pascal code as output.
The preprocessor should provide an implementation for my
extensible programming language MASTER. As it showed, Pascal
is not a good target language. The portability of Pascal programs
was also bad at that time. Because of this reasons the
implementation of Seed7 (which is a successor of MASTER) uses
C as implementation and target language. I still think that the
basic ideas of Pascal are great. This is clear when you look at
Seed7:
The statements are like in Pascal/Modula2, everything must be
declared and the Seed7 interpreter uses one pass to read the
program. The Seed7 compiler compiles to C which compiles to
native code. Other features try to extend the possibilitys like:
Declaring new operators, statements, templates, abstract data
types, object orientation, multiple dispatch, and so on.
If someone likes Pascal he would probably like Seed7 too.
Greetings Thomas Mertes
Seed7 Homepage: http://seed7.sourceforge.net/
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch.
To use the units of measurement easily it would be helpful if
...
Java had user definable operators or at least operator overloading.
That way a more "natural" notation of formulas would be possible.
Abstract data types would also help with measurement units
Greetings Thomas Mertes
Seed7 Homepage: http://seed7.sourceforge.net/
User defined statements and operators, abstract
data types, templates without special syntax,
OO with interfaces and multiple dispatch.
Probably I am biased, but take a look at Seed7.
Greetings Thomas Mertes
Homepage: http://seed7.sourceforge.net/
Project page: http://sourceforge.net/projects/seed7
... you should consider to improve/finish an existing game.
IMHO, the cooperation between game developers is less effective than the cooperation between other developers. Additionally there is a non-OSS scene which trys to develop games. I have seen a lot of (non commercial) game projects which try to stay proprietory (and stall with good intermediate results without releasing the source).
Writing games is not my main focus, but as a side effect (writing test programs) I have created some games: Panic, Shisen, Memory, Tetris, Sudoku, Startrek, Hamurabi, Wumpus and more.
Greetings Thomas Mertes
Homepage: http://seed7.sourceforge.net/
Project page: http://sourceforge.net/projects/seed7
Speaking of retro games ...
Does anybody remember Apple Panic? In ~1982 it impressed me.
More then 20 years later I programmed an open source version
(see http://seed7.sourceforge.net/scrshots/panic.htm).
Greetings Thomas Mertes
Seed7 Homepage: http://seed7.sourceforge.net/
Wikipedia: http://en.wikipedia.org/wiki/Seed7
Project page: http://sourceforge.net/projects/seed7
There are several points I consider important for a programming language
- Available under various operating systems.
- Operating system independend (no access to proprietary functions).
- An open source implementation of the compiler/interpreter + librarys.
- Usable to write applications and skripts (Not only an internet language).
- Possibility of compilation (some optimizations are not possible just in time).
- Typesafety for containers, etc. (the compiler can find typing errors)
- Object oriented but simple types should also be there.
- Possibility for extension (new Datatypes, Functions, Operators, Statements).
- For simple problems simple programs should be the solution.
- Take load from the shoulders of programmers.
Because I am biased, I do not suggest a successor for Java
Greetings Thomas Mertes
Seed7 Homepage: http://seed7.sourceforge.net/
Wikipedia: http://en.wikipedia.org/wiki/Seed7
Project page: http://sourceforge.net/projects/seed7
I think the people read it wrong. It should be
Duke Nukem:
Forever in Production
Greetings Thomas Mertes
Seed7 Homepage: http://seed7.sourceforge.net/
Wikipedia: http://en.wikipedia.org/wiki/Seed7
Project page: http://sourceforge.net/projects/seed7