- 1
#define LIFMT(X) (long int) (X)
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+139
#define LIFMT(X) (long int) (X)
Всё тот же квантовохимический пакет. Что характерно, от обычных кастов дальше никто не отказывается.
1) Не пиши макросы, если можно обойтись без них.
2) expression-like макросы должны быть обрамлены скобками.
Ну хоть вокруг икса додумался скобки нарисовать.
Буду читать перед сном
?
1) не пиши макросы, если можно обойтись без них.
2) имя макроса пишется капсом.
3) expression-like макросы должны быть обрамлены скобками.
4) аргументы макроса должны быть обрамлены скобками.
5) каждый аргумент макроса, по возможности, должен использоваться ровно один раз.
6) макрос не должен раскрываться в if без else.
7) function-like макросы должны быть обёрнуты в do { ... } while (0).
Седьмой пункт нужен, чтобы заставить писать ; после вызова макро.
>5) каждый аргумент макроса, по возможности, должен использоваться ровно один раз.
Классика. Помню когда-то давно мне показывали какая мощная штука сишные макросы и как легко можно написать аналог ?? или как там, короче isNull по-человечески.
Нежелательно, если это не подразумевается семантикой макроса. Можно залететь на несработавшей побочке:
пример высосан из пальца при поддержке министерства культуры
Авторов таких макро надо сжигать на костре! Есть же функции. И компиляторы лет 20 как инлайнить научились.
обьектно ориентированная СУБД такая
Скажем, экспонента (унарная питушня) как частный случай возведения в степень (бинарной питушни). Здесь прокатят какие-нибудь научные расчёты, где есть абстрактная функция, которая может не пользоваться своими параметрами, Array.prototype.map в JS, другая модульная питушня (в частности - компьютер в целом: программе передаётся компьютер+сеть, а она может воспользоваться памятью, но не воспользоваться диском).
Или хост+путь для ssh/http и просто путь для ФС под линуксом в макросе/функции/шаблоне/не важно, который возвращает поток для записи какой-нибудь питушни (LOG("localhost", "/hello/wrld.log")).
Мдя, 2 часа ночи говорят о себе...
Не читал значит...
Г. Альтшуллер предположил, что самое эффективное решение проблемы — такое, которое достигается «само по себе», только за счёт уже имеющихся ресурсов.
ир гезетце, ди унс кнехьтен зольн.
Ди гезетце зайен кюнфтихь нихьт беахтет
ин эрвэгунг, дасс вир нихьт меер кнехьт зайн вольн.
По причине нашей слабости
вы принимаете законы, которые должны нас сломить.
Но эти законы не будут соблюдаться,
потому что мать их итить.
Бертольт Брехт. Почти классика.
"В машине не ломается только та деталь, которой в ней нет.", в отличии от современного китайского пластикового говна, советская техника хоть и брутальна, но если дожила до нынешних дней то она вечна. Примеров - море.
Но это присказка.
Значит когда давно, ученые делали специальные зонды, для сканирования стратосферы, там стояли самописцы регистрирующие температуру, давление, влажность и прочую хрень. И зонд с парашютиком должен был падать ровно без рывков и переворачиваний.
Как решили задачу американцы - они поставили такие сопла, микроконтроллер и датчик с обратной связью, который реактивными выбросами регулировал направление так чтоб зонд падал в нужном положении.
Как решила задачу советская школа баллистики: они высчитали такую форму зонда, при которой он должен был падать равномерно и переворачиваться в заданное положение в любых случаях.
Советские зонды были в десяток раз дешевле, потому что оно само так получалось. И как бы всё хорошо. Советское надёжно и навека.
НО! Да, это всё без пизды шедевры смекалки, но они не двигают вперёд технологии. А американцы создавая сложные внутри схемы развивали свои скиллы управления всем что только можно начиная от холодильников, утюгов и кастрюль, заканчивая автомобилями (напихивая всё больше транзисторов), в то время как СССР просрал гонку информатизации (привет KISS и аналоговые машины).
Зачем нам гигабайты памяти, всем хватит и 640Кb
ЕГГОГ!
Логарифмическая линейка - просто и сверхнадёжно, ибо аналоговая машина.
Но кто ими сейчас пользуется? Универсальность и возможность программирования алгоритмов любой запредельно высокой, чудовищной сложности, оказались важнее простоты и надёжности, практически во всех сферах жизни.
"— Мне нужен калькулятор!
— Бендер, ты сам калькулятор.
— Мне нужен хороший калькулятор."
Ой не факт... Половина этой универсальности нахуй не нужна и насаждается мерчандайзерами и рекламой... По крайней мере в бытовой сфере.
Дошло до того, что у некоторых телеков после включения и загрузки(!) появляется рабочий стол(!) андроида. И чтобы посмотреть передачу нужно запустить приложение(!) "телевизор".
И хоть мне и нравится универсальность моего смартфона, я с любовью вспоминаю старенькую моторолу с реальными кнопочками, которую я ронял и на асфальт и на пол, и ей было пофиг...
Апофеоз - кошачий лоток с DRM. Который умеет выливать только жидкость конкретного производителя.
Бгг, у меня до сих пор такая нокиа. Я ж не говорю что я отрицательно отношусь, скорее наоборот.
Но у любой вещи есть обратная медаль.
И тут она заключается в следующем.
Вот любой современный язык Х: туда пихают, выражаясь языком тараса "всякий гербалайф", gc, исключения, монструозные iocc, кучу всяких функциональных прибамбасов, мозголомающие макросы, вывод типов с кучей матана внутри, сложнейшие системы сборки тянущие сотни метров либ с зависимостями.
Или вот лямбда-вей, который форсят в последнее время для решения задач, там где можно обойтись циклом, безусловно это всё говно и оверхед. Но за этим будущее, поскольку лямбда-вей рано или поздно научится эсспараллеллится.
Или такая штука, буст называется, тоже монструозная шопиздец. Но подумай, вот тарас умный чувак, да, он там может придумать охуенный алгоритм, заточенный чисто под его задачу.
Но блин получается что такие люди - динозавры, потому что эффективность программера с бустом, gc или stl гораздо выше (невзирая на внутреннюю их сложность).
Да пусть их решение не такое эффективное и элегантное внутри, т.к. они использовали универсальные компоненты.
Но будущее за технологиями, а не самописными пусть и смекалистыми решениями. Это не отменяет ценности смекалки при использовании этих самых технологий.
Другое дело, что буст мог бы не родиться, если бы все всё делали минимальными изменениями.
Просто есть человеки, которые двигают прогресс придумывая всякие навороты и техи,
А есть человеки, которые решают задачу здесь и сейчас - таким kiss в зубы и смекалку на шею
> оказались важнее простоты и надёжности
Это для сишников и прочих программистов. "Хе-хе, сейчас напишу без УБ, а потом оно будет работать через двадцать лет под рандомной ОС".
А кому-то снаружи боль и склады со старой памятью для сервера пятилетней давности и мониторами со старыми, популярными пять лет назад разъёмами. Сука... Я могу купить такой же карандаш, какой был в магазине 30 лет назад, но не могу купить универсальную (где её универсальность-то, если я DDR3 вместо DDR2 не вставлю?) питушню для моего десятилетнего компа.
Замените мне этот говномир по гарантии!
http://habrastorage.org/getpro/habr/post_images/a81/ced/1ff/a81ced1ff06ae8f1db36f6f2389a08b8.jpg
В одной из секций склада у нас «музей» — место, где лежат вот такие экспонаты
Они реально рабочие и реально нужны для горячих замен. Когда система сложная, критичная и «не трогай, пока работает», проще менять вышедший из строя узел на точно такой же, чем перенастраивать и переделывать. Поэтому мы и храним резервы, достойные музея.
http://habrahabr.ru/company/croc/blog/228529/
Лол мудак, на совковых компах посидеть захотел?
А если у меня свой свечной заводикъ, мне теперь всё оборудование менять только из-за того, что где-то в одном управляющем компьютере каким-то пидарасам в силу моды требуется Java 9 и DDR 15 для поддержки новой клавиатуры?
Кто-то заставляет?
Софт на производстве от нехуй делать апдейтить тебя тоже никто не заставляет. Это не браузер с новой версией каждый месяц.
У меня где-то дома валяются 2 штуки, помню когда инженерный калькулятор не мог найти даже считал что-то на них, лол.
Включая этот самый принцип.
Типа попытка подвести диалектическую теорию под творческий процесс. Раньше (когда я был моложе) меня это воодушевляло, типа "как стать умным".
Ну вот пример из реальной жизни: в СССР всех учили диалектике, методу познания, а через 7 лет люди шли толпами, кричали: Ельцин! Ельцин! и массово голосовали за Бориса Николаича.
В этом конешно есть здравое зерно, но повторюсь, сколько дурака не учи - максимум будет дипломированный дурак.
«A trick is a clever idea that can be used once, while a technique is a trick that can be used at least twice.»
Donald Knuth
Конечно с-ё--ма. Ты как раз хорошо вылез, подтверждая собой вышенаписанное:
>сколько дурака не учи - максимум будет дипломированный дурак.
Я сказал: "в СССР всех учили диалектике, методу познания". Еще раз: это метод понимания не только политики или истории, но и таких простых вещей как познание смысла комментариев в интернете.
Для тебя-то обществоведение, диамат и истмат - это пустой звук. Но было и такое.
Когда-то давно людей учили материализму, а теперь батюшки освящают интернет и космические станции. Бггг.
>Для тебя-то обществоведение, диамат и истмат - это пустой звук
И слава богу, наверно.
>батюшки освящают интернет и космические станции.
Рашкопроблемы же.
Я так понимаю, что тебя парит пгмизация парашки и поэтому ты бздыхаешь "Эх, а при совке-то было..." (кстати, когда ты его застать-то успел?). Т.е. совок - хорошая альтернатива? Понимаю, откуда у вас берется "сталина на вас нету".
Ну я об этом и говорю. Что вроде в теории всё гладко "метод познания", а на практике штука оказалась совсем бесполезной. Раз выбрали алкаша.
>Я так понимаю, что тебя парит пгмизация парашки и поэтому ты бздыхаешь "Эх, а при совке-то было..."
Неа. Меня не то чтобы парит, в целом похуй, но иногда маразм доставляет. Просто объясняю на конкретных примерах - сколько людей не учи методам познания, сколько бисера не сыпь, а всё-равно они останутся дураками верящими в какую-то гуйню и "голосующих сердцем" (ц), а не головой.
>Т.е. совок - хорошая альтернатива?
Перечитай внимательно тред.
>И слава богу, наверно.
Возможно.
>Неа. Меня не то чтобы парит. Просто объясняю - сколько людей не учи, сколько бисера не сыпь, а всё-равно они останутся дураками верящими в какую-то гуйню и "голосующих сердцем" (ц), а не головой.
Рашкапроблема? Может, у вас структура власти такая, что за кого не голосуй - все равно получишь хуй?
Га-га-га-гааааа! С твоего акка это типа лучшая оценка и подтверждение моих слов.
Я так просмеялся, что даже плюсану твой пост.
Вот тебе бонусом картинка:
http://info-graphic.ru/_nw/0/38294564.png
"Нихуя не понял ход твоих мыслей, спорить не буду, напишу: ты мудак!"
Условия достижения:
Провести 3ое комбо на s-a--m и порвать пукан s-a--m
"Рациональные или научные способы не позволяют нам предсказать развитие научного знания."
В целом как какие-то хинты оно полезно, но сингулярность знаний это нам не устроит. В том смысле что используя какую-то магическую технику или науку мы сможем полностью свести творческий процесс к рутине и тупому алгоритму.
Если чё, цитата его книжки "Логика и рост научного знания".
Универсального метода познания для генерации научных открытий еще не придумали, и мы оооочень далеки от этого момента. Поскольку если б уже он существовал, то его худо-бедно алгоритмизировали.
И как следствие получили бы мыслящую машину, которая сыпала бы как из рога изобилия решения, новые знания в том числе улучшала и развивала бы науку самого познания, то бишь исходный метод.
Вот я тут прошёлся, подумал и понял что напоминает мне ТРИЗ.
Это словно паттерны! Какой-то набор разрозненных хинтов - типа делай так и будет тебе щастье.
Только в отлчиии от американских паттернов, которые пытаются придать универсальность системе и усложнить её, типа сделать многолевельную, но расширяемую среду; советские паттерны больше напоминают попытки построить теорию и научить людей как делать элегантные хаки систем.
ТРИЗ - это своеобразные tips & tricks по хакингу во всех сферах техники (физика, химия, техника).
У здравомыслящего человека все методы в стиле "не стреляй себе в ногу, не пили сук на котором сидишь, не делай через жопу, если можно через голову, не создавай новых сложностей при решении старых" приходят в голову чисто эмпирически.
Человеку, который знает ООП не нужна книжка по паттернам. Кому она нужна? Видимо тому, кто ООП не знает, или знает плохо. Изобретательство - это очень специфичное творчество, имхо - попытка поставить его на поток априори обречена.
Не, просто они заходят с другого конца - берут частности, и безуспешно пытаются синтезировать что-то
>Изобретательство - это очень специфичное творчество, имхо - попытка поставить его на поток априори обречена.
С одной стороны — да. С другой — если таки создадут искусственный интеллект (надеюсь доживу до тех дней), он ведь сможет творить, изобретать всякое и можно будет легко поставить дело на поток. Просто эти все теории на данный момент бесконечно далеки от самой сути познания, но думаю понять как работает мышление - ключевая задача. Или вы принципиально не верите в возможность создания ИИ?
>согласно ИКР, всё должно остаться так, как было, но либо должно исчезнуть вредное, ненужное качество, либо появится новое, полезное качество
А вот это, выражаясь языком математики — метод локальной оптимизации в чистом виде. Это исключительно эволюционные улучшения — хаки и костыли чтобы добавить в систему фичу, или улучшить её работу. То есть мы ищем только локальный экстремум целевой функции. Это еще называют «путь наименьшего сопротивления»
Проблема в том что он локальный, а т.к. ТРИЗ отрицает брутфорс то локальный не означает оптимум. Еще остаётся непонятной целая куча вопросов типа: какова метрика(функция) оптимальности нашего решения.
Есть такая штука математическое программирование, если б они это скрестили с процессом поиска оптимальных решений изобретательских задач — может чего годное и получилось.
И в конечном итоге мы всё-равно прийдём к необходимости решать NP-полную задачу.
Причём сложность может оказаться такой что коммивояжер и N тел покажутся детским лепетом.
В многих предметных области вот такая метрика — дико хардкорный вопрос.
Например сжатие: как программно определить качество качество картинки — какая лучше выглядит?
Эффективно решить такое практически равносильно граалю в данной области.
Сразу скажу что тупые PSNR, SAD, SATD считаются не очень годными метриками с точки зрения визуального восприятия человеком, плюс они считают дифф, а не абсолютное качество статической картинки или временную стабильность видео.
Или код — какая структура, какой стиль, какое форматирование наиболее оптимальны?
Неужто больше экспоненты?
Что бы создать такой интеллект нужно иметь полное представление о работе мозга. А модные нейронки показали что мозг работает не совсем так, как мы думали (а может и совсем не так). Я верю в то, что тайна имеет место быть и не все можно познать. Поэтому я не верю в возможность создания такого ИИ, по крайней мере на мое веку.
Человек еще не далеко ушел от обезьяны - еще 500 лет назад благородные рыцари били друг друга дрынами и были вполне довольны, а в 1900 году физики считали, что все основы уже найдены, а потом - упс, квантач и ОТО. Имхо - в мире все гораздо сложнее, чем человек может себе представить в принципе.
>> всё должно остаться так, как было, но либо должно исчезнуть вредное, ненужное качество, либо появится новое, полезное качество
В этом случае у человека и амебы должно быть одинаковое число качеств. Эволюция не согласна.
Да и с точки зрения математики мы можем быть не на множестве Парето - двигаемся к нему со смещением одной координаты - один критерий улучшается -другие не меняются.
>> ТРИЗ отрицает брутфорс
А та же эволюция - создать 100500 особей а потом начать естественный отбор. Не совсем брут, но очень даже форс
>> И в конечном итоге мы всё-равно прийдём к необходимости решать NP-полную задачу.
Истинно так. Вот только сложно перебрать бесконечность)
Ага. Типа сейчас что-то изменилось, ну кроме средств доставки пиздюлей.
> Поэтому я не верю в возможность создания такого ИИ, по крайней мере на мое веку.
К сожалению придерживаюсь такого же мнения, хоть и надеюсь на обратное.
>а потом - упс, квантач и ОТО. Имхо - в мире все гораздо сложнее, чем человек может себе представить в принципе.
Чем больше площадь известного человеку, тем больше граница между непознанным и познанным. Ответы на одни вопросы, дают другие еще более сложные вопросы .
тоже верно. Только сейчас это делают во всяких играх. Качественно народные массы не изменились. Чем больше знаешь - тем больше понимаешь неполноту своего знания
>> Чем больше площадь известного человеку, тем больше граница между непознанным и познанным. Ответы на одни вопросы, дают другие еще более сложные вопросы .
Круги познания на бесконечном поле незнания - чем больше радиус, там больше длина окружности
Это охуенно.
Кстати видел здесь холодильник днепр в какой-то полугостинице для пионеров.
Надежность системы == надежность её самой слабой детали.
При проектировании техники в Японии, надежность её частей проектируется примерно таким образом, чтобы они вышли из строя приблизительно в одно время. Сломалось? Просто выкинь.
Советская же техника делалась с расчетом на то, что её будут ремонтировать, что, собственно, и наблюдаем. (Пересказано со слов преподавателя теории надежности.)
Ага, поэтому к советской технике всегда прилагалась электросхема) Не работает? Доставай схему, паяльник и - вперед!)
Прямо как сейчас к опенсурсным прогам.
Мебель могут забрать от подъеда, приезжает машина - пресс. Уже бесплатно. Мебель складывают возле подъезда и туда подкидывают все из соседних домов. Алсо там роются люди в поисках досок/деталек, как на сборщиков бутылок на них не смотрят, что бы тут пи не пиздел.
Для некоторых руснявых мудаков и это сложно, они старую мебель просто в подъезде сваливают.
Они еще и обоссаные были?
Ладно, жрите дальше с лопат. Мы о разных вещах говорим.
Жри блины с лопат
@
Говори про бомжей
Второй нашёл много позже, только там кроме остатков корпуса и флоппика уже ничего интересного не было, а ещё он вонял каким-то говном.
Разобранных я находил дохуя.В этот раз я нашел то, что еще никто не успел покурочить. Даже кабеля (хорошие!) и клавы были на месте.
А нах мне старые мониторы?
Этот ад с лопающимися китайскими кондёрами скоро закончится... Вот догорит последнее железо с тех партий, и будет норм. Вроде как эти пиратские кондёры давным-давно выпускать перестали.
гугл: http://en.wikipedia.org/wiki/Capacitor_plague
Когнитивный диссонанс
А вообще ситуация занимательная. Некачественный элемент требует ремонта на сумму, в сотни раз дороже его стоимости.
Это парадокс выжившего называется, кажется.
Ну как можно обучить смекалке?
Вот сколько с-ё--му не учи, а он всё равно всё на свете как знал лучше остальных так и знает.
Г. Альтшуллер предположил, что самое эффективное решение проблемы — такое, которое достигается «само по себе», только за счёт уже имеющихся ресурсов.
Эта формулировка дает идеальное решение, которое может подтолкнуть к пути.
Самые опасные люди - всегда знают что делать, как жить, что есть на завтрак, кто школьник, кто нищеброд и т.д
Таким людям ТРИЗ нужен не для изобретательства, а для понта.
- смотрите, я знаю ТРИЗ, это круто!
А делает все все равно по своему - ибо знает лучше авторов ТРИЗ как надо
Ввод: распарсеный АСТ, к которому применяются правила совпавшие с узлами дерева, и на выходе тоже АСТ. Практически как в Схеме, только есть еще дополнительные аннотации помогающие различать узлы в АСТ (но в Схеме это тоже можно доделать если сильно захотеть.)
Наплодили тут языков и технологий, хрен разберешься, что дальше изучать. Тоска.
Лол, сейчас поискал, оказалось даже не один такой сесть:
https://github.com/artagnon/rhine
https://github.com/drmeister/clasp
https://github.com/eudoxia0/corvus (ворде мертвый)
Вот и настало время расчехлять father's parentheses!
Вот беру я, мать его, современный говнотелефон или планшет. Переворачиваю. Тормозит как говно, музычка на долю секунды останавливается.
Мегабайты памяти, гигагерцы, ядра, заряжать два раза в день. Для того, чтобы музычка тормозила, пока переворачиваешь.
Сука... Ну как можно так. Гигагейцы, мекакайты же.
0. Мы делаем надёжные телефоны, которые работают месяц, которые можно кидать на пол, которые не томозят. Нажал на кнопку - мгновенная отдача.
1. А давайте сделаем, чтобы телефон не только звонил?
2. А давайте засунем жабомашину в телефон, чтобы запускать приложения?
3. А давайте там запускать браузер, чтобы под жабомашиной запутить жабоскрипт-машину и запускать веб-приложения, ведь жабоприложения требуют разрешений, а жабоскрипт любят и интерпретируют все?
4. А давайте сделаем на сайтах юзерскрипты на лиспе, чтобы под жабомашиной запутить жабоскрипт-машину, а под ней - лиспоинтерпретатор, ведь жабоскрипт - петушиное непродуманное говно, а лисп - язык царей?
5. А давайте сделаем единую Windows-15 для десктопов, смартфонов и андроида? Будем под жабомашиной запускать жабоскрипт-машину, под ней - лиспоинтерпретатор, в котором запустим написанную на лиспе ВМ с образом Windows-15 с жабомашиной, ведь приложения для Windows-15 так нужны на каждом телефоне, у нас же гигагерцы и килоядра?
И ладно, если тормозит новая игра или видеоредактор. Но ведь тормозит приложение "телефон", приложение "плеер" и прочая мелкая питушня, которая не тормозила ещё /\d\d/ лет назад. Гигагейцы, мекакайты.
первые восьмибитные игры были не лучше понга
под конец эпохи были всякие каслвании с клевой графой и музыкой. оптимизированные как только это было возможно
А щас разрабы знают, что железо мощное, и можно не париться оптимизацией - вот и выходит говно
LOL:D
Чет я до сих пор лучше второго фолыча в плане проработки сюжета&атмосфЭЭЭры ниче не видел
У меня Лолитоп
Мешает? Благодаря ему ты имеешь готовые библиотеки, языки со сборкой мусора.
Всё-таки к счастью остались Тарасы, которые тупо игнорируют это всё и пишут на крестах под Android NDK.
Тут что хорошо: в любой момент можно совершить дауншифтинг и не добавлять лишний уровень, сохраняя при этом неебическую вычислительную мощность.
>чтобы под жабомашиной запутить жабоскрипт-машину
Не знаю, вроде хром по-прежнему пишут на крестах.
>2. А давайте засунем жабомашину в телефон, чтобы запускать приложения?
Кстати тут проёбан один важный этап: давайте впихнём в телефон ОС, написанную на жабе. В истории мобил был момент, когда прошивки еще толком не тупили, но жаба-софт уже запускался.
Вообще не показатель. В универах запросто могут преподавать всякую хуиту типа бейсика.
Я бы, наверное, в штаны писался, если бы меня заставляли лабы на плюсах сдавать
В капусте находят.
Таких странных, как ты, например, приносит аист; говнокодеров вроде меня - птеродактиль. А спецов наподобие борманда, d++ или wvxvw собирают из отстрелянных частей неудавшихся крестовиков в Зеленограде и отправляют на пару сотен лет в будущее к сверхразуму для прошивки.
манулов. а мне животных жалко
манулов курить, а то лицо уже не заживает
>Дети получаются неплохие вроде.
Вы там детей делаете?
>>под названием ЛШЮП
>>ЛШЮП
ШЛЮХИ
fixed
Сразу представляются хардкорные вонючие пиратские шлюхи без зубов.
Типизация и вывод типов, вменяемый синтаксис, макросы, всё такое. Компилируемый и кросс-платформенный.