I think you meant: not for regular everyday applications? Which is understandable. But, surely, the syntax could've been more intuitive with a little bit of syntax sugar. Example: "5+6" is easier to read than "5 6 +" and I bet would attract more programmers to use the language. Unless there is a reason for the syntax that I'm not aware of.
akkartik1 votesTuesday, January 22, 2008 at 6:29 PM
:) No, I meant it's meant for computer programs to read, rewrite and evolve, not humans.
"Push is.. intended primarily for use in evolutionary computation systems (such as genetic programming systems), as the language in which evolving programs are expressed."
julianmorrison1 votesTuesday, January 22, 2008 at 5:31 PM
That's a beautiful language, and I like the way they've made it type-safe by generalizing from Forth's two stacks to n stacks. The code and exec stacks are clever too, although they would make it hard to implement efficiently in compiled code.
This is really interesting. I just read akkarti's comment and the section about random code generation and then it hit me. First I thought it was a language for writing genetic algorithms. But actually you don't write programs with with Push, you simply randomly generate them (the randomizer can be written any language of your choice) and then create some sort of an evolutionary environment where some of the randomly generated programs survive and others die depending on preset tests. Repeat the cycle a few tens of thousands of generations until a program that does the task you want evolves. But that's going to a program that's impossible to debug ;)
zkam831 votesThursday, January 24, 2008 at 1:14 PM
I think computers will take over programmers jobs earlier than we think. With a language like that and the powerful tools of automated testing, most programmers will not stand a chance.
And it looks like lisp because it's implemented in lisp.
I think you meant: not for regular everyday applications? Which is understandable. But, surely, the syntax could've been more intuitive with a little bit of syntax sugar. Example: "5+6" is easier to read than "5 6 +" and I bet would attract more programmers to use the language. Unless there is a reason for the syntax that I'm not aware of.
"Push is.. intended primarily for use in evolutionary computation systems (such as genetic programming systems), as the language in which evolving programs are expressed."
http://hampshire.edu/lspector/push3-description.html#Overview