Надо, имхо, показывать, кто карму снижает.
Мне вот ни ответа, ни привета, а -4 в карму. Насколько я понял, за тот комментарий, где я спросил, «GNU ли? Где я могу посмотреть исходники?». Видимо, кому-то не понравилось, но ни минуса за коммент, ни ответа.
Большое чувство собственной важности и обидчивость ни до чего хорошего не доводят.
Я же правильно понял, что за этот комментарий мне снизили карму на 4 пункта?
Вы хотя бы ответьте, не бойтесь, мне просто интересно.
Меня пугает трансляция на электронный носитель.
Вид со стороны: пришёл человек, скопировал себя в компьютер, после чего стал жить там. Всё хорошо, он доволен, живёт в виртуальном мире, общается со своими близкими.
Вид от себя: я прихожу на процедуру, меня копируют, после чего я (спустя некоторое время, или сразу) умираю. И всё.
А вместо меня теперь в виртуальном мире живёт моя копия, общающаяся с копиями моих друзей, и отличить её от меня не может никто, только меня уже нет.
Это немножко не тот quick sort, что у остальных языков.
Его можно почти прямо переписать на другие языки, если там есть лямбды, выглядеть будет пострашнее, но всё равно.
К сожалению, быстрого алгоритма и при этом красивого я не видел.
Вообще, язык метапрограммирования в Си++ — чистый функциональный, но, к сожалению, без карринга и лямбд.
В новом стандарте должны ввести concept/concept_map — в чистом виде type classes из Haskell
Я ушёл оттуда, когда стал знать язык лучше, чем их компилятор. Добили моё терпение таких два глюка:
— mutable long long в классе, делаем константный экземпляр и меняем это поле, программа падает в runtime
— не помню точно код, но в результате в некоторой функции магическим образом вызывалась функция main (заметил по асму)
А уж про нетривиальное метапрограммирование и речи не было.
Конечно, с тех пор наверное всё поменялось, но теперь я знаю язык лучше студии, да и «осадок остался».
Я у себя для такого случая завёл макросы
(сразу оговорюсь, это Си++)
precond(ptr != 0);
invariant(sz = size());
postcond(*ptr > 0);
В отличие от стандартного assert'а, эти кидают исключения в релизе, а в дебуге это просто ассерт.
Конечно, assert предполагает то, чего не должно быть никогда (т.е. если ассерт сработал, надо менять код программы), но к сожалению, люди ошибаются, а в релизе если выстрелит, то ассерт там уже промолчит, а программа навернется позднее и окажется в неизвестном состоянии.
Просто исключения я предпочитаю кидать тогда, когда ошибка вполне может быть, и код программы тут не виноват.
Ну а коды возврата — это когда и ошибки-то никакой нет по сути, вполне нормальная ситуация.
Можно поподробнее? Видимо, я не понял, что вы имели в виду.
У меня у кипа ~5800 объектов GDI, тогда как у MSVS 2005/8 ~800 например.
Или в QIP Infinum дела иначе? Или в Миранде?
В мире царит справедливость, какой бы несправедливой она не казалась.
У каждого человека есть своё восприятие реальности, а есть сама реальность. Перестраивать реальность под себя? Ну, можно, конечно, попытаться, но, как в известной песне, боюсь что «мир оказался сильней».
Так что если вас не устраивает текущее положение дел, надо сначала понять, почему оно так сложилось.
С точки зрения владельца, раз вас всё устраивает, то почему его не должно? Или вы не раз ему сообщали, а он отказывался повышать з/п? Значит он считает, что сможет вас заменить. Вы не являетесь совладельцем, а то, чем вы сейчас занимаетесь — считаете чужие деньги. Это дело люди любят, но я считаю, что это вредно для себя же.
Меня мало волнует, сколько получит некая компания, если я куплю её продукт; я заплатил, получил, что хотел, все довольны. Так же и тут, вы либо согласны с этими условиями, либо нет.
ИМХО, друзья плохие.
Мне совесть не позволит у друга купить дешевле, а потом предъявлять претензии [на тех.поддержку] (тем более, если купил дешевле).
Сам также знаю людей, которые попросив «помоги разобраться с Windows» (будучи там несведущи) заставляют взять деньги, так как это работа.
А знаю и обратных, которые надеются, что потом будешь пожизненно помогать.
Мне вот ни ответа, ни привета, а -4 в карму. Насколько я понял, за тот комментарий, где я спросил, «GNU ли? Где я могу посмотреть исходники?». Видимо, кому-то не понравилось, но ни минуса за коммент, ни ответа.
Я же правильно понял, что за этот комментарий мне снизили карму на 4 пункта?
Вы хотя бы ответьте, не бойтесь, мне просто интересно.
Печально.
Вид со стороны: пришёл человек, скопировал себя в компьютер, после чего стал жить там. Всё хорошо, он доволен, живёт в виртуальном мире, общается со своими близкими.
Вид от себя: я прихожу на процедуру, меня копируют, после чего я (спустя некоторое время, или сразу) умираю. И всё.
А вместо меня теперь в виртуальном мире живёт моя копия, общающаяся с копиями моих друзей, и отличить её от меня не может никто, только меня уже нет.
qsort [] = []qsort (x:xs) = qsort (filter (<x) xs) ++ [x] ++ qsort (filter (>= x) xs)qsort [] = [] qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qosrt (filter (>= x) xs)Это немножко не тот quick sort, что у остальных языков.
Его можно почти прямо переписать на другие языки, если там есть лямбды, выглядеть будет пострашнее, но всё равно.
К сожалению, быстрого алгоритма и при этом красивого я не видел.
Просто интересно было, насколько это реально
www.everfall.com/paste/id.php? c29q3eov4cjj — определитель матрицы N*N compile-time
www.everfall.com/paste/id.php? zakx0n2nwaaa — мультиметоды (для N <= 32 аргументов, а не только для 2)
Вообще, язык метапрограммирования в Си++ — чистый функциональный, но, к сожалению, без карринга и лямбд.
В новом стандарте должны ввести concept/concept_map — в чистом виде type classes из Haskell
— mutable long long в классе, делаем константный экземпляр и меняем это поле, программа падает в runtime
— не помню точно код, но в результате в некоторой функции магическим образом вызывалась функция main (заметил по асму)
А уж про нетривиальное метапрограммирование и речи не было.
Конечно, с тех пор наверное всё поменялось, но теперь я знаю язык лучше студии, да и «осадок остался».
Или это для примера так написано?
(сразу оговорюсь, это Си++)
precond(ptr != 0); invariant(sz = size()); postcond(*ptr > 0);В отличие от стандартного assert'а, эти кидают исключения в релизе, а в дебуге это просто ассерт.
Конечно, assert предполагает то, чего не должно быть никогда (т.е. если ассерт сработал, надо менять код программы), но к сожалению, люди ошибаются, а в релизе если выстрелит, то ассерт там уже промолчит, а программа навернется позднее и окажется в неизвестном состоянии.
Просто исключения я предпочитаю кидать тогда, когда ошибка вполне может быть, и код программы тут не виноват.
Ну а коды возврата — это когда и ошибки-то никакой нет по сути, вполне нормальная ситуация.
У меня у кипа ~5800 объектов GDI, тогда как у MSVS 2005/8 ~800 например.
Или в QIP Infinum дела иначе? Или в Миранде?
У каждого человека есть своё восприятие реальности, а есть сама реальность. Перестраивать реальность под себя? Ну, можно, конечно, попытаться, но, как в известной песне, боюсь что «мир оказался сильней».
Так что если вас не устраивает текущее положение дел, надо сначала понять, почему оно так сложилось.
С точки зрения владельца, раз вас всё устраивает, то почему его не должно? Или вы не раз ему сообщали, а он отказывался повышать з/п? Значит он считает, что сможет вас заменить. Вы не являетесь совладельцем, а то, чем вы сейчас занимаетесь — считаете чужие деньги. Это дело люди любят, но я считаю, что это вредно для себя же.
Меня мало волнует, сколько получит некая компания, если я куплю её продукт; я заплатил, получил, что хотел, все довольны. Так же и тут, вы либо согласны с этими условиями, либо нет.
Мне совесть не позволит у друга купить дешевле, а потом предъявлять претензии [на тех.поддержку] (тем более, если купил дешевле).
Сам также знаю людей, которые попросив «помоги разобраться с Windows» (будучи там несведущи) заставляют взять деньги, так как это работа.
А знаю и обратных, которые надеются, что потом будешь пожизненно помогать.
Вот официальный СДК: mindstorms.lego.com/eng/overview/nxtreme.aspx
Плюс есть немало библиотек, так что, возможностей, думаю, немало.