весь код уже написан, да?

Aug 29, 2013 02:52

2013 год, да? весь код уже написан ( Read more... )

крик души, программирование

Leave a comment

Comments 61

maxim August 29 2013, 00:41:39 UTC
Код то написали весь, просто переписать надо, написано ж не нами :)

Reply


ex_juan_gan August 29 2013, 01:07:07 UTC
Да. Такие дела. Пару дней назад чесали языками на тему джавной-скальной substring.
И т.д. Инженера ж пишут; их не пугает, если NaN == NaN возвращает false; законы природы и законы алгебры им не ведомы, зато они читали всякие книжки, написанные такими же инженерами.

А между тем в июле закрылась одна лавочка, где писали на окамле, и знакомый окамельщик пошел внедрять скалу в одну контору.

И ничего не впаришь. Скажешь им про естественное преобразование из ковариантного в контравариантный, и какие бывают следствия - а не нать, слишком сложно.

И т.д.

Reply

_winnie August 29 2013, 11:58:00 UTC
NaN - это реализация типа (float|ошибка), и сравнение для него - это не сравнение, а детекция ошибки.

Reply

wizzard0 August 29 2013, 12:13:12 UTC
в соседнем треде люди еще возмущались что для некоторых отдельных видов флоатов (не NaN) fast path в микрокоде не подходит и операции на околореалтаймовых системах ВНЕЗАПНО занимают не 1 такт а 3000, мне к счастью такое не грозит, но подобные подземные стуки бывают блин везде.

Reply

sassa_nf August 29 2013, 12:22:10 UTC
я пожалуй не соглашусь. NaN - это точка в типе вроде CoFloat, я так сходу не придумаю, а дельную статью ещё не дочитал, а результат сравнения должен допускать (True | False | Undecidable). Так вот, NaN == NaN на самом деле Undecidable, но инженера пишут Bool, и втискивают Undecidable в False.

Reply


soonts August 29 2013, 02:39:26 UTC
Бро, переходи лучше на тёмную сторону силы в лагерь Microsoft.

Там есть проблемы конечно - но по крайней мере почти всё низкоуровневое говно, вроде целых чисел, строк, компиляторов, date-time, глобализации, и т.п., они разгребли уже декады назад.
Причём разгребли таким образом, что ты, как разработчик, с лёгкостью можешь всем этим воспользоваццо.

Reply

w00dy August 29 2013, 06:58:06 UTC
Вот кстати поддержку. Влезая грязными руками в .net и моно понимаешь что в первом конечно говнищща (да и во втором тоже), но MS на базовых вещах наверное собак съели больше чем все корейцы вместе взятые, потому оно и работает.

Reply

wizzard0 August 29 2013, 11:34:19 UTC
из платформ у меня, собственно, не вызывают отвращения erlang и clr. с жабаскриптом у меня стокгольмский синдром, просто его хорошо знаю и привык. с typescript'ом впрочем даже как-то жить можно, но сам компилятор пока весьма и весьма глюченый.

а вот глючные либы можно на любой платформе написать(

Reply

w00dy August 29 2013, 12:27:26 UTC
typescript да, как бальзам на душу, но всё-равно не то. Плюс последний компилятор (0.9.1.1 который) вроде стал нормальным, по крайней мере он перестал уходить в себя на банальных ошибках.

А насчёт гонять C# -> js не думал? В инете полно всяких трансляторов (правда большинство говнистое). Я вообще думаю заюзать рослин, запилить свой транслятор и перегнать какой-то моно, чтобы уж совсем жирно было (и чтоб браузеры опухли :)

Reply


vp August 29 2013, 05:39:18 UTC
А если немного подробнее, какие в итоге задачи нужно решать?

Reply

wizzard0 August 29 2013, 11:42:03 UTC
у меня два проекта, шифрованный дедупликатор/файлогонялка и шифрованный p2p мессенжер (с шахматами и куртизанками, не только чат).

в обоих заметные количества алгоритмического кода, который надо чтобы работал побитно идентично на разных платформах, включая мобильные. вот это вот уточнение про "побитно" очень-очень портит нервы, потому что я пытаюсь опираться на трансляторы, а они глючные, а писать всё несколько раз не хватает рук.

edit: и логично бы опираться на либы, но они сука все чуть-чуть разные даже там где спека прописана детально

Reply

justy_tylor August 30 2013, 16:25:45 UTC
Вспоминаю "кроссплатформенный" spidermonkey, в котором при сборке (уж не помню, ads или rvds) под армы начинались глюки преобразования float в строки. Сверхпидерастический алгоритм с бигинтами "на 15% быстрее обычных решений" - душераздирающее зрелище.

Reply


madf August 29 2013, 05:44:20 UTC
Слушай, вот за что плюсану так плюсану! Мало того что старые кривые библиотеки достали, так еще и новые пишут!
Вот тут в стандарт C++14 пытаются пропихнуть параметрический тип Option. Казалось бы - благие намерения! Да только никаких функторов, и даже fmap завалящего нету (а про монады недавно Влад писал). Предлагают проверять на null или бросать исключения. Все как в старину, как предки завещали. Сколько ж можно по тем же граблям топтаться?!
Или вот недавно взял плюсовую библиотечку для работы с SQLite. С виду все красиво и опрятно, STL-like. Да вот только поведение оказалось совершенно неочевидным и крышесносящим! Особенно мутабельность в самых неожиданных местах и криво реализованная ленивость.
Прямо бери и пиши все сам. Так жизни ж никакой не хватит...

Reply

alexott August 29 2013, 06:50:04 UTC
SOCI не подходит? там не только sqlite ;-)

Reply

madf August 29 2013, 08:11:11 UTC
Судя по описанию подойдет. Правда, то что там не только SQLite это скорее минус - хотелось минимальной обертки над C-шным интерфейсом и именно для SQLite. Чтобы не возиться с указателями и не тащить монстра в небольшой личный проект.

Reply

alexott August 29 2013, 08:13:34 UTC
понятно - просто если еще какая-то другая база понадобится, то про SOCI могу сказать только хорошее :-)

Reply


Leave a comment

Up