Human unreadable documentation - the ugly seam between simple D and complex D

rumbu via Digitalmars-d digitalmars-d at puremagic.com
Fri Mar 27 11:38:30 PDT 2015


On Friday, 27 March 2015 at 16:55:34 UTC, Tobias Pankrath wrote:
>> Regarding the scscscshghshshshhswarzThing, here we discuss the 
>> readability and accessibility of the documentation, not the 
>> power of the library. Every other language will use a 
>> variation of  "sortBy" instead of the scscshwcwscThing. I'm 
>> happy that D has in the default lib functions like 
>> levenshteinDistance, but this will not attract the average or 
>> "just starting to learn" developer. On the contrary, sorting 
>> correctly some names is a more common task than calculating 
>> the Levenshtein distance, but there is no function for it in 
>> phobos.
>
> You may have a point that schwartzSort has a bad name (I 
> disagree), but putting another algorithm does not make the 
> documentation worse per se. Dunno, what problem you have with 
> the levenshteinDistance.

schwartzSort it's a nice name only if you are German. You got me 
wrong, I have nothing against the function itself, nor against 
the presence in the stdlib, but I play the role of the devil's 
advocate and I try to walk in the D's new user shoes who's 
expecting probably something more readable than 4 stuffed 
consonants. Personally, I know what a Schwartz transform is and I 
speak some German :)

>
>> On the contrary, sorting correctly some names is a more common 
>> task than calculating the Levenshtein distance, but there is 
>> no function for it in phobos.
>
> What do you mean by correct? http://unicode.org/reports/tr10/?

 From the link you posted:

"Collation is not aligned with character sets or repertoires of 
characters.
Swedish and German share most of the same characters, for 
example, but have *very different* sorting orders."


> "We even have something obscure like levenshteinDistance but no 
> implementation for the unicode collation algorithm, which all 
> newcomers are looking for!" is a) a questionable comparison 
> between a relative simple algorithm and a monster and b) wrong, 
> because 99% of programmers don't even know about the algorithm 
> itself, thus they aren't looking for it.

I explained this in another topic regarding portability 
obsession, it's a monster probably on Linux, on Windows/Mac it's 
exactly one line of code, already done it:

https://github.com/rumbu13/sharp/blob/master/src/internals/locale.d#L518

>
> BTW. python's startwith does the Köln example wrong. Kö and 
> Ko\u0308 dont match.

Today was my first contact with Python, I cannot comment on this, 
may be Python is not aware of normalization forms and is not 
combining o with the diaeresis (u0308).


More information about the Digitalmars-d mailing list