New S# Language - Smalltalk for .Net
curador writes "In an interview with David Simmons, CTO of SmallScript Corp., we learned about a new .NET language about to debut...." I was surfing around and found this article and had not noticed it on /. yet so start your flame engines please!"
It's not the language neutrality that's required it's the interfaces that need opening.
/net/tcp/$n/ctl
TK & Plan9 get this right by using character and not binary interfaces [Unicode in Plan9s case].
In Plan 9's once you've written a program and exposed it in the Plan 9 way you don't even need libraries & whatnot.
take a look at my IRC bot written in shell script
http://www.proweb.co.uk/~matt/chugly.rc
making a network connection, pah, who needs a socket library
echo 'connect slashdot.org!80' >
Writing a user level file system to implement such things is a bit more complicated but again, once written *any* program can utilise them with the simple commands we all know and love : echo cat grep ls awk etc. etc.
Here's one I wrote to do google searches
Now every program on my system can do a google search using simple file operations. Even programs compiled *before* I wrote mine, such as awk.
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
http://primates.helixcode.com/~miguel/bongo-bong.h tml
Miguel argues that piping is not a very good compenent model to build applications or systems.
In short:
Binary interfaces can have event interfaces.
Binary interfaces allow for strongly typed return codes, or can throw exceptions.
How do you do things like this with text/piping?
the better I was refering to in my post was speciifally that a new VM is required. Plan9 talks via a published protocol [9p] implementable on any platform. I guess .NET is potentially available everywhere but we know it won't be.
/dev/mouse
/dev/audio
/dev/audio /n/machine_audio /n/machine_audio
You are right that some knowledge is required up front to know what commands to issue.
One of the main advatages is the standardisation.
I presume you already know how to use cat, ls, grep, echo, > | & friends.
The use of familiair tools and a textual interface is to go with the "everything is a file" paradigm.
what to know where the mouse pointer is
%cat
play some audio
cat audio.pcm >
want to play it on another machine's soundcard ?
import -a machine
cat audio.pcm >
(permissions permitting of course)
Plan 9 has more to offer than just a few file semantics.
If you really are interested than a set of papers & all the manual pages are available. Installation is fairly straight-forward [hardware permitting] and there is a VMWare image also available.
Plan 9 isn't trying to be on everyone's desktop, it's more a market of ideas.
http://plan9.bell-labs.com/plan9
I can particularly recommend the plumber. File associations are pretty limiting. Imagine a system where regular expressions and a few shell scripts do the work. I wrote a class browser for my PHP code so that right clicking $foo->bar(); would bring up the definition of ->bar from my PHP source code [which sits on a FreeBSD machine] and it took me about 15 minutes.
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter