5 ms·
* It has to be as fast as possible, so interpreted languages are out. * You don't want to micro manage memory, so C is out. * You don't want to require
by silentbicycle 17y ago
* It has to be as fast as possible, so interpreted languages are out.
* You don't want to micro manage memory, so C is out.
* You don't want to require programmers to have a degree, so C++ is out.
* You want fast startup and not depend on a big runtime, so Java is out.
* It has to run on most systems, anything with a C compiler, so D is out.
* You want to have fun making something new.
No existing language really meets these demands, so let's create a new one that does.
Actually, Lua meets every point except the last one...it's byte-compiled, garbage collected, refreshingly free of exceptions-to-exceptions-to-rules you have to memorize, it starts and compiles faster than many other major contenders start, it runs on literally anything with an ANSI C compiler, and it's been in production use for over 15 years.
I use Emacs, but a Lua-extended vi could be very nice.
- Zak 17y agoSeveral Scheme implementations as well as some lesser-known small Lisps qualify. I think writing a new general-purpose language is something every programmer should try at least once, but don't fool yourself; there's probably an existing language that does what you want. Now, back to work on that language idea I can't get out of my head involving pervasive generic functions....
- wingo 17y agoI would like that language. (I say, as I work on getting compute-effective-method working in Guile...)
- Zak 17y agoI'm half-seriously considering implementing it. The basic form I have in mind is something that looks a bit like Clojure and runs on Parrot. I'm not attached to either of those ideas, but this being 2009, I think it should have some support for parallelism and access to libraries out of the gate.
- kingkongreveng_ 17y agochicken scheme is the only other language I can think of that compiles to C code. He is not making an interpreted language. It compiles down to machine code that runs directly; not vm bytecode.
- deleted 17y ago[deleted]
- aaronblohowiak 17y agoYou mean, like http://code.google.com/p/textadept/ http://code.google.com/p/textadept/ ?
- silentbicycle 17y agoWell, if I ran the zoo, it would be retargetable to multiple graphic modes (I'm going to be running it in ssh+tmux half the time, so I'd prefer curses) and have a mix of vi's modal keybinding style and Emacs's buffer/mark ring/etc. model and extensibility. Then again, with 2k loc, it shouldn't be that hard to break out the GTK... UI model nonwithstanding, that's exactly the sort of project that Lua is designed for.
- aaronblohowiak 17y agoNeat. Let me know if you get there :-) http://www.vim.org/scripts/script.php?script_id=1234 http://www.vim.org/scripts/script.php?script_id=1234 is handy.. You can also script vim with ruby and more.. http://www.vim.org/htmldoc/if_ruby.html http://www.vim.org/htmldoc/if_ruby.html