Труд вопреки насмешкам
|
|
1 | |
Когда примерно язык Java превратится в историю?02.10.2022, 13:42. Показов 1422. Ответов 19
Метки нет (Все метки)
Внимание! Это не холивар вида "язык A vs язык B", а информация к размышлению! Я здесь НЕ РЕКЛАМИРУЮ ни один язык, так что прошу не переносить в раздел холиваров!
Ни от кого не секрет, что Java - один из самых популярных языков, и причина этому - грамотный маркетинг. Но также ни от кого не секрет, что если товар - говно, то никакая реклама не сделает его неговном, а лишь наоборот - он рано или поздно войдет в историю именно в качестве агрессивно втюхиваемого говна, как консервы SPAM, ставшие сначала основным национальным продуктом, а затем именем нарицательным, обозначающим низкосортную рекламу говна как такую. И если посмотреть на ситуацию адекватно, то Java ничем не лучше SPAM. Язык морально устарел где-то так на десять лет. Break из вложенных циклов - да, удобно, но эффекта "ВАУ", как выразился XLAT, не дает. А что еще в Java есть, кроме беспредметных "привычно" (что по сути означает "лень учиться", а программирование состоит из учебы чуть менее, чем полностью) и "годами отлаженный рантайм"? А в некоторых языках (называть имена собственные не буду, чтобы, как отмечено выше, не рекламировать и не получился холивар) есть и нормальные лямбды по коллекциям, и Pattern Matching (который у нас то ли в раннем доступе, то ли минуту назад из него вышел), и кортежи (они вообще уже в большинстве языков есть, только мы пасем задних) - устанешь все перечислять! Я еще понимаю, есть язык, тоже очень популярный и тоже называть прямо не буду, и тоже делающий все через анус, но у того хоть какая-то иллюзия "независимости". Но Java! Это же Oracle, которая может купить все лучшие фичи и алгоритмы их реализации и даже не почувствовать этого! Что мешает ей, например, внедрить в свой язык НОРМАЛЬНЫЕ универсальные типы - "извечная" проблема Java, про которую уже много лет по Интернету гуляют мемы? Ладно, это так, лирика. А главный вопрос такой - когда наконец люди поймут, что если что-то так агрессивно втюхивают, значит, наверное, оно неспособно продаться без этого и это не просто так? Вот, например, Valheim (позволю себе упомянуть это название, так как это не язык программирования и даже не что-то связанное с ним) - сделан сам по себе хорошо, и во "втюхивании" не нуждается, и без него распространяется по "сарафанному радио". Вот это, я понимаю, продукт... И когда наконец люди поймут, что Java тут и рядом не валялась, и она станет просто историей? Хотя бы примерно - в 2030-х, в 2040-х или когда? Наши внуки хоть это увидят? Прошу ответить.
0
|
02.10.2022, 13:42 | |
Ответы с готовыми решениями:
19
Когда примерно язык C# устареет? Создать историю вычислений в калькуляторе язык С# Сколько примерно времени уйдет, чтобы выучить язык C#? Когда примерно стоит ожидать появления видео в формате 17K? |
02.10.2022, 21:17 | 2 |
Ответ: уже. Любой язык программирования - это уже история. Со дня возникновения языка и сам процесс развития - это история.
Я бы не был столь категоричен. Java решает огромный пласт задач и довольно успешно. Сам язык программирования и используемые технологии не умрут и будут использоваться довольно длительное время. Да и потом сам язык - он же не мертвый, его постоянно совершенствуют, выходят новые стандарты, библиотеки и т.д. Притом стараются придерживаться обратной совместимости. Ну не решает, допустим язык java ваших задач, или решает но с большими потерями, расходами и т.д. - используйте другой язык. Ответ: нет. Алгоритмы и реализации не покупаются и не продаются, а лицензируются . Да и не будет этого делать. Кто оценит ваши фичи на то что они лучшие? Оценка - это уже затраты, дополнительные расходы. Лицензирование затратно. Скорее всего не целесообразно скупать все подряд лучшее, да и лицензирование всего лучшего - довольно затратное удовольствие. Да и потом существует довольно большое количество лицензий, которые как-то перелицензировать уже не удастся. Такие как creative common и другие свободные лицензии. Ваша тема не имеет какого-то однозначного ответа.
0
|
12081 / 8389 / 1282
Регистрация: 21.01.2016
Сообщений: 31,601
|
|
06.10.2022, 11:00 | 3 |
Это вы загнули. Java развивается и быстро. Уже несколько лет как по релизу в год.
Какие универсальные типы? Но вообще, вы про обратную совместимость слыхали? А вы уверены, что дело в языке, а не в вас?..
0
|
Труд вопреки насмешкам
|
|
06.10.2022, 11:40 [ТС] | 4 |
Ага, быстро догоняет. Догонять много ума не нужно - берем фичу 10-летней давности, коверкаем ее, чтобы не обвинили в плагиате, внедряем в свой продукт. А вот быть впереди - намного сложнее! А Java это и не нужно, она гордится тем, что в ней мало "сахара". А когда этот "сахар" уже во все нормальные языки попадает, то Java включает виноватый детский лепет в стиле "посмотрите, господа, мы уже все исправили!".
И что? Какой в ней смысл? Периодически нужно "отсекать" слишком длинный "хвост" обратной совместимости, иначе он вырастет настолько, что вы не сможете ходить из-за его огромного веса. Python, например, отсек этот "хвост", и что в этом плохого?
0
|
12081 / 8389 / 1282
Регистрация: 21.01.2016
Сообщений: 31,601
|
|
06.10.2022, 16:10 | 5 |
Оба тезиса неверны. И про "много ума не нужно" и про "мало сахара". Ума нужно много. Чтобы добавлять полезное. Чтобы не сломать старое. Вам это неочевидно по понятным причинам, но так оно и есть. И сахар добавлять начали весьма активно, что есть good. Это на производительности труда разработчика сказывается.
Какой смысл? Смысл в том, что существующий код сам не перепишется под новые стандарты. Внезапно, да? Вы пробовали сопровождать проект, где больше сотни строчек? В кайф вам будет с выходом каждой новой версии переписывать свой проект заново? Продуктивно, да? .NET Core вышел 7 лет назад относительно умеренно сломав обратную совместимость. И теперь имеем тонны проектов, которые со старого .NET Framework ещё не портировали, ибо трындец как трудозатратно. А теперь давайте представим, что такие breaking changes будут происходить регулярно. Чем это закончится? Правильно - дикой фрагментацией сообщества, а то и полным отказом от этого зоопарка версий. Вам это действительно настолько не очевидно, что надо на пальцах объяснять?
0
|
Труд вопреки насмешкам
|
|
06.10.2022, 16:32 [ТС] | 6 |
Я активно сопровождаю проект, где только в одном файле больше 60к "строчек". Внезапно, да?
Кто мне претензии предъявлял, что я только крайностями мыслю? А сами такие же? Или весь жизненный цикл жить с наследием, или - breaking changes регулярно? Один раз в 10 лет достаточно. Java вот живет с наследием с самого появления, что эквивалентно около 30 лет, это слишком много. А 10 лет - вполне нормально.
0
|
12081 / 8389 / 1282
Регистрация: 21.01.2016
Сообщений: 31,601
|
|
06.10.2022, 16:36 | 7 |
Тут прикол в том, что вы его сопровождает так как вам хочется. Но даже без этого. Теперь представьте, что с каждой новой версией языка вы это дело будете портировать и, самое главное, заново тестировать. Классно же, да?
Да вот в том и прикол, что корпоративное ПО живёт сильно дольше 10 лет. Даже у нас в фирме достаточно проектов, которые начались ещё в 2002 году, с выходом первой версии C#. В Java такая же песня. И? Всё это раз в 10 лет портировать и заново тестировать как с нуля написанное приложение? Вы серьёзно?
0
|
Труд вопреки насмешкам
|
|
06.10.2022, 16:49 [ТС] | 8 |
Дело в том, что breaking changes совсем не означает, что придется переписывать и заново тестировать весь проект. Иногда может быть достаточно, например, замены с регулярными выражениями (если изменился формат некоторых функций). Иногда (намного реже) приходится переписать (почти) с нуля один или два модуля, но для этого нужно, чтобы проект в принципе состоял из модулей, а не был спагетти-монолитом. Думаю, большой проект не придется переписывать с нуля ни при каких breaking changes.
0
|
12081 / 8389 / 1282
Регистрация: 21.01.2016
Сообщений: 31,601
|
|
06.10.2022, 16:59 | 9 |
Да, давайте, рассказывайте мне как это просто - мигрировать большие проекты на несовместимую версию языка\платформы))) Частый опыт, да?)))
Если без шуток, то я вам выше конкретную ситуацию привёл. Никакие регулярки там и "я думаю" не работают. Уже проверено. И чуваки, что над Java работают, это тоже понимают.
0
|
Труд вопреки насмешкам
|
|
06.10.2022, 17:10 [ТС] | 10 |
Не частый, но случалось. Я, например, вообще на другой язык регулярными выражениями переводил (хоть оба языка и были на одном фреймворке). И со старой версии фреймворка переводил - один проект вообще лег на новую идеально, в другом кое-что переписать пришлось (там было прерывание потоков, пришлось наладить межпроцессное взаимодействие). Но это сотни строк, но никак не весь проект с нуля.
0
|
12081 / 8389 / 1282
Регистрация: 21.01.2016
Сообщений: 31,601
|
|
06.10.2022, 17:18 | 11 |
Это крохотный проект одного автора. Там хоть с Python на Java переписывать. И всё с произвольным качеством и результатом.
Не забывайте, что есть не только ВАШ код, но и ещё и код ЗАВИСИМОСТЕЙ. И их может быть много. Вы этот вопрос "а в чём проблема" задали исходя из своего опыта, весьма ограниченного. Я вам пытаюсь сказать, что ваши проекты - это ниочём. И исходить из опыта полученного над работой над ними не верно.
0
|
Труд вопреки насмешкам
|
|
06.10.2022, 17:21 [ТС] | 12 |
С целью интереса посчитал - в проекте было 614 КБ кода, переписать пришлось, например, 10 КБ - примерно 13 квадратных корней в байтах. Если даже в "большом" проекте 1 ГБ кода - неужели так трудно переписать 430 КБ - 0.04% от общего объема?
Добавлено через 2 минуты Заметьте, один раз в ДЕСЯТЬ ЛЕТ!
0
|
12081 / 8389 / 1282
Регистрация: 21.01.2016
Сообщений: 31,601
|
|
06.10.2022, 17:30 | 13 |
Да, проблема. Некоторые изменения могут быть СУЩЕСТВЕННЫМИ. Это - раз. Два - может измениться не только API, но и просто поведение некоторых вещей. А это ещё надо отловить. И, может быть, тоже поправить.
Вы исходите исключительно из опыта редактирования исходного текста, и конечный результат у вас "собралось" \ "не собралось". А есть ещё критерии корректной работы собранного приложения. Т.е. вы считаете, что все проекты подобны вашим? Все подходы подобны вашим? Вы же сами видите, что всё работает иначе. Вы не задумывались, почему?
0
|
Am I evil? Yes, I am!
17573 / 10326 / 2820
Регистрация: 21.10.2017
Сообщений: 22,390
|
|
06.10.2022, 17:31 | 14 |
Никакого холивара, да?
0
|
Труд вопреки насмешкам
|
|
06.10.2022, 17:36 [ТС] | 15 |
Это такое изощренное оскорбление? Вы хоть попробовали попользоваться хоть одним моим приложением, чтобы так заявлять? Ну разумеется, гарантировать на 100% корректную работу не может никто, но я пока что не идиот.
0
|
12081 / 8389 / 1282
Регистрация: 21.01.2016
Сообщений: 31,601
|
|
06.10.2022, 17:40 | 16 |
iSmokeJC, откуда бы?)
Никаких оскорблений. Правда. Я о том, что если ваше приложение собралось на новой версии компилятора, то это ещё не значит, что оно работоспособно так же, как и прошлая сборка. Есть такое понятие как "качество продукта". Оно не только должно запускаться, но и работать нормально.
0
|
12081 / 8389 / 1282
Регистрация: 21.01.2016
Сообщений: 31,601
|
|
07.10.2022, 10:45 | 18 |
Нет. Я понимаю, что вам так кажется, но весь форум не просто так все ваши проекты хаял и хает.
0
|
33 / 40 / 2
Регистрация: 04.12.2014
Сообщений: 87
|
|
08.10.2022, 13:00 | 19 |
а кто джаву агрессивно втюхивает?
вроде бы пока свободу выбора языка для разработки никто не отменял, или я новость пропустил какую-то? насчет сахаров и прочей шляпы - как автора отпустит, может погуглить про kotlin, groovy, scala. нет, твои проекты так себе, и интерес вызывают только с позиции стёба.
2
|
-85 / 55 / 9
Регистрация: 29.09.2011
Сообщений: 601
|
|
17.10.2022, 16:44 | 20 |
Java - это один из самых ЛУЧШИХ языков программирования, хотя бы из-за своей полной обратной совместимости. Это очень важно, потому - что устраняет множество проблем в продолжительных проектах и я очень рад, что его создателям удаётся до сих пор поддерживать преемственность. Я не программирую в C#, но есть целые статьи о особенностях обратной совместимости в этом языке и это не есть хорошо.
Обратная совместимость сильно осложняет изменение языка вообще и введение новых инструкций в частности. Вы, наверное, удивитесь, но для тех, кто занимается программированием стабильность работы намного важнее удобства. Что же касается ваших категорий "говно" и "сахар", то я далёк от данных формулировок, но могу представить, что в Вашем лексиконе они являются следствием местного самогоноварения.
0
|
17.10.2022, 16:44 | |
17.10.2022, 16:44 | |
Помогаю со студенческими работами здесь
20
Звук не работает, когда уровень громкости (который в трее) примерно ниже половины Когда устанавливаю разрешение 1680х1050, справа появляется чёрная полоса примерно 2 сантиметра Очистить историю подключений USB-flash и историю браузера Нейронная сеть направленная на распознавание рукописных цифр с картинки, после обучения выдает примерно примерно один и Вначале я сделал в victoria smart, а потом решил сделать "ignore" он делал скап и когда дошел до 98% примерно начал Когда хочу запустить .class посредством java, выскакивает ошибка: "The system cannot find the file java.exe" Английский язык. Когда "in" с выражениями, обозначающими временной интервал, переводится как "за", а когда как "через"? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |