help develop the best damn programming language in the galaxy


sswam

Advanced Member
Joined
Dec 16, 2009
Messages
1,393
I want to finish creating a gobsmackingly awesome graphical programming language, based on math, data flow, and logic programmming. It will have clean concise textual notation in addition to the graphical notation (not unlike but more powerful than e.g. labview). It will be possible to code all manner of games in it, and other programs.


Clean notation, mathematical beauty, correctness, and utility.


I have been thinking, planning and coding lame attempts on this for perhaps 25 years now. The name of the project is AMPS for Advanced Modular Programming System, coincidentally similar to an actual working flow-based system from the 70s.


If you want to help create the galaxy's best programming language, please join me because I need a lot of help and extra brain power.


How is this related to Pandora? I like Pandora. Game coding skills will be useful for the graph editor. Pandora has a nice touchscreen, good for graph editing. It will run on Pandora (and other systems). And smart people who might like this project are here. If it can't be used to code awesome games then it fails as a programming language. So it will can do that!


Sam


AMPS.png
 
Last edited by a moderator:
Sounds like you'll have your work cut out for you! :blink:


What language will you be creating your language in? Why an all new language, rather than ones already available?


Are you planning to make the language compiled or interpreted?


Anyway, I wish you the best of luck and look forward to seeing the end result (and any progress) :)
 
Last edited by a moderator:
There are not enough Programming Languages already? :blink: How many exist? A gazillion? And nothing that fits in your needs? Can't be actualy. ^^"
 
Good luck with that!


"Creating best.." .. how about creating _a_, first ;)


jeff


(for fun: /thread, see Common Lisp ;)
 
"Why" is easy.. creating is fun, and you _can_ do better; my thought is just.. if you've never written an interp or compiler before, how do you expect to do Mona Lisa first? (oh, its possible, but very remote.)


Shoot high, but it does take about 10 years...


jeff

HTML5 is the best ever.

You mean HTML5 + java/ecmascript + unratified extensions + node.js or python/ruby/CLOS on the server, right? ;) HTML5 is just a markup language and a DOM specification :)


(one thign to consider.. Facebook abandoning HTML5.. "its not there yet".)


FWIW,m I did some tests .. on iOS, Safari runs html5 pretty good, for a game like you were making, but I ahd trouble keeping sound working beyond a music track (mid-2012, bleeding edge or iOS6 may vary.) Other browsers like iCAB etc ran pretty crummy. So, not really suitable for games yet, but coudl be with tweaks. (Performance was all over the palce too.. iPad2 slower, iPad3 slower again.. too many ixes perhjaps, or not always using hw acceleration..)


On Android, the beta Chrome is pretty good, but its only used in a tiny percentage of machines.. the normal Browser doesn't work for shit fps :/


jeff
 
Last edited by a moderator:
There are not enough Programming Languages already? :blink: How many exist? A gazillion? And nothing that fits in your needs? Can't be actualy. ^^"

Aw c'mon guys, that's not the right attitude! Projects like this are what makes this community so much fun!


Dredd, I hope you have a lot of fun going after this and stick with it. You'll certainly learn a lot!


I'm just gonna give you one requirement ... you have to make this new programming language, on a Pandora :D


Ah, and document your work.
 
Always nice to read of new programming languages. Any specific ideas of the type of language you're making? Paradigm? Typing? Special features? Bindings to other languages? Interpreted/compiled? Maybe compile using LLVM? So many possibilities :)
 
There are not enough Programming Languages already? :blink: How many exist? A gazillion? And nothing that fits in your needs? Can't be actualy. ^^"

Aw c'mon guys, that's not the right attitude! Projects like this are what makes this community so much fun!


Dredd, I hope you have a lot of fun going after this and stick with it. You'll certainly learn a lot!
Hm ... I don't think so.


Programing languages are something that require A LOT of work before they are useable and better than the already long existing, heavily tested alternatives.
 
Hm ... I don't think so.


Programing languages are something that require A LOT of work before they are useable and better than the already long existing, heavily tested alternatives.

You're right in every way!


But even if the person who is undertaking such an epic task doesn't complete it because of encountering unforeseen problems, that doesn't mean they won't learn something. How frustrating for someone to discourage someone else from trying something new, no matter how crazy.


The Pandora itself probably would not have been made if the creators had that attitude.
 
a functional programming language implemented in javascript! all variables have to be accessed by database-calls.
 
Thanks everyone for your interest.


This is a graphical / visual language, like LabView, not a textual language like C.


It's not a whim, I've been thinking and working on this on and off for 25 years, like I said.

What language will you be creating your language in?


Are you planning to make the language compiled or interpreted?

It will be self-hosted (written in itself).


I'll use C for bootstrapping it, and as a target language for translation.


C is fast, capable, simple, and portable.


It will need an interpreter, and later a compiler (translate into C).

There are not enough Programming Languages already?

How many visual logic languages can you find? I see one paper, it is not the same as what I have in mind although there are some common ideas.

"Creating best.." .. how about creating _a_, first ;)
Programing languages are something that require A LOT of work before they are useable and better than the already long existing, heavily tested alternatives.

Yeah I'm ambitious. That post subject is partly joking, partly serious. It might not turn to be the absolute best :p Or, it might.


I did create various languages, interpreters and compilers, and have spent 25 years designing this AMPS language, on and off.

New high-level languages with clean, mathematical/logic syntax & semantics are fun!


http://dtai.cs.kuleuven.be/CHR/

Thanks _wb_, I will read your PhD, hope I can understand it! If not I will ask. I really appreciate any help, especially to share and review ideas.

Aw c'mon guys, that's not the right attitude! Projects like this are what makes this community so much fun!


Dredd, I hope you have a lot of fun going after this and stick with it. You'll certainly learn a lot!


I'm just gonna give you one requirement ... you have to make this new programming language, on a Pandora :D


Ah, and document your work.

Thanks :) Maybe I'll try to make it on the Pandora but that is difficult. I still almost can't believe that _wb_ wrote microbes on his Pandora keyboard!


I have been lazy about documenting my work so thanks, that's a good reminder.

a functional programming language implemented in javascript! all variables have to be accessed by database-calls.

that sounds like a different project (or a crazy joke) good luck!

Always nice to read of new programming languages. Any specific ideas of the type of language you're making? Paradigm? Typing? Special features? Bindings to other languages? Interpreted/compiled? Maybe compile using LLVM? So many possibilities :)

Thanks B-ZaR, LLVM might be a good basis for a compiler. I am planning to translate to portable C code.


The paradigms I'm focusing on are visual, logic, modular, flow-based. Internal and external modules could be written in other languages. It is very expressive, flexible and concise, and the form is close to the meaning. It is based I hope on a clear understanding of basic mathematics.


For example, we can attach zero, one or many nodes to each side of a "sum" op. This single type of operator can do addition or subtraction, or any combination of such.


There is no need for a separate subtraction operator or equals sign. In text, x y + z means z = x + y and also x = z - y , y = z - x.


x + means x = 0. x y + means x = -y. x y + a b c means x + y = a + b + c, or e.g. a = x + y - b - c. These are best drawn as diagrams, not written in text form.


Similarly a single * operator serves for multiplication and division.


A single ^ operator with three ports serves for pow(), log(), sqrt(), etc. A single tri op with four ports can perform sin, cos, asn, acos, hypot, etc.


The single "disjoint union" operator is a basis for many set theoretic operators, such as "union", "intersection". This is similar to +, and might be merged with it. * corresponds to a multi-variate cartesian product.


A single "d" operator is sufficient basis for differential equations.


So with 5 basic operators + * ^ tri d we can express relations in arithmetic, set theory, and calculus.


We can define new ops with a graphical form, like lambda.


I have some ideas on structures and tables, how to manipulate lists and strings, and how to integrate processes and channels for flow-based processing and real-time work (such as games).


I'll write this up with some diagrams so it makes more sense. Hopefully I did not come across totally crazy in the above.


- Sam
 
Last edited by a moderator:
Thanks _wb_, LMNtal looks very relevant and useful. I'll try it out.
 
Back
Top