- 1
SleepMsec( 3600 * 1024 );
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+120
SleepMsec( 3600 * 1024 );
Это вынесло мне моск
-- русский народный боян
mis — это 1/1024 секунды, а Mis — это 1024 секунд.
Здесь же 1024/1000 секунды = 1024 ms = 0,001 Mis.
s/Mi/Ki/g
хотя нет
их там 2 же
по крайней мере шутка безобидная (точность не критична если)
Mnoga(Malo) secund komu kak nravitso...
@see Pulp Fiction
Mit dir stehen miSekunden, lohnen nicht.
Надо отделять алгоритм от собственно программирования.
Вот если бы здесь были дефайны сишного препроцессора, я бы сказал, что Си — говно, потому что не умеет определять констант.
в последних версиях стандарта он и нестед функции умеет и объявление переменных где попало!)
Другое дело, что в тру-Си строка скомпилируется, даже если функция не описана. Вот будет прикол, если прилинковать библиотеку, в которой аргумент функции имеет размер, отличный от int. Что тогда будет со стеком!
Пример № 2. Функция принимает 64 бита, а вызывающий код кладёт 16. Результат: в части битов мусор.
Пример № 2 да, будет мусор
Но стек не будет испорчен, и мы плюхнемся назад по адресу возврата
ваще-то вылетает варнинг, если прототипа не найдено в хедере.
Вы знаете другой способ реализации модульности?
даже в моей любимой жабе, где вместо заголовков прототипы берутся прямо из файлов с реализацией, даже в ней можно собраться с одним жаром, а запустится с другим, и словить runtime exception.
есть модули, есть приватные (статические) методы
есть позднее связывание
что не так?
А ещё Watcom C, например, умеет добавлять в обжи комментарии, что требуется прилинковать такие-то модули и такие-то библиотеки, на основании директив. Почти как uses в модульных языках, но это, увы, не является стандартом.
На Си такое пишется намного короче и так можно сделать случайно, при неосторожном обращении с указателями.
>к C++
А мы сейчас о другом языке говорим, вообще-то.
===
Вообще скажу такую вещь. Есть у нас на работе один проект, в код смотреть страшно, однако он давно работает и несколько раз его дорабатывали.
Другой проект я написал. Ну старался без говнокода. Объекты там, они не знают друг о друге, и т.д. Лёгко поддерживать такой код.
Так блин этот проект, который раз уже запустить не можем: вечно какие-то препоны: оказывается то то надо добавить, то это, то он должен работать так-то. (тз в режиме перманентной доработки)
Так похоже и с Паскалём, и с Си. Один язык хорошо продуман, но не популярен, другой более подвержен ошибкам программистов, но популярен.
Такое ощущение, что то, что быстро ночью на коленке делают, становится популярным.
а то, что долго продумывают чаще всего фэйлится.
Из истории говнокода.ру: "Идея создать проект родилась внезапно и так же внезапно была воплощена в жизнь!" (выделено мной)(http://habrahabr.ru/blogs/i_am_advertising/66701/)
Тот же BASIC был сделан Биллом Гейтсом и Алленом Полом за 2 недели.
Фэйсбук — за две недели.
не совсем. до закономерности это не дотягивает.
а в кино так и совсем все наоборот.
мне кажется синтаксис Си популярен из-за большего минимализма и гибкости.
>то, что долго продумывают чаще всего фэйлится.
нет. как раз наоборот - если идею носить в голове, то когда она хорошо созревает - дает хорошие плоды.
для учета длины окружности циферблата ?
SleepMsec( 3515 << 10);
покошегнее будет
>Не пугайтесь, это я тестировал говноверсию букмарклета зла.
ИТТ я тебя плюсану
>На самом деле такой говнокод ещё раз показывает опасность и ненадёжность языка Си.
фимозненько
Можно было тред поменьше попользовать.