OldCodger wrote:
should BYOB not go the whole hog and fully adopt the functional programming paradigm?
In the course I teach for CS-major freshmen at Berkeley, we really try hard not to let our students become narrow adherents to any one programming paradigm; we visit functional, oop, and logic programming as well as a brief glimpse of client/server style with callbacks. I love functional programming the best, but one of the great things about lambda is that it's universal, and you can build oop using it.
As a practical matter, we are aiming partly at high school teachers, most of whom have had most or all of their experience in the Java-based AP course and who therefore believe that oop is the only way to go. We don't want to leave them out in the cold, although with time we hope to broaden their outlook.
Offline
So turns out Scratch 2.0 will be scratch with limited recursion, limited webcam, and limited cloud support. the scratch team at its best -.-
now that we have math functions, maybe add the (pretty essential) exponential one?
also noticed the NaN when the input is outside bounds (sqrt-1, acos91 etc.) #whyidontlikejavascript
maybe you should kind of cache the categories, it takes so much time to switch them
tried to profile it a bit, it looks like the biggest time-eaters are the String/TextMorph drawNew method
if some optimization could be used...
Offline
You know last time I checked, acos 0.5 = 60, NOT 60.000000000000000000001
Offline
joefarebrother wrote:
You know last time I checked, acos 0.5 = 60, NOT 60.000000000000000000001
Tell that to ECMA. I believe Snap uses Javascript's "Math" library, so any error like this is out of the control of Jens and bharvey.
Offline
OldCodger wrote:
could the windows be dockable/undockable so that users can rearrange them as desired?
We definitely plan to allow resizing of the stage (moving the edge between it and the scripting area). Do you need more flexibility than that?
Oh, and somewhere down the road we'll figure out a multiiew UI to make it usable on a phone-sized screen.
Offline
Well, I think I'd like to be able to undock the stage and sprite windows from the editor because they are functionally different. The blocks window is too narrow at the moment to display some of the longer blocks in their entirety, and having free floating windows gives the greatest flexibility.
The Smalltalk development environment is an excellent model I think. Talking of Smalltalk as a model has any thought been given to alternative development methods such as a TDD option as the debug facilities are expanded.
Offline
Another idea I like is seen in the StarLogo TNG window. Here there is a continuous canvas which has designated areas for different code elements: Turtles, Everyone, Setup, Runtime, Collisions. These all help structure the code during development. The small minimap view is a fast way to get to each section.
StarLogo TNG also has the useful metaphor of a Factory Palette which fits nicely with creating block templates.
Offline
will there be GUI components in 4.1, like in Java?
Offline
@Jens
Thanks for the math functions ...and the changes of math sign "fonts" (+ - x /) easier to read. I am puzzled by the following issue. When Snap! draws a symmetrical trigonometrical curve like a cardioid (using cos function), the curve is slightly turned on the side. I'm using exactly the same code I used before, using my own trigonometric functions (based on Cordic algorithm). I am going to further investigate by reproducing the same application with Byob.
Offline
I was wondering if you could make it so I can copy and paste into the text box on a block? I need it for the import to list block I've made.
Offline
Snap! alpha update:
Virtual keyboard and pinch zoom for iPads are now available in a first (still rough) version in the current alpha build.
Enjoy!
Last edited by Jens (2012-05-21 15:08:59)
Offline
Jens wrote:
Snap! alpha update:
Virtual keyboard and pinch zoom for iPads are now available in a first (still rough) version in the current alpha build.
Enjoy!
I've tried it on one Acer Tab 500 + Android 4.0 + Chrome
It's impressive !!! Everything works perfectly (except that I have no keyboard available)
Now I would be curious to load a sample Snap! appli ( )
Once again, congratulations Jens !!!
Offline
@Jens
On my tab the drag-n-drop method is slow and touchy.
May I suggest you a different way to move palette block onto the script area ?
Select a palette block by clicking on it , then click on the position of the Script Area where you want to move it (no more dragging) .
Then you move the block inside the script area as usual.
Anyhow you have succeeded in making the proof of the concept .
Wonderful !!!!
I'm going now to make a test with a physical keyboard
Offline
Jens wrote:
Snap! alpha update:
Virtual keyboard and pinch zoom for iPads are now available in a first (still rough) version.
Enjoy!
I just tried the alpha version of Snap on my iPad. Touching the screen causes the message "Clean up or make a block". Touching the stage causes the message "edit" to appear. The screen pinches and zooms in both portrait and landscape but hung twice.
I managed to edit a block and enter values from the virtual keyboard. The sprite drew a square correctly with pen down. Setting "rotate" failed to work. The sprite kept the same orientation.
After blocks were built it was difficult to move them without their losing focus and breaking apart.
Hope this is useful!
Offline
Jens
I have used a Bluetooth to enter the numerical values and I've written my first Snap! tab appli.Even WARP works.
I've not yet found a Screen capture application, so I've taken a picture of the screen and sent it to your email.
Offline
Hi Graham and Xavier,
thanks for testing the new features for tablets!
It's a bit tricky to distinguish my way to pop up a context menu (tap one finger on the object, hold it and then tap another one anywhere) against the device's multi-touch pinch gestures. That's why you will frequently get a context menu if you pinch anything, and things will appear not react to pinches occasionally. I'm still trying various ways to avoid this and I'll let you know when I change anything.
Invoking the virtual keyboard for a purely canvas based application is unbelievably kludgy, but at least it seems to work now. Again thanks for testing!
At the moment, serialization is incomplete and partly broken. The rotation style options do work, but they don't get saved, the same applies to any scaling. Worse, there are serious flaws regarding global variables and local stage variables. Again, they work fine, but once you save/reload a project, there are errors. We're working on that one...
Offline