Задать вопрос

Как и где лучше всего начать изучать программирование?

Всем доброго времени суток.

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

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

Я имею скудный опыт по "правке" чужого кода HTML, CSS и PHP, но понимаю их структуру. Так же отлично знаю несколько популярных CMS, немного понимаю базы данных MySQL. Товарищ же, очень хорошо знает Excel, на котором мы пишем практически все нужные для наших проектов ТЗ для программистов в плане расчётов, учётов и т.д.

Выбор изучаемых языков пал на - PHP, Javascript и Python. Выбрал их, т.к. считаю, что именно эти языки подходят нам для нынешних и последующих проектов (иногда, программирование нужно не только для web разработок, но и для десктопных приложений).

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

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

Прочитал множество статей по этому поводу, посмотрел множество сайтов с онлайн-курсами, погуглил на тему персонального обучения через скайп, но вопрос так и остался открытым. На данный момент смотрю в сторону персонального обучения с тренером по скайпу или же в сторону подобных сервисов, как www.codecademy.com/ru/. Вариант с изучением по книгам практически отбросил, т.к. не нашел однозначного ответа о том, по каким книгам лучше всего учить, и считаю, что на этот метод уйдет гораздо больше времени.

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

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

В общем, выразите, пожалуйста, свою точку зрения в этом нелегком для меня вопросе.
  • Вопрос задан
  • 9017 просмотров
Подписаться 12 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 9
tema_sun
@tema_sun
Немного оффтоп, но тем не менее.
Вам надо учить не php, js, python, whatever, а английский. Это единственный язык, который должен знать каждый программист.
Если же он уже на уровне чтения со словарем, то его можно будет подтянуть изучая интересующие вас языки программирования.
Далее - придумываете себе задачу и пытаетесь ее решить. Тут документация по ЯП и stackoverflow (на нем, по-моему, можно найти ответ на любой вопрос по программированию) вам в помощь.
Волшебной кнопки, увы, нет. Чтобы научиться программировать, надо программировать.
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
IMHO, программирование, в первую очередь это не конкретные языки, а алгоритмы и данные. Если Вы можете построить алгоритм решения задачи и подобрать оптимальные для данного алгоритма структуры данных, то большая часть задачи уже решена. Перевести алгоритм на язык программирования (закодировать) - задача на порядок проще. По мере знакомства с конкретным языком кодирование будет проходить легче и эффективнее.
Английский выучить крайне желательно, именно на нём идёт практически вся официальная документация, на нём общается большинство разработчиков.
Полезно также освоить какой-нибудь язык низкого уровня, ассемблер или C (без плюсов), программирование на них позволяет легче понять, что скрывается за абстракциями языков высокого уровня.
Ответ написан
MikhailD
@MikhailD
Developer
А когда вы в вашей работе столкнетесь с тем, что "станет очень трудно найти хорошего бухгалтера для ведения финансов" вы станете еще бухгалтерию изучать? А если кто-то заболеет и вы не сможете найти хорошего врача вы сами станете учиться лечить людей?

Не нужно учить программирование, потому что "стало очень сложно находить хороших специалистов для реализации". Лучше научитесь находить специалистов, они есть.
Ответ написан
Комментировать
greabock
@greabock
Могу
Если, глядеть в сторону PHP.
Видео-курс по основам синтаксиса : infospir. Я смотрел разные видеокурсы. Но лучше чем этот парень никто в рунете не объясняет. Жаль, что он закрыл свой проект...

После этого станет намного легче править скрипты на своем сайте. Далее, много мелкой практики. Желательно именно практики, а не решения придуманных самому себе задач. Я в свое время упражнялся на том, что парсил базу яндекс-кодов городов для создания универсального погодного баннера. Кроме того, нужно врсатить глаза в официальный мануал, и постоянно гуглить вопросы (умение правильно гуглить - это вообще один из самых важных навыков). Когда почувствуете, что готовы - без книги никуда. Лучшее, что можно найти по ООП в PHP - это "Мэтт Зандстра. PHP: Объекты, Паттерны и Практики". Невероятной занудности книга, но она дает наиболее полное понятие о классах, объектах, и других хороших делах. После этого можно браться за изучение какого ни будь фреймвока на паттерне MVC. Первым делом почитать где ни будь что такое MVC и в бой. Для первого опыта, лучше взять что-то более-менее простенькое, типа CodeIgniter. В общем, если не сойдешь с пути праведного, то года через три, ты будешь силен.

По поводу "учитилей". Когда-то пробовал - знаю. Как ни странно, но основная проблема в том, что эти люди - программисты. В большинстве своем, они не способны качественно обучать. Может и повезет нарваться на "уникума", но скорее всего нет.
Ответ написан
Комментировать
Evgenym
@Evgenym
Только вчера начался курс https://class.coursera.org/interactivepython-004 еще можно записаться.

Лично я недавно начал с книги Лутца (Лутц М. - Изучаем Python (4-е издание)- 2011)
Потом узнал о сайте www.codecademy.com
Есть еще интересный сайт с задачками на Питоне, чтобы попрактиковаться www.checkio.org
Ответ написан
@Ar4ybaldik
Более чем уверен, что мой ответ может не подойти, но попробуйте связку, которую себе подобрал( сразу пишу, это Java). CS101 https://class.coursera.org/cs101-selfservice
Довольно занятной странички прогера www.skipy.ru/technics.html
Отличного основного чтива и дополнения от Седжвика introcs.cs.princeton.edu/java/home
+
Послушайте Курс Java на Hexlet.org
Ответ написан
Комментировать
FilimoniC
@FilimoniC
1. Опытный программист всегда лучше. Тут вам нужно взвесить готовность тратить свое время против готовности тратить свои деньги. Иногда заказать готовое выходит дешевле.

Первым делом вам нужно поставить перед собой задачу и решить ее на языке программирования.
Лучше брать простой и очевидный язык (например, PHP, причем без "Web-морды", то есть консольный).
Ставьте простейшие задачи, например, постройка дерева. у вас есть MSSQL таблица
<УникальныйНомерЗаписи><НомерЗаписиРодителя><Именование>
Где НомерЗаписиРодителя если 0, то значит пункт является корневым
Составьте из этого списка дерево, отобразите его в виде дерева (чтобы была понятна вложенность), сделайте веб-морду, сделайте красиво, чтобы разворачивалось по клику мышки (js), добавьте возможность добавлять и удалять пункты (и целые деревья), добавьте возможность одной записи иметь несколько родителей, добавьте поиск, забудьте про поиск и сделайте поиск на нормальном движке (например, Sphinx)

Постепенно вы будете составлять алгоритмы и искать в интернете методы реализации их (как что-то вывести на экран, как получить данные из MSSQL, какие возможности есть у JQuery, как мне использовать это, как то, и т.д.)

Ну и "самглавное", по началу привязывайтесь к тому, с чем планируете работать. Если вы хотите Web-Разработку, то не стоит начинать с не-web-ориентированных языков. Даже с "не-только-web-ориентированных" тоже начинать не стоит (это я про всякие asp.net и вебморды на cgi\c#)
Ответ написан
Комментировать
@k1N Автор вопроса
Спасибо всем за ответы. Начал изучать с книгой - Саммерфилд - Программирование на Python 3.2009
Ответ написан
Комментировать
dadster
@dadster
учить инглиш тут - https://t.me/langhacks
Удивлен, что не прозвучал hexlet.io, на мой взгляд, лучшие курсы сегодня на русскоязычном рынке, и стоят копейки, по сравнению с "инфобизнесменами", которых вы упомянули. Можно даже не платить за курсы, а просто добавиться к ним в слак чат, и очень много нового узнаете. Очень рекомендую.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы