№ | Пользователь | Рейтинг |
---|---|---|
1 | tourist | 4009 |
2 | jiangly | 3831 |
3 | Radewoosh | 3646 |
4 | jqdai0815 | 3620 |
4 | Benq | 3620 |
6 | orzdevinwang | 3529 |
7 | ecnerwala | 3446 |
8 | Um_nik | 3396 |
9 | gamegame | 3386 |
10 | ksun48 | 3373 |
Страны | Города | Организации | Всё → |
№ | Пользователь | Вклад |
---|---|---|
1 | cry | 164 |
1 | maomao90 | 164 |
3 | Um_nik | 163 |
4 | atcoder_official | 160 |
5 | -is-this-fft- | 158 |
6 | awoo | 157 |
7 | adamant | 156 |
8 | TheScrasse | 154 |
8 | nor | 154 |
10 | Dominater069 | 153 |
Название |
---|
.
ну парень же не в итмо)
ну дело хозяйское, но не вижу, чем принципиально java лучше с++, и если уж учить, то по мне так с++, а если знаешь, то больше ниче для счастья не надо(опять же, по крайней мере в сп)
Плюс java #1 - объемная библиотека, содержащая очень много различных функций (длинная арифметика, геометрия)
Плюс java #2 - не дает выстрелить себе в ногу, в отличие от. Код вида int x = 37[a]; или if (a = 1) просто не скомпилируется
Основной минус java - в целом несколько более медленная работа, так что на некоторых контестах (TC, CF, южный четвертьфинал и NEERC к ним не относились на моей памяти) код на java во избежание TL приходится вылизывать по оптимальности.
Я перешел на Java после 6 лет С++, так как на работе стал на Java писать. Но открылся мир удивительного :)
По поводу скорости. Все контесты, которые я готовил, я писал решение на Java. Причем, нормальное решение — Java style, а не перегонку из С++. Тогда если есть такое решение, то ТЛ выставляется соответственно. Если авторы будут этому следовать, то проблем не должно быть.
Вообще полезно ознакомиться с постом Максима Буздалова про ввод-вывод и про коллекции в одном из давних тредов. Ну и сдавать как можно больше задачек
Что касается среды разработки, для спортивного программирования представляется удобным eclipse (хотя, конечно, найдутся сторонники и IDEA, и NetBeans - но можно же попробовать и выбрать самому). Со средами разработки, вероятно, лучше знакомиться, используя Tutorial'ы на официальных сайтах: здесь для eclipse, здесь для netbeans.
Удачи в освоении) Ну и на сладкое старое доброе. =)
UPD: сдаётся, не туда попал. Сорри.
Я наоборот на СП ресурсы пришёл чтоб потрениться в java, когда азы познавал. ;-)
Мой метод был такой:
- внимательно изучаем исходников из тюториалов, чужих решений и т.п. - ищем непонятные места;
- читаем Java API Reference по мере необходимости познавая нужные классы/методы;
- читаем Java Language Specification в свободное время, там много умный вещь;
- пробуем писать, смотрим что получается.
Желательно по крайней мере сначала писать не в IDE, а в (удобном каком-нибудь) блокноте, компилируя в командной строке. Когда понимание этого процесса приходит, скачиваем eclipse или netbeans - разница дело вкуса (почти).
P.S. Насчёт существования спортивных задач для которых java лучше подходит... Сомневаюсь. Только если плохо знаешь C++ (как я)... Или если задачи A с помощью регэкспов писать хочется... ;-)
- представление об SQL (умение написать несложные запросы для MySQL или FireBird, или хотя бы Access вполне покатит);
- познания в алгоритмах... Общие... Понимание временной сложности и затрат по памяти... Алгоритмы на графах или цифровые фильтры не понадобятся, почти наверняка... Некоторые алгоритмы обработки строк - могут;
- довольно много обработки текста и данных вообще, поэтому желательно не бояться регэкспов, уметь придумывать автотестилки и вообще иметь бодрый склад ума... ;-)
- уважение к Java Code Conventions и стилю оформления, принятому в чужом проекте - обязательны;
- используются система контроля версий SVN и багтрекер RedMine... не думаю что это имеет смысл в требования писать."
Лучше лично отвечу... ;-)
UPD: Решил ответить лично потому что вопрос сложный. Но кстати вспомнил что из рускоязычных есть неплохой тюториал, хотя и там чего-то лишнее, чего-то не хватает и немножко устаревшая вся тема с xml-ками, так что можно немного испугаться. Но в общем осмелюсь рекомендовать.
Ответьте уж лучше публично, если не сложно (мне, к примеру, тоже интересно).
Это куда такие требования, если не секрет?
Какое-то объявление на HeadHunter. Сложнее вспомнить сложно, учитывая что это было 2.5 года назад:)
Если знаете английский, то, ИМХО, самая лучшая книга по Java - это спецификация языка Java. На втором месте - спецификация виртуальной машины Java. В электронном варианте обе книги свободно доступны на официальном сайте. Можно найти русский перевод спецификации языка 1-й редакции, но он не очень.
Среда разработки - это уже на вкус. Самых популярных три штуки - поставить каждую и самому посмотреть/выбрать не так уж сложно.
Из среды разработки — IntelliJ IDEA от Jetbrains. Ее подсказки частенько спасают от ошибок и желания называть переменные в одну букву. Хотя для начала, как выше и упоминали, стоит разобраться с командной строкой и блокнотом.