> Понятная и хорошая библиотека идет с читабельной докой и стопятистами примерами. А
> системную как правило и так помнишь на память.Да, наверное. Это вероятно дело личных предпочтений, но я читаю доки в интернете: быстрее найти и открыть мануал через гугл, нежели искать его на диске. Собственно, в моей домашней генте, я несколько лет назад удалил флаг doc из глобальных USE флагов, поскольку вся документация к библиотекам лежала на диске бесполезным грузом.
Но, помимо этого, сначала ведь надо найти эту понятную и хорошую библиотеку, причём для этого надо перебрать, просмотреть и отринуть несколько непонятных и плохих библиотек.
> А на сях тех-же самых синтаксис выходит разный, и я, зная, что
> указатель разыменовывается через * а обращение к полю через . внезапно
> должен писать ptr->field разыменовывая указатель и foo.field обращаясь в символическое
> имя (чудны дела твои господи). Двойной указатель будет уже *ptrptr->field, а
> не, внезапно, ptrptr->->field как бы можно было логически предположить.
Если это вызывает проблем, то можно писать вместо ptr->field так: (*ptr).field. И указатели высших порядков тогда используются по той же схеме: (**ptr).field, (***ptr).field и тп. Тот же самый паскаль, но вместо ^ ставим * и порядок символов другой. А оператор -> лишь, как вы правильно назвали, синтаксический сахар, позволяющий уменьшить количество * перед ptr. В большинстве ситуаций уменьшить количество до нуля, и, вероятно, именно красота и законченность этого нуля и явился причиной введения такого оператора в язык.
> [...]
> Хотя мож я просто дурак и у меня в голове ничего не
> держится =)
Я думаю дело не в личных свойствах интеллекта. Дело лишь в том, что на C вы пишите редко. Причём вам не доводилось читать чужой код. Ну или доводилось, но иногда, нерегулярно и понемногу.
Такие проблемы стандартны: когда влезаешь в незнакомый язык, начинаешь спотыкаться о каждую мелочь, потому что тот раздел мануала к языку ещё не прочитан, или потому что он после прочтения успешно забыт, или потому, что в мануале явно не описана какая-то тонкость, а прочтение по диагонали не подразумевает вдумчивого восприятия информации.
Я точно так же буду спотыкаться, если мне приспичит писать под какой-нибудь там gnat или fpc. Я точно так же спотыкаюсь, когда суюсь в схему после коммон лиспа. Когда не пользуюсь пару-тройку лет python'ом/ruby/чем-угодно-ещё, а потом вдруг что-то начинаю на нём ваять.