Здравствуйте. Ко мне обратился за советом знакомый, который решительно настроен учиться программированию. Поскольку у нас в городе никаких курсов нету, он рассчитывает на дистанционное обучение. Выбор пал на Java, это обсуждать не буду, поскольку может возникнуть холивар:) Некоторые начальные знания у него есть (на уровне понимания стандартных конструкций типа if,when,for).
Так вот, я потратил достаточно времени для поиска таких курсов в рунете, но так и не нашел чего-то стоящего — в большинстве случаев, предложения больше смахивают либо на обман, либо они как-то несерьезно описаны, сформированы, с необоснованными и у каждого разными ценами.
Надеюсь, кто-нибудь из посетителей Хабрахабра сталкивался с подобной проблемой, или просто знает где есть хорошие курсы. Буду очень благодарен.
Вот не понимаю я эти курсы. Человек к которому обратиться с вопросом, зачем он нужен, если ты сам не дошел до решения вопроса, а тебе сразу его подсказали то это какой то тупиковый путь по мне, ничему это не научит. Литературы по Java огромное количество, бери читай, делай реальные программы, сам решай возникающие проблемы — это и даст бесценный опыт. А так чтобы все разжевали рассказали… ну не верю я как то.
Я в какой-то мере с Вами согласен. Я и сам учился сам :) Но это как в первый раз идти в горы на несколько дней в одних тапочках и с булочкой в кармане — тяжело. Но если опытный в этом деле человек тебе подскажет, чтобы ты взял ботинки, палатку, еду и еще много чего — тебе не придется ломать ноги и голодать. Понимаете о чем я? Об экономии сил и времени.
Вовсе не факт, что самостоятельное решение будет оптимальным, а главное оптимальное решение ты не узнаешь. К тому же, в последнее время программирование (в плане разработки софта для решения бизнес-задач) всё больше становится похожим на интеграцию нужных готовых компонентов, чем на разработку как таковую (разработка компонентов — отдельный разговор). Обучение по схеме «теория->практическое задание->свой вариант решения->качественный фидбэк на него->новый вариант решения->новый фидбэк->...->»идеальный" вариант решения" куда эффективнее традиционного самообразования («теория->выдуманное из головы задание->свой вариант решения->почивание на лаврах до первого собеседования, на котором показал свой код»).
В общем, если есть человек, который может (а лучше должен) указать на ошибки (не синтаксические, на их транслятор укажет, а такие как «спагетти-код» или изобретение «велосипедов»), то вероятность того, что ты будешь писать «быдлокод» сильно уменьшается. Собственно, по-моему, быдлокод и появляется из самообразования без фидбэков — код синтаксически правильный и работает согласно алгоритму, а то, что он может работать лучше или, скажем, что его поддержка может быть проще, в голову просто не приходит.
Есть такоей замечательный подкастер-программистНаJava, как Будам («Компания Sun Microsystems номинировала и присвоила ему титул Java Champion — чуть больше 100 человек в мире имеют это звание.»). Вот он набирает группу для проведения курса по java + Flex. Все подробности в его подкасте bit.ly/i4JjcD. А вот ссылка на регу www.eventbrite.com/event/1148096989
«Во время этого 2-х месячного онлайн-тренинга вы научитесь разрабатывать как клиентские так и серверные приложения на языке программирования Java.»
Хардкорный вариант вникания в лучшие практики программирования (это как раз что касается паттернов и архитектуры) — это начать разбираться с каким-нибудь популярным опен сорс софтом. Там в большинстве случаев все хорошо спроектировано, поэтому будет на чем поучится… но это довольно трудный путь)