3 ms·
seems from the bottom of the post, since he posted a picture of scratch (which is a fantastic tool!) that the author really just has an opinion about this and
by keithnz 8y ago
seems from the bottom of the post, since he posted a picture of scratch (which is a fantastic tool!) that the author really just has an opinion about this and actually hasn't done really solid research and measured anything by actual outcomes.
The block based visual programming embraced by scratch and things like the BBS micro:bit are really good, my 7 year old son can do really cool things with these systems (also check out the new beta https://beta.scratch.mit.edu/ https://beta.scratch.mit.edu/ which is done with React for anyone interested )
You can even add this kind of visual block based coding into your own systems using something like https://developers.google.com/blockly/ https://developers.google.com/blockly/
I think it's a little shortsighted to think just because there's been tools that didn't really work out too well that the idea is bad
- chaostheory 8y agoI think what makes visual programming like blockly and scratch great is that you can actually see the restrictions of various constructs like loops. The visuals are just a lot less intimidating then just seeing a bunch of seemingly free-form text where the rules aren't as obvious. The main immediate downside that I can see is that normal programming refactoring tools are probably not going to work... yet. I feel that this is a big opportunity for AirTable, MS & Google (for their Office software), and Salesforce to look into. Maybe once AR and VR really take off, visual programming will have a major professional revival.
- DonHopkins 8y agoOne of the coolest ways to learn programming I've ever seen is the Snap! visual programming language, which is written in JavaScript and runs in the browser. Snap! is a visual "blocks" programming language like Scratch, but with the full power of Scheme: First class functions. It's the culmination of years of work by Brian Harvey and Jens Mönig and other Smalltalk and education experts. It benefits from their experience and expert understanding about constructionist education, Smalltalk, Scratch, E-Toys, Lisp, Logo, Star Logo, and many other excellent systems. Snap! takes the best ideas, then freshly and coherently synthesizes them into a visual programming language that kids can use, but is also satisfying to professional programmers, with all the power of Scheme (lexical closures, special forms, macros, continuations, user defined functions and control structures), but deeply integrating and leveraging the web browser and the internet (JavaScript primitives, everything is a first class object, dynamically loaded extensions, etc). Visual lexical closures. User defined blocks including control structures. Macros and special forms. Call with current continuation! Written in JavaScript and easy to integrate with JavaScript libraries. https://snap.berkeley.edu https://snap.berkeley.edu Adding Machine Learning Blocks to Snap! https://s4scoding.com/adding-machine-learning-blocks-to-snap/ https://s4scoding.com/adding-machine-learning-blocks-to-snap... https://project.ecraft2learn.eu/ https://project.ecraft2learn.eu/ https://github.com/ecraft2learn/ai https://github.com/ecraft2learn/ai https://ecraft2learn.github.io/ai/ https://ecraft2learn.github.io/ai/ ProgKids is a Russian site that integrates Snap! (and Python) with Minecraft, so kids can visually program 3d turtles that move around in the world and build things! https://progkids.ru https://progkids.ru ProgKids. Строим дом, а потом ещё пару (Building a house, then another couple) https://www.youtube.com/watch?v=muNpsk4UH7c https://www.youtube.com/watch?v=muNpsk4UH7c ProgKids. Куда же без зверей? (Why do you not have animals?) https://www.youtube.com/watch?v=1iBFwaUSDYI https://www.youtube.com/watch?v=1iBFwaUSDYI ProgKids. Как работает Snap? (How does Snap work?) https://www.youtube.com/watch?v=lh0mrqxFImQ https://www.youtube.com/watch?v=lh0mrqxFImQ More links and stuff I've written about it on HN: https://news.ycombinator.com/item?id=17594403 https://news.ycombinator.com/item?id=17594403
- keithnz 8y agocool... what strikes me about a number of these block based programming tools is they are quite approachable and complex functionality is not that hard to look at and know what's going on