The Crack Programming Language
code.google.com
code.google.com
1. With Go, I understand the point. It makes advances in terms of how easy it is to write concurrent programs, without completely ditching the traditional imperative model.
2. Rust is a different take on the same point. We want concurrency and safety. Rust's difference from Go is that it is more safe, and makes it easier to give latency guarantees.
But I don't get what's "hard" about, say, Go, that Crack would make things easier for me. What does Crack offer that Go doesn't? Or Python? Why would I want to use Crack at all?
(I get that they want to say it's "addictive" so they'll call it "crack", but it's a terrible name. I worked for a company that wanted a product to go viral so they code-named it "Marburg", after a biological weapon. Maybe I should name my next product "Enola Gay" because it will level the competition?)
but yeah, maybe its the name
import crack.io cout;
x := 'test';
cout `This is a $x\n`; # prints "this is a test" to standard output.
Really weird strings... I don't even know how to type this character with my keyboard layout.
Nice job for this language. It has a lot of things for so few versions. I couldn't build something like this. But who would use this? D is 10 times better and mature and almost no one uses it.edit: a couple of funny things for italian keyboards, if you are a programmer or use linux/unix: there is no backtick, there is no tilde, '/' is shift-7, '/' and '?' are on different keys, '{}' are on altgr-shift-è.
Perl's strings look pretty much the same as everyone else's strings.
Where’s the speed comparison? Where’s a substantial enough code sample to show that development is “easy”?
(Popular JavaScript implementations manage high speed even with runtime dispatch. The optimizations make heavy use of static analysis, but this is difficult to do.)
Garbage collection and run time safety checks probably cost more than call indirection.
For example, imagine a function that multiplies two matrices. If the matrices are statically typed, the resulting function would only need to allocate the result. If the matrices aren't statically typed, you need to dispatch on the type of each element in each matrix. That will take much longer.
Yes, there are ways around this in languages with dynamic dispatch. However, my point is that LLVM won't do it for you.
Have you looked at the Flua project yet? It's pretty much this and much more. http://flua-lang.org/
Just stay on a constructive level. It would have been nice if you submitted a bug report on GitHub about the error you got on your Windows machine.
wonderful.
i++__raw[args[i++]] = 1;
(C programmers would disagree about this, of course :) )