В нашем очередном обзоре свежих ссылок обсуждаем чужой код — должен ли он обязательно быть понятным и красивым? Прочитаем про 10 принципов, вытекающих из повторного использования кода, а также узнаем у программистов «Яндекс» о необходимости в их работе математики. В заключение поинтересуемся, зачем рок-звезда учится на программиста, и услышим истории о загадочных пенсионерах-айтишниках.
1. С монетизацией интернет-сервисов в Беларуси решили повременить
25 февраля экспертный совет рассматривал вопросы монетизации отдельных сервисов и услуг, оказываемых с использованием сетей электросвязи. Предлагалось обязать белорусских клиентов мобильных операторов отдельно оплачивать использование так называемых ОТТ-сервисов (Skype, Viber и т. д.).
По результатам заседания у нас умеренно хорошая новость: Обсуждение монетизации Skype и Viber отложено министерством связи на второй квартал 2015 года. Зато анонсированы другие интересные законы:
С 1 января 2016 года в Беларуси вводится тотальная слежка за всеми пользователями интернета: http://t.co/x0LhYFwWGI pic.twitter.com/t7oZACmumi
— by24org (@by24org) 14 Март 2015
Почти синхронно Голландия запретила хранить данные об интернет-пользователях. Однако в Европе также химичат что-то непонятное против OTT и многих других:
Интернет-провайдерам, работающим на территории стран Евросоюза, могут разрешить использовать так называемый принцип «двухскоростного» интернета. Это означает, что за ними могут закрепить право договариваться с частными или корпоративными клиентами об установке более высокой пропускной способности по сравнению с остальными порталами. Однако, одним из условий достижения подобных договоренностей будет является придерживание принципа «сетевой нейтральности».
Как совместить эти две несовместимые установки — головная боль самих провайдеров. Напомним, что в США недавно окончательно закрыли вопрос, подтвердив принцип безусловной «сетевой нейтральности» для всех американских сетей.
2. История одного интернет-проекта
11 способов, с помощью которых вы можете попробовать достать деньги на некоммерческий интернет-проект (и скорее всего, у вас ничего не получится).
Насколько российское ИТ склонно к меценатству во имя высоких сетевых идеалов? Проверка концепции на практике.
Все прочли хит недели? https://t.co/0Ky2I8FnJb как биться с яндексами и прохоровыми и не достать денег на библиотеку. pic.twitter.com/6hztHB56ch
— Роем! (@roemru) March 9, 2015
3. Стартап недели: «Замуж за программиста»
Восьмимартовское интервью о том, почему программистам сложно знакомиться и как им в этом помогает один украинский стартап. По ссылке — о связи языка программирования и характера, о монетизации нишевых дейтингов и важности предварительного исследования спроса.
4. Как один российский программист начал новую жизнь в Украине
Интервью о том, когда излишне политизированный бэкграунд и жить и кодить мешает.
Мы привыкли говорить об «утечке мозгов» в негативном контексте. Мол, бегут ценные кадры в забугорье — чего ж тут хорошего? Но праздник теперь плавно переходит и на нашу улицу: ряды отечественных [украинских] программистов пополняют российские специалисты, для которых здравый смысл оказался важнее идеи русского мира. Далее — история анонимного программиста из России, который не побоялся всё бросить и пересечь границу, чтобы начать жизнь с нуля.
5. «Любой код, успешно решающий задачу — уже не г**но»
Рефлексия программиста к яркому выступлению другого программиста на RailsConf 2014. Сначала само выступление.
А теперь размышления его коллеги вслух (и речь, конечно, не о Rails, оно о более общих вещах):
Главное что я вынес с этого — что хоть один толковый чел открыто сказал, что вот этот психологический трюк «ваш код - г**но» юзается повсеместно.
Никакой код не является г**ном просто так, по форме и в вакууме. Код, успешно решающий задачу — уже не г**но. Похеру, на чем и как он написан. Если он решает задачу — он уже лучше 90% другого кода. Если он при этом ещё и понятен людям того же примерно уровня, при наличии бутылочки, то он уже лучше 96% существующего в мире кода.
Главное, что в этой галимой системе не надо делать молодым специалистам — это вестись на разводы уровня «красные платья до колен вышли из моды 5 лет назад». Работает — идите нахер. Не можете понять - сходите, поучитесь читать чужой код. Не по формату написано - так у вас, бл*** [плохих людей], мода меняется каждый год. Не можете читать немодный код - идите н**** (далеко) из профессии. Не можешь организовать разработку без фашизма — десяти абстрактных слоев, правил, где нельзя писать if, и прочего — значит не программисты плохие, а ты — г**но как менеджер.
Много противоречивой логики, но на то и холивар нужен, чтобы ещё лучше и острее оттачивать собственную позицию.
@pdrobushevich @nicck «Авто, успешно едущее-уже не г**но». И плевать, что развалится чз 10км или замена лампы 900 нормочасов на заводе в ФРГ
— Eugene Nikolaev (@eug_nikolaev) March 12, 2015
Обращаю ваше внимание на обильные пользовательские выделения под этим постом в виде интересных осмысленных комментов:
Мой взгляд: всё что работает — имеет право на понимание и прочтение. Если работает и читается — всё остальное, типа паттернов или ООП, оказывается наносным. Как правило не-ООП-код, читается лучше ООП-кода, если вынуть г**но из ушей. В частности, поэтому node.js полетела — там нет рака от java. Ну, всякое такое.
Но главный поинт — что не надо никогда париться за идею «написать красиво». Это вообще не цель. «Написать красиво» придумали авторы книжек «сделай себе TDD за 20 дней» чтобы рубануть бабла. Нет «написать красиво», есть «написать, чтобы делало что задумано» и фигачить дальше другое.
Далее:
Чувак, очень многословно, эмоционально и с переходом в кидание какашками ругает юнит-тесты за то, что надо много мокать — и пропагандирует, грубо говоря, селениум — системные, регрессионнные тесты.
Что насчет много мокать — это правда, плохо. Не для самого даже кода, а для тестов — они очень раздуваются от этого, и тестируют иногда больше сами себя, чем код. К этому есть решение — надо пытаться использовать чистые функции. Их можно юниттестить без моканья, код от их наличия только улучшается. Но получается не всегда, конечно.
А системные регрессионные тесты — это очень непросто. Они тормозят. Запросто можно получить, что если что-то сломано — об этом будет известно только завтра. Их не всегда просто запустить на машине программиста. Для этого надо ставить кучу г**на в систему. И они могут выдавать разный результат. И главное — они всё время падают. Не знаю, может для каких-нибудь компиляторов выход и стабильный, а для простых смертных выход меняется часто..., и он в подавляющем большинстве случаев вполне легально. В итоге какое-то невинное и правильное изменение может запросто сломать сотню тестов, и чтобы понять какое именно из десятка изменений за вчерашний день (они тормозят, да) их сломало, правильное ли оно, и не затесался ли в какой-то из сотни реальный баг — должен разбираться квалифицированный программист, QA персона не справится.
Остаётся только завершить эту тему справочной ссылкой в соответствующий раздел психологии.
6. Code Reuse на гране цензурности
Ну, нравятся мне личные блоги программистов. Здесь рассматриваешь изнанку ИТ, словно на приеме психоаналитика. Как дети, они разбирают артефакты окружающего их мира, оставляя буквально на всем отпечатки своих безумных профессиональных деформаций.
Поэтому повторим сеанс ещё раз: рефлексия программиста к рисунку:
Этот мем задел неизвестного программера за живое, и он вывел из него 10 принципов (последствий) программирования и повторного использования кода вообще:
По-моему, этот [рисунок] — метафорическая иллюстрация к программированию вообще.
Закон Блогератора: Программист, моделирующий некую предметную область, физически не может быть проще этой предметной области.
— Игорь Блогератор (@blogerator) November 23, 2014
7. Старость в радость: никогда не поздно начать работать в ИT
Я вот никогда не видел живых дедуль-программистов и поэтому, сколько себя помню, всегда испытывал суеверный страх насчет своего пенсионного будущего, однако:
Принято считать, что пожилые люди с технологиями «на вы». Но это не всегда справедливо. У некоторых стариков зарабатывать в области ИT и интернета получается лучше, чем у молодых и продвинутых. Например, 70-летний дедушка зарабатывает почти $10 000 в месяц на онлайн-курсах. А 90-летняя старушка стала дизайнером в одной из технологических компаний Кремниевой Долины. Создавать полезные концепты она мечтала еще со времен Великой депрессии. Эти двое — разрыв шаблона в мире, которым правят студенты-гении.
В дополнение, наш материал: Что происходит с программистами, когда они стареют?
8. Рок-звезда из США решила стать программистом
Метнёмся в противоположный от старости спектр. Молодая певица из США решила выбрать профессию программиста в качестве своей запасной карьерной скамейки:
Существование тренда на совмещение программирования с какой-либо кардинально отличающейся от него профессией на собственном примере доказала вокалистка популярной инди-группы La Sera Кэти Гудман. Она решила совмещать музыкальную карьеру с образованием и поступила в колледж, чтобы учиться программированию.
Остаётся лишь добавить, что о своих экспериментах и о процессе обучения певица трогательно и по-женски рассказывает в блоге «Кэти учится кодить» (Katy Learns to Code).
Наблюдается и обратное движение на выход из программирования, например в сторону еды. Российская светская пресса обсуждает два кулинарных случая: в сторону сыра и в сторону мяса.
9. «Яндекс» расправляет плечи
Генеральный директор ООО «Яндекс» Александр Шульгин дал большое развернутое интервью газете «Коммерсант».
По моему мнению, оно важно по двум причинам.
- Во-первых, недавно «Яндекс» перешел в открытую юридическую атаку на Google, что, как минимум, что-то новенькое (
не тронь меня я психическийобсуждение причин отчаяния этого поступка, сравнимое в броском на амбразуру, пока оставим в стороне). - Во-вторых, это первое большое интервью нового главы «Яндекса» с момента его вступления в должность.
Итак, в прицеле этой ссылки: основные тезисы интервью гендиректора «Яндекса» Александра Шульгина газете «Коммерсант» (альтернативная выжимка). Оттуда же взял два резюмирующих выступление народных комментария:
Ещё один скользкий манагер уселся рулить технологической компанией. С Воложем, Сегаловичем и Колмановской ушла эпоха.
Или вот:
Потрясающе — не выдерживаем конкуренции, так будем судиться. Есть же уникальная операционная система «Яндекс.Кит», уникальный «Яндекс.Браузер» — можно навязывать или предлагать там что угодно! При Воложе такого не было.
10. Нужно ли программистам знать математику?
Никак не отпускает меня тема «Яндекса» и нужности математики. На этот раз я решил совместить эти две неоднозначные материи, чтобы привести видео опроса ведущих программистов «Яндекса»: так нужно ли знать математику программистам?
Как видите, даже в недрах русского поискового гиганта ответы очень противоречивые. Но если ваш личный ответ звучит как «да» — вот вам онлайн-контрольная по математике от «Яндекса».
Я считаю, что самые сильные стороны у программиста — это точно не математика:
А вот в Mail.ru не парятся серьёзными вопросами. Зато совершили на прошлой неделе такой вот каминг-аут:
Наш программист прыгнул с парашютом в поддержку игры Эволюция, разработчиком которой он является https://t.co/rd7bwaeicJ
— Mail.Ru Group (@mailru) March 12, 2015
*Мнение колумнистов может не совпадать с позицией редакции.
Иллюстрации: thedeemon.livejournal.com, tjournal.ru, loftblog.ru
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.