(Was: On 80 columns should (not) be enough for everyone)

foobar foo at bar.com
Mon Jan 31 10:38:59 PST 2011


Andrei Alexandrescu Wrote:

> On 01/31/2011 01:18 AM, foobar wrote:
> > Andrei Alexandrescu Wrote:
> >
> >> == Quote from Walter Bright (newshound2 at digitalmars.com)'s article
> >>> foobar wrote:
> >>>> ATM, Phobos ranks extremely poorly in this regard. Far worse than C++ which
> >>>> is by far one of worst ever. both Java and C# are surprisingly high on this
> >>>> list and are behind various "new-age" scripting languages such as python and
> >>>> Ruby and languages that were designed to be readable by humans such as
> >>>> Smalltalk.
> >>> I think you've mixed up libraries with languages. Please rephrase so we know
> >>> what you're referring to and give specifics.
> >>
> >> Seconded. Also there is this one presupposition that reflects poorly on foobar's argument: that choosing foobar's
> >> preferred convention inherently makes the code more accessible. In fact, a stronger argument could be made to
> >> the contrary as we're talking about a maximum and 80<  120.
> >>
> >> Andrei from the ER
> >
> > That's just incorrect since I didn't even specify my style convention.
> > As I said multiple times before, Phobos is design with Andrei in mind: meaning that if you are Andrei-like (or if you _are_ indeed Andrei) it would be easy to read and use. Otherwise it confusing as hell and hard to navigate.
> 
> But that goes for anyone, including your code. Code written in foobar's 
> style is designed with foobar in mind: meaning that if you are 
> foobar-like (or if you _are_ indeed foobar) it would be easy to read and 
> use. Otherwise it is confusing as hell and hard to navigate.
> 
> I can only assume you'd have a hard time writing code that does not have 
> foobar's signature. Same here.
> 
> Besides, it seems to have worked for me; at work I'm not considered one 
> of the more obfuscated coders. Also, I wrote a little library Loki which 
> is regarded as very small and readable for what it does. Its 
> functionality has been shadowed by the much larger and comprehensive 
> Boost, but Loki's code has always been the simplest and cleanest 
> although it implements rather advanced concepts. Do you have any 
> publicly available samples of your work that we might look at?
> 
> > In addition, you now want to force artificial limits that don't make
> > any sense.
> >
> > You completely miss the most important principle - it doesn't matter
> > how good and efficient your product is if no one's using it. Phobos
> > is a very good product that I for one will never use. Just looking at
> > the one huge page for algorithms is enough to discourage many
> > people.
> 
>  From what I've seen, everyone who advocates D2 mentions std.algorithm 
> as one of its main strengths, and never as a liability. I have 
> difficulty reconciling that signal with one opinion relayed anonymously.
> 
> 
> Andrei

Everything is relative. Loki is a c++ library and I'm sure it's one of the best c++ libs. This is relative to a horribly unfriendly language which is used by a certain type of people. 
I'm OTOH comparing to a different set of languages, their libs and their users. 

Also, I never said that Phobos is poor from an implementation point of view, on the contrary, I too think that especially the new phobos modules (Algorithms) and concepts (Range) are very good and efficient. 

My reoccurring complain is about _usability_ of this awesome code base. 
The code is poorly organized in few huge files, functions are poorly named, etc. 

I keep taking about the API while you keep talking about its implementation.
 D needs to cater for different kinds of people, not just American born C++ guru programmers, but a diverse community of programmers with different programming backgrounds (that includes web developers that only learned scripting languages), different nationalities (They don't need to have native level English capabilities including understanding of American culture and insider jokes), different OS users (not just *nix geeks), etc.


More information about the Digitalmars-d mailing list