4 ms·
My point is that Rebol and Red are extremely good chameleons - they hide all their power behind the approachable facade, and make a false impression of "oh it's
by 9214 8y ago
My point is that Rebol and Red are extremely good chameleons - they hide all their power behind the approachable facade, and make a false impression of "oh it's just X, nothing serious". I saw a fair share of people who, based on that first impression, dismiss Red as a quirky alternative to Python, or a GUI-building kit, or a pretentious academical toy, you name it.
But that doesn't mean that these languages child-safe by default, and indeed, foot-shooting starts as soon as you begin to harness that power - that's where the real fun is, which IMO kids can't appreciate fully. As you said, it's anything but a finger paint.
But if it clicks in kid's brain from the get-go and grows over him, then the world is ought to see some great paintings ;)
- vanderZwan 8y agoAh, so we were more or less on the same page from the beginning. BTW, is there a child-safe dialect for Red? How easy or hard would it be to create an environment like Processing or p5.js, without the foot-shooting risks? https://processing.org/ https://processing.org/ http://p5js.org/ http://p5js.org/
- 9214 8y agoThat kinda a broad question. Easy - you can create a live-coding IDE in 20 lines or so, Draw and View a pretty capable for interactive Processing-like demos, bottlenecks can be rewritten in R/S. Hard - hit the academical papers and define what can be considered a "child-safe programming environment". Then implement a separate toolchain for that.
- vanderZwan 8y agoI was thinking more along the lines of [Somewhere between Easy and Hard?] - make the dialect operate in a safe sandbox that can't destroy your computer ... plus optionally convenience functions fitting for the creative problem domain like how Processing removes a lot of Java boilerplate, and p5 does similar things for using the various JS APIs. One can just look at the APIs of Processing, p5 and OpenFrameworks to get an idea of what works there, though.
- 9214 8y agoSafe sandbox: Rebol had Protect and Secure dialects [1, 2], which are planned to be implemented in Red. Language is very dynamic though, so there's a certain limit on what kind of safety can be enforced at runtime. Creative problem domain: that's what Red is all about in my point of view - slapping domain-specific languages one on top of another to pin down the exact problem space. Draw for 2d vector drawing, View for GUIs, Parse for, well, parsing and metaprogramming, et cetera. The crux is usage of same data format and common notation at every abstraction layer, be it low-level programming or high-level scripting. I don't think that Red can handle large-scale projects the way language workbenches do (yet), but it can be used for moderately small embedded DSLs. Does that answer your question? [1]: http://www.rebol.com/docs/words/wsecure.html http://www.rebol.com/docs/words/wsecure.html [2]: http://www.rebol.com/docs/words/wprotect-system.html http://www.rebol.com/docs/words/wprotect-system.html
- vanderZwan 8y agoYes, thank you!
- greggirwin 8y agoCreating a dialect is pretty easy, though it's a broad term, so not ALL are easy to create. :^) An environment is an entirely different beast, but @9214 addressed that already as well. The more you leverage core features, the more you get outside your dialect though. You trade power for safety. It's easy to create a simple Logo Turtle interpreter though.