Jump to page: 1 28  
Page
Thread overview
Re: null references redux + Looney Tunes
Oct 02, 2009
Justin Johansson
Oct 02, 2009
Jeremie Pelletier
Oct 02, 2009
Yigal Chripun
Oct 03, 2009
Jeremie Pelletier
Oct 03, 2009
Yigal Chripun
Oct 02, 2009
language_fan
Oct 03, 2009
Jeremie Pelletier
Oct 03, 2009
Jeremie Pelletier
Oct 02, 2009
language_fan
Oct 02, 2009
language_fan
Oct 03, 2009
Jeremie Pelletier
Oct 03, 2009
language_fan
Oct 03, 2009
Jeremie Pelletier
Oct 03, 2009
language_fan
Oct 03, 2009
Justin Johansson
Oct 04, 2009
language_fan
Oct 04, 2009
language_fan
Oct 04, 2009
Jeremie Pelletier
Oct 04, 2009
language_fan
Oct 04, 2009
Lutger
Oct 04, 2009
Lutger
Oct 04, 2009
language_fan
Oct 04, 2009
Jeremie Pelletier
Oct 04, 2009
Walter Bright
Oct 04, 2009
Jeremie Pelletier
Oct 04, 2009
Walter Bright
Oct 04, 2009
bearophile
Oct 04, 2009
bearophile
Oct 05, 2009
Ary Borenszweig
Oct 05, 2009
bearophile
Oct 04, 2009
bearophile
Oct 05, 2009
bearophile
Oct 04, 2009
Denis Koroskin
Oct 05, 2009
bearophile
Oct 05, 2009
downs
Oct 05, 2009
bearophile
Oct 04, 2009
Justin Johansson
Oct 04, 2009
Nick Sabalausky
Oct 04, 2009
Justin Johansson
Oct 05, 2009
Nick Sabalausky
Oct 05, 2009
bearophile
Oct 05, 2009
Justin Johansson
Oct 05, 2009
Nick Sabalausky
Oct 05, 2009
bearophile
Oct 05, 2009
Rainer Deyke
Oct 05, 2009
language_fan
Oct 05, 2009
language_fan
Oct 05, 2009
Nick Sabalausky
unit libraries, was Re: null references redux + Looney Tunes
Oct 05, 2009
Rainer Deyke
Oct 05, 2009
Nick Sabalausky
Oct 05, 2009
language_fan
Oct 05, 2009
Nick Sabalausky
Oct 05, 2009
Rainer Deyke
Oct 05, 2009
Walter Bright
Oct 05, 2009
Walter Bright
Oct 04, 2009
Justin Johansson
Oct 04, 2009
language_fan
Oct 04, 2009
Denis Koroskin
Oct 04, 2009
bearophile
Oct 04, 2009
Justin Johansson
Oct 03, 2009
Nick Sabalausky
Oct 04, 2009
Walter Bright
Oct 03, 2009
Jeremie Pelletier
Oct 05, 2009
Nick Sabalausky
Oct 05, 2009
Justin Johansson
October 02, 2009
For the interest of newsgroups readers, I dropped in at the Cafe the other day and the barista had this to say

http://cafe.elharo.com/programming/imagine-theres-no-null/

Disclaimer: YMMV

Cheers

-- Justin Johansson
October 02, 2009
Justin Johansson wrote:
> For the interest of newsgroups readers, I dropped in at the Cafe the other day and
> the barista had this to say
> 
> http://cafe.elharo.com/programming/imagine-theres-no-null/
> 
> Disclaimer: YMMV
> 
> Cheers
> 
> -- Justin Johansson

Most of the bugs he expose are trivial to debug and mostly come from beginners.

From the article:
"The distinction between primitive and object types is a relic of days when 40 MHz was considered a fast CPU"

I so disagree with that on so many levels. That's exactly what I believe is wrong with programmers today, they excuse their sloppy programming and lazy debugging with safe constructs which have way more overhead than is actually needed. It doesn't really make the program easier to code but the programmer less careful, leading to new kind of bugs.

Maybe for financial or medical domains its acceptable since speed is not an issue, but I expect my $3k computer to not slow down to a crawl because its software is written in a "safe" way and I like people with older computers to still be able to run my programs without waiting 5 minutes between any two mouse clicks.
October 02, 2009
On Fri, Oct 2, 2009 at 8:13 AM, Justin Johansson <no@spam.com> wrote:
> For the interest of newsgroups readers, I dropped in at the Cafe the other day and the barista had this to say
>
> http://cafe.elharo.com/programming/imagine-theres-no-null/
>
> Disclaimer: YMMV
>
> Cheers
>
> -- Justin Johansson

I always think it's funny when people are like "so, I had this idea, lemme throw this out there. I know it sounds weird, but just bear with me - what if there were _no null_? Did I just _blow your mind?_"

And the perspective of languages with better type systems, it's like.. and?

data Maybe T = Just T | Nothing

The whole null/nonnull debate is a complete nonissue in languages like Haskell because _they actually treat it formally and correctly_. And they've _been_ doing this for years. For all the Java-ites to be like "OMG PARADIGM SHIFT" it's just funny.
October 02, 2009
Justin Johansson wrote:
> For the interest of newsgroups readers, I dropped in at the Cafe the other day and
> the barista had this to say
> 
> http://cafe.elharo.com/programming/imagine-theres-no-null/
> 
> Disclaimer: YMMV
> 
> Cheers
> 
> -- Justin Johansson

This article brings up a very interesting point that beats Walter's argument to a pulp, then puts salt on it.

Walter's overriding argument (I'm sure you know it, he repeated it claiming nobody understands it until we learned it by heart) was: "I don't want the compiler to require a value there! People will just put some crappy value in to get the code to compile, and the code with errors in it will soldier on instead of duly crashing! How is that better???" etc.

Yet D has structs.

Walter knows D has structs, and knows how D structs operate. He put structs in D because he thought structs, vegetables, exercising, and flossing are good for you.

Yet structs operate the exact way that Walter claim is pernicious. Structs don't have a singular null value and always are nominally valid objects.

Yet I've never heard Walter continuing his argument with "Just look at those stinky structs. It must be a million times I had a bug caused by the absence of null structs! I just had to put a crappy struct there in my code, and my code soldiered on in error instead of crashing!"

Why didn't he continue his argument that way? And why didn't anybody else continue his argument that way? Because nobody has had such a problem. Everybody uses structs, and everybody's happy about them lacking null.

To complete the irony, Walter and I discussed a while ago about structs and .init values. We concluded that D, at least for the time being, will allow struct construction without any code invocation, by just bitcopying the .init value of the struct over. He was very happy about that because a lot of code generation got majorly simplified that way. (I was less happy because that meant less user control over struct construction.) So Walter was happy that he had for structs a feature he thinks is amazingly dangerous for classes.

So I don't think Walter's argument is invalid, I think it simply doesn't exist. This post made it disappear.


Andrei
October 02, 2009
On 02/10/2009 16:16, Jeremie Pelletier wrote:
> Justin Johansson wrote:
>> For the interest of newsgroups readers, I dropped in at the Cafe the
>> other day and
>> the barista had this to say
>>
>> http://cafe.elharo.com/programming/imagine-theres-no-null/
>>
>> Disclaimer: YMMV
>>
>> Cheers
>>
>> -- Justin Johansson
>
> Most of the bugs he expose are trivial to debug and mostly come from
> beginners.
>
>  From the article:
> "The distinction between primitive and object types is a relic of days
> when 40 MHz was considered a fast CPU"
>
> I so disagree with that on so many levels. That's exactly what I believe
> is wrong with programmers today, they excuse their sloppy programming
> and lazy debugging with safe constructs which have way more overhead
> than is actually needed. It doesn't really make the program easier to
> code but the programmer less careful, leading to new kind of bugs.
>
> Maybe for financial or medical domains its acceptable since speed is not
> an issue, but I expect my $3k computer to not slow down to a crawl
> because its software is written in a "safe" way and I like people with
> older computers to still be able to run my programs without waiting 5
> minutes between any two mouse clicks.

all I can say is: Thank God I'm an atheist.
it seems you do not want to hear a different opinion despite the fact that option types exist in FP for half a century already and provide the correct semantics for nullable types.

with your logic we should remove seat-belts from cars since it makes for less careful drivers.

October 02, 2009
Fri, 02 Oct 2009 10:16:05 -0400, Jeremie Pelletier thusly wrote:

> I expect my $3k computer to not slow down to a crawl
> because its software is written in a "safe" way and I like people with
> older computers to still be able to run my programs without waiting 5
> minutes between any two mouse clicks.

Your $3k computer can probably run about 7200 billion instructions in 5 minutes - it will eventually get old in the coming years. I really hope the bloat in various software components never gets that bad that you would have to wait 5 minutes between two mouse clicks!
October 02, 2009
Fri, 02 Oct 2009 10:30:24 -0400, Jarrett Billingsley thusly wrote:

> I always think it's funny when people are like "so, I had this idea, lemme throw this out there. I know it sounds weird, but just bear with me - what if there were _no null_? Did I just _blow your mind?_"
> 
> And the perspective of languages with **better type systems**, it's
like..

*plonk* :-P (old-timers might know)

> The whole null/nonnull debate is a complete nonissue in languages like Haskell because _they actually treat it formally and correctly_. And they've _been_ doing this for years. For all the Java-ites to be like "OMG PARADIGM SHIFT" it's just funny.

You know, mainstream is pretty much religion driven.. many might have already plonked you automatically because your postings have contained the words 'disagree', 'progress', 'haskell', or 'scala'. The performance focused people from the c++ land seem to have a strong conservative view towards new things - like it or not. Walter being mostly a C++ guy and not having written much code in any other language (including D!) only makes the situation a bit worse, if you prefer progress.
October 02, 2009
language_fan wrote:
> Fri, 02 Oct 2009 10:30:24 -0400, Jarrett Billingsley thusly wrote:
> 
>> I always think it's funny when people are like "so, I had this idea,
>> lemme throw this out there. I know it sounds weird, but just bear with
>> me - what if there were _no null_? Did I just _blow your mind?_"
>>
>> And the perspective of languages with **better type systems**, it's 
> like..
> 
> *plonk* :-P (old-timers might know)
> 
>> The whole null/nonnull debate is a complete nonissue in languages like
>> Haskell because _they actually treat it formally and correctly_. And
>> they've _been_ doing this for years. For all the Java-ites to be like
>> "OMG PARADIGM SHIFT" it's just funny.
> 
> You know, mainstream is pretty much religion driven.. many might have already plonked you automatically because your postings have contained the words 'disagree', 'progress', 'haskell', or 'scala'. The performance focused people from the c++ land seem to have a strong conservative view towards new things - like it or not. Walter being mostly a C++ guy and not having written much code in any other language (including D!) only makes the situation a bit worse, if you prefer progress.

I'll note two things. For one, Walter is a heck more progressive than his pedigree might lead one to think. He has taken quite some risks with a number of features that made definite steps outside the mainstream, and I feel he bet on the right horse more often than not. Second, this particular discussion is not about efficiency.

Andrei
October 02, 2009
Fri, 02 Oct 2009 12:38:33 -0500, Andrei Alexandrescu thusly wrote:

> I'll note two things. For one, Walter is a heck more progressive than his pedigree might lead one to think. He has taken quite some risks with a number of features that made definite steps outside the mainstream, and I feel he bet on the right horse more often than not. Second, this particular discussion is not about efficiency.

I apologize that I said it in a way that might hurt Walter. I know he is extremely talented programmer and also open for new ideas. That is often not the problem. But it is not that hard to find features in D that are there only to make old C++ users feel comfortable. E.g. C style pointer syntax is harmful for the syntax of new features like tuples. It is also really confusing, but somehow has to be there since D "must" feel like C+ +, otherwise someone would notice that D is actually a modern multi- paradigm language that allows even functional programming, which is a bit bad for the reputation in conservative c++ circles.

Some people would not even touch the language with a 10 foot pole, if someone dared to provide a practical garbage collector library for it. Because that would mean that there are people with wrong opinions (tm) in the community. I know there is a old and stubborn language war between academic foofoo and "practical aspects".
October 03, 2009
language_fan wrote:
> Fri, 02 Oct 2009 10:16:05 -0400, Jeremie Pelletier thusly wrote:
> 
>> I expect my $3k computer to not slow down to a crawl
>> because its software is written in a "safe" way and I like people with
>> older computers to still be able to run my programs without waiting 5
>> minutes between any two mouse clicks.
> 
> Your $3k computer can probably run about 7200 billion instructions in 5 minutes - it will eventually get old in the coming years. I really hope the bloat in various software components never gets that bad that you would have to wait 5 minutes between two mouse clicks!

I was talking about older computers (for example a PIII 500Mhz), I know my laptop will perform just fine for the next 5-10 years :)

« First   ‹ Prev
1 2 3 4 5 6 7 8