Comments 57
На самом деле любопытно вот так взглянуть на ретроспективу своих разработок. Да и в целом на то, как за 10 лет поменялись взгляды на жизнь.
Бывает смотришь на старые записи и код и думаешь, какой идиот это написал? И понимаешь, да блин, это же я сам...
Автор достиг зрелости, перешёл от идеалистических представлений к более зрелому взглядy на индустрию, считающийся прагматичным, осторожным и основанным на реальной практике.
Разочарование вижу я здесь. И больше в людях, чем в технологиях.
И бурчание старика.
Это похоже на ситуацию, когда автор долгое время много раз сталкивался с одними и теми же ошибками, видел одни и те же проблемы снова и снова. Он устал от повторяющихся иллюзий, пустых обещаний, неоправданного хайпа и чрезмерных ожиданий. Он устал видеть, как люди усложняют задачи, вместо того чтобы стремиться к простоте и ясности, устал от догматизма и фанатичности в отношении инструментов и подходов.
Не обязательно воспринимать такое «бурчание» негативно или с раздражением. Наоборот, оно имеет ценность, потому что человек проходил через этапы, учился на реальном опыте и в его словах есть мудрость
Часть мыслей — разумные, часть — применимы только в некоторых случаях, часть — просто отсутствие эрудиции и квалификации. Всё в пределах погрешности, как ЕГЭ на 50%.
Каждый третий мнящим себя синьёром пациент хабра — легко способен синтезировать такой список.
Про третью часть поподробнее можно?
ORM — это дьявол во всех языках и реализациях. Используйте SQL.
Типы — это просто утверждения о мире, в котором работает ваш код.
Те, кто заморачивается над стилем кода, правилами линтинга и прочими мелочами — извращенцы. Занимайтесь более важными вещами.
И еще пяток менее вопиющих.
Простите, а у вас сколько лет опыта на сервер-сайде?
Чтобы сравнить с автором. Может у вас еще впереди осознание этих тезисов, а может наоборот - у него.
30 примерно.
Ну, автор просто сильно еще не дорос до понимания ORM, значит
ORM бывают разные, и хорошие — помогают обойтись без отладки сиквела, а также — разделить логику на «приложение» и «база».
Вот, например: https://hexdocs.pm/ecto/Ecto.Query.html
А где там написано что это ORM?
Я открыл первую страницу этой библиотеки и не нашел в тексте ни одного слова о том, что это и для чего
ORM — это дьявол во всех языках и реализациях. Используйте SQL.
Так про любой шаблонизатор или кодогенератор можно сказать.
Это обычно верно, но не во всех случаях
За 16 лет программирования за деньги в разных стеках, окружениях и культурах пришел к трем выводам. It depends. Все тлен. Связи/софтскилы решают.
В разработке приложений мало места для абстракций. Просто пишите нужный код.
А вот разработка библиотек, наоборот, основана на абстракциях
А ведь хорошо подмечено! При проектировании модуля неизвестно заранее где он будет применён, а вот в конкретных приложениях предметная область уже более-менее понятна и лишние абстракции ни к чему.
Что такое полные монады?
Эх, хабр, где же твои меткие вопросы. В оригинале never go full monad, и никто будто не понимает, что это вообще значит (раз вопросов не задают)
О, а то я тоже не понял что такое полные монады, и главное ни у кого вопросов.
Вероятно, имеется в виду не "полные монады", а "не уходите в монады полностью". То есть не пишите на джаве как на тру ФП языке. А такие заходы есть. Конкретно про джавовские ФП либы я мало знаю, а вот на котлин есть Arrow. И я хотел бы посмотреть на большой энтерпрайзный проект, написанный на этом.
Отсылка к "never go full retard"?
Про некоторые мысли хотелось бы почитать подробнее. Спасибо за перевод!
У меня переворот сознания произошел в следующем. Я понял, что базой для всего что мы делаем является нифига не логика или рациональность, а хаос, социальность, неопределенность, иррациональность и даже телестность. Все, что мы делаем - это фигурки из песка на берегу волнующегося океана.
Я даже не знаю, что по всему этому сказать. Наверное, это хороший специалист, книгу его не читал.
Ощущение, что высказано за 5-6 кружкой пива в кабаке.
"В огороде бузина, а в Америке LGBT"
Java - трудно назвать язык скучным, в котором "нет пойнтеров", но есть "Null Pointer Exception". "Великий" он по объему написанного кода и количеству кодеров - это бесспорно.
ORM vs SQL - я лично предпочитаю SQL, но ORM-кода написано такое кол-во, что никуда не денешься. Ну и иногда ORM работает.
"Главная беда функционального программирования — это функциональные программисты" - о чем это он?
Что за фиксация на DynamoDB??
Serverless ему не нравятся, ну да оно трудное.
"Будущее за языками с постепенной зависимой типизацией" - python/typescript ??
И остальное какие-то банальности, причем неясно выраженные.
Что-то он хотел сказать, но я его дзэн не понял.
"Главная беда функционального программирования — это функциональные программисты" - о чем это он?
Вероятно про следователей догмы. Это иногда видно на примере котлина, который позволяет писать в очень широком диапазоне от кондового ООП до почти кондового ФП. Иногда люди увлекаются и пишут ФП форшмак там, где вопрос решается обычным циклом. Просто потому что "так надо". Это другой конец спектра относительно знаменитых абстрактных хэллоуворлд-фабрик.
«Главная беда функционального программирования — это функциональные программисты» — о чем это он?
О том, что функциональные программисты зачастую слишком уж агрессивны в насаждении функционального подхода даже там, где ему вообще не место.
«Будущее за языками с постепенной зависимой типизацией» — python/typescript ??
Нет, конечно. В этих языках типизация ущербная by design. Имеется в виду подобие Идриса с завтипами, но не тотальными: если тип вывести невозможно, то компилятор просто забивает и идет дальше.
"Главная беда функционального программирования — это функциональные программисты" - о чем это он?
Вероятно о том, что среди нашего брата довольно много заносчивых людей, которые на вопрос "Что такое монада?" закатывают глаза и с брезгливость в голосе отвечают "Всего лишь моноид в категории эндофункторов".
Если что-то кажется мне простым — это точно что-то, чего я до конца не понимаю.
1 638.048 кг
Frontend-разработка — это кафкианский кошмар, который я больше не выношу.
Что не так?
Не асилил...
Есть у меня проект, на довольно старой кодовой базе (vue2, вот это все). И без тестов. Решил покрывать тестами потихоньку, добавил jest 27 и vue-test - сломалась компиляция TS, проект полностью перестал собираться. Потратил часы чтобы найти нужные флаги и совместимые версии и зафиксировать их в package-lock. Бэк на котлине не обновлялся с того же времени - как минимум не ломается компиляция при добавлении новой зависимости.
Большинству плевать на ремесло программиста
Большинству плевать на любое ремесло
Планировщик запросов — это злая госпожа.
Пропущена ссылка: https://chriskiehl.com/article/query-plan-management
Простота — не данность. Она требует постоянной работы.
Я бы добавил, что в некоторых случаях сделать просто - технически невозможно.
> ORM — это дьявол во всех языках и реализациях. Используйте SQL.
Дальше можно не читать. Посмотрю как автор имлементит DDD склеивая строчки sql
Ожидание vs реальность: какие взгляды я поменял за 10 лет в разработке