Category: it

Category was added automatically. Read all entries about "it".

Программисты и системы счисления

За уже почти 30 лет программирования и примерно 25 лет работы программистом, что-то, хотя бы отдалённо напоминающее использование систем счисления, отличных от десятичной, я видел примерно два раза.

Один раз, правда, растянулся на много—много лет и до сих пор тянется — в том смысле, что посмотреть на это можно и сегодня.

Дело вот в чём.

Когда компьютеры были большими, а память у них — маленькой, был этап, на котором захотелось, чтобы цветов стало не 2, 8 или 16, а много. А потому просто пронумеровать в произвольном порядке используемые цвета уже не получилось бы — слишком их дофига. Поэтому цвет стал кодироваться интенсивностью каждого из трёх каналов: красного, зелёного и синего.

Впрочем, цветные телевизоры уже кодировали примерно так же, но тут оно стало аналогичным и в программах тоже. И не в аналоговом, а в цифровом виде: по восемь бит на цвет.

Collapse )

ЕГЭ по поэбеньтике

Посмотрел жалобы школьника на ЕГЭ. Да, с некоторыми его рассуждениями я не согласен, однако отрадно видеть, что дофига времени прошло, но в данной области ничего не поменялось. Это всё тот же совершенно бессмысленный ритуал, который нужен исключительно для того, чтобы какие-то высокопоставленные работники системы образования, которым всё пофиг, могли формально отчитаться перед ещё более высокопоставленными лицами, которым тоже всё пофиг.

Поскольку всё так же, как прежде, проверяются «знания» о чём-то, что существует исключительно в головах каких-то полностью некомпетентных в сфере IT людей, не имеющие никакого реального практического или хотя бы теоретического смысла. А точнее, имеющие смысл сделать ещё хуже, чем было бы при полном отсутствии данного предмета и экзаменов по нему, заставив школьников заучить вредные и бессмысленные действия, на протяжении всех лет обучения выдаваемые за «так и надо, так и делают».

Предположим, те же люди решили бы сделать экзамен по предмету «работа электрическим лобзиком». Вот как выглядели бы аналогичные сабжевым задания.

  1. Распилите карандаш металлической линейкой.


  2. Возьмите электрический лобзик за лезвие двумя руками и забейте его корпусом гвоздь в бетон.


  3. Держа электролобзик ногой, зарубите им свободно летающую по комнате канарейку.


  4. Задушите проводом от электрического лобзика составителей школьной программы по информатике.


Collapse )

Полуфункциональность

Сколь прекрасны некоторые решения в функциональном стиле, столь же чудовищны некоторые другие.

Сто пудов, возможность написать что-то типа

myList.view.map(f1).map(f2).sum


это прекрасно. Вместо десяти строк — одна, она легко читается, всё сразу понятно, легко чего-то добавить или поменять и так далее.

Но в других случаях попытки написать то же самое оборачиваются каким-то трындецом.

Collapse )

О нумпадах

Про нумпад множество людей написало, что набирают цифры только так. Некоторые утверждают, что они — программисты. Или что видели программистов, которые так набирают. Или, что более вероятно, представляют себе программистов, которые набирают именно так.

Лично я этого вообще представить не могу. Ну там, бухгалтеры, которые и имелись в виду в статье, вполне могут включать виндовый калькулятор и что-то там считать по-старинке, вместо того, чтобы открыть хотя бы Эксель и посчитать нормально, — сам видел много раз.

Но программисты-то. Я написал овердофига программ за свою жизнь, и ещё в 12 лет под это дело научился печатать десятью пальцами (потом, правда, пришлось на другую раскладку переучиваться, но не суть).

Ряд цифр находится прямо над буквами. Их можно набирать восемью пальцами и для этого не надо менять положение рук. Для меня всё время было естественным набирать цифры так. Мои коллеги каждый раз делали аналогично.

Кто эти программисты, которые переносят руку, чтобы набрать цифру? Они остальной код, быть может, тоже одним пальцем набирают?

И, самое главное, а нафига им вообще в программе цифры-то? Чтобы магические константы захардкодить? Не, ну на БК0010 у меня, разумеется, всякое бывало — поначалу. Однако потом, в программах на айбиэмах доля цифр ко всему остальному вряд ли переваливала за 0,1%. Скорее была даже меньше.

Наверно я чего-то не знаю, и другие люди как-то иначе программируют. Ну, так же, как другие люди иными способами считают — до сих пор как на калькуляторе.

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

Чем плоха машина Тьюринга

Граждане тут интересуются, а чего вообще в машине Тьюринга плохого? Ведь это-де — самый простой набор правил, при помощи которых можно реализовать любой алгоритм. Не на таком ли надо изучать «общие закономерности»?

Отвечаю.

Во-первых, «самых простых наборов» сильно больше одного. И вовсе не обязательно, что первый изобретённый будет самым удачным. Ведь «простой» в данном случае означает «минимально необходимое количество правил», а вовсе не «наиболее простые для практического использования правила».

Ассемблер, например, в своей редуцированной форме (то есть без спец-команд, заточенных под наиболее часто употребляющиеся действия, которые реализованы на уровне процессора) тоже очень простой и тоже близкий к «необходимому минимуму». Но на нём вполне возможно написать хоть что-то реально полезное. И таки да, пишут.

Однако, во-вторых, «самый простой по количеству правил» вдобавок вовсе не означает «самый простой для использования и анализа». О нет, тут закономерность совсем даже не такая.

Collapse )

Математики и программирование

Незадолго до появления реального программирования ряд математиков уже начал мечтать о нём. И фантазировать, как оно могло бы быть устроено.

Оттуда, например, «машина Тьюринга» — отличный язык программирования, на котором ни один человек в мире с момента его существования не был в состоянии написать даже очень простую программу. Самый топчик — реализовать что-то типа сложения двух чисел, да и то уверенности в том, что оно правильно работает, так до конца и не появлялось.

Хотя, говорят, эта машина отлично подходит для теоретизирования о программировании, алгоритмах, вычислимости и так далее. Для меня это звучит примерно как: «да, этим автомобилем никто в мире полноценно управлять не может, даже стронуться с места способны лишь считанные единицы, но зато он отлично подходит для размышления о теории управления автомобилями, гоночных соревнований и роботов-водителей».

Откуда берётся вот это «зато отлично подходит» в приложении к штуке, с которой на практике даже простейшие вещи сделать не получается, я могу только догадываться, но подозреваю, что всё дело в том, что «мы попробовали о ней рассуждать, и нас никто не запалил, поскольку никто не смог понять, что тут вообще происходит».

Так и повелось: мы делаем заявления про ту область, которую никто не знает, нас никто не палит, следовательно, наши рассуждения верны.

Collapse )

Символьные вычисления при помощи нейронных сетей



Нейронные сети хороши в решении статистических задач, в распознавании и генерации речи и изображений. В новой статье, опубликованной на arxiv.org, исследователи из Facebook AI Research показали, что нейросети позволяют получать отличные результаты также в символьном интегрировании и решении дифференциальных уравнений. Причём результаты нейросетей превосходят результаты в решении аналогичных задач коммерческих систем компьютерной алгебры, таких как Matlab или Mathematica.

Сама идея «механизировать» символьные вычисления появилась ещё на рубеже девятнадцатого и двадцатого веков.

В чём тут смысл?

Читать целиком


О реальности импортозамещения в области софта



Вступление



На данный момент инициативы в области озвученного в заголовке касаются только госкорпораций и имеют относительно локальные масштабы, однако ежегодные попытки ужесточить ограничения подводят к мысли, что в правительстве действительно есть люди, которые надеются целиком, всей страной отказаться от иностранного софта и перейти на отечественный софт — вкупе с софтом, разработанным в некоторых странах бСССР.

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

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


Современная сфера программного обеспечения



Collapse )

А если не будут брать, то отключим газ

В 2019 году Роскомнадзор планирует внедрить новую технологию борьбы с запрещёнными сайтами и сервисами, в том числе с Telegram. Как выяснила Русская служба Би-би-си, власти готовы потратить на это до 20 млрд рублей. До сих пор попытки блокировать мессенджер Павла Дурова были тщетными.



В целом, конечно, отличная идея — потратить 20 миллиардов бюджетных рублей на внедрение технологии, которая обходится примерно за три рубля.

С другой стороны, вполне понятно, что реальная цель — совсем даже не Телеграм. Люди надеются, что в случае, например, массового выхода жёлтых жилетов в свободное плаванье, их способы связи удастся быстро отключить. Что тоже тщетно — придётся отключать весь интернет, но надеяться-то можно.

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

Правда, тут надо отдавать себе отчёт, что пользователи в результате эти антивирусы анинсталлят.

20 фактов о Microsoft Word



Основная масса приведённых здесь сведений относится к современным версиям Ворда. Чем дальше ваша версия от сегодняшнего дня, тем меньше вероятность, что в ней есть та функция, о которой идёт речь. Однако минимум половина функций всё-таки присутствует и в довольно старых (в разумных пределах) версиях.

Читать целиком