Закончился квалификационный раунд Google Code Jam. Это такая всемирная олимпиада с алгоритмическим уклоном. Решать весело — алгоритмы не часто встречаются в повседневной работе. Организовано хорошо. Рабочему человеку отойти от повседневной рутины трудно: надо выделить время, подготовить рабочее место и т.д. Для этого добавили квалификационный раунд. Длится он целых 24 часа: можно без спешки настроить инструменты и приступить к решению собственно задач.
В контексте Джема этом году меня порадовали два события: появилась народная Идея — свободная (и бесплатная) IDE с открытыми исходными кодами. Задачи Джема разрешено решать только с помощью свободных инструментов. Второе, разработчики Гугола открыли доступ к guava-libraries аж 4 релиза. Теперь (двадцать лет спустя) в Яве можно легко и просто читать строки входного файла:
Files.readLines(in, Charsets.UTF_8, new LineProcessor() {
public boolean processLine(String line) throws IOException {
// обрабатываем стоку
return true;
}
public Integer getResult() {
return null;
}
});
или в одну строчку отсортировать список, оставив в нём уникальные элементы:
times = Ordering.natural().sortedCopy(Sets.newHashSet(times));
Уже похоже на языки высокого уровня, такие как Перл или Питон, правда? В строке нет и следа того, что список times на самом деле генерализирован для BigInteger. Когда пишешь код, в Идее работает автодополнение и проверка типовой безопасности. В какой IDE для Перла или Питона настолько же удобно, быстро и безопасно писать код?
В общем, в этом году пересел с Перла на Яву. Квалификацию прошёл, посмотрим, что будет в первом раунде.
С Днём Победы!
Комментариев нет:
Отправить комментарий