По критерием ОБНОВЛЕНИЯ и ВНЕДРЕНИЯ новых фич, появление НОВЫХ фреймворков.
Фичи языка активно появляются на этапе стабилизации языка. А новые фреймворки — на этапе стабилизации экосистемы. В данном отношении, JavaScript можно охарактеризовать как пока ещё незрелый и нестабильный ЯП. Да, он существует очень давно, но по сути начиная с 2009 года пилят новую версию языка, которая до сих пор не устаканилась.
Сложно это записывать в плюс. Конечно, язык не должен скатываться в стагнацию аля Java, но очень бурное развитие адекватнее смотрится до версии 1.0. Самое фиговое, что, несмотря на новые версии ECMAScript, избавляться от bad parts никто не торопится.
Не, в этом отношении в Ruby та же петрушка, что и в Python. В рамках процесса можно хранить кеш, но, как правило, запускают около 10 процессов параллельно.
Ну необязательно именно Python, кроме него есть ещё Ruby, Lua, Smalltalk, Lisp, Erlang и ещё масса языков с сильной динамической типизацией. Пока непонятно какие языки кроме Java и JavaScript Вам знакомы?
Весьма вероятно, что Ваш восторг от смены Java на JavaScript связан с переходом от статической типизации без вывода типов к динамической типизации, а не со слабостью типизации.
Например функциональщина наступает во ВСЕ языки по ВСЕМ фронтам.
И что? По такому критерию любой императивный язык будет в вечных догоняющих, в том числе и C#(несмотря на то, что лямбды там лет 9 назад появились).
С какими ещё языками по-вашему уместно сравнивать Java и по каким критериям?
А что странного? Это же отдельный вопрос. А типизация помимо деления на сильную/слабую делится ещё и на динамическую/статическую.
У JavaScript — слабая динамическая, у Java — сильная статическая. Отсюда и вопрос про другие языки.
Допустим, я собеседуюсь на позицию java junior, передо мной кладут кубик Рубика и просят его собрать. Что покажет мой отказ?
Покажет проактивную позицию, т.е. что Вы не тупо кидаетесь выполнять задачу, а сначала думаете зачем и можно ли обойтись вообще без этой задачи. На самом деле, это очень ценное качество.
Хотя на позиции, связанные с Java или с Go, такое вряд ли заценят, там обычно нужны «винтики», тем более на junior-уровне.
Ну, когда Вы пишете про перманентное отставание Java, возникает вопрос отставание от кого… и ответ тут один — от C#. Потому что остальных сравнивать с Java тупо некорректно.
> Мир JavaScript — это мир свободы!
Это из серии «анархия — мать порядка» )))
Т.е. в теории вроде могло бы работать, а на практике люди не так уж способны к самоорганизации.
Большинство может вообще один/два языка только знать… А вопрос нравится/не нравится — это вопрос осознанного выбора. Попрограммируйте несколько лет на слаботипизированном языке, а потом несколько лет на сильнотизированном.
Я не видел пока ни одного человека, который после этого тяготел бы к слабой типизации.
Можно то можно, вопрос в том, нужно ли, особенно с учётом возникнувших проблем с поиском программистов. Backend в данном случае можно было сделать практически на чём угодно, а на фронтенде у вас в любом случае js-клиент получается. Другими словами, на мой взгляд, искусственно наложив ограничения на технологию реализации, вы сами себе создали проблему, чтобы было с чем героически справляться.
Мы поняли, что сервис можно сделать с помощью Lambda от AWS или Firebase от Google. Но не могли найти специалистов, которые были знакомы с ними на практике.
Я что-то не понял почему вы решили, что его нужно сделать с помощью чего-то из них?
Тут может слегка помочь переход к декларативным командам. Команду «включи обогреватели» заменить на «хочу 25 градусов по Цельсию»… А «умный дом» пусть сам разбирается, что ему для этого надо сделать для этого, обогреватели включить или кондиционер… на то ведь он и умный :-)
Сложно это записывать в плюс. Конечно, язык не должен скатываться в стагнацию аля Java, но очень бурное развитие адекватнее смотрится до версии 1.0. Самое фиговое, что, несмотря на новые версии ECMAScript, избавляться от bad parts никто не торопится.
Весьма вероятно, что Ваш восторг от смены Java на JavaScript связан с переходом от статической типизации без вывода типов к динамической типизации, а не со слабостью типизации.
С какими ещё языками по-вашему уместно сравнивать Java и по каким критериям?
У JavaScript — слабая динамическая, у Java — сильная статическая. Отсюда и вопрос про другие языки.
Хотя на позиции, связанные с Java или с Go, такое вряд ли заценят, там обычно нужны «винтики», тем более на junior-уровне.
> Мир JavaScript — это мир свободы!
Это из серии «анархия — мать порядка» )))
Т.е. в теории вроде могло бы работать, а на практике люди не так уж способны к самоорганизации.
Я не видел пока ни одного человека, который после этого тяготел бы к слабой типизации.