No Image

С чего начать изучать язык программирования

СОДЕРЖАНИЕ
372 просмотров
10 марта 2020

Главная проблема в самообучении — отсутствие системного подхода. Трудно понять, что учить в первую очередь, а что во вторую, и в каком порядке.

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

Талант программиста можно заметить в человеке, который не написал ни строчки кода. Это человек, который любит головоломки. И первая головоломка — как правильно изучать программирование самостоятельно.

Пишет про разработку в Skillbox. Работал главным редактором сайта «Хабрахабр», ведет корпоративные блоги.

Самообучение

Путь самоучки — это «метод тыка», общение на форумах, поиск единомышленников, хождение по конференциям и тусовкам-митапам. Это такой путь самурая. Путь подходит не каждому. Поэтому для широких масс выпустили кучу самоучителей — тысячи книг, похожих друг на друга как близнецы.

Самоучитель хорош тем, что быстро погружает в тему. Вы начнете кодить практически в тот день, когда открыли книжку. Но, как говорит преподаватель Джеймс Коппел из Массачусетского технологического института, есть одна проблема: эти книги ничему не учат. Главное там — длинные листинги кода, которые читатель должен воспроизвести.

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

Метод Франклинa

Чтобы извлечь какую-то пользу из самоучителей или лекций, некоторые специалисты рекомендуют выполнять практические задания особым методом. Его можно назвать методом Франклина.

Этот метод очень прост на практике.

  1. Читать книгу как обычно. Когда попадётся образец кода, прочитать его.
  2. Закрыть книгу.
  3. Попробовать набрать код.
  4. Повторить пункты 1−3.

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

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

Лекции и литература

Освоив метод Франклина, ищите информацию, которая бесплатно доступна в интернете в огромном количестве, особенно на английском языке. Вкратце план действий такой:

  1. Выучить английский язык (хотя можно найти немало курсов и на русском языке).
  2. Выбрать программу обучения. Определиться, какое направление программирования наиболее интересно.
  3. Найти учебные материалы по этому предмету.

Образовательные ресурсы с курсами и лекциями

  • MIT OpenCourseWare: обучающие курсы, видеозаписи лекций и семинаров Массачусетского технологического института.
  • KhanAcademy: бесплатные лекции, в том числе по математике и информатике.
  • Coursera: курсы от ведущих западных университетов.
  • Статьи по программированию от Skillbox.

Учебная литература

  • Список бесплатных книг по программированию (англ. яз.).
  • Сборник учебной литературы для программиста.
  • Бесплатные книги по программированию на русском и английском.
  • Подборка бесплатных книг.

Самоучители для начинающих

  • Занимательное программирование. Самоучитель. М. Мозговой.
  • C# для школьников. Учебное пособие. М. Драйер.
  • Программирование на Java для детей, родителей, дедушек и бабушек. Я. Файн.

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

Программа обучения. Системный подход

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

Программа обучения «Профессия веб-разработчик» рассчитана на один год и включает в себя три модуля:

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

JavaScript с нуля

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

Базовые навыки PHP

Курс, на котором вы познакомитесь с базовыми понятиями программирования и поймёте главные принципы. Научитесь писать чистый, структурированный, а самое главное — работающий код. Уже после первого курса сделаете свой первый сайт на PHP.

Система платная, но зато она повышает шансы на успешный результат. А результат — это престижная, востребованная и высокооплачиваемая профессия с интересными проектами и перспективами развития.

Заключение

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

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

Как я пришел к программированию.

Когда на дворе стоял воспетый многими «классиками» тот самый две тысячи седьмой я учился в школе, готовился к ЕГЭ и завидовал друзьям. У друзей были компьютеры, они играли, как сейчас вспомню в ГТА, обменивались дисками. А я пас коров. Именно так. Пас коров весной, летом и осенью в деревне, проебывая школу, местами. Таскал с собой каждый раз новую палку и вытачивал на ней ножиком всякие разные вещи. Ложки, голову змеи, льва. В общем ерундой страдал, но за это мне хотя-бы платили. 600 рублей за один день. Дома пьяный батя, а я пасу коров на природе. Собака у меня умная тогда была, можно было хоть весь день под деревом спать, она сама присматривала за стадом. Не напряжно, короче. Ну так вот, к началу ноября накопил я на первый свой Pentium — 4. Радости было… словами не передать. Батя правда ворчал, что я деньги просаживаю, но я его в известное место послал, мотивируя экзаменами, учебой и прочими там надуманными вещами.

Читайте также:  Шаблон календаря на месяц для планирования

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

Пришлось наверстывать. Я принялся изучать полученный компьютер с утроенной силой. И как-то так получилось, что спустя полгода знал о нем больше, чем все мои более «успешные» друзья. Потом появился интернет, правда еще только школьный. Первое время там я качал исключительно книги, записывал на диски и нес домой. Художественную литературу, по математике, по физике, научно-популярную литературу. Многое, к чести сказать, до сих пор не прочитано. Но больше всего меня интересовало программирование.

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

Обратите внимание на год.

Я писал на нем свои первые программы. Вот, как пример:

Разумеется длилось это не долго — я набрел на Delphi. Правда он мне не понравился, как в плане интерфейса, так и в плане подхода к коду. Паскаль меня начал бесить своими длинными именами функций, извечными begin-end и совершенно поехавшим разделом VAR(а там еще type и чего только нет, я уже позабыл все). Когда инициализация переменных находится в одном строго определенном месте это хорошо. Если у вас маленькая программа. Как только ты пытаешься написать на паскале даже гребаный калькулятор глаза начинают болеть от необходимости быть предельно внимательным к этим переменным и постоянно скроллить экран.

В итоге я плюнул на паскаль и на делфи пусть горят синим пламенем. Сейчас я изредка заглядываю в Lazarus и провожу для любопытства там небольшие эксперименты, после чего сворачиваю. Паскаль это не мое. Зато я нашел C++ В те годы этот язык казался мне вершиной, совершенством, да и, что греха таить, даже сегодня я считаю его вершиной всех языков программирования. Его можно изучать бесконечно. Функционал с++ совершенно поразил меня. А когда я добрался до ООП то был просто шокирован. Одна только перегрузка операторов чего стоит!

Какой язык программирования изучать новичку?

Ответ на этот вопрос очень конкретен — си или си++. На это есть масса причин, одной из которых пожалуй будет то, что этот язык покажет вам, как надо правильно организовывать код. Этот язык научит вас так-же создавать свои мини — библиотеки из includ’ов. Я в свое время собрал наиболее полезные функции в такой маленький файл, который подключал к каждому своему проекту. Назывался он functions.h и был просто незаменим. С++ научит вас, например, перегрузке функций. Там есть функции-шаблоны. Чего только там нет. В сети новичкам часто советуют начинать со всякого шлака вроде php или python. Ни в коем случае не стоит этого делать. На это есть две причины.

1. Изучив с++ вы научитесь писать грамотный код не то что без ошибок, даже без warning’ов.

2. Изучив с++ вы с легкостью сможете програмировать как на пайтоне, так и на php так и на C#, на джаве, на чем угодно. Да, придется разбираться немного в механике каждого отдельного языка, но это займет у вас очень мало времени. Просто перелистав мануал вы сможете сразу начать програмирование.

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

Лучшая IDE для освоения С++

Это «dev c++» Любой пользователь очень быстро ее освоит.

Скачать можно тут — Dev C++

Интерфейс этой среды прост и удобен. В отличие от громоздкой Visual Studio тут дается полноценный язык, а не его адаптация под .net framework.

Чтобы запустить первую программу на с++ просто установите эту IDE и создайте «Исходный файл». Теперь можно писать код, к примеру такой:

Это обычная программа «hello world» реализованная мной по старой привычке в стиле чистого си(без плюсов).

Выбираем «Скомпилировать и выполнить»

Дальше, думаю, вы сможете разораться и сами.

К стати! В одно время мне попался на глаза просто замечательный сборник статей и готовых рецептов для C++ Вот он — C++ World

Читайте также:  Kettler skylon 2 отзывы

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

Разумеется изучать программирование на пустом месте нельзя. Нужна некая цель, цель для которой вы это делаете. Пусть такой целью для вас будет, например, написание вируса. Для начала этого хватит, поверьте в C++ достаточно возможностей для реализации самых извращенных замыслов. Обязательно поработайте с win32 api.

И помните: главное это интерес. Любопытство. Чем больше в вас этого любопытства, тем больше шансов освоить программирование.

Матаном тоже не пренебрегайте, он учит правильно думать.

К слову: код из ядра wordpress, побудивший меня написать эту статью находится в файле wp-db.php:1677 функция query.

Все по тз =)

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

Начать свой путь к карьере программиста стоит с ответа на вопрос, нужно ли вам программирование вообще? Этот вопрос не относится к тем, кто учится или учился по специальности, близкой к программированию. Если вам в школе математика давалась лучше, чем гуманитарные науки, если вам нравится проводить много времени за компьютером, если вам хочется изучать что-то новое, тогда программирование вам подойдёт.

С чего начать

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

Если с вами ничего из вышеперечисленного не произошло, значит, у вас есть выбор из четырёх вариантов:

  • Самообразование. Этот вариант можно использовать как самостоятельно, так и в паре с другими методами. В интернете полно сайтов, книг и приложений, которые помогают изучать различные языки программирования и технологии. Но это самый тяжёлый путь для начинающих.
  • Университет. Если вы оканчиваете школу и хотите быть программистом, тогда идите в университет. Если не за знаниями, тогда за корочкой. Она может послужить бонусом при устройстве на работу. Хотя и какие-то знания вы тоже получите. Но не забывайте заниматься и самообучением. К выбору вуза стоит подойти очень ответственно. Внимательно изучите программы обучения и выбирайте лучшие технические вузы.
  • Ментор. Будет очень неплохо, если вы найдёте человека, который согласится помочь вам и направит вас в правильную сторону. Он подскажет подходящие книги и ресурсы, проверит ваш код, даст полезные советы. Кстати, мы уже писали о полезном ресурсе, где вы сможете найти ментора. Наставника можно искать среди знакомых программистов, на IT-тусовках и конференциях, на онлайн-форумах и так далее.
  • Специализированные практические курсы. Попробуйте поискать в своём городе курсы, где вас обучат какому-нибудь языку программирования или технологии. Я был приятно удивлён количеством таких курсов в Киеве, в том числе бесплатных и с последующим трудоустройством.

Какой язык, технологию и направление выбрать

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

  • Наличие на рынке вакансий. Конечная цель этого пути — найти работу программистом. А это будет трудно сделать, если на рынке вакансий никто не будет искать разработчиков на вашем языке программирования. Проверьте сайты с вакансиями, посмотрите, кого больше ищут, выпишите десяток языков. И переходите к следующему критерию.
  • Низкий уровень вхождения. Если вам придётся потратить длительное время на изучение языка, это может отбить у вас охоту к программированию вообще. Почитайте о тех языках, которые вы выбрали выше. Просмотрите литературу, которую нужно будет прочитать, чтобы изучить эти языки. И выберите те, о которых пишут, что они лёгкие, или которые вам показались лёгкими. Такими языками могут оказаться PHP, Ruby, Python.
  • Кайф от процесса. Если вам не нравится писать код на выбранном языке, вы не будете получать удовольствия от этого процесса, от работы и от жизни. А оно вам надо? Делайте правильный выбор.

Также вам придётся определиться с направлением программирования. Мобильное, десктопное, игры, веб, низкоуровневое программирование и так далее. Самые популярные и относительно лёгкие отрасли — разработка под веб, мобильные и десктопные клиенты. Под каждое направление может подходить один язык и совсем не подходить другой. То есть при выборе языка программирования также стоит отталкиваться и от этого фактора.

В любом случае изучите веб-технологии. Это язык разметки HTML, стили CSS и JavaScript, который позволит сделать вашу страницу динамической. На следующем этапе изучите серверный язык (Python, PHP, Ruby и другие) и подходящие для него веб-фреймворки. Изучите базы данных: практически в каждой вакансии программиста это упоминается.

Как получить начальный опыт

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

Читайте также:  Чем открывать psd файлы

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

Во-вторых, вам нужно найти свои первые проекты. Это, наверное, самый сложный вариант, но рабочий. Вам придётся самому искать заказы, выполнять их, заморачиваться с оплатой. Для новичка это архисложно, но зато затем все остальные варианты покажутся плёвым делом. Выполненные проекты можно будет записать в опыт и показать вашему будущему работодателю. Реальные проекты являются большим плюсом в вашем резюме.

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

Ещё одним неплохим вариантом для получения реального опыта является open source. Таким проектам всегда нужны новые люди, пусть даже и новички. Вы можете поискать в проекте баги или посмотреть в баг-трекере и предложить методы их решения. Найти такие проекты легко на GitHub или других сервисах для хостинга кода. Не стесняйтесь задавать там вопросы.

Четвёртый вариант получения опыта — помощь знакомым программистам. Попросите их передать вам маленькие и несложные задания. Если что-то не будет получаться, у вас всегда будет к кому обратиться. И при этом вы будете участвовать в реальном проекте.

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

Почему стоит выбрать Python

Давайте немного подробнее поговорим о выборе первого языка программирования. Первый язык должен быть простым и популярным на рынке. Таким языком является Python. Я очень советую выбрать именно его в качестве первого языка программирования.

Код программы на Python читабелен. Вам даже не нужно быть программистом, чтобы в общих чертах понять, что происходит в программе. Из-за несложного синтаксиса Python вам понадобится меньше времени для написания программы, чем, например, на Java. Огромная база библиотек, которая сэкономит вам кучу сил, нервов и времени. Python является высокоуровневым языком. А значит, вам не нужно особо думать о ячейках памяти и о том, что там разместить. Python — язык широкого назначения. И он такой простой, что даже дети могут его выучить.

Справедливости ради стоит упомянуть и о других языках программирования. Java может стать неплохим выбором для новичка. Этот язык популярнее, чем Python, но и немного сложнее. Зато инструменты для разработки гораздо лучше проработаны. Стоит только сравнить Eclipse и IDLE. После Java вам будет проще перейти к работе с низкоуровневыми языками программирования.

PHP — ещё один очень популярный язык. И, мне кажется, он даже проще, чем Python. Очень легко найти себе ментора или решение какой-нибудь проблемы на форуме. Всё потому, что в мире существует огромное количество PHP-программистов разного уровня. В PHP нет нормального импорта, есть множество вариантов решения одной и той же задачи. А это усложняет обучение. И PHP заточен исключительно под веб.

Языки C и C# очень сложны для новичка. Ruby — хороший выбор в качестве второго языка, но не первого. JavaScript — очень простой язык, но ничему хорошему он вас не научит. А задача первого языка программирования всё-таки научить вас чему-то правильному, задать какую-то логику.

Важен ли английский язык

Важен! Не знаете? Учите. Знаете? Совершенствуйте. Учитесь читать, писать, слушать и говорить на английском. Делайте упор на техническую литературу. Слушайте англоязычные подкасты. Читайте англоязычные учебники по программированию.

Что нужно знать, кроме языка программирования

Конечно же, кроме языка программирования и английского, нужно знать что-то ещё. А вот что — зависит от направления, которое вы выберете. Веб-программист обязан знать HTML, CSS, JavaScript. Десктоп-программист учит API операционной системы и различные фреймворки. Разработчик мобильных приложений учит фреймворки Android, iOS или Windows Phone.

Всем нужно выучить алгоритмы. Попробуйте пройти курс на Coursera или найти подходящую для себя книгу по алгоритмам. Кроме этого, нужно знать одну из баз данных, паттерны программирования, структуры данных. Стоит также познакомиться с репозиториями кода. Хотя бы с одним. Обязательно знание систем версионного контроля. Выбирайте Git, он самый популярный. Вам нужно знать инструменты, с которыми вы работаете, операционную систему и среду разработки. И главный навык программиста — уметь гуглить. Без этого вы не проживёте.

Последние шаги

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

Комментировать
372 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
Adblock
detector