Slashdot Mirror


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!"

47 comments

  1. Nothing to flame by mnmn · · Score: 0, Flamebait

    and nothing to get angry about. A small section of world's developers will learn and use it, and the bigger smarter percent will use standardized portable tools. API companies like trolltech and SUNs Java will win in the end. The best and the brightest will continue to use ANSI C '99 with ANSI C++ sparingly.

    Microsoft can release RPG.NET, Java.NET Ruby.NET Perl.NET or whatever and it wont do any good to them or their reputation. Theyve already attracted the bottom of the barrel among developers, implied by Bill Goates when he said Microsoft has learned rallying the developer community from Linux. He was bullsh*tting. They havent learned a thing.

    --
    "Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
    1. Re:Nothing to flame by Khalidz0r · · Score: 2, Funny

      Java.NET already exists, under the beautiful name of C#

      --
      "What you 'seek' is what you get!"
    2. Re:Nothing to flame by Anonymous Coward · · Score: 0

      The best and the brightest will continue to use ANSI C '99 with ANSI C++ sparingly.

      The best and brightest will be using ML or maybe Common Lisp.... most of the rest will be using C, and the dregs will be using VB.NET

    3. Re:Nothing to flame by Anonymous Coward · · Score: 0

      "The best and the brightest will continue to use ANSI C '99 with ANSI C++ sparingly."

      The best and the brightest weren't using C even in 1999, they had already moved on to C++.

    4. Re:Nothing to flame by Anonymous Coward · · Score: 0

      That's a good point. Nobody is using C#. I know several people who were hired, paid to learn C#, built their apps in VB.Net, and have now been laid off the wake of the recent dotNet crash, similar to it's cousin by name, but not in scope. Most of these projects were either started by "ex-microsoft" employees, or directly sponsored by microsoft.

    5. Re:Nothing to flame by Raiford · · Score: 1
      actually J#

      --
      "player 4 hit player 1 with 0 stroms"
    6. Re:Nothing to flame by Raiford · · Score: 3, Insightful
      The best and the brightest will use the language and the environment that is best suited for the task. Nobody is going to write a device driver in VB and no one should waste time is going to writing some simple gui front in for an ODBC connection to an Acess DB in ANSI C.

      --
      "player 4 hit player 1 with 0 stroms"
    7. Re:Nothing to flame by insecuritiez · · Score: 1

      Why wouldn't anyone write a device driver in VB? Maybe not in VB 6.0 but the whole idea of .net is that no matter what language you use, VB.net, C#, S#.... It all compiles to the same M$ Intermediary code. And since this is a managed code and not native code it takes a performance hit (Microsoft really plays this down, trust me, I've asked all the questions and gotten not a single strait answer). What you should have said is that no one is going to write a device driver for the .net framework period. The .net framework is primarily for web services. It has other advantages and features but none of them include high-performance mission critical applications and drivers. That's for ANSI C and other languages that compile to native binaries. Good memory management skills and code optimization skills will never be replaced by fancy frameworks. What the .net framework does is put training wheels on programming and lowers the overall quality of code produced as well as the median skill and knowledge of the programmer pool.

    8. Re:Nothing to flame by Anonymous Coward · · Score: 0

      could not agree more

    9. Re:Nothing to flame by toriver · · Score: 1

      J# is little more than a tool to convert existing J++ apps (read JDK 1.1 plus Microsoft alterations and libraries) to .NET.

      C# is closer to being the language part of the Java clone that .Net is.

    10. Re:Nothing to flame by mnmn · · Score: 1


      Well said. Applies equally to J2EE. I asked some techies a while ago how cant ANSI C/C++ code, if programmed skillfully, be better than J2EE. Use standard portable libs and you have portable code.

      However J2EE is based on a huge pool of Compsci grads weaned on Java in their second year. J2EE is also quite mature and compliant with other companies and plays well with opensourced projects. .NET isnt. Players like IBM and Oracle are working to optimise their J2EE platforms, Microsoft alone couldnt compete there, least due to their software quality.

      --
      "Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
    11. Re:Nothing to flame by Viol8 · · Score: 1

      Really? Perhaps you'd like to talk to Linus about why C++ can't be used to develop the linux kernel and why it (and all driver code) must be written in C. But obviously people who write operating systems arn't the best and brightest , no , they'd be the people that write yet-another-dbms-frontend. Right?

  2. Another Language :-( by lyoz · · Score: 1

    .....Bring it on :-)

    --
    ... hee2 is stuck under the bed.
  3. My question is this... by MonTemplar · · Score: 2, Funny

    How much does SmallScript have to pay Microsoft for the use of the # in S#? :)

    --
    -MT.
    1. Re:My question is this... by Anonymous Coward · · Score: 0

      ... or Bell Labs for the S language for that matter.

  4. Good for Smalltalk users by SteveX · · Score: 4, Insightful

    I never really "got" Smalltalk but the folks that do love it. One of the cool things about the .NET framework is that being language neutral, your choice of language doesn't have to be based on what toolkits and libraries and whatnot are available to it.

    So Smalltalk programmers, through S#, will be able to talk to DirectX or Gtk# or MySQL or whatever without someone having to come up with bindings or libraries or whatever they might otherwise need. Scary. :)

    - Steve

    1. Re:Good for Smalltalk users by jorleif · · Score: 1

      It's certainly cool, but what is so scary about it? That there will suddenly be more diversity in programming languages used? So someone who is very good with a certain language can really leverage that advantage since they don't have to code their own library bindings as well as the program.

    2. Re:Good for Smalltalk users by Anonymous Coward · · Score: 1, Insightful

      It's language neutral so long as your language is a garbage collected, single inheritance, single dispatch 00 language. Otherwise, your language becomes "C# with a thin veneer of another languages syntax".

      Common Lisp on .NET, for example, while possible, would be heinously inefficient, not properly integrable with the crippled Object model (compared to CLOS's multi-dispatch, multi-inheritance model), and all in all pretty pointless.

    3. Re:Good for Smalltalk users by MisterFancypants · · Score: 0, Flamebait

      .Net supports multiple inheritance just fine, asshat.

    4. Re:Good for Smalltalk users by Anonymous Coward · · Score: 0
      .Net supports multiple inheritance just fine, asshat.

      For sufficiently small values of "fine": only unmanaged code can use multiple interface inheritance and nothing can use multiple code inheritance.

    5. Re:Good for Smalltalk users by chrisseaton · · Score: 1

      Multiple interface inheritance is allowed in managed. I think multiple code inheritance is only not allowed in C#, but if you did it in ILASM you could.

    6. Re:Good for Smalltalk users by toriver · · Score: 1
      One of the cool things about the .NET framework is that being language neutral

      ... as long as your language of choice has a dialect that conforms to the CLS. That's why Visual Studio.NET's C++ compiler has a ton of "features" you need to use in order to be "managed" by the CLR.

    7. Re:Good for Smalltalk users by Anonymous Coward · · Score: 0

      You can cludge it in ILASM, but you lose type safety. Pointless.

  5. Interface Neutrality, not Langauge by DrSkwid · · Score: 3, Interesting

    It's not the language neutrality that's required it's the interfaces that need opening.

    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' > /net/tcp/$n/ctl

    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
    1. Re:Interface Neutrality, not Langauge by dustman · · Score: 1

      I have seen people talking about Plan 9 before, and the way all communication is handled via pipes, but I still don't see the advantage...

      First of all, I suspect that handling all interaction over pipes like this might be rather slower than binary interfaces, but I can ignore that for now.

      The other concern is that it doesn't really matter that everything can be talked to as if it were a socket/file. Looking at your example:

      echo 'connect slashdot.org!80' > /net/tcp/$n/ctl

      First of all, being brand new to Plan 9, I wouldn't know that I have to access /net/tcp/$n/ctl for a new socket (I am assuming $n means "allocate a new one"?).

      Secondly, not knowing how to use Plan 9 at all, I wouldn't know that the magic command is "connect slashdot.org!80" to open my connection. I would have to have a reference open to see which commands make sense.

      So, what is the benefit?

      As for programs compiled *before* you wrote yours, that is a standard concept for years now, interface-driven programming... In Linux, you can write your own filesystem driver, and then anything can use it just like any other filesystem, as long as you conform to the correct interface. You can do user-level filesystems in Linux, with the same results.

      In Java and SmallTalk, I can use reflection capabilities to talk to everything as if it were an object. I can enumerate fields and methods, and invoke them dynamically.

      Why is it better to talk to everything as a socket?

  6. What's next by ajw1976 · · Score: 5, Funny

    Logo.net

    --
    1. Bad signature
    2. ?????
    3. Profit
    1. Re: What's next by Black+Parrot · · Score: 1


      > Logo.net

      Lego.net

      --
      Sheesh, evil *and* a jerk. -- Jade
    2. Re:What's next by ericski · · Score: 1

      As long as it has turtle graphics, I'm there.

    3. Re:What's next by rhyd · · Score: 1

      lol, ironically java has had logo for an age, with several different implementations:

      (from a list of 160 different languages for the jvm here:
      http://grunge.cs.tu-berlin.de/~tolk/vmlangu ages.ht ml
      )

      "StarLogo
      StarLogo is a programmable modeling environment for exploring the workings of decentralized systems -- systems that are organized without an organizer, coordinated without a coordinator. With StarLogo, you can model (and gain insights into) many real-life phenomena, such as bird flocks, traffic jams, ant colonies, and market economies. StarLogo is a specialized version of the Logo programming language. With traditional versions of Logo, you can create drawings and animations by giving commands to graphic "turtles" on the computer screen. StarLogo extends this idea by allowing you to control thousands of graphic turtles in parallel. In addition, StarLogo makes the turtles' world computationally active: you can write programs for thousands of "patches" that make up the turtles' environment. Turtles and patches can interact with one another -- for example, you can program the turtles to "sniff" around the world, and change their behaviors based on what they sense in the patches below.
      AJLogo
      AJLogo is an implementation of Logo written in Java with about 400 primitives.
      Turtle Tracks
      Turtle Tracks is a modern Logo interpreter and runtime environment written entirely in Java. It is not a direct port of an existing interpreter, but written from the ground up specifically for Java, and designed to take advantage of the strengths of Java as a platform. Turtle Tracks is platform-independent and Internet-ready, and supports numerous advanced features such as multithreading and networking. Unlike some similar Java-based projects, Turtle Tracks is a complete implementation of true Logo, supporting the same basic language syntax and semantics and most of the same primitives as other common Logo implementations such as Berkeley Logo. It also supports plug-in primitive sets and can be integrated with outside Java code as a scripting language.
      rLogo
      rLogo is an easy to learn programming language designed for the World Wide Web. It is based on the Logo programming language.
      Yoyo
      Yoyo is a programming language loosely based on Logo. Since it integrates Java, however, many of the more advanced features require knowledge of Java and how its APIs work. (Was formely called Bongo)"

      --
      'Be the change you want to see in the world' - Al Gore
    4. Re:What's next by Anonymous Coward · · Score: 0
    5. Re:What's next by AirLace · · Score: 1

      It's called MonoLOGO.:


      An implementation of LOGO for the .NET platform.

      MonoLOGO provides access to all .NET constructs from within LOGO. Its goal to be 99% compliant with ObjectLOGO (there are a few Macintosh APIs that won't make sense to support). A Berkeley LOGO compatibility layer is also planned.


      Runs on Linux and has a Gtk# console interface.

  7. Let's Make Unix Not Suck by Anonymous Coward · · Score: 1, Interesting

    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?

  8. better than a new VM by DrSkwid · · Score: 3, Interesting

    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.

    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 /dev/mouse

    play some audio

    cat audio.pcm > /dev/audio

    want to play it on another machine's soundcard ?

    import -a machine /dev/audio /n/machine_audio
    cat audio.pcm > /n/machine_audio

    (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
    1. Re:better than a new VM by Anonymous Coward · · Score: 1, Funny

      "Plan9 talks via a published protocol [9p] implementable on any platform."

      Sure. Let us know when it's available for the timex-sinclair, Atari 400, and commodore 64.

  9. Lots of reasons why I want .NET to fail by Anonymous Coward · · Score: 0, Flamebait

    This note was originally published at John Munsch weblog on January the 14th.

    Lots of reasons why I want .NET to fail and fail badly

    It's benefits a criminal organization. Not one that's been found guilty of crimes once or maybe twice, but lots and lots of times. Those crimes are many and varied, but here's just a few of them: Stac Electronics v. Microsoft, DOJ v. Microsoft, Sun v. Microsoft.
    P.S. If you want to split hairs, Stac v. Microsoft isn't a criminal action, it's doesn't stem from a criminal abuse of their monopoly like the other two cases. Instead it was just a case of a small company being driven out of business by willful patent infringement, theft of trade secrets, etc.

    Microsoft isn't just one thing anymore. It's too damn big for that. I'm sure even Bill himself knows better than to think that he truly controls the whole ship because it's become big enough that he can't possibly know all the projects, people, etc. anymore. But even a really large company still has a kind of collective personality that it exudes and a large part of the personality both internal and external to Microsoft for many years now is that of a total control freak.
    If they don't own it, if they don't control it, if they didn't create it, if it doesn't have a broad stamp from Microsoft on it, then they don't want it. Sometimes it's sufficient for the thing to merely exist and they'll refuse to acknowledge it, other times they need to actively stamp it out because they can't control it.

    When was the last time you can remember Microsoft saying they supported a standard? That is, not something they invented and submitted a RFC for, an actual, take it off the shelf and re-implement it without renaming it or "improving" it so it doesn't work with anybody else standard. C++? Basic? HTML? A video or audio codec? Java? Anything?

    I'm sure there's something, somebody will point out their excellent support for TCP/IP or something and I'm sure that's true. But if you were to look at Microsoft as a person in your life, you'd wonder what was wrong with him or her such that so much had to be controlled by that person.

    When your business is selling the operating systems that 90+% of everybody uses, software development tools should not be a profit center.
    Why should I have to plunk down a couple of thousand dollars for a "universal subscription" in order to have access to compilers and basic development information? Sun doesn't have to do that? On this point I'll quote from the .NET "rebuttal" that I linked to above, "For non-profit use VS.NET can be had pretty cheaply, especially if you know anyone that is in college somewhere." Pretty cheaply? For a non-profit (that means charities, churches, universities, the hobbiest who is going to give away his work for FREE)... pretty cheaply? Wow. That is well and truly pathetic. To try and justify it, and say, oh well, you can try to scam an educational discount so it won't be so dear, is even more pathetic.

    Marketing. Have you been "lucky" enough to catch one of the .NET commercials with William H. Gacy telling you how great it is without really ever telling you anything about it? Microsoft doesn't trust .NET to stand on its own technical merits and it knows it may go like cod-liver oil down the gullets of a lot of people who have seen how the company works behind closed doors even if it were the tech shiznit.
    So they are going to pull a page out of Intel's bum-bum-buh-bum "Intel Inside" playbook and try to sell the brand like it's sneakers and cola. Trust us, you'll look cool if you use it, and we'll keep hammering the brand on TV so somebody who doesn't have much tech savvy in your organization will ask you if you are using it, or have plans to port to it, or whatever, even if he hasn't got a clue what "it" is in this case.

    They don't trust you. They don't like what they can't control and they can't control you. They can try and they always will keep trying but ultimately you are going to see them keep trying to do things and always keep a step towards the door just so they can bolt if they have to. Want to see what I mean? Go visit GotDotNet sometime if you haven't already been there. It's the grassroots community website that Microsoft put up to support .NET just in case there wasn't any grassroots community who actually wanted to do it. Or maybe just in case there was and they couldn't control it.
    Ever been to SourceForge? Of course you have, everybody has because that's one of the hubs of all open source projects. You can go there and get the source of thousands of cool open source projects and it really serves the community well. There's even hundreds of projects now that list C# among their programming languages. So why did Microsoft feel compelled to create their own GotDotNet Workspaces that is clearly just a ripoff of SourceForge?

    A few reasons are fairly clear: First, at many of their workspaces you don't get in unless they know who you are. Ever been stopped at SourceForge and asked for a name and password to look at a project? What about download binaries or source? No? At GotDotNet you will, lots of projects are marked with a lock. Second, forget about all those messy licenses that Microsoft might not approve of, you don't need to worry your little head about BSD vs. GPL vs. LGPL. You've got the one true workspace license that you have to agree to, or else you won't be putting your project there. Lastly, well it's kind of obvious, but it's really all about control isn't it. After all, if you aren't under their thumb, that has to be a bad thing. So a SourceForge that they control is pretty much a requirement, isn't it?

    It's a really sad way for a lot of people to waste a whole lot of time rebuilding that which already exists. Wouldn't the whole computing world be a lot better if there wasn't a team of people, maybe a couple of teams of people building complete copies of .NET for other platforms? If those same people were working on giving us new libraries and new tools for an already existing language instead of pouring in the thousands of man hours it's going to take to build a copy of the C# compiler or a .NET version of Ant and JUnit?

    In the end, we'll all just be left with another way to do the exact same thing only in a different language. Lord knows the world benefits now from being unable to share media between France, Germany, Italy, Spain, the US, and Japan because we can't all speak the same language. I benefit every day from the fact that I can't read a Japanese manga I might enjoy or understand a TV show from Europe. Once you are done building this tower, go build a few more right beside it using Perl, Python, and Ruby too. They're all trailing behind in certain areas, we need to make sure the same set of stuff is reinvented and rewritten for all of them too.

  10. Smalltalk with Multiple Inheritance? by werdna · · Score: 2, Insightful

    Seems like an ideological shift to me, more closely related to C++ than to Smalltalk

  11. *.Net is Dying by BoneMarrow · · Score: 0, Troll

    fp?

    --
    Unfortunately, no one can be told what my sig is...
  12. perhaps you have misread... by Anonymous Coward · · Score: 0

    (a cut and paste of a comment from zogger) ..just a thought, but maybe you have misread or misconstrued a lot (not all but a lot) of the anti microsoft and what you see as anti corporate posts on slashdot. What I see more, and I agree with, is that people are anti unethical behavior and criminality, and anti what happens once any entity has a lot of power with little or no check to what they do with that power.

    The obvious example, following the main thread focus, on microsft, where millions of people have noted that they did, in fact, abuse their position, that they got to a dominate position via some pretty questionable means, and that their security models combined with this position have put people in the "pretty much stuck" position of spending a lot of money to be abused on an ongoing basis. yes, I am aware of "don't use their stuff", well, this has been answerd over and over again by noting it's pretty hard to not be affected by "their stuff" whether you use it or not, especially if your clients and cuistomers are still using it. Catch 22 there, so we will get past that sticking point, it's been answered. We all use the net, and all of us are affected when a significant size hole appears and gets exploited, and once a pattern of many years time and of noting exactly where those holes appear and exactly who is responsible for them and how much money they continue to make by this inclusion into the internet world of this swiss cheese approach to expensive software, well.... I mean, really.... the sky IS really blue.

    As to "corporations", recent revelations over the past couple of years have proven there is a lot of outright lying, obfuscation of finances, over hyping to small investors to shill up stocks worth to absurd and reckless levels-fraud in other words, and so on. It's not a true black and white issue, it's more a pick an example (examples again, say microsoft, enron, etc) and point out data and take it from there, normal empirical analysis. the gestalt is, there sure is a lot of criminality going on, and people are beginning to wonder exactly how widespread this is, after example after example comes to light. It's endemic, and probably epidemic, if you would allow a small amount of anthromorphism to be used to describe it..

    Of course this can be called bashing, but to millions of people it's "bashing" based on the reality of an obvious need to bash. Blaming the victims for a crime committed against them is not considered to be an intellectually viable form of expression that is valid, at least not amongst rational civilized people.

    Now for me, a regular old 'murican capitalist, and a proponent of self-reliance and independence, and ALSO a proponent of above board rational and ethical business behavior, there are some corps I think do a good job, and others I can see as being..well.. crooks is the word. Serious crooks, crooks who not only need some fines, but some jail time. Want an example? any of the corporations who sold weapons of mass destruction materials to saddam back in the 80's, when he was obviously using them in warfare. any of those corpos officers, chucked in the pokey. the corporations dissolved. Well now, that would sure be an interesting set of bignames now, wouldn't it? I have more examples, that is "enough" for ocnversational purposes. And yes, I could name names, but anyone with google access can find out as well.

    And to add to the stewpot in the fines and jail list some of the more bribed politicians who behind the scenes and in collusion with other industry heads (and being conflict of industry heads themselves) and semi-faceless regulatory bureaucrats, who have allowed this sort of behavior to become a lot more of the "norm" then what people are comfortable with. Yep, fines and jail. Yep, their businesses dissolved, as being "not in the public interest". Cross the line, do the time. It's like that for joe little guy, should be the same for frederick fatcat.

    I think it's perfectly acceptable to "bash on crooks". I think it's perfectly acceptable to go back to the original founders ideas on state chartered corporations, wherein they were tasked with not only following normal business laws and ethics in order to do their business and accumulate "profits", but they also had an additional duty to be of the public interest and benefit, and if it can be shown a continuuing pattern of unethical behavior, that said corporation should be dissolved, with no thought to whatever "profits" are involved,no more than any petty gangs busting would involve consideration of their "profits", and that officers of said corporation should be brought up on criminal charges, as well as civil charges. No one really much cares what the "financial considerations" are when the local crack house gets taken down, this exact same philosphy should be applied on any scale, because, well, a crime is a crime is a crime. I know as joe littleguy that the system cares not about my profits if I should be convicted of a crime, they are more than happen to seize or incarcerate. It's "funny" to note the regardings these very large enterprises the almost total lack of significant level fines and significant numbers of corporate officers who fail to make it to the pokey once busted and convicted. It isn't the bashers' fault that we notice this, in fact, it's an ethical and moral and common sense stance to take..

    This doesn't happen enough to suit my tastes, and I maintain that if it did, we wouldn't be seeing near the bad business that occurs, nor the amount of boom and bust cycles, and practically speaking on a tech oriented forum, the IT and internet world would be more robust, more profitable and not less, and much more secure. That it doesn't happen enough is just obvious-thee is no provision for a "who watches the watchers" in our modern "system". We have a theoretical way to do that, but with the seizure of our governmental system by two for-profit organizations, who operate in a "scratch my back and I'll scratch you'rs" mode, a lot more than what they will admit to, you can see how this system is broken and how abuses will continue. Occassionaly, in order to show they are "doing something", they will "sacrafice one of their own" in order to throw a bone to the "bashers", but it really is more of a busywork facade than any true expression of "cleaning up business and it's partner government".

    please excuse remaining typos, spent enough time on this post for now

  13. Null handling by Ed+Avis · · Score: 2, Funny
    From the article:
    S# helps solve some relatively intractable problems. For example, you may declare a parameter of a public method as an object of type String. Within your method, you call the String.IndexOf method. So far so good--but you have to plan for errors. Another programmer is perfectly free to call your method and pass a Null (Nothing, in VB.NET). Despite the fact that Null is not a String, the .NET framework will happily make the call. That means that your method code needs to check for the possibility that someone did in fact pass a Null, and react accordingly. In contrast, in S#, Null is a true object, meaning you can simplify your code by dynamically adding a Null.IndexOf method, and doing nothing. At one fell swoop, you've eliminated both the possibility of an error and all the "if (var == null)" checks you have to write in other languages.

    Oh yeah, sure, you've really eliminated the possibility of error. Why not add every method to the 'null' object while you're about it, then your program could _never_ have null-related bugs!

    --
    -- Ed Avis ed@membled.com
  14. Who you gonna call by DrSkwid · · Score: 1

    Miguel argues that piping is not a very good compenent model to build applications or systems.

    Miguel or Dennis Ritchie ?

    I think Dennis gets my vote

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  15. 9p != pipes by DrSkwid · · Score: 1

    The 9p protocol is designed to be simple and robust. No piping required and all the things mentioned are possible.

    You did forget something :

    Binary interfaces cannot be [easily] interpreted by humans.

    Which is a curse when you are debugging.

    The only real difference between the binary and textual is that binary encoding is unreadable, eveything else is implementation dependent. Binary interfaces in and of themselves don't guarantee events or exceptions.

    Which would you rather have
    %cat /dev/mouse
    801 600

    or
    %cat /dev/mouse
    ^C^U ^BZ

    [that was the best I could manage for the binary output i took it from what vi reported, in hex it would be 0x0321 0x0258 and ASCII 0x03, 0x02 & 0x21 are somewhat difficult to represent in HTML]

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter