В современных языках исключения принято не любить. Типа, производительность страдает. И вообще - считается лучше явно каждый раз код ошибки проверять. Примерно как в прошлом веке в C, только теперь придумали структурированный Result.
В том же расте -- надо специально _не-проверять_. С другой стороны проверять и эскалировать там проще `let data = f.read()?` проверит и прокинет выше Error() а Ok() распакует и засунет в data.
Тоже не в курсе. У нас вот в legacy проектах какой-то дремучий PHP живёт. Пытались его несколько раз апгредить, но не осиливали все зависимости (а там мохнато - свои патчи, свой Apache-модуль, куча SWIG-bindings). Так каждый раз и обходимся дополнительной порцией говна и палок.
Завести блокнотик с карандашиком, записать и забыть. Потом, лет через 5, пролистать пожелтевшие страницы и покачать головой: ууу, чего, бывалыча, изобретали...
Ну... Если подходить с позиции "принесёт ли мне это денех до пенсии" - то конечно надо доучить move semantics в реализации C++14 и пойти открыть пенсионный счёт.
А вдруг уже придумали такой клёвый язык, на котором программировать будет легко и приятно? И пусть он не будет production-ready. Даже хобби-проекты пособирать с удовольствием - это дорогого стоит!
Не,"легко" и "приятно" для универсальных языков недостижимы. Гипотетический Godspeak должен быть проблемно-ориентированным по умолчанию, только проблемная область первоначально должна быть суперуниверсальной. В этом смысле процесс программирования будет заключаться в описании и уточнении требований. Типа: хочу базу данных. - Вот, пожалуйста, устраивает? - Нет, она должна быть распределенной по облаку. - Вот, пожалуйста, устраивает? - Нет, актуализация должна быть по принципу блокчейна. - Вот пожалуйста, устраивает? - Нет, сервера Амазона не должны использоваться. - Вот, пожалуйста, база данных. Вот, пожалуйста, софт аналогичный амазоновскому, но на других адресах, устраивает? - А мне не для линуха, а для бзди. - Вот, пожалуйста, устраивает? ... и так далее до самых мелких конкретностей, если вдруг они будут актуальны, типа хешей или способов сортировки. Это даже не язык программирования, а язык описания спецификаций. Их уже много... наполнения только в низх пока нет. Придется ждать. А языки типа "сделай все сам", имхо, это не "легко
( ... )
Я в идеале хочу многоуровневый язык. Чтобы наверху было что-то действительно очень близкое к спецификации. Может быть даже свой DSL. На следующем уровне - была детализация бизнес-концепций во что-то более техническое. Следующий уровень - это уже технологический фреймворк. Дальше - платформенные драйверы. И так далее, до самых черепах (или LLVM).
Поэтому мне нравится Ruby:
Rails.application.routes.draw do root 'welcome#index' get 'products/:id' => 'catalog#view'
resources :products
concern :toggleable do post 'toggle' end resources :posts, concerns: :toggleable resources :photos, concerns: :toggleable end
А я всё же хочу напомнить, что за знание N+1 языка не заплатят, а заплатят за C# или за ваш Java. А бесплатно изучать уже давно лень, ведь существует столько всего интересного. Рекодер, завяжешь булинь, например? PS: Это я ещё не говорю о кинезилогии.
Я тут уже говорил ( ещё 11 лет назад), что если вставать на скользкую дорожку "а за что мне заплатят денех", то рано или поздно логически ты упираешься в выращивание марихуаны или разведение кокса содой. А профессионально всё равно надо развиваться, чтобы всю жизнь не "подавать ключи на 16" - это конечно спокойное дело, но от постоянного спокойствия скоро вешаться захочется.
А bowline я учился вязать, когда под парусом ходил. Увы, последний раз это было больше года назад и ненужные умения уже начали атрофироваться...
Вот допустим я пишу на шарпе. А ещё на js/ts. А ещё T-SQL сменил с новой работой на Oralce. А ещё я тимлид и общаюсь с project owner'ом и руковожу небольшой командой. Да ещё и исполняю обязанности фронта и изучаю реакт. Но буду ли я вспоминать заново Java или изучать PHP? Нет, конечно. В моём стеке еще очень много неизученного. Мне кажется, что профессионально развитие - это или улучшать знания своего стека или, что в нашем, кхе-кхе, возрасте уже лучше - пора уже руководить. Вот я про что. PS: Чё как коронавирус?
Comments 18
Reply
Reply
В С для исключений есть setjmp/longjmp
Reply
https://doc.rust-lang.org/rust-by-example/error/result/enter_question_mark.html подробности для страждущих
https://doc.rust-lang.org/rust-by-example/error/result.html
Reply
Reply
Reply
Reply
Reply
Reply
Завести блокнотик с карандашиком, записать и забыть. Потом, лет через 5, пролистать пожелтевшие страницы и покачать головой: ууу, чего, бывалыча, изобретали...
Reply
А вдруг уже придумали такой клёвый язык, на котором программировать будет легко и приятно? И пусть он не будет production-ready. Даже хобби-проекты пособирать с удовольствием - это дорогого стоит!
Reply
Reply
Поэтому мне нравится Ruby:
Rails.application.routes.draw do
root 'welcome#index'
get 'products/:id' => 'catalog#view'
resources :products
concern :toggleable do
post 'toggle'
end
resources :posts, concerns: :toggleable
resources :photos, concerns: :toggleable
end
И не нравится Go.
Reply
А бесплатно изучать уже давно лень, ведь существует столько всего интересного.
Рекодер, завяжешь булинь, например?
PS: Это я ещё не говорю о кинезилогии.
Reply
А bowline я учился вязать, когда под парусом ходил. Увы, последний раз это было больше года назад и ненужные умения уже начали атрофироваться...
Reply
Вот я про что.
PS: Чё как коронавирус?
Reply
А если серьёзнее - то я ещё десять лет назад писал, что менеджмент - это не ступень профессионального развития, а смена рода деятельности. С другими профессиональными требованиями. 90% менеджеров, которых я видел - это просто хреновые программисты, некоторых из которых повысили потому что языком у них получается лучше чем руками, а некоторых "повысили" чтобы работать не мешали.
Reply
Leave a comment