Программист — не просто работа с хорошей зарплатой, а целая идеология. Вместе с образовательным IT-порталом GeekBrains мы решили разобраться, кто с удовольствием окунется в разработку с головой, а для кого суровые будни программиста окажутся кошмаром наяву.
Если вы хоть раз в жизни с завистью смотрели на зарплаты в IT-сфере, попробуйте пройти наш тест. Кто знает, может быть, вы созданы для этой профессии?
Начнем с простого. Найдите в ряду лишнее:
- программист;
Отнюдь нет! Всех «айтишников» обычно сваливают в кучу, но лишнее здесь — системный администратор: он не участвует в разработке программ.
Даже не близко! Да, тестировщик не создает продукты, а ищет ошибки и сбои, но его вклад в разработку не менее важен. А вот системный администратор занимается совсем другим.
Это было легко!
Вы знаете, чем разработчики точно не занимаются. А как у вас развито логическое мышление, необходимое программисту? Возьмем самую простую задачу. Андрей всегда либо смеется, либо плачет. Мы можем точно сказать, что Андрей:
Как стать программистом с нуля
- иногда смеется и плачет;
Мы такого не говорили! Зато Андрей точно не может смеяться и плакать одновременно.
Конечно, Андрей эмоциональный парень. Но четкие данные в задачке предполагают четкий ответ: никогда не бывает такого, что Андрей смеется и плачет одновременно.
Верно! Конечно, это не самая сложная логическая задача, но вы молодец.
Это был простой вопрос. Теперь задачка посложнее. Про программистов есть анекдот. Ложась спать, программист ставит рядом два стакана: первый — полный, с водой; второй — пустой. Первый на случай, если захочет пить.
Вооружившись логикой программиста, ответьте, зачем ему второй стакан?
- на случай, если пить он не захочет;
Верно! Нужно учесть все возможные варианты событий, об этом знает каждый хороший программист.
Не исключено. Но все-таки пустой стакан у кровати нужен, чтобы учесть вариант «он не захочет пить»: хороший программист должен учесть все возможные варианты событий.
Уверены, что жена программиста без воды не останется. Но все-таки пустой стакан нужен на случай, если пить он не захочет: хороший программист должен учесть все возможные варианты событий. Вот такая логика.
Хорошо, с логикой разобрались. Давайте проверим, сможете ли вы работать программистом в большой и серьезной компании. Представьте: вы купили разобранный велосипед и решили собрать его самостоятельно. Ваши действия:
- вспомню, как он выглядел в магазине, и попытаюсь повторить — это же обычный велосипед, я разберусь;
Конечно, разберетесь. Но времени и сил вам потребуется гораздо больше. И никто не гарантирует, что в итоге велосипед поедет. В общем, программисты обычно советуют велосипеды не изобретать, а следовать инструкции или брать уже собранный.
Отлично! У программистов есть выражение «написать велосипед» — разработать заново решение уже решенной задачи. Но вместо того, чтобы начинать все с нуля и повторять ошибки, проще использовать успешный опыт коллег.
Как стать ПРОГРАММИСТОМ с НУЛЯ?
Вы опасный человек! Программисты обычно советуют велосипеды не изобретать, следовать инструкции или покупать уже собранный вариант. И рабочих программ это тоже касается.
Теперь вы уже кое-что знаете о работе программиста. Давайте поговорим о них самих. Создатель языка Perl Ларри Уолл говорил, что у программиста есть три безусловных достоинства. Как вы думаете, какие?
- жажда богатства, борода и бессонница;
Слава богу, нет! «Многие из вас знакомы с достоинствами программиста. Их всего три — и, разумеется, это лень, нетерпимость и гордыня». Лень учит работать мало, но эффективно. А нетерпимость и гордыня помогают стремиться к совершенству и чувствовать уверенность в своей правоте.
Точно, вы знали! Лень — очень полезное качество: оно учит работать мало, но эффективно и не создавать себе и другим трудностей. А нетерпимость и гордыня точно пригодятся программисту, чтобы убедить окружающих в том, что его код идеальный.
«Многие из вас знакомы с достоинствами программиста. Их всего три — и, разумеется, это лень, нетерпимость и гордыня». Благодаря лени разработчик работает мало, но эффективно: такое качество не помешало бы и в любой другой профессии. А нетерпимость и гордыня помогают стремиться к совершенству и быть уверенным в своей правоте. Хотя знания английского это не отменяет.
Окей, тогда пойдем еще дальше. Как вы думаете, какая часть рабочего процесса программистов обычно не радует?
- разбор чужого кода;
Точно: чужой код, написанный сомнительным мастером разработки, да еще и много лет назад, да еще и без комментариев и понятной структуры — просто кошмарный сон.
Думали, это такая шутка? Нет, настольный футбол и правда помогает освежить мысли между решениями сложных задач. А вот разбор чужого кода без ясной структуры и каких-либо комментариев — страшный сон программиста.
Пожалуй, ненавидеть поиск решения может только тот, кто не хочет быть программистом: это самый сложный, но и самый интересный процесс в работе. А вот разбирать чужой код не всегда приятно. Особенно если никто не позаботился о том, чтобы код был понятным и «интеллигентным».
Ну ладно. Последний, самый простой вопрос. Что произойдет после выполнения этой программы на Python?
print («Hello, world!»)
- появится надпись Hello, world!
Мы в вас верили!
Эй, это же классика: все начинали с программы, которая выводит на экран приветствие Hello, world! — неважно, на каком языке вы учитесь писать.
Кажется, вы далеки от программирования и программистов. Попав на работу в IT-компанию, вы как минимум несколько месяцев будете разбираться, что к чему.
Но это не страшно: наш тест — только короткое знакомство с профессией. Узнать больше о профессии можно на бесплатном курсе «Основы программирования» от образовательного IT-портала GeekBrains, на котором вы за 4 урока освоите основные понятия разработки, напишете простую программу и получите инструкции о том, как развиваться дальше: на сайте есть все возможности для того, чтобы овладеть новой профессией.
Вы не понаслышке знаете о работе программистов: наверняка часто общаетесь с ними или давно этой темой интересуетесь. Так, может, пора приступить к более серьезным действиям?
Узнать больше о разработке и решить, какой язык и какое направление вам интересны, можно после короткого бесплатного курса «Основы программирования» от образовательного IT-портала GeekBrains. Это отличный старт для того, чтобы бесплатно начать осваивать новую профессию, ведь на сайте для этого есть все возможности.
Признайтесь: вы программист. Или еще нет? В любом случае поздравляем: эта профессия вам по плечу!
Предлагаем начать с короткого бесплатного курса «Основы программирования» от GeekBrains. Он поможет определиться с языком и будущим направлением учебы и научит писать простые программы: когда вы начнете осваивать профессию мобильного или веб-разработчика, этот навык точно пригодится.
Источник: hh.ru
Какую первую программу обычно пишут программисты?
У нас есть 24 ответов на вопрос Какую первую программу обычно пишут программисты? Скорее всего, этого будет достаточно, чтобы вы получили ответ на ваш вопрос.
Содержание
- Какие программы нужны для программирования?
- Какой язык программирования стоит учить первым?
- Почему Java лучше C#?
- Что лучше изучать Java или Python?
- Что проще Python или JavaScript?
- Можно ли стать Айтишником в 30 лет?
- Какую первую программу обычно пишут программисты? Ответы пользователей
- Какую первую программу обычно пишут программисты? Видео-ответы
Отвечает Роман Пермяков
Начнём с простого. Какую первую программу обычно пишут программисты? Элементарно, Ватсон!) Обычно всё же начинают с вывода на экран «Hello world».
Именно он считается первой программой, созданной непосредственно для компьютера. И несмотря на то, что она так и не была применена на практике, именно эту женщину называют первым программистом. Далеко опередив свое время, Ада предположила, что вычислительная машина способна справиться с задачами, которые не под силу человеку.
Их естественное желание создать финансовые возможности и связать людей и решения делает их нетерпеливыми в разборе нудных деталей, что предполагает программирование. Хотя научиться программировать довольно сложно, это совершенно точно возможно.
Я считаю, что умение программировать — такой же базовый навык, как умение читать, писать и считать. Это под силу любому, так как это одна из способностей человека, но этому действительно надо учиться. За два года преподавания, я наблюдал мучения студентов в процессе обучения и видел у них несколько схожих проблем.
Какие программы нужны для программирования?
В этой статье мы разберем базовый набор приложений, в которых работают программисты. Редактор кодаSublime Text. Популярный и простой в освоении редактор, который подойдет начинающим разработчикам. . Atom. . Visual Studio Code. . Vim. . WebStorm.Apr 25, 2022
Какой язык программирования стоит учить первым?
Почему Java лучше C#?
Честно говоря, главное различие между двумя языками программирования в C# или Java заключается в их предполагаемом использовании. Java в основном предназначен для разработки мобильных приложений (точнее — Android). Напротив, C# фокусируется на веб-разработке и разработке игр.
Что лучше изучать Java или Python?
Java лучше всего подходит для настольных приложений с графическим интерфейсом, встроенных систем, служб веб-приложений, тогда как Python отлично подходит для научных и числовых вычислений, приложений для машинного обучения и т. д.
Что проще Python или JavaScript?
Оба языка не являются сложными. Но считается, что в изучении проще все-таки Python. Он спроектирован так, что его быстрее получится понять и усвоить; универсальность.
Можно ли стать Айтишником в 30 лет?
Если вам 30, 40, 50 лет — учиться программированию уже поздно На самом деле это не так. Учиться никогда не поздно, более того — многие новички в профессии делают успехи в зрелом возрасте. За доказательствами далеко ходить не нужно.
Источник: querybase.ru
Начнем с простого какую первую программу обычно пишут программисты
Сергей Терлецкий, менеджер по работе с образовательными учреждениями в компании Embarcadero.
Новичку в первую очередь надо решить в какой области программирования он хочет развиваться. Прикладное программирование, игры, робототехника, для школьников 6–7 класса отличное начало — это кружки робототехники, сейчас они существуют в каждом районе, надо только не полениться найти центр дополнительного образования поближе к дому. Там и своя визуальная среда программирования, и практическая деятельность, и моделирование, сразу будет понятно какая составляющая идет лучше и в каком направлении интереснее — инженерное, или именно программирование.
А чтобы мотивация не падала и был быстрый результат, мы рекомендуем начинать с Pascal/Delphi XE7, тут и простой синтаксис и язык созданный для обучения программированию, так и возможность визуальной разработки из готовых компонент с поддержкой создания мобильных приложений с единого исходного кода. Тут самое интересное — это возможность создавать свои мобильные приложения для Android и iOS на любом этапе обучения программированию.
А по мере роста уровня программиста всегда можно залезть в исходный код и в рамках той же среды перейти на C++. Что касается вузов, то набор весьма велик, но разъезжая по стране я обратил внимание, как сильно вырос уровень отдельных региональных вузов. Например кафедра ВТИК в Уфимском Нефтегазовом Университете. МГУ, МГТУ им. Баумана, МИФИ, МАИ, Политехнический Университет в Санкт-Петербурге, СПбГУ.
Дмитрий Волошин, директор департамента исследований и образования Mail.Ru Group.
Начинать надо с кружков программирования или робототехники. Важно понять, действительно ли вы хотите стать разработчиком, или это импульсивное и ложное желание. Что касается вузов, то я советую ориентироваться на «сарафанное радио», на форумы в Интернете и мнения друзей.
Также стоит сходить на дни открытых дверей, но все-таки иметь в голове ту мысль, что не всегда то, что говорят на таких мероприятиях — чистая правда. Что касается языка, то здесь нет универсального совета. На мой взгляд, выбор языка не важен, настоящий программист может овладеть новым для него языком очень быстро. Хотя, если есть возможность, то начните с C/С++.
Сергей Зефиров, программист с широким опытом работы, энтузиаст и евангелист языка Haskell.
Программирование — это не столько процесс сам в себе, сколько перевод решений каких-то проблем на язык, понятный компьютеру. Поэтому выбирать надо не столько язык, сколько область деятельности, которая будет интересна.
При наличии желания изучить программирование не очень сложно. А вот что с этим умением делать, вопрос гораздо сложнее. Поэтому вопрос должен стоять так: чем я хочу заниматься всю свою жизнь (или заметную её часть — 5–6 лет), и как в этом мне может помочь программирование.
Надо отметить, что написание программы является отличным стимулом для изучения предметной области. Вы можете изучать разные предметные области, программируя решения. Это не гарантирует непосредственного эффекта, более того, может отвлечь. Но это один из инструментов изучения мира вокруг, ничуть не хуже литературы или рисования.
Артём Зюрюкин, генеральный директор Zartis Russia.
Начать лучше всего с образования. Для основного образования лучшими вузами в России можно назвать МГТУ им. Э. Н. Баумана, МГУ, МИФИ, МФТИ в Москве, Политехнический и ГТИ в Санкт-Петербурге, НГТУ в Новосибирске. Также всегда полезно заняться самообразованием: начинающие программисты имеют массу возможностей учиться в Интернете бесплатно; самые популярные сайты: microsoftvirtualacademy.com, coursera.org, lektorium.tv, universarium.org, lendwings.com. Кроме того, для развития карьеры важным может стать участие в олимпиадах и соревнованиях по спортивному программированию, например: Russian Code Cup, Google Code Jam, Facebook Hacker Cup, Яндекс.Алгоритм, ACM International Collegiate Programming Contest.
Михаил Кечинов, сооснователь студии Михаила Кечинова.
Читать книги в оригинале и официальные статьи типа Getting Started. Не читать устаревшие на 3–4 года переводы.
Языки: Swift для iOS, Java для Android, Ruby для веб-разработки.
Алексей Зверев, руководитель направления образовательных программ СКБ Контур, партнёр международной олимпиады «IT-Планета».
Выучить язык и научиться программировать — разные вещи, и в целом не важно, с какого языка начинать. Хотя, приятнее и легче начинать с высокоуровневых, например, Python, C#, Java. Хороший программист должен знать несколько языков и уметь изучать новые. Вопрос про материалы скорее актуален для студентов с минимальными навыками программиста, поэтому гораздо важнее вопросы «С чего начать?» и «Какой вуз выбрать?».
Всем начинающим программистам очень повезло: научиться программировать можно играя, и таких продуктов очень много. Нам в Контуре больше всего нравятся coderussia.ru, codemonkey.co.il, codingame.com.
Есть, кстати, такой проект «Продлёнка про профессии», недавно они рассказывали про профессию Программиста. Замотивироваться хорошими докладами и найти ещё целую гору материалов для начинающих можно здесь: prodlenka.pro/meeting/programmers.
У нас есть и свои on-line курсы, в том числе курс «Основы программирования», рассчитанный на студентов первых курсов, не умеющих программировать, а значит и на талантливых школьников. Посмотреть их можно здесь: ulearn.azurewebsites.net.
С выбором вуза всё гораздо сложнее. Нет списка вузов, упорядоченного по крутости преподавания ИТ-дисциплин, поэтому всегда есть шанс не угадать 🙂
Чаще всего хорошо преподают в больших вузах и университетах. Если в вашем городе есть вуз, в названии которого есть слова «государственный», «национальный», «федеральный», то в первую очередь стоит присмотреться к нему. Затем узнайте, есть ли в вашем городе крупные ИТ-компании или филиалы таких компаний, с какими вузами у них партнёрские отношения: такие компании почти всегда появляются рядом с сильными университетами очень редко появляются там, где нет качественной подготовки кадров (например, в Екатеринбурге кроме головного офиса Контура ещё есть 4 крупных офиса разработки, около 50 средних и гора маленьких).
Ещё один важный фактор — участие вуза и проведение на его территории ИТ-соревнований, например по спортивному программированию, информационной безопасности (в быту ACM, CTF), различных соревнованиях по робототехнике. Найти такую информацию про конкретный вуз иногда не так тривиально, но поискать можно среди архивов ICPC ACM на icpc.baylor.edu или ructf.org.
Кстати, мы совместно с УрФУ организуем QCTF — формат для начинающих, в него могут играть и школьники, подробно можно прочитать вот здесь: qctf.ru.
И всегда помните: выбрав хороший вуз, вы можете всё завалить и не стать программистом, выбрав плохой — можете потратить время на самообучение и добиться невиданных высот. В первую очередь всё зависит от вас.
Василий Кобзарь, преподаватель GeekBrains, специализируется на администрировании Linux.
Нельзя научить, можно научиться. Не стоит идти в вуз за знаниями, стоит идти туда за дипломом. Единственный способ стать программистом — писать программы.
Михаил Адигеев, начальник отдела проектов ГК «ГЭНДАЛЬФ», доцент ЮФУ, эксперт международной олимпиады «IT-Планета».
Для освоения программирования лучше всего, на мой взгляд, подходят процедурные языки высокого уровня, «скрывающие» от программиста детали реализации базовых операций и позволяющие сосредоточиться на алгоритмах. Когда-то это был Pascal, сейчас он немного отошёл в сторону, хотя есть и очень хорошие современные реализации, ориентированные на обучение программированию — например, система «PascalABC.Net». Другой вариант — Python, также хорошо структурированный язык, позволяющий сосредоточиться на освоении основных принципов программирования. Python обладает также дополнительным преимуществом — это интерпретируемый язык, т.е. даёт начинающему программисту возможность быстрее освоиться с языком и «пощупать» ту или иную конструкцию. Изучив основы программирования, стоит плотнее ознакомиться с «классическими» объектно-ориентированными языками, и тут варианты — либо C#, либо Java.
После освоения такого базового «джентельменского набора» наступает следующий этап профессионального развития. На этом этапе вопрос «на чём программировать» сменяется вопросом «какие задачи решать». Т.е. язык программирования из объекта изучения превращается в инструмент для решения задач. На первый план выходит предметная область (системное программирование, веб-разработка, автоматизация бизнес-процессов, обработка данных и т.п.), и уже исходя из интересующего вас направления следует выбирать и изучаемые языки, технологии (например — C, C++, PHP, 1С, SQL).
Что касается материалов для обучения, то наилучшим форматом являются обучающие курсы — либо очные (при непосредственном контакте с преподавателем), либо интернет-курсы. Сейчас активно развиваются интернет-ресурсы, предлагающие бесплатные (и платные тоже) курсы, включающие видео-материалы, тесты, практические задания, часто с возможностью обратной связи от преподавателя. Например, ресурс coursera.org или российский intuit.ru. Часто вендоры (разработчики программных инструментов) также предлагают обучающие курсы по своим продуктам. Например, фирма 1С предоставляет бесплатный комплект для освоения системы «1С:Предприятие», включающий как программные средства, так и учебные материалы.
Роман Юферев, руководитель направления ИТ-менеджмента и мониторинга в компании VIAcode.
Увы, но с вузами сейчас ситуация непростая. Многие мои знакомые, работающие в системе высшего образования открыто говорят о том, что система высшего образования в России не функционирует. Об этом можно, конечно, спорить и приводить массу аргументов как за, так и против. В то же время сейчас мне трудно рекомендовать или не рекомендовать даже свою «альма-матер» СПбГЭТУ (ЛЭТИ).
Ключевые вузы, которые в той или иной мере могут готовить программистов — это ЛЭТИ, ИТМО и «Политех». Но я бы хотел подчеркнуть, что главное, что дает любой ВУЗ будущему инженеру — это навык самостоятельного обучения, в противоположность школе, где весь необходимый материал преподносится «на блюдечке».
Если говорить о языках программирования, то следует учесть следующие факты:
- Вы, скорее всего, захотите начать работать по специальности уже на 2-м или 3-м курсе, поэтому стоит обратить внимание на языки программирования, актуальные прямо сейчас: C#, Java, Ruby. Дальнейшее развитие технологий и ваши личные предпочтения помогут вам определиться с тем, на какой платформе и языке продолжать работать. Самое главное — помните, что нет «хороших» и «плохих» языков. В каждой области существует свой набор инструментов и технологий.
- Вуз может дать сносные знания по глобальным концепциям, например ООП, но не даст вам хорошей базы по конкретному языку; полагайтесь на себя, свой, пусть и небольшой опыт и постоянно расширяйте свой кругозор
- «Вписывайтесь» во все известные сообщества — это ничего не стоит, как с точки зрения, так и времени, но дает вам колоссальный источник знаний и опыта.
Антон Пискунов, основатель и генеральный директор BeastGaming.
Если у вас есть возможность не идти в вуз — не идите. Это крайне бесполезная история для программистов. Вы будете находится в постоянном поиске новой информации, знания в IT сфере устаревают очень быстро. В таких условиях вуз не сможет дать вам нужных скиллов что бы быть Middle/Senior Developer сразу после выпуска.
Я проводил собеседования со студентами различных вузов и тенденция везде одна — время потрачено, ожидания вознаграждения за это время гигантские, а по факту бизнесу еще требуется доучить человека прежде чем он начнёт приносить прибыль.
Что я имею в виду: на выходе после вуза имеем ребят которые ходят по компаниям и просят 60–90к в месяц и потихоньку разочаровываются в индустрии потому что больше 30к за их опыт никто не даёт. И начинается медленный, планомерный рост со стажировок в веб-студиях. Отсюда вопрос: а действительно ли вам нужен вуз?
Начинайте писать свои pet-projects. Берите идеи и пишите, пишите и еще раз пишите. Ваша основная задача писать код, много кода, забейте на качество — просто пишите, пишите и пишите. На определенном моменте у вас «щелкнет» и вы в остальном сами во всём разберетесь. Для начала, конечно, определитесь куда вам, в веб: PHP, Python, Golang (это не для выбора, это все три вместе), мобайл: Java, Objective-C, Swift, C#, геймдев: C++, Java, Lua.
Отдельно для геймдева — просто берите Unity и начинайте делать. Не пытайтесь писать базовые вещи, вроде своего движка, в первый месяц, просто делайте, а уже потом разбирайте фундаментальные понятия.
И да — use Google Luke.
Альберт Степанцев, преподаватель GeekBrains, эксперт PHP, специалист по MySQL, Postgres, некоторым NoSQL решениям, JS + JQuery, Yii.
Пойдите учиться в хороший вуз. Если вы в одной из столиц — то ваш выбор очевиден и вы давно уже себе выбрали учебное заведение. Если вы живете в дальнем регионе, то неплохим выбором будет физмат бывшего педагогического вуза, которых у нас немало. Не обязательно выбирать в качестве специальности «программист» или «разработчик ПО», тем более, что такие специальности встречаются достаточно редко. Подойдет любая специальность, базирующаяся на математике, на которой математику используют в достаточном объеме.
Высшее образование пригодится вам в первую очередь для «форматирования мышления», а не для получения актуальных знаний.
Нулевой язык, который нужно освоить — это, конечно же, Си. Прикоснуться к «железу» на низком уровне, понять, как вообще работает компьютер, как выделяется и освобождается память, что такое типы данных — другой альтернативы нет.
О выборе первого языка советовать сложнее. Обычно этот выбор происходит спонтанно. Но можно достаточно точно сказать, что веб-программирование не потеряет актуальности в ближайшие 5–10 лет, поэтому можно порекомендовать PHP. Тем более, что его часто называют «Си для чайников» 🙂
Учиться всегда нужно по материалам из первых рук. Всегда старайтесь предпочесть официальную документацию по какой-либо технологии на языке оригинала сомнительным материалам от непрофессиональных переводчиков. Кстати — без неплохого знания английского, как бы это печально не было, на рынке программирования вам делать нечего…
Ну и подводя итог — учитесь самообразованию. Никакой вуз и никакие курсы не сделают вас специалистом, это можете сделать только вы сами!
Александр Тормасов, ректор Университета Иннополис, руководитель российского отделения IEEE Computer Society.
Холивар на тему того, какой язык выбрать первым для обучения программистов не утихает: кто-то называет Pascal, кто-то С, кто-то Ruby или даже Haskell, и каждая сторона приводит свои аргументы. Правда в том, что язык — это лишь инструмент, который профессионал каждый раз должен выбирать сообразно задачам проекта. Понимание алгоритмов позволит изучить любой новый язык в течение нескольких дней. Для тех, кто только делает первые шаги рекомендую воспользоваться образовательными онлайн-ресурсами типа Сodecademy, для тех, кто хочет не просто кодить, а понимать, как организовать процесс, рекомендую прочесть книгу, без преувеличений, повлиявшую на умы поколений и актуальную до сих пор — «Мифический человеко-месяц». Выбирая вуз, стоит обратить внимание на то, насколько его программа соответствует международным стандартам (посмотрите computer curricula топовых ИТ-вузов и сравните), насколько реально высок уровень профессорско-преподавательского состава, где активно проходит практика и идет активная интеграция обучения с индустрией.
Евгений Фатеев, преподаватель GeekBrains, профессиональный программист, приверженец The Ruby/Rails Way.
Как и в любой другой сфере, обучение программированию прежде всего основывается на личном интересе и желании учиться — это основа любого дела. Разумеется, нужна хорошая техническая база, которую логичней всего получить в вузе. Можно отметить 4 вуза, где качество обучения не оставляет сомнений: МГУ (например, факультет ВМК), МГТУ им. Баумана (ИУ-5..ИУ-8), МИФИ (Кибернетики и информационной безопасности), МИЭМ НИУ ВШЭ (Факультет компьютерных наук).
Что касается выбора языка, здесь важно учитывать несколько моментов. Во-первых, язык не должен быть слишком сложным и «тяжёлым» в отношении синтаксиса. Он должен быть востребован и реализовывать самые современные подходы в программировании. Например, Python, Ruby или JavaScript станут хорошим выбором.
Относительно книг и материалов, здесь лучше начать с самого начала, то есть с Теории Информации. Есть потрясающая книга на эту тему: Бауэр Ф. Л., Гооз Г. «Информатика» в 2-х томах. Также полезно будет изучить любой учебник по Информатике. Далее — общение на форумах, чтение статей в блогах, понимание основ устройства ПК и принципов программирования.
Из литературы по языку, для Ruby можно порекомендовать книгу с жирафом (Майкл Фитцджеральд «Изучаем Ruby»), для JavaScript (Дэвид Сойер Макфарланд «JavaScript. Подробное руководство»).
Подводя итог, можно составить коротко такой маршрут:
- Теория информации;
- Устройство и архитектура ПК;
- Выбранный язык программирования.
Наконец, необходимо постоянно помнить о том, что программирование — это способ рассказать машине о наших мечтах. Иными словами, нужно постоянно практиковаться и решать самые разные задачи из всевозможных областей на языке, который вы изучаете. Спросите себя: а как написать программу для решения квадратного уравнения, выбора случайного файла с музыкальной композицией, обратиться по сети к сервису Яндекса и узнать правильность написания слова? А затем сделайте это. Наблюдайте, исследуйте, пишите код, и всё обязательно получится! 🙂
Источник: intalent.pro