Pull to refresh
35
0
Илья Сазонов @poxvuibr

Software developer

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

Баланс силы нарушен. Вим уже не спасти. Осталась одна надежда и имя ей neovim.
Детишки в США идут в инженеры и программисты от того, что не смогли потянуть их родители оплату другой более денежной специальности (юриспруденция, менеджмент и медицина).

Не говорите глупостей, из статьи прекрасно понятно, что нормальных программистов готовят на факультетах менеджмента и юриспруденции!
А вы точно уверены, что скриншоты и патчи — это одно и то же?

Уверен. Если вас беспокоит тот факт, что скриншот обычно имеет расширение .bmp, то попробуйте просмотреть файл с патчем специальным просмотрщиком патчей, который ещё называют diff viewer. Он покажет картинку на которой проиллюстрировано где именно 1 надо изменить на -1.
Может быть и имелось. Только написано было, что скрины с местом где -1 вместо 1 это неправильный подход. А между тем именно таким образом происходит обмен идеями в опен сорс сообществе.

За это мы все и любим демагогию философский подход. Всегда можно сказать, что имелось в виду что-то совсем другое. Не то, что было написано. Всегда можно сказать, что главное качество хорошего программиста это способность к программированию окружающего мира, путём коллективного строительства плотин, а потом на этом основании объявить бобров лучшими программистами всех времён и народов.
Ещё в предыдущей статье очень бросались в глаза пассажи, изобличающие родовые травмы русского программиста и, как выясняется теперь, это было неспроста. В этой статье автор, как я погляжу, решился сорвать покровы с одного из самых распространённых и вредных мифов русского IT — деда Мороза не существует русские программисты — не самые лучшие программисты в мире!

Неуютно даже думать о том что может выясниться в следующих публикациях! А ну как русские слоны не самые полосатые, или русская мафия не самая страшная? Или, о ужас, уральские горные обрывы не самые крутые!

Конечно абсолютно незнакомый с предметной областью человек может быть и вправду сделает для себя открытие, но статья то опубликована на хабре, ресурсе предназначенном строго для профессионалов. Не на гиктайм, а на хабре. Неужели до публикации статьи тут кто-то думал, что русские программисты это и вправду такие люди наподобие отрицательного героя из второго Железного Человека — зеки, которым всё равно что ломать — защищённую сеть американского миллионера или кости его телохранителей? Может правда голосование устроить…

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

Так вот, к чему это я. Я к тому, что статья аналогичного содержания, только короче и по делу, пару лет назад написана американским программистом для других американских программистов. Так что явление достаточно интернациональное. Ещё хотелось бы напомнить, что Америка является родиной таких отвратительных программистов как Деннис Ритчи и Кен Томпсон, а также бесталанного создания, более известного, как Дональд Кнут.

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

Основной метод общения разработчиков ядра linux, кстати, это как раз пересылка друг другу скринов на которых нарисовано в каком месте поменять +1 на -1. Пересылаются эти скрины в текстовом формате и называются патчами. Хотя погодите, так же общаются не только разработчики ядра, так общаются вообще все разработчики всего вообще. Это же основа, работа с кодом… Oh shi…

И да, сравнение GitHub с системой, выстроенной Линусом Торвальдсом для коллективной разработки Линукса просто смешно — такого проекта, как Linux kernel, GitHub банально не потянет.

Но в одном я всё таки с автором согласен — неправомерно сравнивать российского программиста и американского когда они сидят в соседних кубиклах и пишут на PHP. Надо сравнивать их когда они находятся внутри октагона, а вокрут раздаётся рев пьяных от крови любителей микс-файта. Как вы думаете, какой программист лучше — американский Билл Гейтс или русский Фёдор Емельяненко?
Полностью поддерживаю всё, что вы сказали по поводу php, IDE и подсветки синтаксиса. Собственно так я и хотел сказать, спасибо, что сделали это лучше меня.

Ну и по поводу статьи тоже совершенно согласен.
Прочитал статью, прочитал комментарии и пребываю в шоке.

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

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

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

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

Но тема статьи — философия программирования, а как раз о программировании тут написаны уже совсем странные вещи.

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

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

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

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

Мы так же предлагаем софт некоторых партнеров, но в процессе установки можно убрать все смущающие галочки.

Лучше бы их можно было поставить.
Плохой пример. A lot of things are better than ack. ack тормозит. Именно поэтому его переписали на C.
Есть инструмент, который бесплатно решает круг задач. Что может быть практичнее?
На 40%? Вытащить из проекта компоненты, которые можно использоваться в новом и написать остальное заново.
Тем, что бесплатен и чрезвычайно гибок. Плюс способов загрузить линукс больше, чем способов загрузить акронис или нортон. Но бухгалтерам действительно стоит посмотреть в их сторону.
Переименование методов и переменных? Можно найти строннюю утилиту, которая этим занимается и прикрутить к редактору. Clang, кстати, по моему может. Вон в Go вообще из коробки такой функционал.

Выделение кода в метод мне удобнее делать руками. Это не сильно трудоёмкая операция.

Но вернёмся к переименованию методов и переменных. Зачастую бывает так, что названия методов и свойств java класса используются в хитром джаваскрипте и там они никак не привязаны к самим классам и инструмент для рефакторинга их проигнорирует. И собственно всё — уверенности в безопасности рефакторинга не больше, чем в случае с вимом.
fugitive я всё никак не попробую. Наверное потому, что консоли пока хватает с головой. Но может это моё ретроградство, надо устроить себе неделю новых инструментов.

И да, git действительно перенаправляет длинный вывод в PAGER, тут я запутался из-за того, что в основном пользуюсь утилитой под названием ag (silver searcher), windows версия которой отстаёт чуть ли не на год. И вот она по умолчанию в less не вызывает. Кстати рекомендую, отличная штука. Если отказывались от grep в пользу ack, переход на ag для вас — острая необходимость.
Вариант «сделать самому» есть всегда и везде. Тут вопрос в трудоёмкости задачи. Вот не не нравится вам как в Идее реальзован поиск класса по имени. Хотя нет, это плохой пример, этот поиск в Идее реализован прекрасно. А вот простой поиск в идее проблемный. И хочется его заменить на другой — хороший. И как быть дальше? Подсказываю — придётся программировать.

В случае с vim или emacs стронние поисковые утилиты прикручиваются на раз. На раз же, как показал автор, прикручивается и поиск классов и методов.

Ну а прикрутить к Идее текстовый редактор типа вима — вообще задача на годы.

P. S. То, что вы показали — не совсем то. Совсем то это distcc по моему.
И вам сразу и ответили, что VIM банально лучше. Далее разговор шёл о том, что такого может VIM, чего не может IDE. Ну и в общем через пень-колоду IDE может всё, что может вим. За исключением редакторивания кода конечно :).
Нет, не тоже самое. Прежде всего потому, что результаты появятся прямо на рабочем компьютере, как будто именно на нём шёл процесс компиляции. Ну и комитить код для каждой компиляции — несколько экстравагантно :).

Разговор про удалённую компиляцию начал не я. Я просто отметил, что это не CI. Наверняка можно CLion настроить так, чтобы он это делал. Правда наверное это нетривиальная задача. Хотя кто его знает, я больше по Идее.

Однако с IDE вообще есть одна проблема — если поддержки чего-то там нет — то остаётся только сидеть и ждать, когда она появится. Если есть привычка обходиться консолью, мощным текстовым редактором и скриптами автоматизации — такой проблемы как правило нет.
Ну например есть код, который надо скомпилировать, но рабочий компьютер делает это медленно. Настраиваем компилятор на другом компьютере, который только компиляцией и занимается, собираем код там, запускаем у себя. Вот так как-то.

Team City он вообще про другое.
Золотые слова! Так и поступаю.

Хотя IDE по определению является такой штукой, в которой надо делать всё.

Удалённая компиляция это одно, а CI совершенно другое.

Information

Rating
Does not participate
Date of birth
Registered
Activity