On Tue, Jun 06, 2017 at 08:01:02AM -0400, John Luke Gibson wrote:
Both. Most languages today are pretty esoteric, even today. And, the problem isn't so much with the docs, as these languages were designed for people that already new another language equally esoteric, etc.
I would think Lisp's resurgence (as well as developing Guile) is a demonstration of GNU trying to break away from that paradigm.
Racket is a rather interesting variant of Scheme. Aside from having good tutorials and documentation, it explicitly allows mixed-language development. In fact, the first line of a Racket module usually states which language to use for the rest. And Racket has tools for defining alternative syntax and/or semantics.
[blah blah blah about making programming easier]
again, i feel that it is not appropriate to tell people these kinds of things, as it would be a restriction on what they do and learn. counter-example: some projects *have* to have a large code-base, by definition of their goals and scope.
I recognize that intuitive isn't always concise, but often it is. I only mean concise when it means intuitive. If a projects roadmap demands a large code base that is highly-esoteric and unintuitive, then that exhibits fault in the underlying language.
Racket's language-definition tool can be used to shorten notation within a large program, and also to define completely new languages.
For example, one of the languages so implemented is Algol 60.
Another is Scribble, a document compiler. Being based on Racket, it's possible to use arbitrary Scheme code in generating your document, should you choose to.
-- hendrik
I'm not suggesting any project change to prioritize this. To the contrary, I think I was quite clear: a project should only dedicate 'extra' resources to this type of endeavor.
There's one case in which a project decided they needed a scripting language, and they chose Gambit, a Scheme dialect that compiles to C or C++.
After they installed it, they discovered that it was often easier to add features in the scripting language than in the original C++ code.
Then they disovered that fixing bugs could often be done by replacing buggy C++ code by Scheme code.
After a few years, the codebase shrank from about 200,000 lines of code to about 30,000. (I'm not sure of the exact numbers, but they were of these orders of magnitude.)
-- hendrik