November 05, 2010
Gary Whatmore wrote:
> bearophile Wrote:
> 
>> Plus a nice Microsoft site that allows you to try it in interactive way, this is very good:
>> http://www.rise4fun.com/SpecSharp
> 
> D can do that too. We had those interactive versions in the newsrgoup. We saw no value in them.

Here it is:

http://codepad.org/

It's been around a while, and nobody cares. Such a capability is marketing puffery, and not useful.
November 05, 2010
Gary Whatmore wrote:
>> - Checked exceptions (like Java ones).
> 
> Oh god.. what were they smoking?

Checked exceptions are one of those ideas that look great on paper but are an utter failure in practice. As Bruce Eckel pointed out, they are *worse* than useless and *cause* bugs to be inserted into the code.
November 05, 2010
bearophile wrote:
> Gary Whatmore:
> 
>> I know myself when my pointer is null.
> 
> You are unusual then:
> http://lambda-the-ultimate.org/node/3186

The $10 billion mistake was C's conversion of arrays to pointers when passing to a function.

http://www.drdobbs.com/blog/archives/2009/12/cs_biggest_mist.html

Sadly, there's an ongoing failure to recognize this, as it is never addressed in any of the revisions to the C or C++ standards, and is missed by the supposedly "safe C" alternatives.
November 05, 2010
Walter Bright Wrote:

> Gary Whatmore wrote:
> > bearophile Wrote:
> > 
> >> Plus a nice Microsoft site that allows you to try it in interactive way, this is very good: http://www.rise4fun.com/SpecSharp
> > 
> > D can do that too. We had those interactive versions in the newsrgoup. We saw no value in them.
> 
> Here it is:
> 
> http://codepad.org/
> 
> It's been around a while, and nobody cares. Such a capability is marketing puffery, and not useful.

Sadly that site uses some Unknown version of D1.

http://www.ideone.com is using dmd 2.042 though. I don't these sites are very good what you want to learn a new language, but the are nice to demonstrate code snippets or test something out when you do know the language.
November 05, 2010
Walter:

> Here it is:
> 
> http://codepad.org/
> 
> It's been around a while, and nobody cares. Such a capability is marketing puffery, and not useful.

There are two sites that allow to compile D code online: codepad (D1) and ideone (D2).

Even if ideone site is just "marketing puffery" for D, recent discussions on this newsgroup have shown that Andrei is willing to do something for marketing purposes. And this kind of ideone marketing is not going to worsen the API of Phobos, it's just a different way to use D compiler. So it doesn't harm.

If you take a look at the Go site you see a way to try code: http://golang.org/

Or even LLVM compiler:
http://llvm.org/demo/

I have recently discussed with ideone devs to suggest a new feature, and it seems their site is having enough visitors, so it seems some people care about the site.

I have personally found ideone and codepad sites useful, because they allow you to try snippets of code in languages you don't know yet. So you can try a new language in a very fast and painless way, without committing to install a compiler/interpreter to your PC. Today web and being online are very important things, and ideone/codepad allow even compiled languages to be tried online by young people used to javascript and browsers. I have used ideone to try small programs in Scala, Haskell, and other languages. I have used ideone to compile small snippets of D2 code in places where I don't have a D2 compiler available.

If you go take a visit to the IRC #D channel you see an tool based on codepad that allows to try snippets of code from the IRC channel itself. A tool often used by feep and others.

So you are wrong, ideone/codepad are used by people, are good marketing, allow people to try D before installing the compiler and they don't harm D in any way.

What I have suggested in another post is not to put a online demo window in the D site, but to just add a *link* to ideone and codepad in the D home page, so people may try D online.

Bye,
bearophile
November 05, 2010
Walter Bright:

> The $10 billion mistake was C's conversion of arrays to pointers when passing to a function.
> 
> http://www.drdobbs.com/blog/archives/2009/12/cs_biggest_mist.html
> 
> Sadly, there's an ongoing failure to recognize this, as it is never addressed in any of the revisions to the C or C++ standards,

I agree, that's a very bad problem, probably worse than null-related bugs. But Java, C#, and D have solved this problem already, so we can now go on and try to solve other problems. This thread was about a different problem (null-related bugs), currently present in Java, C#, and D too.


> and is missed by the supposedly "safe C" alternatives.

This is probably wrong. I don't know many C alternatives, but the well known Cyclone language uses fat pointers (and other things) to solve that C problem.

Bye,
bearophile
November 05, 2010
Walter Bright:

> Checked exceptions are one of those ideas that look great on paper but are an utter failure in practice. As Bruce Eckel pointed out, they are *worse* than useless and *cause* bugs to be inserted into the code.

(Just to avoid possible misunderstandings: I have never suggested to add checked exceptions to D).

I agree that checked exceptions are a pain in a general purpose language. But Spec# isn't a general purpose language, it's designed to be a high integrity language, where the user is supposed to endure some pain in the hope to produce statically verified (and less buggy) programs. So while checked exceptions are probably a bad idea for a handy general purpose language, the authors of Spec# have thought that for the special purposes of Spec# those exceptions are justified. I don't know if they are right (maybe they are wrong, surely not everything in Spec# design is perfect, despite it generally looks like a really well though out language). But you need to keep in account the quite special purpose of Spec# before judging if adding checked exceptions to Spec# is a bad idea.

Bye,
bearophile
November 05, 2010
On 11/5/10 10:36 AM, bearophile wrote:
> What I have suggested in another post is not to put a online demo window in the D site, but to just add a *link* to ideone and codepad in the D home page, so people may try D online.

When I started the redesign of the D site, one of my first ideas was to add links for all code snippets to a copy of the code on codepad (I didn't know about ideone), so that people could see them in action. Later I decided that this might not have as much value as I thought, since many of the snippets depended on command-line arguments and I didn't see a way to provide them.

Nonetheless I still think that providing these kind of links would have value to newcomers wanting to learn and experiment with the language.
November 05, 2010
Gary Whatmore:

> Are you saying that Walter Bright or anyone else here isn't as productive as you are because we haven't read about the latest language research done between 1980 and 2010?

I have found that I need to play with some "new" (*) CS ideas new and then, if I want to keep my mind flexible and open, and keep my programming skills sharp in the long term.

(*) I am aware that most of those "new" ideas are up to 30-40 years old. But often a new implementation too is an interesting thing.

Bye,
bearophile
November 05, 2010
David Gileadi:

> Later I decided that this might not have as much value as I thought, since many of the snippets depended on command-line arguments and I didn't see a way to provide them.

ideone allows you to give command line arguments/input too to D programs (but you can't change compilation switches yet, I have suggested that too to the ideone authors).

Bye,
bearophile