17% скидка на размещение рекламы на площадках devby — до 20 ноября. Клац!
Support us

Неделя за 10 ссылок: про эльфийские языки программирования

4 комментария
Неделя за 10 ссылок: про эльфийские языки программирования

В еженедельном обзоре — новое интервью Юрия Зиссера о возможностях ИТ-индустрии, размышления об эльфийских и мейнстримовых языках программирования, методика изучения английского для айтишников, а также материалы по веб-безопасности, природе багов и устройству веб-сервера NGinx.

Читать далее

1. Интервью с Зиссером

Моя человеческая слабость невольно заставляет отслеживать судьбу Юрия Зиссера, над которым висит дамоклов меч нормализации. И вот из последнего, из наболевшего: что может, а чего не может отечественное ИТ:

Вспомним хотя бы недавнюю историю с предупреждением Минюста компании «ТУТ БАЙ МЕДИА» о незаконности риэлторского сервиса. Во-первых, это не мы его ведем, а Bling.by — мы их только рекламировали. Во-вторых, этим занимается полмира, но предупреждение вынесли только нам. Это просто абсурд.

Или история с сайтами знакомств. Декрет президента № 3 «О некоторых мерах по противодействию торговле людьми» от 9 марта 2005 года де-факто запретил сайты знакомств. Надо получать лицензию брачного агентства, а дальше — каждые три месяца сдавать списки иностранцев, которые знакомились на нашем сайте, а также номера паспортов всех беларусов, на нем зарегистрированных. Понятно, что эти требования невыполнимы. А у нас на тот момент было столько знакомств, сколько на Mamba. После предупреждения Генеральной прокуратуры мы были вынуждены закрыть этот сервис. В результате теперь все беларусы знакомятся на зарубежных сайтах, а наше государство от этого радуется и считает, что так правильно.

Есть еще пример — сервис интернет-такси UBER. Во всем мире он законен, а у нас, видимо, будут и с ним бороться.

А в это время, где-то в коридорах власти, наконец утвердили перечень государственных программ
научных исследований
на 2016–2020 годы, где на ИТ завязано громадье планов. Вот краткий список того, что в Беларуси свершится в ближайшую пятилетку:

Исследование и разработка интеллектуальных систем анализа информации, в том числе сверхбольших объемов данных, искусственного интеллекта, когнитивных процессов и робототехники; распознавание и обработка образов, сигналов, речи и мультимедийной информации; разработка методов высокопроизводительных вычислений и «облачных» технологий; математическое и компьютерное моделирование и проектирование высокотехнологичных изделий и процессов.

2. Эльфийский язык программирования

Вечная, как жизнь, дискуссия о правильных языках программирования:

Как известно, если ты серьёзный программист, синтаксический сахар тебе не нужен, это баловство. Ещё несколько лет назад Python считался детской погремушкой именно из-за этого. Чем вам фигурные скобки мешали? Ребячество какое-то придумали: заменить фигурные скобки на отступы табуляции. Сказал солидный дядя. Мальчики согласно покивали, виновато глядя в потолок. Через год все работали в коллективах где Питон основной язык.

Правильное развитие языков какое? А вот какое.

Дальше речь от синтаксического сахара переходит к синтаксическому мясу. Для иллюстрации приведу два коммента оттуда, сначала выпад:

Думаю, язык программирования должен быть максимально приближен к человеческому, дабы понимание языка было простым и чистым как мысли программиста. А писать всякие закорючки и при этом помнить их все все равно что изучить еще японский (грубо говоря), а потом уже на нем начать программировать, то есть два языка учить.

Ответка:

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

Тут уместно вспомнить про ФП как хорошую альтернативу всему, что мы учили в 20 веке, в связи с этим хороший момент набросить цитатой взятой отсюда:

Помните, было такое «структурное программирование»? Люди в чатиках конца шестидесятых с**лись на тему СП vs. GoTo, кричали «considered harmful!», писали посты на своих печатных машинках, такая движуха была. И где оно все, почему прекратились с**чи? Все основные языки впитали в себя (или взросли на) СП, и тема рассосалась. Наблюдая за интенсивностью тем об ФП на разных форумах, в ЖЖ, в журнале ПФП и прочих интернетах, в этом году могу констатировать аналогичную ситуацию: ФП как темы больше нет, расходимся. Все основные языки впитали в себя (или взросли на) ФП, по крайней мере полезные его части (первоклассные функции, ФВП, лямбды, замыкания, иммутабельность, произведение типов, копроизведение типов, экспонента, применение этого всего в первую очередь в виде map/filter/reduce), а бесполезные части оказались выкинуты на задворки, в уголке музея эзотерики на них всегда можно будет полюбоваться, но в основном только там. Думаете, другая часть ФП еще себя покажет, и расширение линз Кана вправо-вверх вдоль контравариантного функтора еще выстрелит? Не будет этого, dead end.

Фрагмент полемики из комментов:

Да в мейнстриме вообще всё плохо. Все только многозначительно кивают на какие-то «мейнстримовые языки», а копнешь — одно с убогим синтаксисом, отсуствием типизации и генерит тормозные бинарники размером больше, чем у хаскелла (и нет на мипсе), и устарело лет на тридцать в момент появления на свет, второе никак не родится, ломает совместимость и есть мнение, что слишком сложно для идиота и не слишком умное для не-идиота, т.е не найдет свою ЦА (и нет на мипсе), третье имеет причудливый синтаксис, убогую типизацию, медленно компилирует и вообще гвоздями прибито к JVM-у (и нет на мипсе)…

Короче — как был один Си, так и остался в этом вашем мейнстриме. Убогий, но прекрасный, как первая рыба, выбравшаяся на сушу.

Programming languages of today — нижний это С, самый верхний — Пайтон

В догонку:

3. Советы айтишникам, изучающим английский

Сама статья выложена здесь:

27 лет назад автор данной статьи поменял класс в школе с франкоязычного на англоязычный. Два летних месяца мне пришлось заниматься с опытным преподавателем, но зато осенью я был на голову лучше своих новых однокласников, которые уже «какбэ» 3 года зубрили эти диковинные заморские слова. С тех пор я успел и поучиться в Киевском Лингвистическом Университете, и соприкоснуться с мудростью одного из величайших лингвистов Констатина Тищенко (дай ему Бог долгих лет), говорившего на 90 языках, а также получить магистра по English Studies из немецкого университета, ну, и поработать с английским в ИТ на протяжении последних 10 лет.

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

4. Чёрный, как уголь, ИТ

Зарисовка из жизни современной Украины, имеющая противоположный конец нашей отечественной эпопее:

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

История про то, как киевлянин создал сайт с рекламой проституток и заработал $2 млн за два года.

Здесь было всё «по честному», но бывает наоборот:

5. Неделя NGINX

На прошлой неделе была опубликована целая серия статей об отечественном веб-сервере NGinx:

6. Web-безопасность

Такая же пачка свежих статей по веб-безопасности:

7. Про дивный PHP

Подборка двух свежих статей по специфике PHP — это не очередное унижение языка, а скорее просто более пристальное изучение его багофич.

Из последнего вытащил такой прикольный код — много думал:

$ php -r 'var_dump([] < new stdclass); var_dump([] > INF);'

bool(true) // пустой массив меньше пустого класса

bool(true) // пустой массив больше бесконечности

8. Новое поколение

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

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

9. Размышлизмы о багах

Цитирую далее материал При достаточном количестве денег все ошибки выплывают на поверхность:

Утверждение 1:

Эрик Рэймонд (Eric Raymond) в своем эссе «Собор и базар» сказал знаменитую фразу:

«При достаточном количестве глаз все ошибки выплывают на поверхность».

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

Утверждение 2:

Это и есть основная идея. Если вы хотите найти ошибки в своем коде, на веб-сайте, в приложении, сделайте это старым добрым способом — заплатите за проверку. Другими словами, купите себе глаза.

Хотя я приветствую любые усилия, направленные на повышение безопасности, и абсолютно согласен с тем, что это битва, которую нужно вести сразу на нескольких фронтах, как коммерческих, так и некоммерческих, мне не дают покоя некоторые моменты, связанные с тем, что платить деньги за поиск ошибок сегодня становится нормой. Какие могут быть последствия?

И в самом деле, какие? Ответ вот здесь.

В догонку: Почему людям не нужна корректность и на 100% рабочих программ, похоже, вообще не бывает.

10. О среде обитания программера и его верных помощниках

Тяжела работа программиста и неказиста, поэтому в последнее время появилось много сопряженных с ним ролей, задача которых помочь кодеру не терять фокус на главном, частично разгружая его от всего второстепенного.

Сегодня статьи о двух подобных сопряженных ролях.

Бизнес-аналитики в Agile — зачем, почему, как:

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

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

«Крутелочка к пимпочке»: как снизить количество невалидных багов вдвое, и почему техподдержка — друг разработчика:

С каким бы приложением ни была связана ваша работа и в каком бы качестве вы ни присутствовали в процессе, рано или поздно наступит тот момент, когда к вам впервые явится пользователь и, доверчиво моргая, спросит: а почему у меня пимпочка не пимпает? Чтобы пимпочка пимпала, — скажете вы, погибая от умиления (поставил! пользуется!), — нужно сперва покрутить крутёлочку.

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


Иллюстрации: twitter.com, avaxnews.net, nginx.com

*Мнение колумнистов может не совпадать с позицией редакции.

**В цитировании сохранены авторская орфография и пунктуация.

Читайте также
Что айтишники делали в Tinder — и вы тоже можете. До 15 февраля
Что айтишники делали в Tinder — и вы тоже можете. До 15 февраля
Что айтишники делали в Tinder — и вы тоже можете. До 15 февраля
Tinder в Беларуси — почти всё. Собрали материалы о том, как айтишники искали работу в этом приложении, закрывали вакансии, ну и знакомились, конечно. Вы ещё успеете повторить до 15 февраля. 
Беспроводные наушники в часах и генераторы нового поколения. Технодайджест
Беспроводные наушники в часах и генераторы нового поколения. Технодайджест
Беспроводные наушники в часах и генераторы нового поколения. Технодайджест
2 комментария
«Умный» поисковик от Microsoft и разработка военного экраноплана для Пентагона. Техдайджест
«Умный» поисковик от Microsoft и разработка военного экраноплана для Пентагона. Техдайджест
«Умный» поисковик от Microsoft и разработка военного экраноплана для Пентагона. Техдайджест
Каждую неделю собираем новости технологий, видео и ссылки на полезные статьи.
Первый полёт электрической «Алисы» и как закалялась ARM. Техдайджест
Первый полёт электрической «Алисы» и как закалялась ARM. Техдайджест
Первый полёт электрической «Алисы» и как закалялась ARM. Техдайджест

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.