(no title)
read | 11 years ago
As an improvement over Lisp, it's succinct. You use fewer tokens, which helps write less code. You couldn't write less code in a different language even if you wanted to. (Try it.) There's no other Lisp that is more succinct.
For web apps, html templates are code in Arc, not files you have to edit and maintain separately. This helps keep all code in one file, and combined with macros helps shrink code. More code fits in your head, which frees you to think of writing programs that would otherwise have been so disturbing to think about, because of how much code or html you would need to write manually that would also be more complicated code, that you wouldn't attempt to write them. Like programs you must autogenerate: programs that write themselves.
Besides writing programs that write new programs, you can also write programs that change existing programs. You can parse programs and automatically transform them. 99% of programmers probably spend their entire lives never attempting this. Although too strong, this is an example of what separates a programmer who is exceptional from one that is merely competent. An advantage of Arc here is that, because it's more succinct than Lisp, it takes less work to transform an Arc program instead of a Lisp program. There's less to deter you from doing it when the opportunity arises and some types of problems can only be solved if you transform programs, especially programs written by others.
A huge advantage of Arc is simulating continuations in web pages with closures, which you end up needing in pages that contain a form. Write the following example in another language and see how many lines of code it takes: http://paulgraham.com/arcchallenge.html
You can work around a lack of libraries. You can call the system function, that calls some other programming language that returns results. But you cannot work around a lack of macros in a language that isn't Lisp without adding macros to the language. Though if you do that, you are basically back to using Lisp.
All roads lead to Lisp and Arc is the most powerful one.
No comments yet.