Pull to refresh
4
0
Send message
Ну так я примерно про это и говорю — либо доказательство правильности существует (и тогда умный static code analysis может найти его и в низкоуровневом языке), либо его нет (что бывает чаще), и тогда проверки времени выполнения неизбежны и это ответственность программиста обработать такую ситуацию, в любом языке.

P.S. Чтобы прояснить — я ведь вовсе не против использования высокоуровневых языков, и совсем не отрицаю, что они действительно упрощают процесс программирования. Все, что я хотел сказать — использование такого языка не является «серебряной пулей», которая магически решит все проблемы, следить за логикой использования индексов в программе все равно придется. И тесты для этого все равно писать надо, никуда не деться.
Не совсем так — все, что могут гарантировать «более выразительные языки» (т.е. языки более высокого уровня чем C), это то, что ошибка выхода за границы массива приведет не к испорченной памяти, а к прерыванию во времени исполнения. Но ошибка то никуда не делась, и «тщательно построенный вами замок» по-прежнему разрушен (т.е. программа работает не так, как предполагалось).

С тем, что в высокоуровневых языках можно гарантировать, что программа никогда не крашится при ошибках какого-то рода (или при любых ошибках) — с этим никто не спорит. Но чуда все-таки нет, это может достигаться только добавлением проверок во время выполнения… которые никто не запрещает делать и в низкоуровневых языках (только там их надо делать руками), и логическую ошибку в программе это не исправляет (только делает слегка проще ее обнаружение).
В случае, если размер массива — константа (как в статье), static code analysis эту ошибку легко находит. Ну а если размер динамический, то и для D надо писать тесты, чудес-то не бывает.
> Тогда Apple станет форсировать OpenOffice/LibreOffice для MacOS.

Вообще-то у Apple свой офис есть: www.apple.com/iwork
> g — читается как в английском

Как то не очень помогает. «gif» — это «гиф» или «джиф»?
Не соглашусь — пока Вы не опишете в деталях алгоритм для «увидеть набор законов» (а также всех остальных шагов приведенной блок-схемы).
Эти утверждения не верны:

1) «Массивы в языке С не являются динамическими» — в C99 как раз динамические массивы есть (в статье сказано «мы будем использовать C99» — а не просто «C»)

2) «использовать C99 из-за… широкой поддержки» — на самом деле, как раз наоборот. В частности, Microsoft Visual Studio до сих пор не поддерживает C99 полностью (в отличии от C++11)

Ну и, до кучи, CSV означает comma-separated values, парсить их используя delimiter="\t"… как-то странно. (про осмысленность использования C/C++ для написания довольно кривой обертки для пакета GSL уже написали)
Короткий путь? это шутка? Природе понадобилось 600 миллионов лет для того, чтобы из нематоды получить человека. У Вас есть идеи, как ускорить этот процесс хотя бы на 7 порядков?
«Питоняша» — это смазливая блондинка («няша», цвет волос значения не имеет), пишущая думающая, что может писать на Питоне. Нельзя сказать, что очень распространенный типаж, поэтому слово не шибко популярно. Но пару раз я его где-то встречал.
Девиз «Pics or it didn't happen» более точно переводится как «Фото или этого не произошло». У Вас в статье фотографии нет. ;)
А условия и так равны — Узбекистан имеет полное право не пускать американские компании на свою биржу, если хочет (и даже не обязан объяснять почему).
> Хранить в репозитории бинарники — плохая идея, но не по соображениям занимаемого места.

Отчасти и по соображениям занимаемого места (скорее — времени клонирования, место сейчас дешевое), это зависит от типа бинарника — например, если в картинке поменять один пиксель, новый PNG файл может иметь очень мало общего со старым (из-за встроенной компрессии), и никакой diff не поможет. Но, полностью согласен, место — далеко не самое важное.
«На некоторое время заброшен» — согласен, но, как мне кажется, это все-таки значительно более слабое утверждение, чем «полностью отказались». Насколько я знаю, у Mac Mini были обновления в 2014 и 2018 — может не очень значительные, но для Эппла это достаточно нишевой продукт (который к тому же для массового пользователя конкурирует с их собственным AppleTV).
> На заре своей деятельности Intel производила микросхемы оперативной памяти и неплохо на них зарабатывала. Заказчики её подталкивали к производству микропроцессоров, она упиралась.

Intel действительно начинала с производства памяти, но вторая фраза звучит как-то странно, если учесть, что первым в мире коммерчески успешным микропроцессором был Intel 4004 (в английской Википедии его называют «first true microprocessor»)
Компания его не устраняла потому, что QA этого не заметил, и никто про этот баг не знал. Как только был получен первый репорт, починили на следующий день (ну, или около того).

Порт был открыт всегда, но из интернета, естественно, не был доступен — это было клиентское приложение, которое работало во внутренней сети… которую было бы тоже неплохо потестировать, как я понимаю.
Не очень понял, что означает «Apple… полностью отказалась от целых линеек продуктов, например, от Mac Mini и Mac Pro» — даже если рассматривать нынешний Mac Pro как совершенно новую линейку, то Mac Mini вроде никуда не девался все это время. Объемы продаж у Mini вроде действительно не велики, но он вроде никогда сильно массовым не был.
Из моего опыта, на самом деле все не так хорошо, как представляет автор. Возможно, ему просто чаще приходится иметь дело с теми, кто серьезно относится к пентестам, а таких, судя по всему, меньшинство.

В моей клиентской программе был баг — при получении UDP пакета нулевого размера она тут же падала. То есть, запуск nmap ронял всех клиентов на тестируемой сети. Несмотря на это, баг продержался несколько лет, и это при том, что наши пользователи в массе своей солидные конторы и по идее к безопасности должны относится серьезно.
Мне очень нравится эта фраза из Википедии:

OneWeb plans to include a grapple fixture on its satellites so that a third-party satellite could grab it and tug it out of orbit, should the satellite prove non-responsive.

Мой литературный перевод: «OneWeb планирует снабдить свои спутники ручкой, за которую другой спутник может ухватиться, и стащить сломавшийся спутник с орбиты»
Долина — она Кремниевая (silicon), как правильно написано в самом начале, а не Силиконовая (silicone), как неправильно упоминается 2 раза в тексте ;).

А по поводу пожеланий — интересно было бы посмотреть данные не только по самому Сан Франциско, но и по остальной части кремниевой долины (San Mateo и Santa Clara counties, в первую очередь)
С точки зрения математики в нелокальности проблем нет, но вот с точки зрения физики (как я это понимаю, не будучи сам физиком) квантовую нелокальность довольно трудно совместить с теорией относительности. Не то, чтобы совсем нельзя, но за соблюдением причинно-следственных отношений приходится следить строже, и вообще возни больше.

А в истинной фундаментальной случайности, как мне кажется, вообще ничего плохого нет.

Information

Rating
Does not participate
Registered
Activity