- PVSM.RU - https://www.pvsm.ru -

Мой друг однажды мне сказал: «Я хочу научиться программировать. С чего мне начать?»
Это как работа плотника. Вы можете посадить собственное дереве, вырастить его, затем срубить, обработать, распилить на заготовки, отшкурить, полачить и в итоге получить шкаф. А можете пойти в Ikea. В большинстве случаев вы попытаетесь сделать что-то среднее.
Изменить тему для WordPress — это как сходить в Ikea. Написать свой собственный фреймворк — сродни выращиванию собственного дерева, в первую очередь по той причине, что вам не нравятся все существующие деревья. Вы должны решить, где именно ваше место в жизни. Либо вы станете обычным плотником из Woodright's Shop [1], либо мастером краснодеревщиком, способным создать произведение искусства.
Отлично. Я всегда счастлив, когда люди хотят научиться программировать. Обсуждение в Facebook выдало следующие популярные предположения:
После чего появляются более интересные вопросы, ведущие к корню проблемы.
[10]
Все эти слова могут значить для вас одно и то же. Вы также могли слышать слова гик, ботан, компьютерщик, но мы все знаем огромную разницу между этими понятиями [11]. Понимание разницы также может подсказать вам, как далеко вы хотите зайти в изучении программирования.
Если вы уже близки к одному из данных критериев, вы можете подумать, в какую сторону двигаться дальше.
Каждый в обсуждении подразумевал какой-либо вид веб программирования, что, в принципе, для 2013 года почти неудивительно, поскольку уже почти все сейчас завязаны на веб. Однако, всего несколько лет назад мы могли сесть с моим другом и вместе сделать консольный Hello World, либо накидать несколько формочек и контролов в Visual Basic и отвизуализировать Hello World.
Является ли разметка кодом? Многие говорят «учи HTML и CSS», но я не считаю, что это программирование в классическом понимании. Это неплохой старт на пути к JavaScript и веб сервисам. В действительности, хотя и не каждое приложение показывает HTML и работает в браузере, но большинство программ соединены с вебом так или иначе. Приложения потребляют данные от сервисов, посылают уведомления, твиты, почту. Почти каждое приложение является в той или иной степени распределенным, даже если это простая программа, которая обращается к серверу за данными.
Если вы хотите стать программистом в наше время, или, если пойти дальше и перефразировать, если вы хотите стать эффективным программистом, вы должны понимать, что на самом деле происходит когда вы набираете twitter.com в адресной строке браузера, так же, как вы должны понимать, как растет дерево, если хотите стать плотником, как работает двигатель, если мечтаете быть гонщиком или откуда течет вода, если решили стать водопроводчиком. Черт, да вы на самом деле должны понимать все эти вещи, если хотите стать эффективным человеком. ;)
В чем скрытый смысл этого вопроса? Вы хотите делать веб сайты? Или рисовать для них дизайн? Хотите ли вы создавать мобильные приложения для повседневного использования? Может вы хотите создать устройство, которое будет отсылать вам сообщение, если гаражные ворота остаются открытыми дольше обычного? Все это очень разные сферы и есть много отличных путей начать изучать программирование, если мы немножко копнем.
Вы можете запросто ворваться в веб, изучить JavaScript, начать делать веб приложения, и вы должны. Но как и во всем, если у вас есть более глубокий интерес, то перед вами существует несколько путей, которыми пойти дальше. Подумайте немного над доступными возможностями и, возможно, вы попробуете несколько иной путь.
P.S. От переводчика. В статье я слова «программист», «программировать» вместо оригинального «code», «coder» для обозначения общего понятия нашей профессии, поскольку именно это слово чаще всего употребляется в широких кругах.
Ну и напоследок хочется спросить у аудитории — кем вы считаете себя?
Автор: glamcoder
Источник [15]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/news/52115
Ссылки в тексте:
[1] Woodright's Shop: http://www.pbs.org/woodwrightsshop/home/
[2] Codecademy.com: http://www.codecademy.com/
[3] KhanAcademy.org/cs: https://www.khanacademy.org/cs
[4] Code.org: http://code.org/
[5] learncodethehardway.org: http://learncodethehardway.org/
[6] Udacity: https://www.udacity.com/course/cs101
[7] CodeSchool: https://www.codeschool.com/
[8] Harvard's CS50x at edX: https://www.edx.org/course/harvardx/harvardx-cs50x-introduction-computer-1022
[9] CoderByte: http://coderbyte.com/
[10] Image: http://habrastorage.org/storage3/68b/983/09d/68b98309dcb7613f8707eb724eed4234.png
[11] мы все знаем огромную разницу между этими понятиями: http://www.greatwhitesnark.com/2010/03/25/difference-between-nerd-dork-and-geek-explained-in-a-venn-diagram/
[12] Raspberry Pi: http://www.hanselman.com/blog/ManyRaspberryPiProjectsHowCanYouNotLoveATinyComputer.aspx
[13] Arduino: http://www.hanselman.com/blog/TheBestControllerForFPSASpaceTecSpaceOrb360ControllerWorkingWithWindows7UsingArduinoAndOrbShield.aspx
[14] «Coder to Developer»: http://www.amazon.com/gp/product/078214327X/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=078214327X&linkCode=as2&tag=diabeticbooks
[15] Источник: http://habrahabr.ru/post/208204/
Нажмите здесь для печати.