Pull to refresh
9
0

Пользователь

Send message
Вам надо двигать указатель на сам стек, что эквивалентно движению указателя в nurcery.
Раз уж придираемся, то в случае стека мы двигаем значение в регистре, а в случае GC мы пишем в память, и скорее всего interlocked'ом — разница очень велика.
При этом сброс nurcery происходит быстрее, чем сброс стека.
С чего бы это вдруг? Копированием релевантных данных можно пренебречь?
Если бы в том же хаскеле было не так а выделялись бы куски по стандартному new то оно бы по сути было неюзабельно.
А кто заставляет использовать самый примитивный способ менеджмента памяти?
в случае ФП, когда вам надо выделять огромное количество короткоживущих, «одноразовых» объектов (гигабайты в секунду), эта техника незаменима.
Не эксперт в хаскеле и ФП, но насколько я знаю, функциональщина всегда stateless. Так зачем тогда в принципе что-либо кроме стековых аллокаторов?
Лучше как-то с алгоритмов начинать, ИМХО.
Безусловно, но мы то уже о программировании говорим.
С тоже, ИМХО, не самый хороший выбор.
Возможно, но ничего лучше я пока не вижу.
хотя С и позволяет добиваться результатов быстрее, чем ассемблер, он далеко не на вершине эффективности в плане скорости разработки.
ИМХО, новичку нужно учиться создавать качественный продукт, а быстрый говнокодинг на чем то вроде Java всегда можно освоить. Насколько я знаю, самый простой инструмент для создания качественного продукта — это С.
Зачем он там нужен?
Кто и где?
Ассемблер, серьезно? Много Вы людей знаете, которые могут на нем что-либо с нуля написать? А предлагаете как отправную точку новичку. Для понимания результатов компиляции С он конечно важен, но основной инструмент все же должен позволять выполнять задачи в адекватные сроки.
Функциональщина, хоть и привлекательна мне академически, не заходит дальше математического решения. А что бы положить это на существующие процессоры, нужен С.
Кроме того, язык С не даёт вам понимания тех же регистров. Их там нет. И понимания того, как машина работает, он тоже не даёт.
Да, но он является отправной точкой для изучения данных вещей. А как этому, интересно, способствует Хаскел?
Вы понимаете, как работает register renaming в современных процессорах и зачем он нужен, коли мы об этом заговорили? Как процессор выбирает и переупорядочивает инструкции для спекулятивного выполнения? А многопоточный код вы пишете? А протокол синхронизации кэшей в вашей машине знаете?
Как минимум не до конца, что свидетельствует о том, что мне есть куда двигаться. Но значит ли это, что стоит отказаться от того, что бы в это все вникать?
«Развивает» — в данном случае значит, что заставляет рассуждать о программах в терминах типов, композиций функций и прочих вещей, позволяющих лучше и эффективнее проектировать большие системы.
Не отрицаю, что это очень полезно, но если, как советует автор статьи, «не вникать в технические детали», то получится или быдлокодер, или человек с «энтерпрайсом головного мозга».
А можно, в утиной типизации, принять все, что пришло, и дернуть метод у этого нечто.
Ай как замечательно, только вот веселье начинается когда на вход передается объект такого типа, который на вход не ожидали. Хорошо еще, если соответствующего метода у данного типа нет — тогда просто получим ошибку (ну, или не получим), а что, если соответствующий метод вытирает диск или взрывает атомные бомбы? Так что строгая типизация — это не про ограничения, это про дисциплину и быстрое вылавливание элементарных, но неприятных ошибок.
статическая типизация подразумевает компиляцию
Нет, с чего это вдруг? Чем статическая типизация мешает использовать язык в режиме интерпретации?
Мыслительный процесс провожу в голове, а из языков больше всего использую C++. Да и какая вообще разница? Думать ведь всегда надо, и не только в программировании.
А от чего сложилось впечатление, что статически типизированные языки требуют больше времени на разработку? Для Вас программирование эквивалентно набору бессмысленного текста? Просто лично у меня большая часть времени уходит на мыслительный процесс.
Действительно, зачем тратить время на создание годного контента, если можно сделать холиварный вбросик. Тем более что технические детали ведь любой сравнить может, а похайповать — только избранные.
Ну так это статья про утиную типизацию, потому там про нее и написано. А Python приведен просто как общеизвестный пример. И еще, Python — это язык для быстрого изготовления прототипов реальных продуктов (почему его и используют всякие ресерчеры в Data Science и ML). «Любительский, для скриптиков» — это Ваше очередное личное безосновательное мнение.
Ну, не сказать что бы у Вас очень получилось. Объективный обзор должен включать в себя сравнение технических особенностей, а не хайпа и воплей хейтеров.
В "The Zen of Python" про утиную типизацию ничего нет. Похоже, это еще одна область, в которой Вы не являетесь экспертом.
Вы бы написали, что статья опубликована лишь для того, что бы холиваров разжечь. А то вдруг какой-то новичек ее всерьез воспримет.
А в чем парадокс?
Представьте себе, что Вы написали программу управления космическим аппаратом, ..., но это место в коде специально не проверили.
Как то не получается такое представить. К написанию программ управления космическими аппаратами обычно подходят очень серьезно. А это значит, что весь код тщательно проверяется на наличие ошибок, а потом еще и тестируется в условиях, максимально приближенных к реальным. А о «случайной ошибке» и речи идти не может, потому что любая ошибка — это труба космическому аппарату стоимостью в сколько то там миллионов долларов. Так что без разницы, как на нее реагируют приведенные Вами языки в Вашей конфигурации.
Выводы, конечно, просто божественны.
Поэтому не все языки подходят для решения ответственных задач или требуют дополнительных проверок и ветвлений кода.
Я бы здесь слово «языки» заменил на «люди».
У Вас в примере №1 в коде написано «N <= 121», а тексте ошибки внизу — «N <= 120», так вроде не должно быть.
1) Ну значит это не Вам адресовано, прошу прощения.
2) Коммент опубликован как ответ к другому комменту, последнее предложение которого: «Такое исправление дискриминации меня не устраивает.» «MeToo» в данном контексте переводится как «Меня тоже». Неужели так сложно?
Это я просто согласился с habr.com/post/413637/#comment_18751625, не скрыв нотку иронии. Если же Вы поддерживаете людей, которые, пользуясь хайпом про дискриминацию, вредят другим ради материальной и ЧСВ-выгоды, то можете и дальше меня минусовать.
Ну, должен признать, после Ваших разъяснений все действительно не так плохо, как я думал. Но все же не могу понять некоторые нюансы:
1) В этой ситуации — в чем блокчейн выигрывает у централизованного хранилища?
2) Концепция концепцией, но все же непонятно, с чего такое резкое отношение к телефонной книге и уведомлениям о прочтении.
3) Об этом:
уязвимостей хватает даже у Apple
Ну так это не повод выставлять их напоказ. Я, конечно, не принципиально против open-source, но в статье говорится, что АДАМАНТ open-source'ный только для того, что бы люди могли находить в нем уязвимости.
4) Почему не существует банов, так и не понял.

Information

Rating
Does not participate
Registered
Activity