Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Collection<Person> persons = ...; // заполняем коллекцию
for( Person person : persons ) {
System.out.println( person.getName() + "," );
}
// ** Убрать последнюю запятую если не нужна
Сравните с реализацией на руби: persons.map(&:name).join ", "
Можно до хрипоты спорить что length и size это семантический разные вещи, но то что можно вызывать любой просто удобно…
Это не тот код. Это вывод на экран, а руби код объединял массив в строку. Здесь нужен как минимум ещё код для конструирования строки.
public class PersonList {
private List<Person> persons = ...
...
public String toString() {
return Join.join(", ", persons);
}
}… много громких и красивых слов...
Такие компании как Google, помоему во всю молотят на питоне.
… гугловцы — скушные ребята...
А по поводу статического типизирования, каким образом это вообще относится к динамизму языка?
Давайте пример — есть коллекция объектов типа Person, у них есть name. Частая практическая задача: получить их список имён через запятую — как это сделать коротко и просто в Java?
Перечень требований к коду Ruby on Rails приложения