akovalenko: (unix)
[personal profile] akovalenko
Здесь обсуждается вопрос, может ли использование хорошего языка программирования увеличить скорость разработки в разы. Любопытно, что [livejournal.com profile] avva назвал взгляды положительно отвечающих на этот вопрос «позицией энтузиаста». А ему, соответственно, ближе «позиция скептика» -- по моим ощущениям, она более распространена, так что это неудивительно.

Любопытно, однако, что если сформулировать вопрос по-другому -- может ли использование негодного языка программирования уменьшить скорость разработки в несколько раз? -- сразу становится не так очевидно, кого называть скептиком, а кого энтузиастом. Настоящий скептик как раз понимает, что уменьшить скорость разработки вплоть до пренебрежимо малых величин может любой фактор, в том числе, естественно, и неправильный выбор языка. Многое из того, что написано на сайте [livejournal.com profile] vinopivets про бизнес-риски, можно без особой адаптации отнести к разработке ПО: гарантированное время разработки бывает только в морге, и равно оно бесконечности.

Я не стал участвовать в обсуждении по ссылке, потому что для меня неприемлемы слишком многие базовые предпосылки, которых неявно придерживаются там все участники (насколько я могу это понять). Язык программирования не существует «объективно», без пищущих на нём, и вычислить его «объективные» преимущества ничуть не проще, чем вычислить объективную стоимость парикмахерских услуг, принципиально исключив из рассмотрения парикмахеров, их клиентов и людей, которые стригут себя сами. У любого экспериментального метода сравнения языков (когда человека или людей сажают программировать и сравнивают результаты - на одной задаче, на разных "похожей сложности" и т.д.) есть недостаток: никакая статистика результатов не может что-либо доказать. Например, многие тривиальные задачи обработки строк и текстов решаются на VBA проще, чем на Форте (это не «объективный факт», а моя оценка) -- не надо следить за выделением памяти и размерами буферов. Но language contest с принудительным набором участников «с улицы» может показать преимущество Форта: все участники, выбравшие Форт, будут профессиональными программистами, а среди выбравших VBA будут люди, которые просто иногда пишут ad-hoc макросы для своих нужд.

Максимально чистое сравнение языков делается путём рассмотрения одного и того же человека до изучения языка и после этого. Но результат такого тестирования (которое постоянно происходит в естественных условиях) не имеет отношения к скорости разработки: это спектр задач, которые раньше программист решить не мог (или не брался за необходимое время), а теперь может (или берётся). «Он может» -- проверяемый внешним наблюдателем факт, в то время как «он берётся» -- выражение его собственной экспертной оценки. Но в обоих случаях нет никакого разумного способа пересчитать «расширение спектра задач» в количественное «повышение эффективности». Точнее, способ-то есть (и этот пересчёт постоянно происходит) -- показателем эффективности можно считать количество зарабатываемых денег. Но это, конечно, не та оценка, которую обсуждают у [livejournal.com profile] avva -- к объективному сравнению языков при прочих равных условиях она отношения не имеет. Наоборот, в неё включено всё, что [livejournal.com profile] avva изначально предлагает исключить из рассмотрения, и куча всего ещё.

January 2017

S M T W T F S
1234567
8910 11121314
15161718192021
22232425262728
293031    

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 22nd, 2025 07:37 am
Powered by Dreamwidth Studios