02-13-2017, 02:12 AM
DiagoD Написал:Вы не верно поняло, одно дело делать что-то новое(не новый проект, а в уже имеющемся допустим) хорошо, а другое бессмысленно тратить время, когда есть другие моменты, над которыми стоит работать. Ну и собственно, даже с учетом "сделать с нуля", я не вижу каких-то приоритетов 8й явы, перед 6й, за исключением только возраста платформы и возможных изменений с помощью лямбды.
Вопрос о разнице я задал больше для того, что бы те кто меня хейтил на счет 6й явы, дали аргументированный ответ, чего никто сделать собственно не сможет в силу отсутствия этих аргументов.
Заниматься ананизмом по типу переписывания хорошо работающего кода, только потому что его можно сделать лучше с точки зрения "профессионализма" можно вечно ибо никому не секрет, что нет предела развитию в программировании и с каждой минутой, днем, годом и проектом в целом, мы получаем новые знания, благодаря которым наш прошлый код, смотрится за каждым разом более убогим и мы видим, что можно было бы его сделать все лучше и лучше, тратя бессмысленно все больше и больше времени.
Да никто не говорит вам делать что-то с нуля. Речь и идет как раз о тех моментах, над которыми нужно работать.
Задача программиста - писать код. Неважно новый код, или перепись существующего, так или иначе программист напишет строки и именно о них здесь идет речь.
В пользу использования Java 8 API в топике приведено уже порядка десятка аргументов. Это и функциональное программирование, которое повышает выразительность вашего кода и сокращает синтаксис, и default methods для интерфейсов, и method references, и Stream API, и тд.
Все эти новшества вводятся в яву не для того, чтобы всякие манголы ими трясли на зг, а для упрощения жизни программиста и повышения эффективности его работы.
Если обратиться к истории, то изначально программы составлялись протыканием машинных слов на специальной бумаге. Позднее с развитием технологий появились низкоуровневые языки, которые позволили уйти от написания кода в бинарном виде. Это не что иное как повышение уровня абстракции.
Впоследствии появились высокоуровневые языки, которые избавили программистов от необходимости напрямую работать с ячейками памяти и позволили работать с операторами, которые в свою очередь автоматизируют использование инструкций. Это так же повышение уровня абстракции.
Сегодня мы видим, что лямбды позволяют не описывать полную реализацию какого-либо элемента, а лишь указать его прямую логику работы. А это в свою очередь избавляет нас от:
- Переопределения метода интерфейса
- Явного указания типов
- Указания параметров метода
- Явного перебора коллекций
- ...
И это тоже повышение уровня абстракции - эволюция языка и программирования в целом.
Java 8 API позволяет писать только логику работы программы, а не заниматься чистописанием элементов, которые и так уже известны компилятору.
Оставаясь на java 6 вы рискуете вечно остаться "протыкать бумажки".