Содержание

С чего начать изучение программирования ради заработка — Разработка на vc.ru

Здравствуйте.

Вопрос может показаться избитым, но нигде не нашёл, чтобы он был раскрыт в полной мере.

С чего начать изучение программирования, если цель — сделать это своей основной деятельностью?

Все знают про книги, онлайн-курсы (Hexlet, Geekbrains и так далее) и прочие способы обучения. Но если первый подходит для начального уровня, то второй почему-то не вызывает доверия. Читал кучу материала а-ля «как за два месяца научиться кодить», но основная проблема в том, что все эти курсы заканчиваются написанием своего приложения непонятного качества, а дальше история глохнет.

Так что прошу помощи: может, кто-то расскажет о своём пути прихода в профессию (именно в профессию, а не «вечерком для себя код пишу»).

Мне 21 год, знание английского на уровне плинтуса, есть желание, мотивация, время (выходные и вечера) и деньги на достижение этой цели. Своим неопытным взглядом смотрю в сторону PHP и Java.

#вопросы

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать

vc.ru

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

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

Надеюсь, после прочтения этой статьи, вы найдете свой путь, ведь именно в этом мы с вами сейчас и разберемся!

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

Если ваша мечта – создать собственный сайт, то стоит ознакомиться с веб-программированием. А если вам не так нравится программирование, как, скажем, моделирование 3D-объектов, то уроки по этому направлению всегда к вашим услугам. В наше время в свободном доступе разгуливает миллионы терабайт полезной информации, уроков и даже целые курсы из различных университетов со всего мира. А ведь еще совсем недавно, чтобы быть на вершине эволюции, нам в обязательном порядке необходимо было учиться в высших учебных заведениях, где ценные знания только там и были. А теперь идем дальше…

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

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

Первым моим языком был сам «C++». До этого же я ничего не знал, и, поверьте моему опыту, со временем все стало на свои места. Позже я поступил в университет. Там мы учили все с самых основ, но смысла в этом я особо не видел.

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

Веб программирование

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


Чтобы стать веб-программистом, необходимо знать такие языки программирования и разметки, как HTML, CSS, JavaScript (а вместе с ним и библиотеки jQuery, AngularJS и многие другие). Кроме того, необходимо уметь писать функционал сайта, который можно написать на языке PHP. Необходимо также уметь работать с базами данных и языком SQL. Для связи сайт – база данных можете изучить MySQL. И последнее, что прибавит вам пару очков навыка, это Ajax. Он позволяет делать некоторые изменения на сайте, к примеру, отправлять данные в базу данных без перезагрузки самого сайта.

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

Самостоятельная разработка игр

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

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

К примеру, для разработки игры на Android вам потребуется знать язык Java и специальные библиотеки, служащие для создания игр на Android в Android Studio.

Для создания игр на ПК или консоль вам однозначно потребуется язык C++ и всевозможные библиотеки, которые и помогут вам создать игру. Для разработки на IOS потребуется язык Objective С или Swift, а также понадобится программа XCode.

Разработка игр при помощи движков

Если вы решили заняться разработкой игр при помощи движков, то вы на верном пути. Большинство игр в наше время создаются при помощи всевозможных игровых движков, из которых можно отметить таких гигантов как Unity, Cry Engine, Unreal Engine, Frostbite Engine, Dunia Engine, Source и так далее.


 Unity – игровой движок, позволяющий разрабатывать игры любой сложности, графики и логической составляющей под любую из популярных платформ. Чтобы владеть им, необходимо знать один из двух языков – C# или JavaScript. Рекомендуется разрабатывать на Unity именно мобильные игры, ибо иные приложения будут не столь мощными, как хотелось бы.

CryEngine, Unreal Engine, Frostbite Engine, Dunia Engine, Source – все эти и подобные им языки предназначены для построения мощных современных компьютерных и консольных игр. Для написания кода на них используется язык программирования C++. Если вы хотите создать игру похожую на CrySis 3, то именно подобные движки вам в этом и помогут.

Разработка приложений

Разработка приложений ведется в основном на языке C и ему подобных, то есть C++, C#, Java. Поэтому для написания приложений вам необходимо изучить C, а также более новый C-подобный язык, к примеру, C++.

Дизайнер

В дизайне необходимо уметь хорошо рисовать в Фотошопе и в программах 3D-моделирования, вроде Cinema 4D. Двух недель обучения вполне достаточно, остальное сделает опыт.


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

itproger.com

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

На сайте Business Insider можно посмотреть на список из 10 профессий, которые будут максимально востребованы в 2015 году. Неудивительно видеть, что для трёх из них нужны навыки программирования.

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

Однако, если вы действительно хотите освоить этот навык, у нас есть несколько советов, которые помогут вам начать.

Выясните, почему вы хотите программировать

Если вы насмотрелись красивых фотографий офисов Google или Uber и других стартапов и решили, что хотите работать там же, это неплохая мотивация. Но если это единственная причина, по которой вы хотите стать программистом, то, возможно, её не хватит для сотен часов, которые вы будете проводить, создавая всё новые строки кода.

Выберите специализацию

Вы хотите верстать сайты? Создавать игры для Android или iOS? Делать софт для профессионалов? Каждое из этих направлений кардинально отличается от остальных. Не забывайте, что если вы решили стать независимым программистом и создать новый Minecraft, то для этого вам понадобятся усилия других людей — дизайнеров и гейм-дизайнеров. Конечно, если вы не хотите делать сами абсолютно всё.

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

Идеального языка программирования нет. Каждый из них направлен на решение определённых задач. Хорошая новость в том, что, как только вы освоите один язык, выучить другие будет гораздо проще. К примеру, язык Swift позволяет писать приложения для iOS, а Java — для Android.

Попробуйте приложения для детей

Если вы делаете первые шаги в программировании, то давайте проследуем за этой метафорой и дальше. Почему бы не попробовать приложения для детей? К примеру, игра Code Combat, которая в виде RPG будет обучать вас JavaScript. Или Hopscotch — игра для iPad, рассказывающая об основах программирования.

Используйте бесплатные курсы

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

Сделайте обучение интересным

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

  1. HTML Academy — здесь собраны практические задания по изучению HTML и CSS.
  2. Hexlet — на этом сайте собраны десятки уроков и практических занятий по программированию.
  3. Codeacademy — интерактивные занятия, обучающие всем языкам программирования бесплатно.

Скачайте бесплатные книги

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

Найдите ментора

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

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

Пройдите офлайн-курс

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

Экспериментируйте

Когда вы выучите основы, сможете перейти к этому совету. Изучайте, как работает код других программистов, просмотрите его и задайте себе вопрос: «Могу ли я сделать его лучше?». Наверняка. Старайтесь упрощать и придумывать элегантные решения.

Какие советы можете дать программистам вы?

lifehacker.ru

Как начать программировать, с чего начать

Предисловие

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

Ставим цель

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

Выбираем язык

Если у вас есть конкретное представление, чем бы вы хотели заниматься в программировании, то это значительно упрощает выбор языка. Каждый язык имеет свою специализацию и направленность. Конкретную информацию об этом можно легко найти на просторах интернета. Если у вас такого представления нет, присмотритесь к двум аспектам: востребованность технологии на рынке и сложность изучения. Лично я в своё время остановился на Java. Причина такого выбора проста: этот язык очень популярен и востребован на рынке. Кроме того, его несложно изучать. Плюс я хотел быть поближе к веб-технологиям. Оценить популярность Java и ее лидирующую позицию на протяжении длительного времени можно, например, глядя, на индекс популярности языков программирования от компании TIOBE Software, которая занимается постоянным мониторингом поисковых запросов на тему программирования.

Пишем план подготовки

Именно с плана я бы советовал начинать путь программиста. Разбейте свое обучение на этапы и отведите на каждый этап определенное время. Чтобы лучше понять, как программировать, а точнее, что происходит по сути, когда процессор выполняет ваш первый «Hello, Word!» вам потребуются общие знания архитектуры компьютера. Если у вас в этой области пробелы, желательно их устранить. Так что рекомендую включить архитектуру ПК в ваш учебный план. Изучение выбранного языка разбивайте на этапы по мере увеличения сложности материала. Примерное представление о требуемых знаниях можно узнать, изучив вопросы к собеседованию или требования к соискателям на должности в IT-компаниях. Как научиться программировать, если раньше этим не занимались? Ответ прост: чтобы выучить иностранный язык, сначала изучают простые слова, потом правила, позволяющие их связывать, далее вы учитесь понимать и разговаривать. Чтобы выучить Java, попробуйте следовать такому же алгоритму.

Как выучить Java?

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

И, тем не менее, помните: ваш план — это не статичная конструкция, которую ни в коем случае нельзя модифицировать. Приметили интересную и перспективную технологию или инструмент разработки — смело включайте в свой план!

Как научиться программировать на Java?

Чтобы начать программировать на Java, изучите такие базовые разделы как ООП, исключения, многопоточность, коллекции. Все это входит в Java SE, стандартный набор инструментов разработчика, и обязательно должно присутствовать в вашем плане обучения. После освоения Java SE можете переходить к Java EE, к технологиям клиент-серверного программирования, базам данных, технологиям веб-программирования. Здесь вы столкнетесь просто с колоссальным объемом всевозможных фреймворков и инструментов.

Не обязательно все учить сразу, но основные к моменту трудоустройства желательно освоить. Я бы к основным отнес следующие: Git, Maven, Spring, ORM (Hibernate, JPA), REST, SQL, JUnit, Tomcat, JavaScript, JSP/JSTL, HTML/CSS, XML, знание какой-нибудь БД (MySql, PostgreSql). Мой план выглядел примерно так: Январь
  • Пройти первые 10 уровней JavaRush
  • Инструменты разработки IDE, Eclipse, NetBeans
  • JRE, JDK, JVM, компиляция, выполнение программы
  • Синтаксис Java
  • «Философия Java», Брюс Эккель, главы 1- 5
  • Яков Файн «Введение в программирование на языке Java» урок 1
Февраль
  • Пройти 11-13 уровень JavaRush
  • ООП
  • «Философия Java», Брюс Эккель, главы 6-10
  • Яков Файн «Введение в программирование на языке Java» уроки 2, 4
Март
  • Пройти 14-17 уровень JavaRush
  • Основы многопоточности
  • Алгоритмы на Java, Роберт Седжвик, Кевин Уэйн, главы 1-3
  • «Философия Java», Брюс Эккель, глава 21
  • Яков Файн «Введение в программирование на языке Java» урок 11
Апрель
  • Пройти 18-20 уровень JavaRush
  • Основы XML
  • Input/Output
  • «Философия Java», Брюс Эккель, глава 18
  • Яков Файн «Введение в программирование на языке Java» урок 9
Май
  • Пройти 21-23 уровень JavaRush
  • Строки
  • Регулярные выражения
  • Основы HTML
  • «Философия Java», Брюс Эккель, главы 13-16
  • Яков Файн «Введение в программирование на языке Java» урок 3
Июнь
  • Пройти 24-26 уровень JavaRush
  • Многопоточность
  • Исключения
  • Внутренние классы
  • «Философия Java», Брюс Эккель, главы 10, 12
  • Яков Файн «Введение в программирование на языке Java» урок 6-7
Июль
  • Пройти 27-28 уровень JavaRush
  • java.util.concurrent
  • Основы SQL и БД
  • JDBC
  • Аннотации
  • Рефлексия
  • «Философия Java», Брюс Эккель, глава 20
  • Яков Файн «Введение в программирование на языке Java» уроки 12,13
Август
  • Пройти 28-30 уровень JavaRush
  • Swing
  • Сериализация
  • Парсинг XML
  • Сервлеты
  • JSP/JSTL
  • «Философия Java», Брюс Эккель, глава 22
  • Яков Файн «Введение в программирование на языке Java» уроки 14- 15
Сентябрь
  • Пройти 31-33 уровень JavaRush
  • JSON
  • URL. Работа с сетью
  • Основы CSS
  • Яков Файн «Введение в программирование на языке Java» урок 10
Октябрь
  • Пройти 34-36 уровень JavaRush
  • Логгирование
  • JUnit
  • Git
  • Maven
  • List
  • Queue
  • Работа с коллекциями
Ноябрь
  • Пройти 37-38 уровень JavaRush
  • Map
  • Паттерны проектирования
  • «Философия Java», Брюс Эккель, глава 11
  • Яков Файн «Введение в программирование на языке Java» урок 8
Декабрь
  • Пройти 39-40 уровень JavaRush
  • Rest
  • Tomcat
  • Сборка и развертывание приложений
  • Яков Файн «Введение в программирование на языке Java» урок 16-18

Методология

Для начала необходимо установить требуемые инструменты для написания программы. Если вы хотите понять, как научиться программировать на Java, я советовал бы разобраться с такими понятиями как JRE, JDK, JVM. Что такое IDE, как работает программа, что такое компиляция, как происходит выполнение программы. Чтобы понять, как программировать на Java, обязательно необходимо разобраться с базовыми принципами ООП. Программирование — это набор практических навыков владения языком, который вы расширяете в процессе обучения. Чем больше вы будете практиковаться, тем быстрее овладеете языком. Поэтому кроме изучения теории ежедневно уделяйте время практике. Чем больше — тем лучше. Если практических навыков пока не хватает, разбирайте чужой код, повторяйте примеры из книг и статей в интернете. Хороший путь понять, как научиться программировать — использование дебаггера для анализа чужого кода. Если не удалось освоить материал сразу — не останавливайтесь, возьмите другую тему или повторите пройденную. К трудной теме можно вернуться позже: взгляд по другим углом зрения или другого источника информации иногда помогает в освоении нового материала. Трудный для понимания материал можно законспектировать, а лучше — разобрать на примерах. При этом рекомендую использовать комментарии в коде для пометок ключевых моментов. Хороший стиль программирования, примеры правильного кода, а также ответы как программировать на Java вы сможете найти в разделе The Java Tutorials на сайте Oracle. Если понимание как программировать так и не пришло, можно обратиться к опытным коллегам или людям, прошедшим уже этот путь. Для этого неплохо найти себе подходящее сообщество для общения. Там вам всегда смогут дать ответ как научиться программировать с нуля.

Выбираем источники информации

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

Используем онлайн-курсы

Если нет возможности оторваться от работы, онлайн-курсы – один из лучших вариантов обучения. Это не волшебная пилюля, но они очень сильно помогают влиться в изучение, особенно если обучение проходит с азов. Лично я, как видно из моего плана, начинал с JavaRush. Мне понравился формат обучения, поэтому я прошел весь курс, включая стажировку.

Проходим практику

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

Резюме

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

javarush.ru

Программирование для начинающих – куда сделать первый шаг

8.3K

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

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

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

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

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

Одной из таких технологий является ASP.Net. Она построена на основе устаревшей платформы Asp с использованием одного из языков .Net. Чаще всего применяются C# и Visual Basic. ASP.Net является серверной технологией, применяется для построения сайтов и веб-сервисов:


Но эта связка не является основной, используемой для построения современного виртуального пространства. Чаще всего для создания веб-ресурсов применяют язык программирования PHP и MySQL. Конечно, все эти составляющие «густо приправлены» CSS и HTML кодом.

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

В самом начале зарождения современного виртуального пространства использовался лишь один язык гипертекста (HTML). Именно он является тем, с чего начинается веб программирование. Со временем возможностей его тегов и атрибутов для оформления веб-страниц стало мало. Поэтому был реализован специальный стилевой язык элементов CSS.

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

Очередным этапом в эволюции интернета стало появление динамически изменяемых ресурсов. До этого все сайты были статическими и не могли изменять свое содержимое в ответ на действия пользователя. Частично это ограничение удавалось преодолеть с помощью встраивания в HTML блоков кода Java Script.

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

Создать динамически изменяющиеся ресурсы удается лишь благодаря использованию серверных языков программирования. Основным из них является PHP.

Программирование на PHP является основным способом создания динамических ресурсов и страниц в интернете.


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

И в ответ на запрос браузера клиента быстро извлекать данные, необходимые для генерации. Чаще всего используется система управления базами данных (СУБД) MySQL. Это нужно учитывать при принятии решения о том, с чего начать web программирование.

Теперь давайте подведем итоги по сказанному выше:

  • В основе любого сайта лежит HTML и CSS;
  • Наиболее распространенным является динамический тип веб-ресурса;
  • Основным серверным языком является PHP;
  • Кроме PHP в создании динамических веб-страниц используют СУБД MySQL.

Все перечисленные дисциплины являются базовыми. Их основы являются тем, с чего начинают изучение программирования для веб.

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

Еще одной разновидностью прикладного программирования является системное программирование. Оно подразумевает создание программ, с помощью которых реализуется взаимодействие между собой различных частей операционной системы (драйвера, трансляторы).

Наиболее перспективные языки программирования прикладного уровня:

  • C/C++ — то с чего начинают обучение программированию. Несмотря на свой солидный возраст, эти языки остаются актуальными и сейчас. Тем более что C является основным языком, на котором написана операционная система Windows:
  • C# — дальний потомок предыдущих языков. Входит в состав пакета .NET от Microsoft. Используется как в прикладном программировании, так и для создания веб-приложений на основе технологии asp.net;
  • Java – кроссплатформенный язык. Основа, на которой базируется популярная сегодня мобильная операционная система Android. Разработка приложений под эту операционную систему является весьма перспективным направлением:

Если вы новичок и не знаете даже основ программирования, то изучение лучше всего начать с C или С++. Большая часть остальных языков имеет схожий с ними синтаксис и структуру.

Также важно правильно подобрать основные источники информации. Лучше всего, если это будут книги по программированию. Благодаря вводу кода примеров вручную новичок быстрее запоминает структуру и основные элементы языка.

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

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

www.internet-technologies.ru

Как стать программистом с нуля самостоятельно

С чего начать учится программированию с нуля чайнику?
В этой статье я постарался подробно разобрать, можно ли стать программистом с нуля самостоятельно и какие варианты есть для того, чтобы освоить программирование самостоятельно и начать зарабатывать на этом.
UPD: Тем, кто ищет, с чего начать изучать программирование с нуля в 2018 (или пока только собирается и приступит в 2019 :)), сильно повезло благодаря книге Якова Крамаренко «Введение в разработку программного обеспечения». Я искренне рекомендую с ней ознакомится — она стоит того, чтобы обновить статью №1 по рейтингу Google и отзывам читателей для тех, кто изучает программирование самостоятельно.

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

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

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

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

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

Книга по веб-программированию для начинающих

В 2018 появилась книга «Введение в разработку программного обеспечения» Якова Крамаренко. Для изучающих программирование с нуля — возможно лучшая книга, с которой стоит начать. Книга освещает начальные шаги в веб-разработке, не затрагивая серверной части. Яков в доступной форме рассказывает про HTML, CSS  и Javascript, которые необходимы, если вы изучаете веб-программирование.

Поэтому теперь у вас есть выбор — дочитать до конца эту статью и воспользоваться моими рекомендациями, или начать с книги Якова 🙂

Ви можете розпочати вчити програмування українською or start learn programming in English — все варианты доступны! Главное начать 🙂

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

Бесплатный онлайн-курс для изучения программирования

Также я очень рекомендую Гарвардский курс по основам программирования CS50: https://cs50.harvard.edu/.

Версия 2016 года есть в переводе: https://courses.prometheus.org.ua/courses/Prometheus/CS50/2016_T1/about.

Лучше пройти курс на английском. И язык прокачаете, и информация посвежее. Хотя сильно курс не менялся — только в 2017 вместо PHP начал использоваться Python.

Прохождение курса займёт время, но даст довольно полное понимание, которое сложно иначе получить самостоятельно.

Дальше — мои оригинальные рекомендации, актуальные и сегодня.

Каким программистом стать?

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

Лучший выбор в такой ситуации — на мой взгляд — начать изучать веб-разработку. Здесь ниже порог входа для новичков и есть возможность раньше начать выполнять несложные заказы.

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

Как самостоятельно стать программистом с нуля

Если бы я начинал с нуля изучать веб-разработку самостоятельно (понимая, что без вложения денег это более долгий путь), то сам себе я бы порекомендовал такой путь:

1. Разобраться в HTML и CSS

Хороший курс для базового освоения HTML и CSS: https://learn.shayhowe.com/html-css/ (English) или https://webref.ru/layout/learn-html-css (перевод).

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

После этого стоит посмотреть на возможности Bootstrap, который стал стандартом де-факто для ускоренной разработки веб-приложений: http://getbootstrap.com/

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

На этом тоже можно зарабатывать — как на фрилансе, так и работая в ИТ-компании, которая специализируется на веб-разработке.

Но раз мы решили стать программистом — двигаемся дальше!

2. Познакомиться с jQuery

Для этого я рекомендую книгу «jQuery — учебник для начинающих»:
http://anton.shevchuk.name/jquery-book/

Если понравилось — можно продолжить разбираться с frontend и начать изучать Javascript.

Если следом пойдет https://angularjs.org/ или http://backbonejs.org/ — то это путь во фронт-енд разработку. Хорошая специальность, тем более, что такие знания пригодятся любому программисту, который выбрал веб-разработку.

Мой совет — пока остановиться на jQuery и двигаться дальше.

3. Освоить серверный язык программирования

Тут выбор большой. Самые перспективные языки программирования — Ruby, Java, Python, Node.JS (Javascript для сервера).

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

Хороший вариант — язык программирования Python и Django

Плюс — Python и Django научат вас «правильному» программированию.  Python стабильно входит в ТОП5-10 самых востребованных языков, а хорошие специалисты в Python одни из самых высокооплачиваемых программистов. Python одновременно простой и понятный для начинающих программистов язык программирования, и при этом используется во многих крупных компаниях и на больших проектах.

Вообщем я люблю Python и рекомендую начать с него.

Для самостоятельного освоения прочтите «Python для детей» Джейсона Бриггса или посмотрите:

Язык программирования Python за 10 минут

Язык программирования Python — подробно для начинающих

Среди других материалов рекомендую Learn Python The Hard Way. книгу «Простой Python. Современный стиль программирования». И, конечно The Python 2 Tutorial и The Python 3 Tutorial.

Django — возможно лучший фреймворк для веб-разработки

Лучший инструмент на все случаи жизни очень сложно найти. Django имеет все шансы стать таким инструментом для веб-разработки.

Я точно рекомендую познакомится с ним.

С чего начать для изучения Django:

Начните с официальной документации, там очень хороший tutorial: https://docs.djangoproject.com/en/2.1/intro/

Затем посмотрите http://www.tangowithdjango.com/

Tango with Django — это хорошая возможность подтянуть английский и одновременно получить понимание того, как устроены веб-проекты и как всё работает.

Вариант №2 — PHP и WordPress

Другой путь — начать с PHP и работы с популярными CMS. Если вы изучаете программирование сами и хотите быстро начать работать — начните с PHP.

Многие считают PHP «не совсем настоящим» языком программирования и для этого есть основания. PHP редко используется в крупных веб-приложениях и заточен только для веб — использовать его в других областях не получится.

С другой стороны — PHP лидирует по количеству запущенных в мире сайтов. На нем основаны самые популярные CMS (системы управления сайтами).

Для старта рекомендую книгу: «Изучаем РНР и MySQL» авторов Линн Бейли и Майкл Моррисон

После этого разберитесь с созданием тем под WordPress — это вероятно самая популярная CMS в мире, если оценивать по количеству запущенных сайтов.

Хорошо разобравшись с этим, уже можно найти работу. Под PHP и WordPress очень много сайтов, поэтому работы хватит всем.

Как начать зарабатывать программистом

Многие представляют работу программиста-фрилансера так:

Или так:

На самом деле это выглядит примерно так:

Если вы готовы к работе программиста и ищете способ зарабатывать — добро пожаловать на фриланс! Фриланс-биржи позволят вам найти простые заказы (возможно почти бесплатно на первых порах) — чтобы получить практику. Как правило, работа в ИТ-компании может быть прибыльнее, если вы просто ищете работу программиста.

Уже после пункта 2 — освоив HTML, CSS и jQuery — можно идти на фриланс биржи и брать несложные заказы, нарабатывая профиль.

Знаете английский? https://www.upwork.com/

Совсем нет, даже со словарем? http://freelance.ru/

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

Быстрый путь в веб-разработчики

Исходя из моего опыта, на изучение программирования с нуля уйдет от 6 до 12 месяцев в лучшем случае, при этом 6 месяцев — это если вам кто-то помогает.

Чтобы ускорить процесс входа в ИТ — ищите возможность пойти на тренинг (возможно понадобится не один) или найдите человека, который будет заниматься с вами. Реально без человека, который передаст вам свои знания — очень сложно, можно просидеть год за книгами и так и не начать. А со знающим человеком, который может просто рассказать о сложных вещах — намного легче.

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

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

Как только почуствуете уверенность в том, что можете что-то создать — ищите компанию, где сможете развиваться дальше или клиентов.

HTML, CSS, Python и Javascript — это только базовые знания, первый этап. Дальше очень важна практика, изучение алгоритмов и инструментов для разработки.

Если есть вопросы — задавайте в комментариях! Надеюсь эта статья поможет вам сделать первый шаг. Успехов!

itman.in

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

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

Итак, я бросаю себе вызов: я пройду все курсы, выложенные на портале Loftblog (сейчас их 110 штук), причем я не просто просмотрю видео. Я выполню все предлагаемые задания и упражнения, которые нужны, чтобы разобраться, что и как работает. Нет, у меня нет задачи стать профессиональным программистом. По крайней мере, пока, а там мало ли как жизнь повернется. Когда-то я интересовался программированием, но ограничился простыми программами на BASIC для ZX-Spectrum, которые позволяли, в лучшем случае, рисовать геометрические узоры на экране монитора. Так что, «от чистого истока я начинаю путь…»

Знаете, какой самый частый вопрос у пользователей в паблике LoftBlog и в других смежных пабликах по IT? Он звучит так: «С какого языка нужно начинать изучать программирования?». Ответ необычен: начинать нужно НЕ с языка. Любая работа начинается с подготовки рабочего места и инструментов. А эффективное обучение начинается с умения учиться. Итак, встречайте: бесплатный видеокурс «Как изучать язык программирования». В нем 7 уроков, каждый продолжительностью от 8 до 15 минут.

Урок №1. С чего начать изучение программирования?
В уроке — про общий подход к изучению программирования: как определиться с направлением, что помогает дойти до цели и потратить на это адекватное количество сил и времени. Напоминаем про 5 вещей, которые способствуют концентрации на занятиях. Нелишнее напоминание, скажем так.

Урок №2. Организация процесса обучения и мотивация.
Главное в уроке: 5 ключевых моментов, позволяющих учиться эффективно. Пересматривайте и используйте. Да, и есть подсказка, как снизить важность предстоящих событий и избежать лишнего стресса, связанного с ними. Ну а обсуждение кривых зависимости мотивации от сложности, возможно, будет интересно любителям теории.

Урок №3. Конспектирование. Часть 1.
Здесь про интеллект-карты как способ конспектирования материала. Знаем, используем. Очень интересен был принцип: в каждом элементе карты используется только одно слово. Это дает максимальную компактность информации в конспекте: пока это слово подберешь, пол-главы можно в голове по полочкам разместить и на это слово завязать.

Урок №4. Конспектирование. Часть 2.
В этом уроке — про другие способы организации конспекта. Всего перечислено 22 приема, при помощи которых можно структурировать свой конспект. Рукописный, естественно.

Урок №5. Запоминание информации. Часть 1. Общий подход.
Как запомнить много? В этом уроке даем несколько рекомендаций по организации запоминания и раскрываем основы эффективного подхода.

Урок №6. Запоминание информации. Часть 2. Техники запоминания.
Классическая технология: работает, ее никто не отменял.
Флэш-карточки: сложно, эффективность непонятна.
Интеллект-карты: да, можно использовать и для запоминания, просто посмотрите — как это делать.
Шикарная методика SQ3R: Survey, Question, Read, Recall, Review. На самом деле несложно, берите и пользуйтесь.

Урок №7. Запоминание информации. Часть 3. Усиление запоминания.
Знакомые и неожиданные способы устойчивого запоминания за счет механизмов образной, эмоциональной и даже двигательной памяти.

Урок №8. Проверка знаний. Как подготовиться к собеседованию или экзамену.
Здесь последовательно отрабатываются три ситуации: подготовка к проверке, восстановление рабочего настроения перед проверкой, собственно логика прохождения проверки. Очень рекомендую ознакомиться, кого-то обязательно выручит.

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

P.S. Следующая статья будет про курс «Основы программирования» от Николая Чернобаева. Уже предвкушаю и заранее рекомендую изучить. Показано всем, вне зависимости от того, какой язык изучать дальше.

loftblog.ru