problem with size_t and an easy solution

Freddy via Digitalmars-d digitalmars-d at puremagic.com
Sun Dec 7 17:50:44 PST 2014


On Monday, 8 December 2014 at 01:30:35 UTC, ketmar via
Digitalmars-d wrote:
> Hello.
>
> i don't like `size_t`. for many month i avoied using it 
> wherever that
> was possible, 'cause i feel something wrong with it. and today 
> i found
> the soultion!
>
> let's see how other D types are named: `int`, `uint`, `byte` 
> (oh, well,
> this name sux), `ulong`. see the pattern? so i decided to rename
> `size_t` to `usize`. and you know what? it immidiately started 
> to be
> familiar. like a thing that was always here, simply dressed in 
> patches.
>
> let's face it: that ugly '_t' is alien to D. this is an ugly 
> leftover
> from C, and this leftover is nonsence. it will not really help 
> anyone,
> but it immideately turns D code to badly-looking crap. see for 
> yourself:
>
>   size_t countSomeElements();
>
> and
>
>   usize countSomeElements();
>
> `size_t` looking like an alien here, ruining all the style.
>
> i propose to introduce `usize` and `sptrdiff` along with those 
> '_t'
> uglyness, and then slowly migrate all the code to the new names.
>
> yes, this is another "cosmetic issue", but let me tell you that 
> such
> "purely cosmetic things" are really important for those who just
> starting to learn the language.
>
> it's impossible to write nice D code with `size_t`: we have 
> either
> alias it each time or use `uint`/`ulong` to make our code looks 
> good.
>
> really, i've seen people who using `uint` instead of `size_t`, 
> 'cause
> "with size_t my code looks ugly, and i tired of aliasing that 
> shit
> every time". ah, yep, their code sux for 64 bits, but: "i know 
> that
> 64-bit size_t is... 64-bit. i'll fix that later, maybe."
>
> uglyness leads to bad code. let's kill `size_t` for good!
>
>
> p.s. some of you may think that i'm trolling. i can assure you 
> that
> this post is not trolling, this is just another try to talk 
> about
> "purely cosmetic issues" and how they hurts the language, 
> especially
> for beginners. when beginner see such "pure cosmetic issue", he
> starting to think that the whole language is a mess: "hey, this 
> is such
> easy to fix, but they never bother to... i bet the other parts 
> of the
> language are even worse." and you know what? it's enough to 
> make such
> mistake two or three times to make people believe that D is a 
> "dirty
> and hackish language without clear style". "this is uuuugly" is 
> *the*
> *argument*.

I would like if usize wasn't implictly convertable to uint or
ulong


More information about the Digitalmars-d mailing list