Snap! 6 is here, and it's all about scale
snap.berkeley.edu
snap.berkeley.edu
The one really terrible thing about the current iteration of Snap (that I think would be trivial to solve?) is that you have to remember to save your work. I don't think that's a normal thing for people to think about on the web in this day and age, and I have seen many students (and my own children) lose large amounts of work due to this. It's extremely discouraging.
Other than that though, the snap language/environment is quite nice.
(Doing it right also can incur some costs, and that's something we would need funding for...)
In the case of auto-save, there's a lot of unsettled design trade-offs, and other needs keep coming up. But if you're curious, you're welcome to check out the GitHub: snap-cloud/snapCloud is the backend, and jmoenig/snap is the main IDE.
I'm actually listening to a TEALS meeting right now! Funny to see it on HN.
https://ntls.info/ntls-educational-leadership-award/brian-ha...
>[...] Snap! is a remarkable technological achievement. However, like Logo, its greatest achievement is arguably the educational philosophy that it draws upon and supports, and the associated community drawn together by this philosophy. In a very real sense, the Snap! community embodies the spirit of the early Logo community, extending it for the modern world. The NTLS Educational Technology Leadership Award, awarded to Brian Harvey and Jens Möenig, is presented in recognition of that accomplishment.
OTOH, for most 61a students, this course (indeed the entire major) amounts to a very expensive form of vocational training. Developing an aesthetic appreciation for finely crafted code seems somewhat orthogonal to their end goal, which in 99% of cases is getting a high-paying job writing Python, C++, or some other A-list language. I can't really see the benefit of a formative semester spent on honing their Lisp chops. As educators, we want to believe that the latter leads to the former, but I'm a bit skeptical.
His delight in programming is so contagious even with social distancing and teleconferencing!
Snap!Con20 Keynote - Hyperblocks
Opening keynote address of the Snap! Conference 2020, UC Berkeley, about APL-style hyper-operators (working on scalars, vectors, matrices and multi-dimensional data) and the fun to be had applying them to media of all kinds
https://www.youtube.com/watch?v=K1qR4vTAw4w&ab_channel=JensM...
Also cool, if a little weird to me, to see full-blown map-reduce and APL-like features; I feel like that moves away from the "beginner's language" that I think of when I think of Snap, and builds at least the ability to take it a lot further. Which, honestly, is just really cool:)
Here's part of a presentation I drew up earlier this year with a few slides outlining the architectural changes:
https://forum.snap.berkeley.edu/uploads/short-url/a5eBP71x50...
> Oops! That page doesn’t exist or is private.
We've played around with various ideas for how many blocks to show and it's definitely a work in progress constantly, but the current design is because most people are using Snap! in the context of a course where there's a push to learn those tools and so they get used pretty frequently. :)
btw do people transition out from snap! ? do they go emacs ? vi ? <big>IDE ?
You have a choice between multiple script languages (Lua, Javascript and more). The run-time library [3] only has a handful of simple functions but is feature-complete nonetheless (plus there is some address-based peek/poke API to do more advanced, low-level stuff).
I'd imagine learning javascript programming by starting game-development in TIC-80 to be much more straight-forward than attempting to wrestle with the complexities of HTML5+CSS+javascript+tooling for in-browser programming.
If someone makes improvements on a mature program that a lot of people have worked on, that is impressive. If someone uses 20x the memory they need, that is fixing something that should never have shipped in the first place.
Then they say this memory reduction is reducing the program's ecological footprint. DDR4 uses 1.5 watts. In one day your refrigerator will use more electricity than your memory will in a year.
Snap! is designed to allow students write code in the same way they might in Scratch, but then move them on to exploring CS concepts. It's also somewhat more extensible, including allowing people to make blocks pseudo-natively in JS. (We don't really expect students to do this, but it's a great way for instructors to build tools for assignments or just experiment with ideas not yet in the language.)
Keynote by Jens Mönig "The Music Comes Out Of The Piano. Learning With Computers & From Computers" during ECTELFI20 - the joint online conference of the 15th European Conference on Technology-Enhanced Learning (EC-TEL20) and the 18th Annual Conference of the Educational Technologies SIG of the German Informatics Society.
Note: it’s related to the visual programming language.
https://en.m.wikipedia.org/wiki/Snap!_(programming_language)
Or with full snark mode enabled:
Note: it’s about the visual programming language (2009) and not the package manager (2014.)
:)
Note: it’s about the visual programming language (2009) and not about the band (1989) or the package manager (2014.)
:)
(full geek mode enabled: the band name is even spelled identically, including the bang: https://en.wikipedia.org/wiki/Snap! - Given that Jens Mönig, like the band, is German, here's hoping that the name is a tribute)
https://en.wikipedia.org/wiki/Snap!_(disambiguation)
https://en.wikipedia.org/wiki/Snap%21
https://en.wikipedia.org/wiki/Snap!_(album)
https://en.wikipedia.org/wiki/Snap!_(programming_language)
https://en.wikipedia.org/wiki/SNAP%21
I think the Object Oriented version of Snap! should be called "Snap! Snap!" instead of "Snap!++".
Great minds snap alike! (That man's nuts: grab 'em! Woo hoo!)
We were very happy with the name BYOB, but we had a few teachers tell us very insistently that they could never use a language called that with kids. Those of you who live in civilized countries can't appreciate Americans' lack of a sense of humor. So we were looking for a reasonably short name for which the ___.berkeley.edu domain was available, and Snap was what we found.
That said, I feel a bit dumb right now, but can you (or anyone, really) elaborate what's funny and/or sensitive about the name BYOB? I really can't figure it out. It seems like just an abbreviation to me.
Bring your own beer, and since alcohol is Evil™ anywhere even remotely associated with children...
It's a pity that Scratch seems to innovate at a very slow pace - Snap is far ahead of Scratch.
If you are interested in teaching kids to program I can highly recommend Construct 3 and also Code Combat.