Project Codder. Week #1

На прошлой неделе стартовал новый проект под названием #Codder, в котором я буду рассказывать о том, как я обучаюсь программированию под Android. Цель проекта — рассказать о пройденном пути и донести до всех желающих свой опыт, а также поделиться впечатлениями от различных инструментов, которые я буду использовать. Таким образом я, получая полезный навык, буду стараться делать путь тех, кто будет идти по моим стопам, проще.

Дисклеймер

Сразу хочу обозначить, что в рамках проекта #codder не будет каких-то обучающих материалов. По крайней мере, на первых порах так точно. Не будет их хотя бы потому что сам я только начинаю учиться, так что сразу начинать учить, как мне кажется, было бы как-то глупо. Зато в процессе я буду пробовать различные обучающие источники, так что в результате можно будет выбрать набор из тех обучалок, которые по моему мнению будут самыми полезными и актуальными.

Кроме этого еще раз бы хотел отметить тот факт, что данный проект не будет двигаться очень быстро, посколько выделить на него много времени, к моему сожалению, не так и просто. Так что наберитесь терпения и давайте переходить к делу.

Начало

Поборов соблазн сразу броситься в среду разработки и начать клепать всякие хэлловрлды, я принял волевое решение о том, что начать нужно все же с проектирования первых шагов. Создания алгоритма обучения, а не хаотичного хватания за первые попавшиеся туториалы. Как мне кажется, такой подход к изучению программирования уже большой шаг вперед, потому что создание правильной последовательности действий и есть то, чему надо научиться в первую очередь.

Итак, первым делом я собрал различные источники информации, которые вы мне любезно советовали в твиттере и других местах. Ну и, конечно, сам я тоже что-то находил. Скажу честно, определить превосходство какого-либо источника на этапе первых уроков очень сложно, потому что они весьма похожи друг на друга. Так что пока что во многом я полагался на рекомендации тех людей, которым доверяю в данном вопросе.

Исходя из всего вышеперечисленного, в качестве первых шагов для себя я опеределил следующие этапы:

  • Начать разбираться в базовом синтаксисе Java, как того языка, который я буду использовать в дальнейшем.
  • Установить Android Studio и начать создание первых проектов в данной среде
  • Начать разбираться с компонентами приложений

android-studio-header

В качестве среды разработки была выбрана именно Android Studio потому что она очевидна и даже дефолтна для Android-разработки. В будущем я планирую попробовать и другие среды, сравнивать их между собой, чтобы те, кто будут идти по моему пути после меня могли сразу сделать правильные выводы.

В качестве первого источника я использовал следующий сайт от разработчика Александа Климова по совету моего твиттер-товарища Недуева Тараса. И хоть внешне назвать сайт чем-то сверх крутым нельзя, но информация там доносится в весьма доступном и понятном виде.

Собственно, пока что я установил Android Studio и смог разобраться с написанием первого приложения по типу Hello World. Сделать это было не очень сложно, но, как мне кажется, главное, что я вынес для себя, это то, что недостаточно просто быстро пробежаться по основным пунктам. Очень важно пытаться понять, что вы делаете, зачем и как отдельные элементы можно будет использовать в будущем.

Hello-World

Пройтись по основным шагам — совсем не фокус, особенно с учетом того, что Hello World то и писать не надо (все уже написано). А вот понимать что сделано и зачем — это гораздо более важно.

Не вижу смысла переписывать последовательность шагов, так что если вы хотите повторить мой путь, то пройдите первый и второй уроки на вышеупомянутом сайте.

Кроме того, что я буду разбираться со средой разработки, мне посоветовали очень полезный сайт с набором задачек на алгоритмы. На них я планирую оттачивать использование синтаксиса Java, а заодно учиться строить правильные и эффективные алгоритмы. Вряд ли можно придумать что-то более полезное для моих целей, не так ли?

Вывод

В общем, пока я продвинулся не так и далеко, но это вовсе не значит, что процесс неэффективен. Как раз сдерживание себя от того, чтобы тупо монотонно воспроизводить шаги в обучалках, и есть главный навык, который я для себя вынес за первую неделю проекта. В таком деле главное не торопиться и четко осознавать то, для чего делается каждый из шагов. Иначе можно очень быстро стартовать, но затем не иметь возможности продолжать движение.

Следить за проектом вы можете здесь, на кеддре, где еженедельно будут выходить отчеты. Но если вы хотите больше подробностей, то подписывайтесь на мой твиттер, где я буду рассказывать о проекте с хэштегом #codder.

Продолжения проекта ждите через неделю.

Please wait...
Теги: , , , , , , , , , , , ,
0
9 Комментарий
Сначала Новые
Сначала Старые Популярные
guest

Межтекстовые Отзывы
Посмотреть все комментарии
artem_bondar_
artem_bondar_
9 лет назад

Для изучения основ Java рекомендую javarush. Много практических задач. Помогает закрепить теорию.

Please wait...
Евгений
Евгений
9 лет назад

startandroid.ru неплохой сайт для начинающий.

Please wait...
800147
800147
9 лет назад

Занятно. Получается эдакий дневник начинающего программиста. Сам я тоже на этом пути, поэтому интересно будет узнать, как это бывает у других. Сам я, кстати, налегал в основном на практику. Научившись малейшим функциям, уже ставил себе интересные задачи, которые уже был в состоянии решать. А когда упирался в недостаток знаний, учил дальше. Самым сильным прорывом был переход к ООП. В институте меня, конечно, всему этому учили, но пока я сам не создал проект, который был уже не в состоянии расти на быдлокоде, я не понимал, зачем это всё нужно, и зачем писать всё в десяти классах, когда оно влезает в один. Ваш подход, как я вижу, другой. Будет интересно последить за прогрессом :)

Please wait...
Недуев Тарас
Недуев Тарас
9 лет назад
Ответ  800147

800147, Я так же начинал учить с упором в практику, очень действенный подход. Но он будет эффективным если за плечами есть достаточный опыт в других высокоуровневых языках, алгоритмизации, ООП. Лучше изначально знать как происходит разработка и в тупик приходить только в особенностях конкретной платформы. К слову, с такими тупиками всегда выручает stackoverflow )

Please wait...
800147
800147
9 лет назад

Недуев Тарас, если честно, не очень представляю, как можно получить опыт в ООП не наступив при этом на десяток грабель. Что такое классы, методы и свойства можно, конечно, заранее выучить, но каким боком запаковать в это всё свой проект — ко мне это пришло только после множества ошибок. Хотя, возможно, это просто я такой медленный :)

Please wait...
Недуев Тарас
Недуев Тарас
9 лет назад
Ответ  800147

800147, Нет, конечно же нужно работать с этим чтоб набить шишек и понять как правильно все работает. Но я когда переходил к андроиду, у меня уже был опыт работы с ООП на других языках, потому траблой было только освоения синтаксиса сдк.

Please wait...
800147
800147
9 лет назад

Недуев Тарас, тут всё ясно, но в прошлой статье говорилось, что опыт программирования можно считать нулевым, поэтому изначально знать, как происходит разработка — немного не вариант. ООП и остальным плюшкам можно обучиться прямо на Яве, благо язык вполне себе хороший.

Please wait...
aston
aston
9 лет назад

хотелось бы читать больше о практическом опыте нежели теории.
Касательно Android Studio – стоило упомянуть версию, платформу и проблемы которые у вас возникли/не возникли при установке. Также стоит добавить вводный материал как код преобразуеться в программу и работает в среде андроид.
Также думаю не все знают как завязаны между собой андроид и джава

Please wait...
vladimir_a_nosenko
vladimir_a_nosenko
9 лет назад

Спасибо за проект, будем внимательно следить. Не хватает как раз живого опыта да более современного набора инструментов во всех тех обучающих курсах что успел охватить, надеюсь это все найду у вас тут.

Please wait...
Наверх