Загрузить PDF Загрузить PDF

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

Часть 1
Часть 1 из 6:

Выбираем язык программирования

Загрузить PDF
  1. Конечно, вы можете начать учить любой язык программирования (далее ЯП). Правда, некоторые ЯП существенно легче в освоении других… Как бы то ни было, вам нужно определиться с тем, ради чего вы будете учить язык программирования. Это позволит вам определиться с тем, что именно вам надо учить, да и просто станет хорошей отправной точкой.
    • Веб-разработка греет вам душу? Список ЯП, которые вам пригодятся, существенно отличается от списка ЯП, необходимых для написания компьютерных программ. Мобильная разработка — мечта вашего детства? Это уже третий список. То, что вы будете учить, зависит от того, чем вы хотите заниматься.
  2. Что бы вы там для себя ни решили, а начинать стоит с относительно простых языков высокого уровня. Такие языки особенно хороши для начинающих, так как они позволяют овладеть базовыми принципами и понять общую логику программирования. [1]
    • Чаще всего в этом контексте вспоминают про Python и Ruby. Это два объектно-ориентированных ЯП с вполне понятным синтаксисом, используемых преимущественно для создания веб-приложений.
    • «Объектно-ориентированный ЯП» опирается на представление всего в виде «объектов», соединяющих внутри себя данные и методы их обработки, и последующую манипуляцию объектами. Такими ЯП являются, в частности, C++, Java, Objective-C и PHP.
  3. Если вы до сих пор не определились с тем, что учить, почитайте обучающие пособия к нескольким ЯП. Если что-то вас зацепит — попробуйте разобраться в том ЯП чуть лучше. Задача эта простая, так как различного рода обучающих материалов вводного уровня по ЯП в сети можно найти более чем достаточно:
    • Python — замечательный язык для начинающих, который, впрочем, обладает достаточно мощным потенциалом, если научиться им пользоваться. Сфера использования — веб-приложения и игры.
    • Java — используется… ох, проще сказать, где этот ЯП не используется! Почти что все, от игр и до софта для банкоматов — Java.
    • HTML — не ЯП, а язык разметки, но для любого веб-разработчика просто необходим.
    • C — один из самых старых ЯП, не утративший актуальность и по сей день. C — не только мощный инструмент сам по себе, но еще и основа для более современных ЯП: C++, C# и Objective-C.
    Реклама
Часть 2
Часть 2 из 6:

Начинаем с малого

Загрузить PDF
  1. Тут, конечно, все зависит от выбранного вами языка, однако есть у ЯП и общие моменты, исключительно для написания полезных программ важные. Чем раньше вы овладеете всеми этими понятиями и научитесь применять их на практике, тем лучше для вас и ваших навыков программиста. Итак, вот лишь некоторые из вышеупомянутых «моментов»:
    • Переменные — в переменной можно хранить и вызывать меняющиеся данные. Переменными можно управлять, у переменных есть типы (очень упрощенно говоря — числа, символы и так далее), которыми и определяется тип хранящихся в переменной данных. Наименования переменных принято задавать такими, чтобы человек, читающий исходный код, мог получить представление о том, что в переменной хранится — так будет проще понять логику работы программы.
    • Условные конструкции (они же — условные выражения) — это действие, которые выполняется в том случае, если выражение или конструкция истинно или ложно. Наиболее распространенной формой таких выражений можно назвать конструкцию «If-Then» (если-то). Если выражение истинно (например, если x = 5), то произойдет действие №1, а если ложно (x != 5), то действие №2.
    • Функции — в разных языках программирования их называют по-разному: где-то это процедуры, где-то — методы, где-то — вызываемые единицы. По сути же, функции представляют собой мини-программы, входящие в состав большой программы. Функцию можно вызывать несколько раз, что позволяет программисту создавать сложные программы.
    • Ввод данных — достаточно широко трактуемое понятие, присутствующее в почти что каждом ЯП. Суть его — обработка данных, введенных пользователем, и их хранение. То, как будут собраны данные, зависит от программы и доступных пользователю способов ввода данных (с клавиатуры, из файла и так далее). Понятие ввода данных тесно связано с понятием вывода данных — то есть того, каким образом данные будут возвращены пользователю (выведены на экран, записаны в файл и так далее).
  2. Многим ЯП нужны компиляторы — программы, переводящие программный код в понятные для компьютера инструкции. Впрочем, есть и ЯП другого типа (вроде Python), в которых программы выполняются сразу, а компиляция их не требуется.
    • У некоторых ЯП есть так называемые IDE (Integrated Development Environment, интегрированная среда разработки), в которые входят редактор кода, компилятор/интерпретатор и отладчик (дебаггер). Это дает программисту возможность работать над программой, образно выражаясь, по принципу одного окна. Также в IDE могут входить визуальные представления иерархий объектов и директорий.
    • Есть и онлайн-редакторы кода. Эти программы подсвечивают синтаксис программного кода несколько иначе, а также предлагают разработчику доступ к ряду полезных и простых инструментов.
    Реклама
Часть 3
Часть 3 из 6:

Пишем свою первую программу

Загрузить PDF
  1. Первой программой, которую пишут на любом ЯП, является классическая «Hello World». Она очень проста, вся ее суть — вывести на экран текст «Hello, World» (или его вариацию). Из этой программы люди, изучающие ЯП, должны усвоить синтаксис простейшей рабочей программы, а также способ вывода данных на экран. Меняя текст, можно заметить, как обрабатываются программой простые данные. Вот пару статей о том, как создать программу «Hello World» на разных языках:
  2. В сети для любого ЯП можно найти сотни, тысячи примеров программ, программок и просто кусков кода. Изучайте различные аспекты выбранного вами ЯП на основе этих примеров. Создавая свои собственные программы, опирайтесь на такие вот фрагменты знаний.
  3. Что такое синтаксис в контексте ЯП? Способ написания программ особым образом, понятным для компиляторов. У каждого ЯП собственные правила синтаксиса, хотя, конечно, встречаются и общие элементы. Изучение синтаксиса языка — один из краеугольных камней изучения ЯП. Довольно часто люди даже думают, что именно изучение синтаксиса сделает их программистами. В реальности, конечно, все не так — синтаксис суть основа, фундамент.
  4. Каким именно образом? Вносите изменения в примеры программ и проверяйте получаемые результаты. Такой подход куда быстрее позволит вам понять, что дает результаты, а что — нет, чем если бы вы занимались по книге. Не бойтесь испортить или «сломать» программу, ибо исправление ошибок является одним из ключевых этапов в процессе разработки ПО. Да и потом, с первого раза написать работающую программу… ну, это почти что фантастика! [2]
  5. Программные ошибки (баги) — это то, с чем вы обязательно столкнетесь, занявшись программированием. Ошибки будут везде, готовьтесь. Они могут быть безвредными, относительно безвредными или, увы, критическими, не дающими программе скомпилироваться. Процесс отладки программы является одним из ключевых этапов разработки ПО, повторим. Приучитесь к исправлению ошибок как можно раньше.
    • Экспериментируя с программами, вы непременно что-нибудь сделаете не так, и это хорошо. Умение исправить программу — один из самых ценных навыков для программиста.
  6. Почти что все ЯП позволяют вносить в программный код комментарии — текст, не обрабатываемый компилятором. С помощью комментариев вы можете внести в программу простые и понятные описания того, что делает та или иная функция (и не только функция). Комментарии пригодятся не только вам самим (порой можно и в собственном коде запутаться), но и другим людям, совместно с которыми вы будете работать над программой.
    Реклама
Часть 4
Часть 4 из 6:

Программируем регулярно

Загрузить PDF
  1. На то, чтобы овладеть языком программирования, уйдет много времени. Очень много. Даже Python, относительно простой ЯП, чей синтаксис можно освоить за день-другой, требует от любого, кто вознамерится овладеть им в совершенстве, сотен и тысяч часов работы. Программирование — навык, а потому тому, кому хочется овладеть таким навыком в совершенстве, необходимо регулярно практиковаться. Старайтесь программировать каждый день, пусть даже по часу перед сном, если нет другой возможности.
  2. Устанавливая сложные, но все же достижимые цели , вы научитесь решать проблемы, находить решения, бороться со сложностями. Например, представьте себе простую программу — скажем, калькулятор, а потом подумайте, как вы ее напишете. Примените на практике все то, чему вы уже научились.
  3. Вокруг каждого ЯП собралось огромное сообщество. Если вы присоединитесь к соответствующему сообществу, то очень сильно себе поможете, так как получите доступ к более чем качественному обучающему материалу. Чтение чужого кода может вдохновить вас, может придать вам сил и помочь лучше понять те особенности программирования, на которых вы до этого буксовали. [3]
    • Форумы и онлайн-сообщества, посвященные программированию на выбранном вами ЯП — вот что следует искать в первую очередь. Не надо постоянно лишь задавать вопросы, участвуйте в жизни сообщества полноценно — это, как никак, места, где люди сотрудничают друг с другом, а не проводят бесплатные обучающие курсы. Иными словами, не стесняйтесь просить о помощи, но и не сидите сложа руки!
    • Наработав более-менее приличный опыт, принимайте участие в хакатонах или иных аналогичных мероприятиях — соревнования, где надо успеть написать особую программу в отведенное время. Такие мероприятия увлекательны и полезны.
  4. Делайте то, что еще не умеете делать. Изучайте способы решения проблем, а затем используйте их по-своему. Старайтесь не радоваться тому, что «программа работает и ладно» — делайте все возможное, чтобы программа работала безукоризненно!
    Реклама
Часть 5
Часть 5 из 6:

Расширяем кругозор

Загрузить PDF
  1. Университеты, колледжи и образовательные центры (и не только) проводят курсы и семинары по программированию, что может стать отличным вариантом для начинающих. Сами посудите, где еще новички смогут вживую пообщаться с матерыми специалистами?
  2. Как вы получите к книгам доступ — дело ваше, суть в том, что по любому ЯП можно найти сотни книг разной степени полезности. Конечно, ваши знания не должны быть сугубо книжными, это факт. Тем не менее и в книгах есть своя польза.
  3. Программирование во многом завязано на базовой арифметике, но и более сложные моменты могут пригодиться, особенно в тех случаях, когда человек занимается алгоритмами или пишет сложную программу. Впрочем, скорее всего, если только вы не будете зарываться в сложные области, сложная математика вам не понадобится, зато понадобится логика, в частности — компьютерная, так как с ее помощью вы сможете лучше понять, как надо решать задачи, возникающие по ходу работы над сложными программами.
  4. Есть популярная теория «10 тысяч часов», гласящая, что мастерство приходит спустя 10 000 часов, проведенных за тем или иным занятием. Точное количество часов как точка достижения мастерства — вопрос, конечно, спорный, но в целом теория верна — мастерство суть результат приложенного труда и затраченного времени. Не опускайте руки, и однажды вы станете экспертом. [4]
  5. Конечно, овладение даже одним ЯП будет вам только в плюс, однако многие программисты не останавливаются на достигнутом и учат несколько языков. Будет неплохо, если второй или третий ЯП, который вы выберете, будет дополнять первый — тогда можно будет создавать даже еще более сложные и интересные программы. Само собой, учить новое надо лишь тогда, когда старым вы уже овладели на приличном уровне.
    • Есть все шансы, что второй язык вы выучите быстрее первого, но это вполне понятно, так как многие концепты программирования распространены более чем широко, особенно у «родственных» языков.
    Реклама
Часть 6
Часть 6 из 6:

Применяем полученные навыки

Загрузить PDF
  1. Этот пункт обязательным не является, однако годы учебы могут открывать что-то новое (а могут и не открыть) и познакомить вас с нужными людьми (тоже не факт). Опять же, этот шаг не обязателен, есть много успешных программистов, которые диплома о высшем образовании не имеют.
  2. Создавая программы и развиваясь как специалист, обязательно откладывайте лучшие образцы ваших работ отдельно — в портфолио . Именно портфолио вы будете показывать рекрутерам и интервьюерам в качестве примеров того, на что вы способны. Те проекты, которые вы выполняли самостоятельно и по собственной инициативе, можно добавлять в портфолио без размышлений, а вот те, над которыми вы работали, будучи сотрудником той или иной компании, лишь с разрешения соответствующих лиц.
  3. Программисты (особенно те, которые специализируются на мобильных приложениях) сейчас нарасхват. Выполните пару-тройку проектов как фрилансер — это и для портфолио полезно, и для кошелька, и для опыта.
  4. Платным он будет или нет — решать вам. В конце концов, вовсе не обязательно работать на кого-то, чтобы заработать программированием деньги! Если вы умеете писать программы и продавать их, то дело почти что в шляпе! Главное — не забывать предоставлять пользователям поддержку после релиза программы.
    • Модель Freeware (бесплатное распространение) популярна в случае небольших программ и утилит. В таком случае разработчик ничего не зарабатывает в финансовом плане, зато получает репутацию и узнаваемое имя среди коллег по цеху.
    Реклама

Советы

  • Хотите создавать игры? Учите Python, C++ и Java. Из этой троицы C++ дает наилучшую производительность, Python самый простой, а Java запустится на всех ОС без особых проблем.
  • Узнайте больше о направлении Free software (бесплатное ПО). Изучайте исходный код программ, которые можно найти здесь . Зачем, сами подумайте, изобретать велосипед, когда можно взять готовый велосипед и просто его улучшить? Главное — понимать, что именно вы программируете.
  • Для многих людей примеры и задачи из учебника по программированию — это вообще ни о чем. Старайтесь искать и решать интересные для вас задачи.
  • Изучая что-то новое, полезно будет самостоятельно это реализовать, затем внести изменения, попытаться угадать результаты и, как следствие, приблизиться к понимаю сути.
  • Используйте современные интерфейсы и актуальные версии ЯП.
  • Дополнительные материалы — ваши друзья. Нет ничего плохо в том, что вы что-то забыли или не запомнили. Всему свое время, не переживайте. Главное — знать. Где подсмотреть!
  • Хорошей практикой будет обучение других — это позволит вам не только лучше понять материал, но и взглянуть на него со стороны.
Реклама

Об этой статье

Эту страницу просматривали 160 457 раз.

Была ли эта статья полезной?

Реклама