On Sunday, 17 February 2013 at 06:28:09 UTC, Ary Borenszweig
wrote:
Hello everyone :-)
I follow this newsgroup from time to time. I like D templates.
I like the auto keyword. I like auto in templates. I love
efficiency and expressiveness.
I believe in smart compilers.
(you might remember me: I'm the author of Descent)
I *really* like D, because it cares about one thing I care
about: *performance*. Let's save this world's energy. Let's
make a better world. Let's make users' life more enjoyable.
Let's be happy :-)
But... do we really have to specify const pure safe nothrow and
whatnot? Can't the compiler be smarter? I'm sure there must be
a better way. Most new programming languages look like older
ones. Newness comes slowly...
One time I asked in this newsgroup if it was possible to have
an "auto" keyword for function/method arguments. And... why not
make all functions/methods be templates on the type of its
arguments?
I think nobody liked this idea. I said "Ruby is like this: you
never specify types in method definitions".
"But Ruby is not efficient". "Ruby is a dynamic language". "D
is compiled, so it's faster". "Don't make the mistake of
comparing a dynamic language with a static/systems programming
language". This were some of the answers I got.
I started thinking about this idea: a compiled language that
looked like a dynamic language. Is it possible?
Today, I'd like you to take a look at what me and my friend
Juan have been working on for the last half month or so. It's a
new programming language which aims to be efficient, have
similar syntax to Ruby, and where you never have to specify
types of variables and arguments.
https://github.com/manastech/crystal/wiki/Introduction
I'd also like to ask you:
1. Do you know whether a similar language exists?
It's not Ruby-like, but Julia has some similarities:
http://julialang.org/
Best,
Graham