Недавно я попал в Java. У меня есть опыт работы на динамических языках, и я наконец выясняю, почему люди жалуются на многословие Java. Существуют ли библиотеки классов, которые затрагивают эту проблему? Я бы скорее напечатал что-то вроде String text = someClass.stdin()
вместо 8 или около того строк, которые требуется для ввода пользователя на Java.Библиотеки классов для огромной многословия Java
ответ
Некоторые из библиотек Apache Commons (в частности, Lang, IO и Collections) призваны скрыть многословие некоторых основных Java-интерфейсов Java. Многословие языка Java, однако, мы все застряли.
Конечно, есть несколько JPython, JRuby, Clojure, Scala ...
Google также выпустил ряд библиотек, которые дополняют разделы стандартной библиотеки, как библиотеки коллекций. Guice также представляет собой легкую легкую основу DI, которая, ИМХО, легче узнать, что весна.
Стандартная библиотека настолько велика. Я не думаю, что вы найдете одну библиотеку, которая заменяет все. Вы лучше всего искать библиотеки, которые позволяют решать отдельные проблемы (т.е. я не люблю API Collections, мне нужен объект бассейн и т.д.)
В Java 5:
import java.util.Scanner;
...
System.out.print("Enter your name: ");
String userName = new Scanner(System.in).nextLine();
Or , в Java 6:
String userName = System.console().readLine("Enter your name: ");
+1 Отличная точка, убедитесь, что последняя в стандартной библиотеке еще не обратилась к ней. – Yishai
Переход на Java 6 сейчас. Спасибо за дзен-прозрение: иногда то, что вы ищете, уже есть. –
Мне было бы интересно увидеть эти 8 строк, чтобы получить пользовательский ввод в Java.
Я лично считаю, что многословие Java становится активом по мере того, как ваша программа становится больше. В отличие от C и C++, все делается более объектно-ориентированным способом. Вы получаете объект, представляющий ваш вывод, затем вы выполняете операцию над ним и т. Д. Намного легче понять и поддерживать в долгосрочной перспективе.
Это как быстро, как хороший printf() здесь и там? Нет. Это так же удобно, как скрипты на Python? Конечно нет. Но это часть стоимости использования языка, такого как Java, так же, как отсутствие Lambdas вызывает раздражение.
Как инженер, ваша роль - выбрать лучший инструмент для работы. Я делаю большую часть своего кодирования в Java, а некоторые в Python, принимая компромиссы каждого.
Хотя вы не можете изменить язык, вы можете использовать библиотеки, которые упрощают некоторые операции (например, библиотеки IO Google или Apache). Вы могли бы также написать свои собственные классы для вещей, которые вас больше всего раздражают.
Я также думаю, что вы путаете многословие языка и стандартной библиотеки. В библиотеке много вещей, большинство из которых вам никогда не понадобятся. Я нахожу существующее разделение довольно простым и никогда не находил себя в тех областях, в которых меня не волновало.
Если вы действительно не можете выдержать Java, вы можете использовать гибридные языки, такие как Scala.
Я большой поклонник того, что я полагаюсь на функции графического адаптера моей IDE. (IntelliJ IDEA) Я не могу вспомнить последний раз, когда я написал StringBuffer или System.out.println («...»).
- 1. Решение для многословия Checkstyle?
- 2. Исходный код для классов библиотеки Java
- 3. Распространение кода библиотеки классов java
- 4. Диаграмма классов для библиотеки
- 5. Условное объявление обобщений в огромной иерархии классов Java
- 6. Определитель огромной матрицы Java
- 7. Добавление многословия в программу
- 8. Сокращение многословия Linq Joins?
- 9. Библиотеки классов Nuget и библиотеки локальных классов
- 10. изменение библиотеки классов silverlight для библиотеки классов wpf
- 11. Webpack проблема импортирующего шрифта огромной библиотеки
- 12. Предоставление библиотеки Java, но скрытие некоторых классов
- 13. Переопределение классов пользовательской библиотеки в Java
- 14. Файлы библиотеки классов библиотеки C#
- 15. Java: Импорт библиотеки на несколько классов
- 16. Конфигурация для библиотеки классов java на распределении tomcat
- 17. Regex для огромной строки
- 18. VersionControl для огромной кодовой базы
- 19. Тестирование библиотеки портативных классов
- 20. . Конфигурация библиотеки общедоступных классов.
- 21. AutoMapper - библиотеки нескольких классов
- 22. Обнаружение загрузки библиотеки классов
- 23. SubSonic - проект библиотеки классов?
- 24. C# библиотеки классов Локализация
- 25. Модуль библиотеки классов buildmap
- 26. поддержка классов библиотеки классов, используемых несколькими проектами
- 27. HtmlEncode из библиотеки классов
- 28. Зависимости библиотеки классов
- 29. Отладка библиотеки классов
- 30. Редактирование/миграция библиотеки классов
Это похоже на то, что мне нужно. –