Имбирь - твой спиритический овощ. Войти !bnw Сегодня Клубы
Привет, TbI — HRWKA! 1239.0 пользователей не могут ошибаться!
?6944
прекрасное6443
говно5905
говнорашка5512
хуита4716
anime3066
linux2652
music2635
bnw2602
рашка2565
log2355
ололо2176
дунч1832
pic1815
сталирасты1491
украина1439
быдло1437
bnw_ppl1420
дыбр1238
гімно1158

Насколько Лого функциональный язык? http://dluciv.livejournal.com/178394.html
#S54IOR (4+1) / @dluciv / 3436 дней назад
Тупо переписал свой стандартный любимый вычислительный тест (объём N-мерных шаров методом Монте-Карло) с Юли на Си. На Юле программа считала 3 секунды, на Си 14. На Си безбожно тормозили случайные числа. Более 90% времени. После того, как заменил вызов `rand` на константы (смищно, да) и в Си, и в Юле, Си стал вдвое быстрее Юли. Тогда я убрал из программы на Юле аннотации типов, откуда можно было. И внезапно она стала не вдвое, а всего в полтора раза медленнее Си. Отсюда три вывода: 1. Мой дурацкий пример вполне вписывается в эту картинку: http://julialang.org/benchmarks/. 2. Компилятор ставит аннотации типов лучше меня (логично, я Юлю второй день знаю). 3. Юля няша.
#04KN5S (14+1) / @dluciv / 3513 дней назад
Интересно, Julia когда-нибудь станет "языком общего назначения", на котором пишут более или менее всё?.. Тот же Хаскелль стал же. Пусть у него целевая аудитория и состоит, в основном, из не очень большого количества задротов, но зато никому в голову не придёт сказать, что он заточен под какой-то определённый класс задач. Потому что всем понятно, что основная идея программирования на Хаскелле -- сам процесс программирования на Хаскелле. Вот под что Хаскелль заточен на самом деле %). А Julia похоже к этому в принципе не стремится.
#ZIVWTS (20+1) / @dluciv / 3514 дней назад
Кто-нибудь юзал http://julialang.org/ ? По-моему она не такая платная, как Матлаб, не такая тормозная, как Питон, и не такая отстойная, как они оба. А ещё на видео бородатый чувак в халате, прямо как я https://youtu.be/Eb8CMuNKdJ0 Кто-нибудь скажет pros/cons?..
#ARBK2P (16) / @dluciv / 3515 дней назад
У многих языков с неизменяемыми данными есть одна неприятная особенность: если надо поменять что-то в здоровой структуре данных где-то в глубине, приходится тяжко. Когда надо поменять одно поле в записи, это не страшно: http://stackoverflow.com/questions/14955627/shorthand-way-for-modifying-only-one-field-in-a-record-copy-a-record-changing . Аналогичный синтаксис есть и у Эрланга, и у F#, и наверняка ещё до фига у кого (думаю, у большинства даже). А вот возможности поменять _одно_ грёбаное поле в середине здорового дерева нет ни у кого... Даже у F#, у которого она просто таки напрашивается, на мой взгляд, из синтаксиса. Можно конечно всякий раз заливать, что раз, мол, языки функциональные, так пусть все куски, которые требуется менять, и будут функциями, но это не всегда удобно. Например, (де)сериализация функциональной структуры данных -- геморрой, а если между сериализацией и де сериализацией успел поменяться код, то серьёзный геморрой. За что такая несправедливость, и чем себя утешить?
#DXL5ZQ (29) / @dluciv / 3520 дней назад
Вы полтора года назад забацали программу на Питоне. Все эти полтора года программа росла, и данные, которые она переваривает, тоже росли. И вот сейчас вы задумались о том, что так дальше продолжаться не может, и надо её распараллелить, т.к. больше ничего уже не сделать. Вы подключили multiprocessing, стали пытаться делать так, чтобы всё работало правильно (для начала чтобы хоть как-то работало), и... осознали, что как раз сейчас и есть очень хороший момент для того, чтобы своей любимой программе сказать «большое спасибо» и переписать её на чё-то другом, что, как минимум, распараллеливаться будет без адских мучений. Причём вполне вероятно, что новая программа будет работать с такой скоростью, что распараллеливание не будет актуально ещё года полтора. Но лучше сразу не обманываться, чтобы не страдать потом.
#I62G05 (19+1) / @dluciv / 3525 дней назад
У многих программных проектов, если посмотреть полную историю со всеми ветвями, ветвистость просто бешеная. Первое впечатление обычно -- люди сидят, ломают голову, поддерживают код и процесс разработки в целостном и непротиворечивом состоянии. Однако секунд через 15 становится ясно, что все просто делают commit, потом push, потом круглые глаза, следом pull, затем merge, и наконец опять push.
#84DW21 (4) / @dluciv / 3537 дней назад
Судя по https://developers.google.com/apps-script/, Apps Script загибаться не планирует. Вроде же его хотели тоже прикрыть. Или я с чем-то путаю?
#KSZPAQ (0) / @dluciv / 3540 дней назад
Интересно, многие ли будут рвать на себе волосы из-за Google Code?..
#WIIFB0 (40) / @dluciv / 3554 дня назад
Когда-то сравнительно давно, в #82SN7E, спрашивал я про точные координаты тегов в XML и как их достать из Питона. Я для этого использовал SAX, и @stiletto мне то же самое советовал, но SAX выдавал слишком мало информации о привязке по координатам к исходному тексту. Дык вот. Если хотите до хрена информации, то юзайте Pygments. Забавно, да? Он вообще-то совсем не для того нужен, но в итоге с задачей справляется лучше, чем специально предназначенные для XML парсеры (хотя по моим прикидкам работать он будет заметно медленнее, но меня почти любая `O(n)` устроит, а там она). В частности, Pygments позволяет очень хорошо различать `<тег></тег>` и `<тег/>`, с чем я при использовании SAX трахался до полусмерти.
#MGE3SS (0) / @dluciv / 3564 дня назад
LGPL отличается от GPL тем, что допускает динамическое связывание с закрытым кодом. Всё чудесно, но только в нынешних реалиях слова "динамическое связывание" по сути не говорят вообще почти ни о чём. Вот например пишу я программу на C. В ней, допустим, реализован алгоритм, который я не хочу показывать. Тогда GPL мне использовать нельзя. А LGPL можно, но только если лицензированные под ней артефакты будут отдельными файлами. А если я эту прогу соберу под, например, Андроид, где никто без распаковывания этих файлов не увидит, это считается?.. Ладно, вот пример экстремальнее. Я пишу программу на Питоне и юзаю PyQt, который GPL. Ок, всё, что непосредственно взаимодействует с Qt, тоже будет GPL (либо прощайте £350, или сколько там). Но другие модули своей программы я могу лицензировать, как захочу (WTFPL например, чтобы убрать вирусность). Причём я по идее даже могу из них вызвать GPL-ный модуль, так как это ни фига не динамическое связывание: интерпретатор Питона просто загрузил оба файла, как данные, и что-то с ними делает. Это по сути неправильно, но формально-то как? Я чего-то принципиальноне так понял? Если да, то как правильно?
#48AALS (18+2) / @dluciv / 3565 дней назад
Я тут внезапно вспомнил, кто ещё любит Rust: http://youtu.be/wpVTORX_ifk
#6YZEA6 (3+1) / @dluciv / 3571 день назад
АНАРХИЯ КЛАССОВ
#5LHIM8 (0+1) / @kerrigan / 3586 дней назад
Кто с metalua сталкивался вплотную? Её можно заставить выдавать исходный код на lua, а не байткод?
#X5NV65 (0+1) / @dluciv / 3592 дня назад
Кто-нибуль сечёт в HTML5 AppCache? В общем надо поудалять контент из кэша, но не по желанию сервера (сервер может отдать 404 вместо манифеста, и всё будет ок), а сугубо по желанию клиента. Т.е. http://stackoverflow.com/a/7941620/539470 не канает. Как?
#GGF6IY (0) / @dluciv / 3599 дней назад
А есть в природе computer scientists, которые риальне изучают и описывают большие софтверные проекты прежде чем генерировать язычки, которые supposedly сделают программную инженерию дешевле? Чо почитать?
#BIWFR0 (14) / @l29ah / 3648 дней назад
А вопрос таков: есть ли для Питона парсеры XML, которые могли бы сохранять координаты XML-конструкций из исходного XML? SAX или DOM -- мне, по большому счёту, без разницы. Нужны координаты открывающих и закрывающих тегов, причём для каждого тега -- координаты начала и конца. xml.sax.handler.ContentHandler даёт, если от него наследоваться, только подмножество нужных событий. Куды податься?
#82SN7E (14+1) / @dluciv / 3649 дней назад
struct.unpack('<H2s', b'qwew') возвращает (30577, b'ew'), как надо. struct.unpack('2s<H', b'qwew') падает с bad char in struct format ЧЯДНТ?
#J6QC9N (12) / @dluciv / 3681 день назад
@komar я прочитал твоё резюме, которое http://komar.bitcheese.net/ru/cv и охуел (в хорошем смысле слова) сколько ты всего умеешь! Составь плиз мануал как достичь мастерства программирования с нуля человеку чьё академическое образование застряло на уровне 5 класса. Что обязательно прочитать, что изучить и т.д. Думаю другим СТРЕМЯЩИМСЯ бнвачерам будет интересно. Спасибо.
#X553KD (35) / @turboninja / 3682 дня назад
Где под Виндами взять Opam? Под Линухом проблем нет, всё ставится и ставится себе...
#L1HHEB (1) / @dluciv / 3686 дней назад
--
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.