Да. Такие дела. Пару дней назад чесали языками на тему джавной-скальной substring. И т.д. Инженера ж пишут; их не пугает, если NaN == NaN возвращает false; законы природы и законы алгебры им не ведомы, зато они читали всякие книжки, написанные такими же инженерами.
А между тем в июле закрылась одна лавочка, где писали на окамле, и знакомый окамельщик пошел внедрять скалу в одну контору.
И ничего не впаришь. Скажешь им про естественное преобразование из ковариантного в контравариантный, и какие бывают следствия - а не нать, слишком сложно.
в соседнем треде люди еще возмущались что для некоторых отдельных видов флоатов (не NaN) fast path в микрокоде не подходит и операции на околореалтаймовых системах ВНЕЗАПНО занимают не 1 такт а 3000, мне к счастью такое не грозит, но подобные подземные стуки бывают блин везде.
я пожалуй не соглашусь. NaN - это точка в типе вроде CoFloat, я так сходу не придумаю, а дельную статью ещё не дочитал, а результат сравнения должен допускать (True | False | Undecidable). Так вот, NaN == NaN на самом деле Undecidable, но инженера пишут Bool, и втискивают Undecidable в False.
Бро, переходи лучше на тёмную сторону силы в лагерь Microsoft.
Там есть проблемы конечно - но по крайней мере почти всё низкоуровневое говно, вроде целых чисел, строк, компиляторов, date-time, глобализации, и т.п., они разгребли уже декады назад. Причём разгребли таким образом, что ты, как разработчик, с лёгкостью можешь всем этим воспользоваццо.
Вот кстати поддержку. Влезая грязными руками в .net и моно понимаешь что в первом конечно говнищща (да и во втором тоже), но MS на базовых вещах наверное собак съели больше чем все корейцы вместе взятые, потому оно и работает.
из платформ у меня, собственно, не вызывают отвращения erlang и clr. с жабаскриптом у меня стокгольмский синдром, просто его хорошо знаю и привык. с typescript'ом впрочем даже как-то жить можно, но сам компилятор пока весьма и весьма глюченый.
а вот глючные либы можно на любой платформе написать(
typescript да, как бальзам на душу, но всё-равно не то. Плюс последний компилятор (0.9.1.1 который) вроде стал нормальным, по крайней мере он перестал уходить в себя на банальных ошибках.
А насчёт гонять C# -> js не думал? В инете полно всяких трансляторов (правда большинство говнистое). Я вообще думаю заюзать рослин, запилить свой транслятор и перегнать какой-то моно, чтобы уж совсем жирно было (и чтоб браузеры опухли :)
у меня два проекта, шифрованный дедупликатор/файлогонялка и шифрованный p2p мессенжер (с шахматами и куртизанками, не только чат).
в обоих заметные количества алгоритмического кода, который надо чтобы работал побитно идентично на разных платформах, включая мобильные. вот это вот уточнение про "побитно" очень-очень портит нервы, потому что я пытаюсь опираться на трансляторы, а они глючные, а писать всё несколько раз не хватает рук.
edit: и логично бы опираться на либы, но они сука все чуть-чуть разные даже там где спека прописана детально
Вспоминаю "кроссплатформенный" spidermonkey, в котором при сборке (уж не помню, ads или rvds) под армы начинались глюки преобразования float в строки. Сверхпидерастический алгоритм с бигинтами "на 15% быстрее обычных решений" - душераздирающее зрелище.
Слушай, вот за что плюсану так плюсану! Мало того что старые кривые библиотеки достали, так еще и новые пишут! Вот тут в стандарт C++14 пытаются пропихнуть параметрический тип Option. Казалось бы - благие намерения! Да только никаких функторов, и даже fmap завалящего нету (а про монады недавно Влад писал). Предлагают проверять на null или бросать исключения. Все как в старину, как предки завещали. Сколько ж можно по тем же граблям топтаться?! Или вот недавно взял плюсовую библиотечку для работы с SQLite. С виду все красиво и опрятно, STL-like. Да вот только поведение оказалось совершенно неочевидным и крышесносящим! Особенно мутабельность в самых неожиданных местах и криво реализованная ленивость. Прямо бери и пиши все сам. Так жизни ж никакой не хватит...
Судя по описанию подойдет. Правда, то что там не только SQLite это скорее минус - хотелось минимальной обертки над C-шным интерфейсом и именно для SQLite. Чтобы не возиться с указателями и не тащить монстра в небольшой личный проект.
Comments 61
Reply
И т.д. Инженера ж пишут; их не пугает, если NaN == NaN возвращает false; законы природы и законы алгебры им не ведомы, зато они читали всякие книжки, написанные такими же инженерами.
А между тем в июле закрылась одна лавочка, где писали на окамле, и знакомый окамельщик пошел внедрять скалу в одну контору.
И ничего не впаришь. Скажешь им про естественное преобразование из ковариантного в контравариантный, и какие бывают следствия - а не нать, слишком сложно.
И т.д.
Reply
Reply
Reply
Reply
Там есть проблемы конечно - но по крайней мере почти всё низкоуровневое говно, вроде целых чисел, строк, компиляторов, date-time, глобализации, и т.п., они разгребли уже декады назад.
Причём разгребли таким образом, что ты, как разработчик, с лёгкостью можешь всем этим воспользоваццо.
Reply
Reply
а вот глючные либы можно на любой платформе написать(
Reply
А насчёт гонять C# -> js не думал? В инете полно всяких трансляторов (правда большинство говнистое). Я вообще думаю заюзать рослин, запилить свой транслятор и перегнать какой-то моно, чтобы уж совсем жирно было (и чтоб браузеры опухли :)
Reply
Reply
в обоих заметные количества алгоритмического кода, который надо чтобы работал побитно идентично на разных платформах, включая мобильные. вот это вот уточнение про "побитно" очень-очень портит нервы, потому что я пытаюсь опираться на трансляторы, а они глючные, а писать всё несколько раз не хватает рук.
edit: и логично бы опираться на либы, но они сука все чуть-чуть разные даже там где спека прописана детально
Reply
Reply
Вот тут в стандарт C++14 пытаются пропихнуть параметрический тип Option. Казалось бы - благие намерения! Да только никаких функторов, и даже fmap завалящего нету (а про монады недавно Влад писал). Предлагают проверять на null или бросать исключения. Все как в старину, как предки завещали. Сколько ж можно по тем же граблям топтаться?!
Или вот недавно взял плюсовую библиотечку для работы с SQLite. С виду все красиво и опрятно, STL-like. Да вот только поведение оказалось совершенно неочевидным и крышесносящим! Особенно мутабельность в самых неожиданных местах и криво реализованная ленивость.
Прямо бери и пиши все сам. Так жизни ж никакой не хватит...
Reply
Reply
Reply
Reply
Leave a comment