Возврат к списку

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

26.09.2018     

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 316 26.09.18 15:55 Сейчас в теме
К опроснику: Brainfuck очень сложный язык.
Jestery; Reaper_1C; DoctorRoza; dimisa; Kochergov; +5 Ответить
4. Darklight 19 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. Поручик 4331 26.09.18 20:49 Сейчас в теме
(4) В веб я начинал именно с Perl'a и он мне никогда не казался уродцем или сложным. Очень мощный язык.
27. herfis 283 27.09.18 10:57 Сейчас в теме
(18) Perl на какой-то момент был "наше все" в качестве скриптового языка общего назначения. Потом эту нишу занял python (и сейчас пока занимает).
2. cerrenesi 26.09.18 15:59 Сейчас в теме
3. katenok86 243 26.09.18 16:05 Сейчас в теме
Самый сложный тот который не знаешь)
TreeDogNight; JohnConnor; darkmessiahan; alex-l19041; A_Max; Krio2; Interrupted; Gang031; protexprotex; Kochergov; +10 Ответить
5. Darklight 19 26.09.18 16:12 Сейчас в теме
(3)Речь как раз про освоение языков. Какие-то осваиваются легче, какие-то труднее. Так же как и с разговорными языками. Английский - учить легко. Китайский - крайне сложно. А, вот, на каком языке будут чаще говорить и писать через 100 лет большинство людей планеты - ещё вопрос: простом английском, или сложном китайском. А может на арабском? Но это уже совсем другая история...
Gang031; Kochergov; +2 Ответить
6. biz-intel 684 26.09.18 16:26 Сейчас в теме
Я бы написал статью, как беспринципные обновления типовых конфигураций 1С мешают работе программистов 1С:)
Gureev; akimych; Gang031; acanta; +4 Ответить
9. protexprotex 174 26.09.18 16:49 Сейчас в теме
(6) Как раз к теме - пишу сейчас на 1С в конфигураторе - сохранил все. Проверил. Все работает. Класс. Вышел из конфигуратора. Потом еще раз зашел чтобы еще кое-что поправить. Бац! - а всего того, что я написал уже в конфе и нет. Вот так вот. Так что 1С - это самый сложный язык - т.к. не всегда то, что ты написал даже сохраняется :-) - тут удача нужна. Ну и этот .... кеш та еще приставка.
TreeDogNight; darkmessiahan; Gureev; tindir; igo1; Gang031; +6 Ответить
11. starik-2005 1965 26.09.18 17:18 Сейчас в теме
(9)
Потом еще раз зашел чтобы еще кое-что поправить. Бац! - а всего того, что я написал уже в конфе и нет.
Ни разу не сталкивался с такой ситуацией, а вот был у нас разработчик один - сталкивался постоянно. Видимо не особо хотелось ему работать.
12. herfis 283 26.09.18 17:29 Сейчас в теме
(11)
Ни разу не сталкивался с такой ситуацией, а вот был у нас разработчик один - сталкивался постоянно. Видимо не особо хотелось ему работать.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

Экспорт ИКТ-услуг в 2025 году превысит 12 млрд долларов 1

Новость Медведев

Глава правительства Дмитрий Медведев утвердил стратегию экспорта услуг, которая охватывает период до 2025 года. Премьер-министр признал, что Россия недостаточно хорошо представлена на рынке услуг.

03.10.2019    983    user1015646    0       

В России вступает в силу закон об обязательной регистрации беспилотников 5

Новость Гаджеты Законодательство

27 сентября вступает в силу закон об учете и регистрации беспилотных летательных аппаратов (БПЛА). Рассказываем о новом законе и особенностях регистрации.

25.09.2019    1744    user-programmist    70       

Тренд на гибкость коснулся организации офисного пространства 2

Новость ИТ-компания Недвижимость, риэлторская деятельность

Компания Knight Frank изучила офисный рынок России: большинство глобальных корпораций отдают предпочтение традиционным кабинетам. Экономия средств и площадей берет свое – эти тенденции создают условия для перехода на новую офисную модель.

10.09.2019    1448    user-programmist    1       

В России могут навечно заблокировать «Архив интернета» 4

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

Сайт Internet Archive, предоставляющий доступ к старым версиям интернет-страниц, может быть навсегда заблокирован на территории РФ. С такой инициативой выступила Ассоциация по защите авторских прав в интернете.

05.09.2019    2486    VKuser24342747    15       

В России искусственный интеллект используют для поиска людей 5

Новость Искусственный интеллект Нейросети

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

28.08.2019    1562    user1015646    2       

Вместо iPhone – шкулфон: что заменит смартфоны российским школьникам 5

Новость Инновации Образование

Российские власти намерены запретить школьникам приносить смартфоны на уроки. Вместо них выдадут «шкулфоны» – аналоги смартфонов с ограниченным набором функций.

23.08.2019    2664    user1015646    52       

Программист из США получил гору штрафов из-за необычного номера на авто 8

Новость Алгоритмы

Разработчик Джозеф Тартаро решил заказать для своего авто необычный номер. Размышляя над вариантами вроде SEGFAULT, он остановился на NULL. Тартаро думал, что это избавит его от штрафов. Но в итоге пачка штрафов досталась ему, а номер сломал систему.

22.08.2019    2782    user1015646    24       

Российские школьники победили на Международной олимпиаде по информатике 7

Новость Образование

В Баку завершилась  IOI 2019 – Международная олимпиада по информатике. Первое место в соревнованиях заняла команда школьников из России.

16.08.2019    2149    user1015646    17       

Microsoft разрешит удалить Paint из Windows 10 2

Новость Microsoft

Paint перестанет быть системным компонентом Windows 10. При желании пользователи смогут удалить приложение для рисования. Вернуть обратно программу можно будет через Windows Store. 

15.08.2019    2029    VKuser24342747    11       

Пожилые сотрудники пожаловались на увольнения из IBM из-за возраста 3

Новость Кадровые агентства, подбор персонала

Технологическая компания IBM за последние несколько лет сократила 100 тыс. сотрудников. Уволенные работники обвинили руководство IBM в дискриминации по возрасту и подали судебные иски к компании, сообщает агентство Bloomberg.

14.08.2019    2119    user965726    38       

Время гладить шнурки: Google тестирует новую социальную сеть Shoelace 2

Новость Google Соцсети

Новая социальная сеть свяжет незнакомых людей с одинаковыми интересами с помощью мероприятий: они называются «петлями» – как два шнурка на обуви.

10.08.2019    2233    SKravchenko    7       

Google заплатит Роскомнадзору 700 тыс. рублей за отказ фильтровать выдачу 3

Новость Google Роскомнадзор

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

08.08.2019    1805    VKuser24342747    10       

76-летний программист из Петербурга вышел в финал конкурса «Цифровой прорыв» 24

Новость Конкурс Языки программирования

Финалистом всероссийского конкурса «Цифровой прорыв» стал 76-летний петербуржец Евгений Полищук. В сентябре он вместе с командой отправится на финал конкурса в Казань.

08.08.2019    6477    user-programmist    23       

Минкомсвязь и ИТ-компании обсуждают законопроект о предустановке отечественного ПО 4

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

Если перечень отечественных приложений одобрят, продавать технику на территории России можно будет только с предустановленным российским ПО. 

01.08.2019    1888    VKuser24342747    16       

GitHub стал блокировать репозитории крымских разработчиков 4

Новость GitHub

Сервис для хранения репозиториев кода GitHub ввел новые правила для разработчиков. Они распространяются на регионы, которые находятся под американскими санкциями, в частности, на Крым.

01.08.2019    2855    user1015646    77       

Экс-разработчик Google создал сервис помощи ИТ-специалистам в трудоустройстве за рубеж 7

Новость ИТ-компания Google Языки программирования

Киргизский разработчик Тилек Мамутов создал сервис Outtalent. Разработка поможет ИТ-специалистам справиться с языковыми и культурными барьерами и найти работу за рубежом. 

31.07.2019    2528    user1015646    8       

Мои года – мое богатство: программисты в возрасте пожаловались на Google из-за дискриминации 6

Новость Управление персоналом (HRM) Google

Google обвинили в дискриминации возрастных программистов при приеме на работу. По досудебному соглашению поисковый гигант выплатит компенсацию в размере 11 млн долларов.

23.07.2019    4222    user1015646    55       

ФСО потратит 1,5 миллиарда рублей на государственный сегмент интернета 3

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

Rsnet – российский государственный сегмент интернета, созданный в конце 90-х, чтобы сотрудники органов власти могли безопасно выходить в интернет.

18.07.2019    1723    user-programmist    5       

Будьте внимательны: Microsoft собралась массово удалять аккаунты пользователей 3

Новость Microsoft

Корпорация Microsoft ввела новые правила, которые затрагивают аккаунты пользователей. Теперь учетную запись, которой долго не пользовались, удалят автоматически.

18.07.2019    2530    user1015646    3       

В России планируют учредить должность государственного ИТ-архитектора 3

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

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

16.07.2019    2636    Senator_I    76       

Российским разработчикам ПО выделят 15 млрд рублей 3

Новость Импортозамещение Цифровая экономика

Российские разработчики получат гранты для поддержки развития проектов. Деньги выделят по программе «Цифровая экономика», большую часть привлекут из внебюджетных источников.

15.07.2019    2332    user1015646    8       

В России создадут суверенную «Википедию» 3

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

Свободная энциклопедия «Википедия» входит в топ-10 самых посещаемых сайтов в России. Чтобы не зависеть от мирового сообщества и возможных санкций, у россиян появится национальная электронная библиотека –  локальный аналог «Википедии».

12.07.2019    2273    user1015646    23       

Правительству предложили три концепции выпуска электронных паспортов 3

Новость Цифровая подпись Цифровая экономика

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

12.07.2019    1885    user-programmist    10       

Печеные яблоки: еще один MacBook Pro загорелся без видимых причин 4

Новость Apple

В течение месяца стало известно сразу о двух случаях самопроизвольного возгорания батареи ноутбуков MacBook Pro 2015-2017 годов. Apple предлагает владельцам проблемных устройств бесплатную замену аккумуляторов. 

11.07.2019    2441    VKuser24342747    5       

Некому работать: в России не смогли найти команду для создания приложения под ОС «Аврора» 4

Новость ОС Госзакупки Импортозамещение

«Ростелеком» и Минкомсвязи предложили выдать федеральным чиновникам смартфоны под управлением отечественной ОС «Аврора». Удобство и сама возможность работы с операционной системы пока под вопросом.

09.07.2019    4148    user1015646    161       

Эксперты Microsoft предупредили о грядущей нехватке программистов в России и мире 4

Новость Microsoft

Microsoft предсказывает грядущую нехватку ИТ-специалистов. О кадровой проблеме рассказала Юлия Жэнгли Люсон, корпоративный вице-президент компании. 

05.07.2019    5936    VKuser24342747    36       

Счетная палата первой из госорганов раскрыла исходные коды своего ПО 2

Новость Цифровая экономика Программист

Исходный код для разработки аудиторского софта размещен на интернет-ресурсе в виде хранилища ПО для новых проектов по автоматизации работы инспекторов и других сотрудников.

04.07.2019    2168    user965726    0       

iPhone c «Яндексом»: предустановку российских приложений на импортные смартфоны могут сделать обязательной 2

Новость Импортозамещение Яндекс

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

03.07.2019    2086    user1015646    47       

Американским компаниям разрешили работать с Huawei 4

Новость Google

Президент США Дональд Трамп заявил, что американские компании вправе работать с Huawei и другими китайскими компаниями.

03.07.2019    5337    user1015646    6       

Роскомнадзор начал подготовку к запуску суверенного Рунета 1

Новость Роскомнадзор

Роскомнадзор торопит провайдеров с началом подготовительных мероприятий, необходимых для соблюдения закона о суверенном интернете. В полном объеме закон заработает с 1 января 2021 года, но ведомство уже запрашивает у операторов необходимые сведения. 

28.06.2019    3278    VKuser24342747    97       

Не снимайте: сотрудникам банков запретили фотографировать экраны компьютеров 2

Новость Банковские операции Банки Сбербанк

Крупные российские банки ввели новый запрет: теперь сотрудникам нельзя фотографировать экраны рабочих компьютеров. Так банки борются с передачей клиентских данных мошенникам.

26.06.2019    2620    user1015646    42       

Вместо Lego: Microsoft представила компьютер-конструктор 2

Новость Microsoft

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

25.06.2019    2679    user1015646    2       

Роскомнадзор хочет удалять сайты с пиратским контентом из поиска без решения суда 2

Новость Законодательство Роскомнадзор

Правообладатели собираются ужесточить наказание для сайтов, нарушающих авторские права, и полностью исключать их из результатов поиска в «Яндексе» и Google. Интернет-компании считают, что без решения суда такой подход недопустим.

21.06.2019    2420    VKuser24342747    16       

В России появится цветовая маркировка продукции 3

Новость Маркировка

В октябре 2019 года в России заработает стандарт ГОСТ по цветной маркировке продуктов.

20.06.2019    2667    Senator_I    10       

Роскомнадзор сделает для Калининграда исключение при изоляции Рунета 1

Новость Законодательство Интернет Роскомнадзор

Роскомнадзор представил правила соблюдения закона о суверенном интернете. Возможность направлять трафик за пределы России останется только у Калининграда и посольств.

20.06.2019    2750    VKuser24342747    45       

Начинаем копить: в NASA рассказали, сколько будет стоить месяц в космосе 3

Новость Инновации

NASA (Национальное космическое агентство США) намерено вывести работу МКС (Международной космической станции) на коммерческие рельсы. Возможность принимать туристов откроется на станции уже через год. Стало известно, сколько это будет стоить.

19.06.2019    2572    user1015646    3       

Впервые российский разработчик доказал в суде факт кражи своего продукта 7

Новость Судебная практика

Антон Мамичев в суде доказал, что швейцарская команда Veeam Software и петербургское ООО «Интервим» без лицензии использовали его программу, удалив авторский код разработчика.

19.06.2019    3946    user965726    13       

Приложения WhatsApp, Instagram и Facebook не будут устанавливаться на смартфоны Huawei 1

Новость Facebook Гаджеты Мобильные приложения

Facebook разрывает отношения с Huawei на неопределенный срок. Пользователи смартфонов Huawei потеряют доступ к продуктам Facebook – WhatsApp, Instagram и самому Facebook.

14.06.2019    3542    user965726    9       

Майнинг вне закона: Госдума намерена запретить любые операции с криптовалютой 1

Новость Госдума Законодательство Криптовалюта

Парламент России рассмотрит законопроект о полном запрете майнинга, покупки и обмена цифровых токенов и выпуска собственной криптовалюты. Причина – борьба с отмыванием денег.  

14.06.2019    3792    VKuser24342747    315       

Миллионные убытки: Александр Жаров рассказал, что ждет Facebook, Twitter и Telegram 2

Новость Facebook Telegram Роскомнадзор Соцсети

Роскомнадзор разрабатывает новые способы взаимодействия с сайтами, нарушающими законодательство РФ. Ведомство предлагает кроме блокировки использовать крупные штрафы.

10.06.2019    3380    VKuser24342747    21       

С Днем рождения: тетрису – 35 7

Новость Видеоигры

Любимый гаджет миллионов, игра на сообразительность и скорость реакции – 6 июня тетрис отметил 35-летие.

08.06.2019    2535    user1015646    13       

Знакомство с реестром: Роскомнадзор обязал Tinder передавать данные в ФСБ 2

Новость Мессенджеры Роскомнадзор

Приложение для знакомств Tinder появилось в перечне организаторов распространения информации в интернете. Это значит, что сервис обязан предоставить ФСБ ключи для дешифровки пользовательских чатов.

06.06.2019    2579    VKuser24342747    3       

2,5 тыс. чиновников Минтруда начнут работать с отечественной ОС 2

Новость Linux Госзакупки Импортозамещение

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

23.05.2019    2954    user1015646    11       

Вынужденный переезд: VPN-сервисы переносят сервера за границу 3

Новость Telegram Роскомнадзор

VPN-сервисы массово останавливают работу серверов на территории России. Компании не хотят сотрудничать с Роскомнадзором (РКН) и становиться частью системы блокировки сайтов.

22.05.2019    4529    user1015646    85       

Простые граждане смогут подключаться к интернету через инфраструктуру для силовиков 1

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

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

09.05.2019    3313    user971588    32       

Браузер Firefox перестал работать из-за просроченного сертификата 2

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

В ночь на 4 мая все дополнения браузера Firefox стали недоступны. Ошибку исправили, но некоторые проблемы все равно остались.

07.05.2019    3072    user1015646    1       

Вступили в силу новые правила идентификации пользователей в мессенджерах 2

Новость Законодательство Мессенджеры Соцсети

С 5 мая в России вступили в силу новые правила идентификации в мессенджерах. Операторам отводится всего 20 минут на то, чтобы определить личность пользователя.

06.05.2019    3060    user1015646    11       

Минкомсвязь: к 2024 году госорганы импортозаместят 90% иностранного ПО 2

Новость Импортозамещение Минкомсвязь

С 2015 года доля отечественных продуктов при заключении госконтрактов на поставку ПО выросла втрое. Специалисты Минкомсвязи считают, что к 2024 году государственные органы импортозаместят программное обеспечение на 90%. 

04.05.2019    2605    user971588    0       

Дорога дальняя: Минкомсвязь даст деньги на покрытие связью федеральных трасс 1

Новость Минкомсвязь Телекоммуникации

Минкомсвязь занялась решением проблемы мобильной связи на дорогах России. Новый проект министерства должен обеспечить все главные трассы РФ покрытием сотовой сети.

26.04.2019    2536    VKuser24342747    4       

В первом квартале 2019 года разработчики ПО заработали больше других специалистов 2

Новость ИТ-компания Рейтинг

Более того, зарплаты в сфере ИТ и электроники растут быстрее, чем в других отраслях. Сопоставили эти данные с другими зарплатными прогнозами на 2019 год.

21.04.2019    3416    user965726    2