Sniff - A Language for Arduino and Pi
Written by Lucy Black   
Monday, 01 September 2014

Sniff, a language that is based on Scratch in which you write regular text-based code rather than dragging and dropping blocks to create programs, has reached Beta 8.

Sniif is described as:

a "Scratch-like" programming language that's designed to help Scratchers move gently from Scratch to more conventional languages. They can start writing programs, without having to learn a new language because Sniff is based on Scratch. They learn a little more about variables, compiling, syntax errors (!), and they can have fun controlling real hardware while they're doing it.

 

 

Its website went online in February 2014 with Beta 3, which supported Mac, Linux (x86) and Arduino Uno. The real idea is to provide the next step for enthusiastic Scratch users who otherwise have to make the transition to more difficult text based languages like Python:

"So why do they fail to move on?  Because they're ready to write SCRATCH!!!!. They know the blocks of Scratch, they know the control structures, they know the messaging model. They can create Scratch programs without reference to the block palette, because they're Scratch programmers. Python (or any other language), looks different, has different syntax --- how can anyone remember Python when everything they've been taught is Scratch."

Beta 4 has improved support for the Raspberry Pi and each successive beta has gone further as regards the Arduino versions and devices users can work with. The latest version adds support for: 

  • Gamebuino 
  • Punchthough Bean (not quite finished)
  • SIM900 Mobile Phone Shield

Beta 8 also has device aliasing. The Release Notes explain:

Devices were previously identified by their device types, so if you made a dht device it was called dht. That still works, so you can carry on as before, but we've added the option to name devices so you can:


make thermometer dht11 device

make display lcd device

 

This means you can swap out a ds18 for a dht11, or an lcdi2c for a regular lcd just by changing the declaration, rather than the whole code. However we've also taken the opportunity to rename some of the devices. Previously we tried to keep device names "meaningful" so for example the ds1307 device was called clock. Now you can name your own devices we can give the devices more specific names, and then you give them your own friendly names: "make clock ds1307 device". If you want a different kind of clock device (like the nativeClock device), then you can select it for yourself.

 

One thing that is clear from the above is that Sniff is good at tinkering with gadgets. However its main concept is helping those who have learned Scratch move on to a conventional "written" language and since Beta 5 it added a Minecraft device so that its users could program the Raspberry Pi version of Minecraft. 

A Programmer's Guide to Scratch 1.4

Scratch 2.0 Released - Use It In A Browser

A Programmer's Guide to Scratch 2

Let's Teach Kids To Code!

 

To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin,  or sign up for our weekly newsletter.

 

Banner


Apache Fury Adds Optimized Serializers For Scala
31/10/2024

Apache Fury has been updated to add GraalVM native images and with optimized serializers for Scala collection. The update also reduces Scala collection serialization cost via the use of  encoding [ ... ]



AI Propels Python To Top Language on GitHub
30/10/2024

This year's Octoverse Report reveals how AI is expanding on GitHub and that Python has now overtaken JavaScript as the most popular language on GitHub. The use of Jupyter Notebooks has also surged.


More News

 

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Monday, 01 September 2014 )