This was really interesting Devon. Thanks for sharing it. It led me down a couple of rabbit holes, and one of them blew my mind:
http://vimeo.com/36579366 That video is an hour. It is worth the hour. Bret Victor starts out by stating that one of his foundational, motivating principles for working and inventing is making it easier for creators to connect with their work, by which he means get feedback faster. Then he demonstrates how that might play out in different creative disciplines, through tools he developed for programmers (both concrete programming like writing a video game, and abstract programming like coding a search algorithm), for circuit designers (and how a change in medium is an unparalleled opportunity to improve notation), for film-makers and graphic artists (where new technologies like the iPad might make creating movies more fluid, intuitive, exploratory, and ultimately creative). The video is framed in a call to action for principles-driven invention, and ends with discussion of how some famous and effective historical figures (in computing and otherwise) identified invisible problems, turned them into missions, and ultimately built lives from them. But leaving aside the philosophical bent, if you've ever felt the exhilaration of developing in the J (or APL) session manager, where there rapid back-and-forth almost seemed a conversation with the interpreter, or if you've experienced an almost playful joy when exploring a concept in the REPL, and J's notation felt almost suggestive to you, then you'll get what he's saying, and the demos will hook you. I've known many programming languages in my life, but I've abandoned most of them, J being the outstanding exception. I now see J less as a programming language, and more as a language; when I want to create something, my first instinct is to turn to J, though it lacks some of the task-oriented tools I can find easily elsewhere. Part of that is its no-fuss setup, as Devon indicated, but another part -- the largest part -- is the immediate, fluid feedback, and the iterative, playful, exploratory experience it engenders. I've often wondered how that experience can be brought to other languages, other endeavors - and Bret demonstrates some very compelling ideas. -Dan PS: One of the reasons J is uniquely suited to this kind of REPL-based development is that it is terse. You can express big ideas in just one line, and then get feedback on those big ideas (that one line) immediately. Bret's video demonstrates how you might achieve that in a more verbose, von-Neumannish language (Javascript). I wonder what kind of development system we could produce if we combined J's inherently immediate nature and some of Bret's ideas! On Jan 9, 2013, at 12:20 PM, Devon McCormick <[email protected]> wrote: > There's an interesting article referenced by Slashdot here: > http://www.xconomy.com/san-francisco/2013/01/08/programming-literacy-done-right-its-about-the-tools/?single_page=true. > > The author makes the point that there's a lot of unnecessary cruft around > most programming environments and identifies two gaps in particular: > "No-fuss setup" and "Task-oriented tools". > > J could do better on the first of these - though it's getting close. > Something like automating loading all the add-ons at installation would get > us a bit closer. > > The latter gap is one we've brought up many times at NYCJUG. It's tough to > address thoroughly with such a small community but things like some of the > labs and packages people have worked on - like Cliff's images add-ons - are > steps in the right direction. > > -- > Devon McCormick, CFA > ^me^ at acm. > org is my > preferred e-mail > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
