Hello Everyone,
I'm beggining a project to design a scripting language of my own. It will be object oriented, and will be centered around ease of usability, clean language design and performance. Some languages that inspire me are LISP, Python and Ruby, C++ and Java.
I'm doing this:
- "for the heck of it" (or more specifically, for the experience I will gain)
- Because I feel capable of doing it (because I can!)
- Because I'm slightly disappointed by existing options
I have used Python for a few medium-scale projects and found that it was simple and worked well. Yet its design feels slightly unclean. All attributes of a class are public by default, private ones are declared by using ugly __ notation, the whitespace indentation breaks with some editors and doesn't clearly signify the end of some code blocks. It also seems that Python is rather poor when it comes to GUI programming. There is no standard Python GUI library... I also found that the Python reliance on "self-documentation" was often an excuse not to document code at all.
Ruby is also a nice scripting language, but it's rather obscure. It has alot of syntactic tricks and oddities that make it unfriendly for any newcomer (even those with previous Python experience, for example)... It's also difficult to find simple documentation, like a proper language reference... Lots of small tutorials that work "by example", but nothing to actually explain all the language oddities... It seems to me that the only reason Ruby has any popularity at all is Ruby on Rails... And as soon as something else becomes more fashionable, its limited popularity will decline.
Java has ups and downs. The main advantage with it is that everyone knows java (or almost)... The main downside is that it's not such a practical language. Your platform must have an up-to-date JVM... And well, you're mostly limited to libraries that do have java bindings. Java does have a GUI lib, but no stock OpenGL support at this time, which limits its usefulness for developing videogames, for example. Java may be fast for a scripting language, but when you consider that it's actually not a scripting language, and that it is performing very poorly when it comes to anything computationally intensive... You may be disappointed.
My personal goal is simple: to have my cake and eat it too
I would like my language to come with OpenGL support by default, and to encourage "clean" programming practices (eg: commenting, REAL documentation, not making all attributes of your class public). As for cross-platform GUI support, my idea is to simply implement it on top of OpenGL! That way the language can support all kinds of effects you can imagine, provide fast rendering, and guarantee that things look the same (or almost) on every platform.
What I am looking for are two simple things...
First of all, feature suggestions. If you have used scripting languages before, what did you find was good, what did you find was lacking, what would you like to see in an "ideal" scripting language and why? What would you like not to see in a scripting language?
Another thing I would like to find is expertise. If anyone here has experience with programming a garbage collector, a compiler, or developing their own scripting language, for example, I would like to chat with you (send me a PM with your IM contact info if you are interested). I would like to develop a high-performance moving GC (like C# has), and would require some technical help. I may also be interested in working with collaborators if we have enough in common
I'm beggining a project to design a scripting language of my own. It will be object oriented, and will be centered around ease of usability, clean language design and performance. Some languages that inspire me are LISP, Python and Ruby, C++ and Java.
I'm doing this:
- "for the heck of it" (or more specifically, for the experience I will gain)
- Because I feel capable of doing it (because I can!)
- Because I'm slightly disappointed by existing options
I have used Python for a few medium-scale projects and found that it was simple and worked well. Yet its design feels slightly unclean. All attributes of a class are public by default, private ones are declared by using ugly __ notation, the whitespace indentation breaks with some editors and doesn't clearly signify the end of some code blocks. It also seems that Python is rather poor when it comes to GUI programming. There is no standard Python GUI library... I also found that the Python reliance on "self-documentation" was often an excuse not to document code at all.
Ruby is also a nice scripting language, but it's rather obscure. It has alot of syntactic tricks and oddities that make it unfriendly for any newcomer (even those with previous Python experience, for example)... It's also difficult to find simple documentation, like a proper language reference... Lots of small tutorials that work "by example", but nothing to actually explain all the language oddities... It seems to me that the only reason Ruby has any popularity at all is Ruby on Rails... And as soon as something else becomes more fashionable, its limited popularity will decline.
Java has ups and downs. The main advantage with it is that everyone knows java (or almost)... The main downside is that it's not such a practical language. Your platform must have an up-to-date JVM... And well, you're mostly limited to libraries that do have java bindings. Java does have a GUI lib, but no stock OpenGL support at this time, which limits its usefulness for developing videogames, for example. Java may be fast for a scripting language, but when you consider that it's actually not a scripting language, and that it is performing very poorly when it comes to anything computationally intensive... You may be disappointed.
My personal goal is simple: to have my cake and eat it too
I would like my language to come with OpenGL support by default, and to encourage "clean" programming practices (eg: commenting, REAL documentation, not making all attributes of your class public). As for cross-platform GUI support, my idea is to simply implement it on top of OpenGL! That way the language can support all kinds of effects you can imagine, provide fast rendering, and guarantee that things look the same (or almost) on every platform.
What I am looking for are two simple things...
First of all, feature suggestions. If you have used scripting languages before, what did you find was good, what did you find was lacking, what would you like to see in an "ideal" scripting language and why? What would you like not to see in a scripting language?
Another thing I would like to find is expertise. If anyone here has experience with programming a garbage collector, a compiler, or developing their own scripting language, for example, I would like to chat with you (send me a PM with your IM contact info if you are interested). I would like to develop a high-performance moving GC (like C# has), and would require some technical help. I may also be interested in working with collaborators if we have enough in common