Anatoly Vorobey (avva) wrote,
Anatoly Vorobey
avva

Category:

C

Why C Is Not My Favourite Programming Language — статья в Kuro5hin с длинной дискуссией в комментариях.

Статья довольно глупая, откровенная провокация на флейм. Тем не менее, в ней есть немало любопытных trivia, а в дискуссии встречаются, в стоге бреда, несколько интересных иголок.

Я не знал, кстати, что "you musn't cast the return value of malloc()". Это, конечно, тоже неправда, но проверка показала, что, действительно, завсегдатаи comp.lang.c советуют этого не делать. Вот здесь, например, подробно объясняется, почему: потому-что, во-первых, при правильном использовании malloc() это совершенно ничего не даёт (возвращаемый malloc() результат типа void* и так будет правильно приведён к нужному типу), а во-вторых, в случае, если вы забыли включить stdlib.h, то компилятор будет считать malloc() функцией, возвращающей int, но из-за эксплицитного приведения не выдаст ошибки и (на некоторых архитектурах) сгенерирует неправильный код.

Вряд ли я, впрочем, последую этому совету: привык приводить результат malloc(), а проверка того, что не забыл #include <stdlib.h>, у меня и так намертво в голове зашита.


Что же касается переносимости (так Лингво предлагает переводить portability) кода на C, то как раз позавчера произошло порадовавшее меня событие: Брэд взял написанный мной сервер memcached, и попробовал скомпилировать и запустить его на 64-битной машине (до сих пор никто этого не пробовал, включая меня). Заработало без всяких проблем с первого раза. Если учесть, что memcached только и делает, что очень интенсивно работает с памятью и сложными структурами кэширования информации, очень неплохой результат, по-моему.
Subscribe

  • нейронные сети имени козьмы пруткова

    В компании OpenAI создали новую модель (нейронную сеть) для распознавания образов, очень крутую, которая в частности сама научилась сопоставлять…

  • череда банальностей

    Понравилось ( из твиттера), метко схвачено: "Kогда понимаешь какую-то важную истину, жутко раздражает, что пробуешь объяснить ее словами и выходит…

  • о фальшивом учителе

    Поучительная история случилась в Австралии. Там обнаружили, что директор школы, а в прошлом много лет учитель, обманывал все четыре школы, в…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 19 comments

  • нейронные сети имени козьмы пруткова

    В компании OpenAI создали новую модель (нейронную сеть) для распознавания образов, очень крутую, которая в частности сама научилась сопоставлять…

  • череда банальностей

    Понравилось ( из твиттера), метко схвачено: "Kогда понимаешь какую-то важную истину, жутко раздражает, что пробуешь объяснить ее словами и выходит…

  • о фальшивом учителе

    Поучительная история случилась в Австралии. Там обнаружили, что директор школы, а в прошлом много лет учитель, обманывал все четыре школы, в…