Чем больше выбора, тем он сложнее: как обновления мешают работе JavaScript-программистов

26.09.2018      16614

Java и Javascript стали самыми популярными промышленными языками программирования, следует из исследований аналитической компании Cloud Foundry Foundation. Эксперты опросили корпоративных разработчиков и руководителей IT по всему миру.

Несмотря на популярность, у Java и Javascript есть и свои спорные стороны. Например, постоянное обновление инструментов для разработчиков, которое не позволяет специалистам сконцентрироваться на одном направлении. Чтобы труд оставался актуальным, приходится все время учиться новому. 

Мы уже рассматривали влияние использования JavaScript на индексацию сайтов в поисковых системах. В этой статье постараемся детальнее рассмотреть будни и боли JavaScript программистов.

Ветер перемен

Изучение языка – только часть становления программиста. Чтобы написать ПО, требуется целый набор инструментов: от самого кода до выполняющих его облачных вычислений.  

У пишущих код для браузеров всегда было меньше вариантов, чем у работающих на серверах коллег. Браузеры чаще всего запускают язык программирования JavaScript, тогда как сторонние программисты могут выбирать из головокружительного количества языков.

Сложившаяся закономерность – следствие постоянного обновления инструментов, призванных облегчить жизнь разработчиков. Поэтому разнообразие и новизна оказываются двоякими: с одной стороны, появляется возможность выбрать идеальный инструмент для написания кода, а с другой – он может быстро устареть.

Программисты часто опираются на инфраструктуру приложений и пакетные программы. В начале 2015 года самой распространенной платформой для JavaScript была Backbone. К концу 2015-го первенство взяла библиотека React. В 2018 году, Backbone скатилась на 5-ое место рейтинга, уступив новым платформам, таким, как upstart Vue.

Такая «турбулентность» создает дополнительные сложности и для работодателей, которые должны обеспечить разработчиков инструментами с долгосрочной поддержкой.

Почему это так сложно?

Первоначально JavaScript использовался для создания интерактивных веб-страниц. Но в наше время перед разработчиками часто стоит задача писать сложные приложения, которые работают прямо в браузере: например, Trello или Workplace Slack.

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

С середины 1990-х годов программисты ищут идеальный набор инструментов для создания ПО, но чаще всего лишь копируют друг друга. Из-за этого  некоторые компании отказываются от использования инструментов для разработки, созданных аутсайдерами.

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

Каковы перспективы?

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

Чтобы справиться с непредсказуемостью, нужно сосредоточиться на создании прочных основ программирования, особенно в JavaScript. Часто HR-менеджеры предпочитают нанимать кандидатов со знанием современных тенденций.

Конечно, большинство разработчиков не останутся без работы за одну ночь. Многие компании имеют программное обеспечение, основанное на Backbone и подобных библиотеках, которые нужно поддерживать. Подобные ситуации позволяют оттачивать навыки и изучать другие инструменты. Но на практике это значит, что новые инструменты придется изучать в свободное от работы время.


Автор:
Обозреватель


Какой язык программирования вы считаете самым сложным?


1С (30%, 15 голосов)
30%
Objective C (24%, 12 голосов)
24%
Java (22%, 11 голосов)
22%
Другое (в комментарии) (22%, 11 голосов)
22%
Scala (14%, 7 голосов)
14%
Rust (6%, 3 голосов)
6%
Javascript (4%, 2 голосов)
4%
Go (2%, 1 голосов)
2%
Python (2%, 1 голосов)
2%
Swift (2%, 1 голосов)
2%

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. CyberCerber 851 26.09.18 15:55 Сейчас в теме
К опроснику: Brainfuck очень сложный язык.
Jestery; Reaper_1C; DoctorRoza; dimisa; Kochergov; +5 Ответить
4. Darklight 32 26.09.18 16:08 Сейчас в теме
(1)Согласен, но это чисто академический почти абстрактный язык - не применяющийся на практике - просто некое почти бесполезное достижение для Книги рекордов Гиннесса, так же как и поедание хотдогов на скорость! Засорять опросник этим вариантом не стоит - ибо и так понятно, что те, кто о нём знает - выберет именно его, ибо данный язык действительно мозгодробительно сложен. Не отдав голоса за какой-то практический вариант.

Лично мне очень не нравится "Objective C" - он ломает моё сознание! Странно что нет языка "Perl" - тот ещё уродец. Хотя Python, мне тоже не "зашёл". На их фоне языки Java, JavaScript и 1С - вполне красивые и простые языки. Хотя мне больше нравится Scala - хоть это далеко не самый простой в освоении язык! Kotlin бы ещё добавить - как один из самых молодых и быстрорастущих языков на платформе Java Runtime и JavaScript.

И, я считаю, жаль в среде 1С практически нет библиотек (кроме БСП), упрощающих жизнь программистам. И нет никакой конкуренции - а то бы голосовалку на эту тему было бы интересно тоже сделать было бы.... лично мне БСП не нравится - очень громоздкая, постоянно кардинально меняющаяся, плохо документированная, трудно разделяемая на отдельные части - кодохрень! Но, пользы от БСП всё же гораздо больше, чем от если бы её не было :-)
TreeDogNight; Gureev; vrednyi_glavred; uri1978; +4 1 Ответить
18. Поручик 4670 26.09.18 20:49 Сейчас в теме
(4) В веб я начинал именно с Perl'a и он мне никогда не казался уродцем или сложным. Очень мощный язык.
27. herfis 496 27.09.18 10:57 Сейчас в теме
(18) Perl на какой-то момент был "наше все" в качестве скриптового языка общего назначения. Потом эту нишу занял python (и сейчас пока занимает).
2. cerrenesi 26.09.18 15:59 Сейчас в теме
3. katenok86 246 26.09.18 16:05 Сейчас в теме
Самый сложный тот который не знаешь)
TreeDogNight; JohnConnor; Teut_Vlad; alex-l19041; A_Max; Krio2; Interrupted; Gang031; protexprotex; Kochergov; +10 Ответить
5. Darklight 32 26.09.18 16:12 Сейчас в теме
(3)Речь как раз про освоение языков. Какие-то осваиваются легче, какие-то труднее. Так же как и с разговорными языками. Английский - учить легко. Китайский - крайне сложно. А, вот, на каком языке будут чаще говорить и писать через 100 лет большинство людей планеты - ещё вопрос: простом английском, или сложном китайском. А может на арабском? Но это уже совсем другая история...
Gang031; Kochergov; +2 Ответить
6. biz-intel 941 26.09.18 16:26 Сейчас в теме
Я бы написал статью, как беспринципные обновления типовых конфигураций 1С мешают работе программистов 1С:)
Gureev; akimych; Gang031; acanta; +4 Ответить
9. protexprotex 126 26.09.18 16:49 Сейчас в теме
(6) Как раз к теме - пишу сейчас на 1С в конфигураторе - сохранил все. Проверил. Все работает. Класс. Вышел из конфигуратора. Потом еще раз зашел чтобы еще кое-что поправить. Бац! - а всего того, что я написал уже в конфе и нет. Вот так вот. Так что 1С - это самый сложный язык - т.к. не всегда то, что ты написал даже сохраняется :-) - тут удача нужна. Ну и этот .... кеш та еще приставка.
TreeDogNight; Teut_Vlad; Gureev; tindir; igo1; Gang031; +6 Ответить
11. starik-2005 3031 26.09.18 17:18 Сейчас в теме
(9)
Потом еще раз зашел чтобы еще кое-что поправить. Бац! - а всего того, что я написал уже в конфе и нет.
Ни разу не сталкивался с такой ситуацией, а вот был у нас разработчик один - сталкивался постоянно. Видимо не особо хотелось ему работать.
12. herfis 496 26.09.18 17:29 Сейчас в теме
(11)
Ни разу не сталкивался с такой ситуацией, а вот был у нас разработчик один - сталкивался постоянно. Видимо не особо хотелось ему работать.

Вполне возможная ситуация при наличии сбойного кэша и динамических обновлениях. Возможно, товарищ просто не соблюдал гигиену при разработке :)
13. starik-2005 3031 26.09.18 17:32 Сейчас в теме
(12)
Возможно, товарищ просто не соблюдал гигиену при разработке
Так вроде даже по стандартам разработки все пилят в тестовой базе на тестовом хранилище, при изменениях деплоят в него, а потом уже накатывают на продуктовую базу. Если кто-то разрабатывает что-то в магазине продуктов на окраине населенного пункта с численностью населения в районе 2к, то, конечно, можно и прямо в базу писать, только и динамических обновлений там быть не должно.
Kochergov; +1 Ответить
15. protexprotex 126 26.09.18 17:57 Сейчас в теме
(12) Да нет. В том - то и дело, что это было не динамическое обновления. Разработка велась в копии базы - там не было других пользователей. Самого такое чудо удивило. Причем, только у одного клиента такое у меня было - уже второй раз. Насколько я понимаю, это из-за отложенного сохранения на диск в винде - глюк какой - то.
21. agent00mouse 252 27.09.18 07:54 Сейчас в теме
(11) Три конфигурации в тестовых базах. Доработки вносятся +- равномерно во все, но у одной базы с завидной постоянностью (раз в месяц - полтора) уходит кеш. Может базе работать не хочется , а не программисту?
29. a30v 27.09.18 12:55 Сейчас в теме
(9) Знакомая история с пропажей кода. При чем, бывало, код удалишь, а он все равно выполняется ))
7. acanta 26.09.18 16:29 Сейчас в теме
Хирургу всегда мешают лишние движения пациента.
8. herfis 496 26.09.18 16:35 Сейчас в теме
Одно дело языки, другое дело - реальное промышленное программирование на этих языках.
Те же java и javascript - что в них сложного?
А вот инфраструктура реальных современных проектов на них - уууууу...
tindir; Kochergov; +2 Ответить
10. starik-2005 3031 26.09.18 17:17 Сейчас в теме
Какой язык программирования вы считаете самым сложным?
Серьезно куча народа на Инфостарте считает, что самым сложным языком является 1С? Или они вопрос не прочитали и ткнули сразу на знакомое? )))
TreeDogNight; neikist; Kochergov; +3 Ответить
23. Darklight 32 27.09.18 09:54 Сейчас в теме
(10)По-моему это просто стёб, судя по комментариям
14. DoctorRoza 26.09.18 17:55 Сейчас в теме
Не хватает кнопки - Посмотреть результат! ))
16. protexprotex 126 26.09.18 17:58 Сейчас в теме
17. Infactum 314 26.09.18 18:07 Сейчас в теме
Отличное голосование "от гуманитария". Критерий сложности какой?
Из субъективного - C++. И не потому что на нем трудно "просто что-то написать" - в такой нише полно разной эзотерики. Это именно язык, который трудно действительно знать. Одна только спецификация более 1000 страниц чего стоит.
alias_rus; Evil Beaver; Kochergov; +3 Ответить
19. CheBurator 3119 27.09.18 01:02 Сейчас в теме
ну если описание языка 1С порсмотретьсейчас - то на скольо страниц потянет?
ну а Perl - очень даже няшный! когда веб только из штанишек вырос - от нечего делать накропал текстовую базенку и генерил сайт перловым скриптом ... до сих пор на просторах валяется http://tomba.rasc.ru
26. Darklight 32 27.09.18 10:53 Сейчас в теме
(19)Само описание языка программирования (без встроенных функций) 1С можно уложить в несколько десятков страниц. В худшем случае - в 100 страниц! Синтаксис языка очень простой. Описание встроенной библиотеки функций и прикладных объектов - это уже не совсем язык - но потянет ещё где-то на пол тысячи страниц.

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

Варианты:
1. Сложность освоения/изучения
2. Сложность интерпретации мыслей желаемого результата в элементы синтаксиса языка и его встроенные функции
3. Сложность восприятия и понимания написанного чужого (да и своего) кода и восстановление исходной логики (мыслей желаемого результата)
4. Сложность отладки и поиска ошибок (без учета помощи со стороны IDE)
5. Сложность, определяемая скоростью превращения мыслей реального результата в рабочий вариант в элементах синтаксиса языка (с учетом помощи IDE)
6. Сложность написания эффективных программ (производительных и надёжных)
7. Сложность тех или иных библиотек и фреймворков, написанных для языка, и напрямую влияющих на сложность итоговых программ
8. Сложность, определяемая объёмами различных терминов и синтаксических паттернов языка, которые необходимо запоминать и не путать

Язык 1С очень прост в освоении, в терминах и паттернах; средне сложен в интерпретации мыслей, отладке и анализе чужого кода. И сложность повышаться, когда речь заходит об эффективности написания надёжных и производительных программ. А когда речь заходит о фреймворках, то даже встроенная в платформу объектная модель 1С уже далеко не проста (начиная с редакции 8.3 всё усложняется и усложняется), а если заговорить о БСП - то там уже давно "чёрт голову сломит" и тоже, с каждым годом, всё усложняется и усложняется. Как растёт и сложность типовых конфигураций. И тут, на мой взгляд, проблема уже как раз в ограниченности и излишней простоте синтаксиса 1С и доступных встроенных операциях.

Когда язык не обеспечивает необходимый уровень инструментов для лаконичного выражения современных тенденций в структуре написания алгоритмов - то сами эти структуры начинают излишне обрастать сложными конструкциями и мусором, чтобы обойти эти ограничения и дать рост эффективности конечного результата, который требуется в погоне за мировой тенденцией и конкуренцией! Язык 1С уже безбожно отстал от современного уровня программирования.

Поэтому в мире периодически возникают новые языки, которые учитывают опыт развития более древних языков и новые требования к эффективности программирования - и повышают эту эффективность на новый уровень - без лишних усложнений, без груза старых подходов - только то, что нужно современным разработчикам. Например, когда-то таким языком стал Си или Pascal, или Бейсик - пришедшие на смену Алголам, Фотранам, Адам и Ассемблеру (и дали толчок к развитию более новым - ещё более продвинутым языкам). Или языки C#, Scala пытавшиеся вытеснить Java и C++. Сейчас - появился язык Kotlin - конкурирующий с Java и JavaScript. Это хорошо и для старых языков - это конкуренция заставляет их тоже развиваться.

У языка 1С сейчас нет прямой конкуренции (OneScript пока не в счёт) - язык застрял в начале нулевых в своём развитии, лишь IDE и фреймворк немного развивались - но и их уровень сейчас остался ещё где-то в нулевых годах XXI века. К концу 20-х годов всё это окончательно моральна устареет. В 2030 году будем смотреть на 1С8 так, как сейчас смотрим на 1С7, а то и ещё хуже.

И вряд ли компания 1С за ближайшие 10 лет "выкатит" что-то кардинально новое и свежее во вопросах построения программной архитектуры, даже появление, так не любимой Наралиевым, ООП модели и действительно асинхронного многопоточного программирования - это лишь медленный бег за уходящим в даль поездом, правда если к этому ещё добавить глубокую интеграцию с функциональным стилем и что-то на подобии асинхронного LINQ (из C#), то это могло бы хоть выглядеть как рьяная попытка угнаться за поездом мирового уровня написания программного кода, который через 10 лет умчится ещё дальше).

Ну, или компания 1С попросту откажется от своего собственного языка программирования и перейдёт на какой-то мировой. Например на любимый ими Java (хотя лицензионный скандал компании Google c Oracle тут должен как раз отпугнуть). Тогда выбрать путь компании Google - и перейти на язык Kotlin, сохранив runtime модель Java машины, через механизм трансляции LLVM - в случае чего - это легко поможет сменить и runtime модель в будущем. Но это всё очень кардинально.

Это всё явно не для поколения 1С8 это уже 1С9. А для разработки нового поколение платформы - нужно ого-го как много времени - тут тоже 10 годами уже не отделаешься, вон - 1С 8.4 уже более 3-х лет пилят - и всё никак не забрезжит "свет в конце туннеля" в виде, даже, анонса бета версии. А 1С 8.4 вряд ли станет последней редакцией в поколении 1С8 (такими темпами ждать 1С 8.5 надо где-то к 2025 году, 1С 8.6 выйдет уже после 2030 и только затем будет анонсирована 9-ка, которая выйдет ещё лет через 10 в качестве бета версии).

Но, вероятно, компания 1С уже сейчас, заранее, прощупывает почву дальнейшего развития языка и платформы - серьёзные изменения требуют серьёзной подготовки и сбора аналитических данных. Может и этот опрос - лишь часть этой аналитической работы ;-)
28. starik-2005 3031 27.09.18 11:10 Сейчас в теме
(26)
а сложность чего измерять то?
С точки зрения современных реалий выбора, сложность - это время, которое нужно потратить на то, чтобы начать на этом зарабатывать. Если из этого исходить и взять полностью не умеющего программировать человека, то уже можно примерно оценить сложность того или иного инструмента (языка программирования) для создания приложений.

Если говорить вообще о том, сколько нужно времени, чтобы начать зарабатывать на 1С, то для человека с нуля нужно примерно три месяца. За это время можно научиться писать выражения на любом языке (т.е. "А = 1 + 2 ..." - присваивание), научиться булевой алгебре ("Если А > 10 Тогда ... Иначе ...") и определиться с тем, как меняются объекты (лайф-цикл объекта конфигурации). Также можно освоить простое конструирование запросов (выборки из одной таблицы, соединения, группировки) и научиться строить отчеты с помощью СКД (на уровне простых реестров с отборами).

Т.е. за три месяца при правильном подходе к развитию компетенций можно получить вполне вменяемого разработчика начального уровня (Junior). Дальше уже человек может развиваться самостоятельно, осваивая алгоритмы из того же списка минимализмов Ильдаровича, предварительно обучившись принципиальным методам обхода коллекций, деревьев и преобразования строки. Ну и все. Дальше уже нюансы СУБД и объектных блокировок. За три года можно вполне достичь компетенций эксперта по технологическим вопросам и иметь овер 200к. С другими языками так вряд ли получится.
30. Darklight 32 27.09.18 13:09 Сейчас в теме
(28)По-моему слишком радужно всё расписываете, особенно в конце. Хотя да, соглашусь с тем, что такой путь возможен, но не более 1-2 новичка из сотни пройдут его примерно за 3-4 года и уж тем более получат после овер 200. Ну и я не спорю, что 1С простой язык. С непростыми фреймворками.

Но я не понимаю тех, кто голосует за 1С как за сложный язык! Это больше на стёб похоже.
31. starik-2005 3031 27.09.18 13:16 Сейчас в теме
(30) производительность труда зависит от трех факторов: квалификации, процессов и мотивации. Эффективность обучения зависит в основном от мотивации. Если человек решил для себя, что это ему надо - он сможет за три года освоить весьма глубоко именно 1С и сопутствующий devOps, чтобы стать экспертом по технологическим вопросам. Но это если человек умный, если он способен мыслить и задавать правильные вопросы (в частности - себе), качественно интерпретировать ответы на них и продолжать работать над собой. Если же человек не очень умный и, соответственно, не очень хочет разбираться в нюансах платформы и devOps'а, то он вполне может пойти в РП - вертикальный рост, но для этого тоже нужно поработать над собой, но уже с другой стороны. Таким образом даже не особо умный человек, познакомившийся с платформой, может через 3 года зарабатывать в этой нише вполне хорошие деньги.

Все меняется, когда человек ленив. Тут кроме экзистенциального кризиса ему никто не поможет.
32. Darklight 32 27.09.18 15:14 Сейчас в теме
(31)Имхо - чаще плох тот программист, кто не ленив. Обычно волосы дыбом встают наблюдая что они своим неуёмным рвением генерят! Но, это большинство. Они, конечно же, не есть 100% всех активных трудоголиков - среди них и вполне адекватные программисты есть, готовые, к тому же, не просто качественно код строчить, но и развиваться - но их очень мало!
33. starik-2005 3031 28.09.18 11:13 Сейчас в теме
(32)
Имхо - чаще плох тот программист, кто не ленив.
Я не о программисте говорю, а о человеке, который встал на желтые рельсы и отправился в путь.

А по поводу того, что там генерят неленивые (про "умность" Вы, как я понял, пропустили), то наличие функционала отличается от его отсутствия кардинально. Лучше пусть будет что-то, что работает, пусть и неоптимально, но реализует требуемый функционал, чем не будет ничего. Может быть умный и ленивый программист сделает достаточно сложный продуманный и поддерживаемый код за то же время, за которое неумный трудоголик запилит свой неподдерживаемый простой спагетти-код, но в рамках сложности кода первого для его поддержки уже будет необходим еще один умный, а их мало.
34. herfis 496 28.09.18 11:29 Сейчас в теме
(33)
Лучше пусть будет что-то, что работает, пусть и неоптимально, но реализует требуемый функционал, чем не будет ничего.

Увы, но далеко не всегда. Только если "выбросить" эту реализацию в последующем будет стоить дешево. Другими словами - если не придется менять внешние интерфейсы. В противном случае переделка может стоить настолько дорого, что гораздо дешевле было бы обождать с реализацией. Конечно же, сильно зависит от сроков на "обождать" и ценности функциональности.
35. starik-2005 3031 28.09.18 11:44 Сейчас в теме
(34)
В противном случае переделка может стоить настолько дорого, что гораздо дешевле было бы обождать с реализацией.
Пример можно?
36. herfis 496 28.09.18 11:57 Сейчас в теме
(35) Переделать кривой отчет - очень дешево. У него вообще нет внешних зависимостей.
Переделать криво заложенную архитектуру подсистемы (пусть даже небольшой) на базе которой начали строиться новые инструменты и выстраиваться бизнес-процессы - гораздо дороже.
37. starik-2005 3031 28.09.18 12:05 Сейчас в теме
(36)
Переделать криво заложенную архитектуру подсистемы
А пример будет? Конкретный.
38. herfis 496 28.09.18 12:13 Сейчас в теме
(37) Остаточный регистр с незакрываемыми измерениями, например. Или еще конкретнее?
39. starik-2005 3031 28.09.18 13:02 Сейчас в теме
(38) а в чем проблема закрывать измерения? Сделать регламент - пять минут.
40. herfis 496 28.09.18 13:11 Сейчас в теме
(39) Вы так ловко расправились с самым простым примером, который я смог придумать, что не вижу смысла продолжать спор. С более сложными примерами вы расправитесь еще ловчее. Фрактальное подпирание подпорок конечно же работает. До какой-то степени. Только лучше без меня.
41. starik-2005 3031 28.09.18 13:53 Сейчас в теме
(40)
Фрактальное подпирание подпорок конечно же работает.
Все зависит от удовлетворенности клиента. Если система работает так, как должна работать, то заказчику важно не то, как это сделано, а то, сколько времени на это потребовалось.

Вряд ли можно накосячить в архитектуре так, чтобы все состояло из подпорок. Не отрицаю, что существуют гении, но не уверен, что они будут способны просидеть на одном месте достаточное для этого количество времени.
43. herfis 496 28.09.18 15:47 Сейчас в теме
(41)
Если система работает так, как должна работать

Это очень лукавая формулировка. Потому что требования к бизнес-приложениям динамичны. Зачастую ОЧЕНЬ динамичны. Гораздо динамичнее адекватного срока эксплуатации системы. Естественно, мы не обсуждаем ситуации, когда заказчика все устраивает. Проблемы возникают, когда за очередную доработку ему выкатывают неадекватный по его ощущениям ценник или когда система резко начинает тормозить и глючить при начале параллельного ввода данных или появлении пары филиалов. Он-то подразумевал что платит деньги за адекватно масштабируемую систему, а не за автоматизацию одного рабочего места с тремя кнопками для ввода трех документов в неделю отныне и на веки вечные, хотя изначально его все устраивало.
Вряд ли можно накосячить в архитектуре так, чтобы все состояло из подпорок. Не отрицаю, что существуют гении, но не уверен, что они будут способны просидеть на одном месте достаточное для этого количество времени.

Гении или нет, но скорость нарастания технического долга обратно пропорциональна квалификации разработчиков. А уже появившиеся подпорки провоцируют появление новых и скорость нарастания технического долга увеличивается - я не зря вспомнил про фракталы. Потому что всегда проще впиндюрить еще одну подпорку, чем пытаться обосновать внезапные немаленькие трудозатраты на рефакторинг. Тут даже грамотный специалист может оказаться в ситуации, когда деваться некуда - переступит через себя и рыдая втулит костыль под костыль. Потому что еще не факт, что трудозатраты на рефакторинг окупятся. Но технический долг при этом вырастет и потенциальная стоимость будущего рефакторинга возрастет. Чем больше технический долг - тем выше совокупная стоимость владения системой. Стоимость поддержки и развития будет постоянно расти, скорость разработки - постоянно снижаться. В конце-концов система превратится в такого толстокожего монстра, что станет дешевле его пристрелить и вложиться в сложный и дорогой переход на новую систему. Квалифицированные разработчики способны значительно отодвинуть этот момент и сэкономить предприятию кучу денег.
Ессно нет смысла пыхтеть над идеальной архитектурой, если более простое и быстрое решение обеспечит приемлемый срок нормальной эксплуатации или гарантирует быстрый рефакторинг в случае необходимости. Проблема в грамотном отделении мух от котлет. А тут, к сожалению, только опыт, сын ошибок трудных.
44. starik-2005 3031 28.09.18 15:59 Сейчас в теме
(43)
костыль под костыль
Помню как раз на прошлом месте занятости было несколько костыльных механизмов, которые разработали франчи. И только один в итоге я перепилил полностью, при этом тот мой полный перепил еще раз перепилили.

Т.е. ничто не защищает архитектуру от модернизации - даже качественная идея в ядре, т.к. изменения могут коснуться и принципиальных моментов.

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

А та часть технического долга, которая оказалась в надежном банке, - да, будет однажды востребована кредиторами, и на нее будет выделен соответствующий ресурс. И даже при этом новая архитектура не будет гарантировано без костылей. Я, например, видел крайне мало решений, где явные костыли отсутствовали. Зато концепций о безкостыльности от теоретиков слышал немало. Это такие вот "Аркаши" из одной публикации гражданина из ОкноСофта - они могут бесконечно вылизывать архитектуру, а требования - они ограничены временными рамками терпения заказчиков.

-----------------

Вообще, существует такая штука, как CMM - зрелость процессов организации, разрабатывающей софт. Там есть пять уровней. Так вот на последнем уровне как раз зрелость процессов достигает уровня, при котором и бюджет, и сроки соблюдаются, и технологии последние самые используются. Для подобного уровня характерны такие вещи, как ревью кода, парное программирование, постоянное повышение квалификации сотрудников и прочие моменты. В большинстве компаний, внедряющих 1С своими силами или силами франча о таких вещах никто не знает. Большинство франчей повышает квалификацию разработчиков и РП-ников только на уровне сертификации в 1С, которая и сама далека от CMM 5 - дай Боже на 3-ку у них там дела обстоят.
45. herfis 496 28.09.18 16:48 Сейчас в теме
(44) Отчасти соглашусь, отчасти нет. Те же системы уровня предприятия переписываются нечасто, это не интернет-стартапы. Слишком дорого. Потому и "кровавый энтерпрайз". В кровавом энтерпрайзе технический долг - это настоящий бич. Его мало не бывает. И бог знает, сколько лишних денег платят предприятия за толкание этого воза. Тут уж явно экономия на квалификации разработчиков выйдет боком. Квалифицированный и опытный разработчик априори генерит в разы меньше технического долга, чем неквалифицированный. Причем зачастую при тех же трудозатратах. Он просто предвидит наиболее вероятные сценарии развития функциональности и выбирает те варианты реализации, которые лучше в них впишутся при необходимости.
20. insurgut 207 27.09.18 06:34 Сейчас в теме
Ассемблер, бедный, все про тебя забыли :(
Shef_zeon; Teut_Vlad; Неопределено; +3 Ответить
22. DoctorRoza 27.09.18 09:32 Сейчас в теме
(20) Да статью-то гуманитарий писал. Не упамянул Clojure, а это уже функциональное программирование и т.д.
24. Darklight 32 27.09.18 10:03 Сейчас в теме
(22)В статье заведомо только императивные языки. А вот С++ да, забыли. Про ассемблер лучше не вспоминать - да, конечно на нём и сейчас пишут, но это, всё-таки язык из совсем другой ниши, чем языки из голосования. Хотя, я, наверное, понимаю по какому принципу отобраны языки - по принципу того, что они являются либо скриптовыми, либо используют виртуальную машину или компилируются в исполняемый байт код через LLVM (из этого принципа, наверное, только "Objective C " выделятся; хотя может ещё Go - не знаю, зачем он тут вообще, лучше бы Groovy привели; ну и C# тогда тоже забыли).
25. returnigor 35 27.09.18 10:16 Сейчас в теме
Haskell на мой взгляд сложный.
42. starik-2005 3031 28.09.18 14:08 Сейчас в теме
ЗЫ: Вообще, всегда есть два пути: искать причины и искать возможности.
Оставьте свое сообщение

См. также

Госдума утвердила законопроект о бессрочное праве на кредитные каникулы

Новость Законодательство ИТ-Новость

Со следующего года все россияне смогут в любое время оформить кредитные каникулы по потребительским кредитам, если попали в трудную жизненную ситуацию. Соответствующий законопроект одобрен Госдумой.

21.07.2023    740    VKuser24342747    0       

2

Открываем рубрику «Книжный клуб»: подборка полезных книг для разработчиков

Новость Развлечения, искусство, спорт Конкурс ИТ-Новость Сообщество

Редакция Инфостарта продолжает тестировать новые форматы: в эфире рубрика книжный клуб. Раз в месяц мы будем публиковать подборку полезных книг от разработчиков и для разработчиков. 

06.02.2023    9082    a_a_burlakov    46       

41

Мем недели: нейросеть ChatGPT написала диплом российскому студенту. И он его защитил

Новость Развлечения, искусство, спорт Искусственный интеллект

Студент одного из российских вузов Александр Жадан рассказал, как написал дипломную работу с помощью нейросети ChatGPT. Чат-бот генерировал текст диплома, а Александр формулировал запросы и редактировал текст нейросети.

03.02.2023    5365    user997184    6       

3

Правительство изменило условия предоставления льготной ипотеки ИТ-специалистам

Новость ИТ-компания ИТ-льготы ИТ-Новость Минцифры

Правительство расширило программу выдачи кредитов на жилье под низкий процент для сотрудников ИТ-компаний. Увеличен возрастной диапазон, снижены требования к заработной плате.

31.01.2023    5778    VKuser24342747    9       

1

Минцифры открыло прием заявок на отсрочку от весеннего призыва

Новость ИТ-льготы ИТ-Новость Минцифры

Собирать информацию для передачи в Министерство обороны ведомство будет до 6 февраля. Право на отсрочку имеют ИТ-специалисты, работающие в аккредитованных компаниях.

24.01.2023    7098    VKuser24342747    0       

2

ФНС рассказала о темпах выдачи электронных подписей по новым правилам

Новость ИТ-Новость ФНС

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

18.10.2022    6793    ЕленаЧерепнева    0       

1

Минобороны предоставит сотрудникам ИТ-компаний отсрочку от частичной мобилизации

Новость ИТ-Новость

Министерство для обеспечения работы высокотехнологической отрасли намерено освободить от частичной мобилизации разработчиков с высшим образованием из аккредитованных в Минцифры ИТ-компаний.

27.09.2022    5382    VKuser24342747    10       

4

Граждане смогут управлять своими персональными данными через Госуслуги

Новость Безопасность ИТ-Новость

Минцифры намерено создать реестр, в котором будут представлены все согласия на обработку персональных данных. Россияне получат к нему доступ через Госуслуги и смогут отзывать собственные разрешения.

16.09.2022    7823    VKuser24342747    1       

4

В дипломах выпускников колледжей появятся QR-коды со сведениями о компетенциях

Новость ИТ-Новость Образование Цифровая экономика

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

23.08.2022    6024    VKuser24342747    0       

1

Банки обяжут идентифицировать клиентов через биометрическую систему

Новость Банки Безопасность ИТ-Новость

Центробанк планирует установить обязательное условие регистрации новых клиентов – прохождение идентификации через единую биометрическую систему (ЕБС). Регулятор считает действующие методы регистрации ненадежными.

22.07.2022    5377    VKuser24342747    0       

0

Минцифры запустило на «Госуслугах» сервис с информацией о мерах поддержки ИТ-отрасли

Новость Импортозамещение ИТ-Новость

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

10.06.2022    5557    VKuser24342747    0       

2

Минцифры запустит цифровые кафедры в более чем 100 вузах России

Новость ИТ-Новость Минцифры Образование Цифровая экономика

Глава Минцифры Максут Шадаев рассказал о старте программы дополнительного обучения студентов, школьников и взрослых, в ходе которой они смогут овладеть цифровой специальностью.

10.06.2022    6698    VKuser24342747    0       

1

Госдума одобрила к первому чтению упрощенное получение ВНЖ для ИТ-специалистов

Новость ИТ-Новость

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

08.06.2022    5421    VKuser24342747    7       

1

На сайте «Госуслуги» заработал справочник по льготной ипотеке для ИТ-специалистов

Новость ИТ-Новость

На портале работники ИТ-индустрии могут узнать, имеют ли право на получение кредита, где можно его оформить и на каких условиях. Льготная ипотека предоставляется в рамках поддержки ИТ-отрасли.

02.06.2022    6583    VKuser24342747    5       

2

Правительство переведет большую часть госуслуг в онлайн до конца 2023 года

Новость ИТ-Новость Цифровая экономика

Правительство подготовило концепцию поэтапного перехода к цифровому формату предоставления госуслуг. Россияне смогут воспользоваться сервисами в режиме 24/7.

21.04.2022    8468    VKuser24342747    0       

4

В России будут готовить киберспортсменов – с нормативами по бегу и приседаниям

Новость ИТ-Новость

Министерство спорта утвердило стандарт подготовки по компьютерному спорту. Перечня игр или количества фрагов на разряд там нет – зато есть нормативы по общей физической подготовке.

24.01.2022    12926    user1015646    5       

2

«Госуслуги» интегрируют с государственной биометрической системой

Новость ИТ-Новость Минцифры Цифровая экономика

Заходить на сайт «Госуслуг» станет проще. Единую систему идентификации и аутентификации (ЕСИА) сервиса интегрируют с «Единой биометрической системой» (ГИС ЕБС) – Минцифры заключило соответствующий контракт с «Ростелекомом».

24.01.2022    13165    user1015646    0       

0

Унылые пользовательские соглашения-многостраничники могут исчезнуть

Новость ИТ-Новость

Прочитать до конца пользовательское соглашение и понять все юридические формулировки в нем способен только действительно упорный человек. Но вскоре соглашения могут стать короче и понятнее – в США разрабатывают соответствующий законопроект.

18.01.2022    8363    user1015646    0       

3

Стартап с российскими корнями оценили в 17,5 млрд долларов США

Новость ИТ-Новость Управление проектами

Стартап Miro, основанный выходцами из России, привлек 400 млн долларов США в рамках инвестиционного раунда С. В целом же компанию оценили в 17,5 млрд долларов.

12.01.2022    13247    user1015646    2       

4

Банк России с января начнет собирать обезличенные данные о денежных переводах россиян

Новость Банки ИТ-Новость

Центробанк с 2022 года ужесточит контроль потенциально нелегальных платежей между физлицами. Некоторые банки сообщили о необходимости передавать личные данные граждан, но ЦБ отрицает эту информацию.

30.12.2021    19041    VKuser24342747    3       

0

Жители России смогут получить зарплату через СБП

Новость Банки ИТ-Новость Цифровая экономика

Система быстрых платежей, запущенная в начале 2019 года, позволяет моментально переводить деньги, оплачивать товары и услуги. В 2022 году СБП начнут использовать и для выплаты зарплат – правда, пока лишь в пилотном режиме.

27.12.2021    18620    user1015646    3       

1

Госдума начала рассмотрение закона о базовом доходе для семей с детьми

Новость Законодательство ИТ-Новость

В Госдуму внесен законопроект, который устанавливает обязательные выплаты для семей, в которых воспитываются дети до 18 лет. Платежи будут рассчитываться в зависимости от числа членов семейства.

22.12.2021    18891    VKuser24342747    8       

3

«Google Диск» не позволит расшаривать файлы, нарушающие правила сервиса

Новость Google Безопасность ИТ-Новость

Сервис «Google Диск» ввел ограничение на доступ к загруженным файлам, если они нарушают политику компании. Пользователи получат уведомление, если их контент не соответствует правилам хранилища.

21.12.2021    25812    VKuser24342747    3       

1

В России может появиться право на отказ от интернета

Новость Интернет ИТ-Новость

Совет при президенте по правам человека (СПЧ) представил Концепцию по защите прав и свобод человека и гражданина в цифровом пространстве. Одно из положений документа – возможность отказаться от сетевого взаимодействия.

17.12.2021    22688    VKuser24342747    30       

1

На Госуслугах появилось проактивное информирование по сервисам ОМС

Новость ИТ-Новость Здравоохранение Минцифры Мобильные приложения Цифровая экономика

Фонд обязательного медицинского страхования (ФОМС) совместно с Минцифры запустил услугу уведомления граждан о процессе получения медицинских услуг по ОМС.

07.12.2021    16818    VKuser24342747    1       

1