Курсы программирования с нуля c. Зачем и как эффективно учить язык программирования Си: исчерпывающая подборка ресурсов для освоения

/ С++ программирование / Уроки C++

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

Видео урок:

С++ берёт основу в языке Си, активно разрабатываемом ещё в 1969-1973 годах. За разработку отвечала компания Bell Labs во главе с главным разработчиком Dennis Ritchie. Через 10 лет программист из Дании Bjarne Stroustrup, в своё время являвшийся разработчиком Си, выпускает расширенную версию языка под названием С++. Вначале своего пути C++ являлся всего лишь расширением, неким дополнением к Си, которое расширяло возможности ООП. Сам Страуструп изначально рассматривал язык всего лишь как «Си с классами ».

Дата рождения C++ приходится на 1983 год. Хоть он и не являлся полноценным языком, а лишь ответвлением Си, но всё же имел ряд полезных функций. За счёт них программистам удавалось быстрее и проще разрабатывать приложения. С выходом C++ в мире появилось ряд, ныне общераспространённых, понятий:

  • Инициация классов с объектами в ООП;
  • Принцип наследования;
  • Выгрузка или удаление функций из памяти;
  • Виртуальная работа функциями;
  • Система исключений и многое другое.

Будет интересно: Си по сей день сохраняет популярность даже несмотря на развитие C++ и доминирующее положение последнего языка в сфере функциональности. Почему старый и менее развитый язык даже сегодня популярен? Всё просто - переносить программы на новый язык - довольно затратное и долгое дело. Часть компаний просто плывут по течению и продолжают поддерживать свои программы на Си.

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

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

В скорости после выпуска С++ язык начал завоёвывать различные сферы программирования. Постепенно в него внедряли всё новые функции, что всё больше отдаляло его от роли дополнения к Си. Годами позже его перестали рассматривать продолжением или расширением и пришло время полностью отделиться от Си, тогда-то язык и назвали С++. С тех пор путь языков разошёлся, они стали независимыми (насколько это возможно ).

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

Несколько сфер использования:

  • Разработка операционных систем. Даже сама Windows преимущественно базируется на С++;
  • Создание драйверов;
  • Написание программ с нуля;
  • Разработка и поддержка антивирусных приложений и прочего.

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

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

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

У С++ есть компиляторы и инструменты для работы с кодом на большинстве известных платформ. Это позволяет скомпилировать исходники под любую платформу.

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

Как поэтапно развивался С++?

Шаги развития С++:

  • 1979-1980 - С++ появился и позиционировался, как язык Си с дополнительными классами;
  • 1983 - язык начал называться, как все мы привыкли С++;
  • 1985 - релиз коммерческого варианта С++. В этот же год появилась первая бумажная книга «Языка программирования C++ », она включала описание функций, возможностей и правил использования языка;
  • 1989 - выпущена вторая версия языка с расширенными возможностями;
  • С 1990 до 2011 - медленное развитие и добавление функционала. Также стоит упомянуть, что в 1998 году впервые попытались стандартизировать язык. Тот стандарт впоследствии назвали ISO/IEC 14882:1998 , сегодня - С++98. В 2003 году появилась следующий вариант стандарта C++03;
  • 2011 - издание стандарта C++11, в нём появилось действительно много нововведений. Обновление обогатило язык обилием полезных возможностей;
  • 2014 - выпуск относительно малого добавления к предыдущей версии стандарта. Его прозвали C++14;
  • 2017 - последний крупный релиз языка.

Среды программирования, компиляторы

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

Для работы с C++ необходимо установить среду разработки. Вы можете установить любую удобную для вас среду или же вовсе воспользоваться онлайн компилятором . Среди самых популярных сред разработки можно отметить такие, как.

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

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

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

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

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

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

Версия 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 (перевод).

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

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

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

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

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

Если понравилось — можно продолжить разбираться с 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 для детей» Джейсона Бриггса или посмотрите:

Среди других материалов рекомендую 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/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В курсе подробно и доступно разобраны базовые концепции программирования и основы C++. Прекрасный выбор для начинающих разработчиков.

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

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

Этот курс поможет вам плавно влиться в программирование и простыми словами объяснит непростые основы C++ .

Немного о языке

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

Каркас первой программы

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

Типы данных

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

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

Расширенный набор математических операций вы найдете в этом видео .

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

Структуры в C++ – это подобие упрощенных классов. Разобравшись с ними, вы сделаете первый шаг к объектно-ориентированному программированию.

Функции

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

ООП

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

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

Затем вы узнаете, что такое дружественные функции и как они позволяют организовать взаимодействие между классами. А после этого познакомитесь с дружественными классами на примере совсем недружелюбного объекта Volodya.

Завершают тему объектно-ориентированного программирования в C++ концепции

Cкачать

Д. Кнут. Искусство программирования. В трех томах. Классика программирования. djvu.

Том.1. 680 стр. 5.8 Мб. Скачать.

Том 2. 790 стр. 6.3 Мб. Скачать.

Том 3. 800 стр. 6.6 Мб. Скачать.

Керниган Б.В., Ричи Д.М. Язык программирования Си. 3-е изд. иправл. 2003 год. 355 стр. PDF. 15.9 Мб.
Книга широко известных авторов, разработчиков языка Си, переработанная и дополненная с учетом стандарта ANSI для языка Си, 2-е английское издание которой вышло в 1988 году, давно стала классикой для всех изучающих и/или использующих как Си, так и Си++. Русский перевод этой книги впервые был выпущен изд-вом "Финансы и статистика" в 1992 г. и с тех пор пользуется неизменным спросом читателей. Для настоящего третьего русского издания перевод заново сверен с оригиналом, в него внесены некоторые поправки, учитывающие устоявшиеся за прошедшие годы изменения в терминологии, а так же учтены замечания, размещенные автором на странице http://cm.bell-labs.com/cm/cs/cbook/2ediffs.html.
Для программистов, преподавателей и студентов.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Керниган Б.В., Ричи Д.М. Язык программирования С. 229 стр. PDF. 1.3 Мб.
Язык "C"(произносится "си") - это универсальный язык программирования, для которого характерны экономичность выражения, современный поток управления и структуры данных, богатый набор операторов. Язык "C" не является ни языком "очень высокого уровня", ни "большим" языком, и не предназначается для некоторой специальной области применения. но отсутствие ограничений и общность языка делают его более удобным и эффективным для многих задач, чем языки, предположительно более мощные. Язык "C", первоначально предназначавшийся для написания операционной системы "UNIX" на ЭВМ DEC P DP-11, б ы лр а з р а б о т а нир е а л и з о в а нн аэ т о йс и с т е м е Деннисом Ричи. Операционная система, компилятор с языка "C" и по существу все прикладные программы системы "UNIX" (включая все программное обеспечение, использованное при подготовке этой книги) написаны на "C". Коммерческие компиляторы с языка "C " существуют также на некоторых других ЭВМ, включая IBM SYSTEM/370, HONEYWELL 6000, INTERDATA 8/32. Язык "C", однако, не связан с какими-либо определенными аппаратными средствами или системами, и на нем л е г к о писать программы, которые можно пропускать без изменений на любой ЭВМ, имеющей "C"-компилятор.
Эта книга предназначена для того, чтобы помочь читателю научиться программировать на языке "C". Она содержит учебное введение, цель которого - позволить новым пользователям начать программировать как можно быстрее, отдельные главы по всем основным особенностям языка и справочное руководство. Обучение построено в основном на чтении, написании и разборе примеров, а не голой формулировке правил. Примеры, приводимые в книге, по большей части являются законченными реальными программами, а не отдельными фрагментами. Все примеры были проверены непосредственно с текста книги, где они напечатаны в виде, пригодном для ввода в машину. Кроме указаний о том, как сделать использование языка более эффективным, мы также пытались, где это возможно, проиллюстрировать полезные алгоритмы и принципы хорошего стиля и разумной разработки.
Настоящая книга не является вводным курсом в программирование; она предполагает определенное знакомство с основными понятиями программирования такими как переменные, операторы присваивания, циклы, функции. Тем не менее и новичок в программировании должен оказаться в состоянии читать подряд и освоиться с языком, хотя при этом была бы полезной помощь более опытного коллеги.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Каррано, Причард. Абстракция данных и решение задач на C++. 3-е изд. 2003 год. 850 стр. PDF. 21.9 Мб. Помимо предоставления прочных основ методов абстракции данных, в ней особо подчеркивается различие между спецификацией и реализацией, что является принципиально важным в объектно-ориентированном подходе. В книге подробно обсуждаются ключевые понятия объектно-ориентированного профаммирования, включая инкапсуляцию, наследование и полиморфизм, однако в центре внимания всегда находится именно абстракция данных, а не синтаксические конструкции языка C++. Книга будет полезна всем, кто заинтересован в глубоком изучении важнейших аспектов ООП и полном освоении соответствующих возможностей языка C++.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Герб Каммер. Новые сложные задачи на С++. 2005 год. 271 стр. djvu. 2.2 Мб.
Данная книга представляет собой продолжение вышедшей ранее книги "Решение сложных задач на C++". В форме задач и их решений рассматриваются современные методы проектирования и программирования на C++. В книге сконцентрирован богатый многолетний опыт программирования на C++ не только самого автора, но и всего сообщества программистов на C++, так что некоторые рекомендации автора могут показаться неожиданными даже опытным программистам-профессионалам. Автор рассматривает и конкретные методики, приемы и идиомы программирования, однако основная тема книги - это стиль программирования, причем в самом широком понимании этого слова. Особое внимание во всех задачах книги уделено вопросу проектирования, которое должно обеспечить максимальную надежность, безопасность, производительность и сопровождаемость создаваемого программного обеспечения.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Ласло М. Вычислительная геометрия и компьютерная графика на С++. 1997 год. 150 двойных стр. DJVU. 18.6 Mб.
В книге описываются основные проблемы, возникающие в компьютерной графике и вычислительной геометрии. Рассмотрены практические задачи и представлены относительно простые способы их решения. Приведены основные приемы разработки и анализа алгоритмов, обсуждаются элементарные структуры данных (списки и деревья) и способы их использования.
Для математиков-прикладников, аспирантов и студентов вузов как учебное пособие по машинному проектированию, машинной графике, распознаванию образов.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cкачать

Лаптев и др. С++. Объектно-ориентированное программирование. Задачи и упражнения. 2007 год. 288 стр. DJVU. 3.2 Мб.
Книга предназначена для изучения возможностей объектно-ориентированного стиля программирования на языке С++. Приведены сведения о синтаксисе и семантике объектно-ориентированных конструкций С++, стандартной библиотеке шаблонов STL. Книга содержит необходимые теоретические сведения, упражнения и задачи для самостоятельной работы, справочную информацию по наиболее популярным средам программирования: С++ Builder 6 и Visual C++.NET 2003. Для преподавателей и студентов, начинающих программистов.
Допущено Министерством образования и науки Российской Федерации в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению подготовки «Информатика и вычислительная техника».

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cкачать

Дж. Либерти. Освой самостоятельно C++. 3-изд. 2009 год. 820 стр. djvu. 10.4 Мб.
В книге широко представлены возможности новейшей версии программного продукта Microsoft Visual C++. Подробно описаны средства и подходы программирования современных профессиональных приложении. Материалы книги дополнены многочисленными демонстрационными программами в процессе разработки которых максимально используются возможности программных инструментов Microsoft Visual Studio.
Особое внимание уделено новинкам версии 6.0 и новейшим технологиям объектно-ориентированного программирования, включая использование библиотеки MFC и шаблонов классов, а также создание связанных списков. Отдельное занятие посвящено вопросам объектно-ориентированного анализа и проектирования приложений. Подробно рассмотрены все средства и подходы конструирования собственных пользовательских классов. Книга рассчитана на широкий круг читателей, интересующихся современными проблемами программирования.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Стенли Б. Липпман, Жози Лажойе. С++ для начинающих. 2001 год. 1167 стр. PDF. 6.1 Мб.
Книга известного эксперта по языку C++ Стенли Липпмана написана в соавторстве с Жози Лажойе, принимавшем активное участие в разработке международного стандарта C++. Несмотря на название, настоящее издание является исчерпывающим руководством для изучения современной версии языка C++. Авторы рассматривают как основы языка (структуру программы на C++, использование команд препроцессора и заголовочных файлов), так и более сложные конструкции (исключения, классы, шаблоны функций и классов, перегрузку операторов множественное наследование и т. п.). Текст содержит большое количество примеров, поясняющих излагаемый материал. Книга предназначена для тех, кто начинает изучение языка C++, однако и более опытные программисты смогут найти в ней полезные сведения о функционировании сложных конструкции языка, а также описание последних нововведений в стандарт C++.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Мозговой М.В. 85 нетривиальных проектов, примеров и задач. Серия Масттер класс C++. 2007 год. 135 стр. djvu. 5.1 Мб.
Данная книга посвящена анализу интересных задач, встречающихся в повседневной практике программирования и требующих нетривиальных подходов в их решении. На основе небольшого количества характерных реалистичных примеров иллюстрируется применение важных алгоритмов и методик программирования. Обозначены задачи, в которых могут использоваться те или иные подходы и решения.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Оверлнд. С++ без страха. Серия "Знания и опыт экспертов". Rybe можно читать с нуля, то есть не требуется умения программирования. 4.6 Мб. 430 стр. djvu.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Пахомов Б.И. C/C++ и MS Visual C++ 2008 для начинающих. Учебник. 2009 год. 609 стр, djvu. 9.3 Мб.
Книга является руководством для начинающих по разработке приложений в среде Microsoft Visual C++ 2008 Express Edition. Рассмотрены основные элементы языков программирования C/C++ и примеры создания простейших классов и программ. Изложены принципы визуального проектирования и событийного программирования. На конкретных примерах показаны основные возможности визуальной среды разработки Visual C++ 2008 Express Edition, назначение базовых компонентов и процесс разработки различных типов консольных и Windows-приложений.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Прохоренок Н.А. Программирование на C++ в Visual Studio 2010 Express. 2010 год. 229 стр. djvu. 2.1 Мб.
Описан базовый синтаксис языка C++, применительно к бесплатной среде Visual Studio 2010 Express: типы данных, операторы, условия, циклы, встроенные функции, объектно-ориентированное программирование, работа с файлами и каталогами, часто используемые модули стандартной библиотеки.
Кроме того, в книге рассматривается стандартная библиотека шаблонов (STL), реализующая динамические массивы, множества, очереди и стеки. Благодаря большому количеству примеров книга будет полезна в качестве самоучителя для начинающих разработчиков. Читатели уже имеющие опыт программирования могут использовать книгу как справочник.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Павловская Т. А., Щупак Ю. А. C++. Объектно-ориентированное программирование: Практикум. 2006 год. 265 стр. PDF. 7.9 Мб.
Практикум предназначен для студентов, изучающих язык C++ на семинарах или самостоятельно. Классы, шаблоны, наследование, исключения, стандартная библиотека, UML, концепции программной инженерии (software engineering) и паперны проектирования рассматриваются на примерах, сопровождаемых необходимыми теоретическими сведе}шями. Обсуждаются алгоритмы, приемы отладки и вопросы качества. По каждой теме приведегю по 20 вариантов заданий. Допущено Министерством образования Российской Федерации в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению "Информатика и вычислительная техника".

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Т. А. Павловская. C/C++. Программирование на языке высокого уровня. Из серии "300 лучших учебников".2003 год. 461 стр. PDF. 9.7 Мб.
Задача этой книги - дать краткое и четкое изложение языка C++ в соответствии со стандартом ISO/IEC 14882. Она предназначена для студентов, изучающих язык «с нуля», но будет полезна и более искушенным в программировании. Цель, которая ставилась при написании книги - дать правильное представление о возможностях языка C++ и способах их применения, толчок к дальнейшему изучению этого и других языков программирования и ключ к пониманию современных объектно-ориентированных технологий.
Контрольные задания по ключевым темам представлены в 20 вариантах, и автор надеется, что преподаватели оценят проявленную о них заботу.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Павловская Т. А., Щупак Ю. А. C++. Объектно-ориентированное программирование: Практикум. 2003 год. 240 стр. djvu. 3.2 Мб.
Практикум предназначен для студентов, изучающих язык C++ на семинарах или самостоятельно. Он является дополнением к учебнику Т.А. Павловской: C/C++.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

К. Поляков. Прграммирование на языке СИ. 2002 год. 4 главы в отдельных файлах PDF. Размер архива 2.7 Мб.
Глава I. Введение в программирование. Глава II. Хранение и обработка данных. Глава III. Разработка программ. Глава IV. Динамические структуры данных.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Подкур М.Л. Подкур П.Н. Смоленцев Н.К. Проrраммирование в среде Borland с++ Builder с математическими библиотеками MAТLAВ С/С++. 2006 год. 498 стр. djvu. 8.9 Мб.
Данная книrа посвящена изложению вопросов COBMeCTHoro использования боrатой библиотеки визуальных компонент Borland С++ Builder и возможностей языка С++ с мощными математическими процедурами MATLAB@. Книrа coдepжит основы проrраммирования в Borland С++ Builder и на MATLAB, описание математических библиотек MATLAB дЛЯ CjC++ и компиляторов MATLAB (включая последнюю версию). Рассматриваются примеры проrрамм на Borland С++ Builder, которые используют математические библиотеки MATLAB. Хотя книr по основам системы MATLAB и по проrраммированию на CjC++ и на Borland С++ Builder достаточно мнoro, в настоящее время нет ни одной книrи, в которой были бы изложены вопросы cовместного использования MATLAB и C/C++ и Borland С++ Builder.
Книrа предназначена преподавателям и студентам вузов по специальностям, близким к прикладной математике (математическая подrотовка читателя предполаrается в пределах техническоrо вуза), профессиональным проrpаммистам С ++, которые сталкиваются с проблемами реализации математических алrоритмов на С++, и МАТLAВ проrраммистам, которые хотят использовать rибкость языка С++ и боrатую библиотеку визуальных компонент Borland С++ Builder для реализации алrоритмов МА ТLЛВ в виде законченных и независимых от MATLAB приложений.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Прата Стивен. Яык программирования С++. Лекции и упражнения. Учебник. 2005 год. 1100 стр. djvu. 30 Мб.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Peкс Жeшкe. TOЛKOBblЙ CIЛOBАРb CTАHДАРTЩ8 Я3blKА CИ. 225 стр. DJVU. 5.2 Мб.
Словарь является лоцманом в море имен и терминов, используемых при работе на языке СИ: американской (ANSI C) и международной (ISO C). Книга рассчитана на прграммистов всех уровней владения языком СИ.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cкачать

Саттер, Герб. Новые сложные задачи на C++. 2005 год. 272 стр. 2.2 Мб.
Данная книга представляет собой продолжение вышедшей ранее книги Решение сложных задач на C++. В форме задач и их решений рассматриваются современные методы проектирования и программирования на C++. В книге сконцентрирован богатый многолетний опыт программирования на C++ не только самого автора, но и всего сообщества программистов на C++, так что некоторые рекомендации автора могут показаться неожиданными даже опытным программистам-профессионалам. Автор рассматривает и конкретные методики, приемы и идиомы программирования, однако основная тема книги - это стиль программирования, причем в самом широком понимании этого слова. Особое внимание во всех задачах книги уделено вопросу проектирования, которое должно обеспечить максимальную надежность, безопасность, производительность и сопровождаемость создаваемого программного обеспечения.
Книга рассчитана в первую очередь на профессиональных программистов с глубокими знаниями языка, однако она будет полезна любому, кто захочет углубить свои знания в данной области.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Слабженников С.Н. Программирование на языке С++. Учебнтмк. 2004-2008 год. 3 файла PDF в одном архиве 880 Кб.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Стефенс, Диггинс, Турканис, Когсуэлл. С++. Сборник рецептов. 2007 год. 624 стр, djvu. 11.6 Мб.
В этой книге рассматриваются следующие темы:
работа с числами; работа с датой и временем; потоковый ввод/вывод; обработка исключений; работа с классами и объектами; сборка приложений; синтаксический анализ XML-документов; обработка строк и текста; многопоточная обработка; алгоритмы и контейнеры стандартной библиотеки; программирование математических задач; интернационализация; система Boost.Build.
В книге даны реальные решения, отражающие современные методы программирования на C++. Основное внимание уделяется производительности и переносимости с учетом официальных и специальных стандартов. Во многих решениях используются преимущества стандартной библиотеки C++. Авторами также рассматриваются библиотеки Boost, в которых отражены некоторые из самых передовых идей в мире C++.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Стивенс. ТЕХНИКА ПРОГРАММИРОВАНИЯ НА ТУРБО СИ. txt в RAR архиве, 135 Кб.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Страуструп. Дизайн и эволюция С++. Книга написана создателем языка С++. 2006 год. 440 стр. djvu.
2.9 Мб.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Страуструп. Язык программирования С++. 2-ое доп. изд. doc в RAR архиве. 430 Кб.
Мне больше нравится этот файл в формате PDF. 2.6 Мб.
Книга от создателя самого популярного языка программирования.
Превосходный учебник по C++, который должен стоять на полке у каждого уважающего себя разработчика C++. Автор рассказывает в своей книге об основах языка, акцентируя свое внимание прежде всего на объектной ориентированности C++.
Из книги читатель узнает о том:
1. Каковы основные принципы объектно-ориентированного программирования и как они реализованы в C++ . 2. Как происходит поддержка абстракции данных. 3. Что такое классы и объекты. 4. Для чего применяются виртуальные функции 5. Что такое шаблоны типов и шаблоны классов 5. Как происходит обработка ошибок 7. С помощью каких средств осуществляется ввод/вывод данных 8. Каковы этапы процесса объектно-ориентированного проектирования 9. Как проектировать библиотеки. И многое другое.
Книга будет безусловно полезна абсолютно всем, кто интересуется объектно-ориентированным программированием и в частности языком C++.

. . . . . . . Скачать doc. . . . . . . . . . . . . . . . Скачать PDF.

Седжвик. Фундаментальные алгоритмы на С++. Принстон, 3-е изд. 15.4 Мб. 690 стр. djvu

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Тихомиров Ю.И. Самоучитель MFC. 2000 год. 628 стр, PDF. 20.5 Мб.
Библиотека MFC - мощный и гибкий инструмент разработки Windows - приложений на базе языка Visual C++. Книга содержит подробную информацию об основных классах библиотеки и их компонентах. Рассмотрены принципы создания одно- и многодокументных приложений, все типы окон, элементы управления и работа с базами данных. Практические примеры помогут усвоить теоретический материал и одновременно освоить современный стиль программирования.
В приложении излагаются основы языка C++, что позволяет рекомендовать книгу не только подготовленным программистам, желающим познакомиться с библиотекой MFC, но и новичкам.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Тан, Стиб, Харди. Символьный С++. Введение в компьютерную алгебру с использованием объектно-ориентированного программирования. Пер. со 2-го англ. изд. 2001 год. 622 стр, djvu. 5.2 Мб.
В книге представлен подход к разработке новой системы компьютерной алгебры, основанной на объектно-ориентированном программировании. В первых вводных главах излагаются требования пользователя к таким системам, описан необходимый математический аппарат, лежащий в основе разработки системы, дан обзор наиболее популярных из существующих систем (REDUCE, MAPLE, AXIOM, MATHEMATICA, MuPAD). Далее обсуждаются основные понятия объектно-ориентированного программирования, языки Java, Eiffel, Smalltalk, Лисп и Оберон, излагаются средства языка C++, вводится новая система компьютерной алгебры SymbolicC++. Приводятся примеры применения системы к задачам математики и физики (нумерация Гёделя, аппроксимация Паде, техника рядов Ли, метод Пикара, фрактальное множество Мандельброта и др.). В книгу включены листинги всех компонентов системы, что позволяет пользователям развивать и наращивать систему в соответствии со своими потребностями. Для студентов и аспирантов вузов в качестве учебного пособия, для специалистов по компьютерной алгебре как справочное пособие, а также для непрофессионалов, желающих расширить свои познания в возможностях вычислительной техники.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Фленов М.Е. DirectX и С++. 2006 год. 195 стр. djvu. 5.8 Мб.
Рассмотрено программирование графических эффектов на языке C++ с использованием популярной библиотеки DirectX. На занимательных практических примерах показано, как создавать различные визуальные эффекты (реалистичный огонь, электрические разряды, зеркала и др.), используемые при разработке демонстрационных роликов (Demoscene). Пошагово описано применение основных методов и интерфейсов DirectX. Показано, как написать оптимальный и эффективный программный код. Большое внимание уделено технологии использования вершинных и пиксельных шейдеров для создания реалистичных изображений.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Холзнер С. Visual C++ 6. Учебный курс. 2007 год. 575 cтр. DjVu. 16.2 Мб.
Популярная серия "Шаг за шагом" предназначена для тех, кто осваивает новые программные продукты на курсах или самостоятельно. Изучив данную книгу, вы пройдете основной курс программирования на Microsoft Visual Basic 6.0. Секрет, как стать профессиональным разработчиком программ на Visuall Basic, состоит в том, чтобы писать программы, требующие от вас применения самых разнообразных возможностей Visual Basic. Среди них: доскональное знание и способность на практике применять стандартные средства управления панели инструментов и компоненты ActiveX; умение правильно устанавливать и манипулировать свойствами, функциями и событиями объекта; способность писать ясный и четкий программный код с возможностью повторного использования некоторых сегментов программы в дальнейшем; умение создавать наглядный и эффективный интерфейс пользователя. В каждом из уроков данного курса внимание читателя акцентируется именно на этих принципах программирования. Вы обнаруживаете, что сможете немедленно применить полученные вами навыки и знания, изучив содержащиеся в этой книге примеры, при создании более сложных приложений на Visual Basic для выполнения реальных практических задач.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Хаймен, Арнсон. Visual C++ .NET для "чайников". Итак, вы решили серьезно взяться за Visual C++ .NET. Это хорошая идея, ведь вы в действительности убиваете сразу трех зайцев: в ваших руках оказывается мощный, полезный и широко распространенный инструмент. С языком С++ можно сделать очень многое. С его помощью созданы такие продукты, как Excel и Access. Этот язык также применяется при разработке управленческих информационных систем и систем целевого назначения, используемых для анализа деятельности предприятий и принятия решений в сфере управления бизнесом. И, конечно же, целые армии хакеров и не только хакеров используют C++ для создания инструментов, утилит, игр и шедевров мультимедиа. Знания, которые вы получите, изучив язык C++ .NET. позволят создавать не просто приложения, а приложения, работающие в разных операционных системах. Возможности этого языка практически не ограничены, и вы сами в этом убедитесь, прочитав эту книгу. Книга предназначена для начинающих программистов. 3.0 Мб. 280 стр. PDF.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Макс Шлее. Профессиональное программирование на C++. 3-изд. 2009 год. 863 стр. djvu. 25.1 Мб.
Лучшая книга для начального изучения кроссплатформенной библиотеки Qt для C++. Если до этого с Qt не работали, другие варианты даже не рассматривайте. Макс Шлее очень подробно и наглядно описал в книге использование всех основных классов библиотеки.
Стоит отметить, что данная книга значительно отличается от аналогичной книги по Qt3: много информации обновлено и добавлено. Появились даже новые разделы, а в некоторых задачах программирования,например, графики с переходом от Qt3 к Qt4 появились намного более новые и лучшие подходы решения данных задач, что привело к появлению соверешенно новых классов (старые подобные классы теперь морально устарели, но оставлены, что бы избавиться от проблем совместимости конечно же, но в книге уже не рассмотрены) и полному пересмотру некоторых разделов книги! То-есть делайте вывод: книга по QT3 уже явно устарела и даже лучше её не открывать, а сразу перейти на эту... а то ещё и переучиваться придётся...

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Г. Шилдт. C++. Руководство для начинающих. 2005 год. 669 стр. djvu. 18.1 Мб.
В книге описаны основные средства языка С++, которые необходимо освоить начинающему программисту. После рассмотрения элементарных понятий (переменных, операторов, инструкций управления, функций, классов и объектов) читатель легко перейдет к изучению таких более сложных тем, как перегрузка операторов, механизм обработки исключительных ситуаций (исключений), наследование, полиморфизм, виртуальные функции, средства ввода-вывода и шаблоны.Автор книги общепризнанный авторитет в области программирования на языках C и C++, Java и C# - включил в свою книгу множество тестов для самоконтроля, которые позволяют быстро проверить степень освоения материала, а также разделы "вопросов и ответов", способствующие более глубокому изучения основ программирования даже на начальном этапе.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Ю.А. Щупак. Win32 API. Эффективная разработка приложений. 2007 год. 573 стр. djvu. 22.5 Мб.
В этой книге изложены основополагающие принципы программирования для Windows на языке C/C++ с применением Win32 API. Книга ориентирована на широкий круг читателей: от начинающих программистов, студентов вузов, аспирантов и преподавателей до профессионалов в области программирования, желающих освоить специальные средства Win32 API. Практика показывает, что те программисты, которые начинают осваивать программирование для Windows сразу на уровне MFC или Windows Forms, не имея никакого опыта работы с Win32 API, сталкиваются с серьёзными проблемами, как только дело доходит до создания реальных приложений. Напротив, опыт программирования с Win32 API позволяет осваивать более высокие технологии гораздо гармоничней и продуктивней.
Владение базовыми знаниями Win32 API является надёжной основой для вашего профессионального роста в сфере программирования.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Скачать.

Элджер. С++, библиотека программиста. Книга предпологает, что вы уже пару лет занимаетесь прогрммированием и себя перестали называть просто программист, а добавляете старший, ведущий и так далее. Если вы узнали себя, то эта книга для вас. 1.9 Мб. 260 стр. PDF.

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


Для кого этот курс программирования

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

Пару слов о процессе программирования

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

Имеет ли смысл начинать изучать основы программирования или “поезд уже ушел”?

На сегодняшний день общий тренд развития программирования направлен в сторону , и прочих подходов к организации распределенных архитектур программного обеспечения, но само понятие инвариантно по отношению к новым технологиям разработки программных продуктов. Весь сложной архитектуры за вас напишут компании, являющиеся лидерами на рынке компьютерных технологий. Затем они продадут плоды своих трудов вам, но наполнять смыслом предоставляемые ими шаблоны решений все равно придется. Это похоже на процессы возведения типовых зданий и выполнения индивидуального ремонта в каждом из них. При таком подходе практически нет никакой разницы между реализациями одной и той же задачи, которая, в одном случае, должна стать частью “настольного приложения", в другом - быть частью опубликованного , или вовсе работать в качестве отдельной службы в рамках инфраструктуры виртуального сервера. Ведь сложно найти разницу в процессах ремонта помещений панельного, кирпичного или монолитного зданий? Работы для прикладного программиста всегда хватит.

Создавать свои собственные - дело весьма популярное и полезное, а коммерческое предприятие без вообще сегодня большая редкость. Никому не нужно рассказывать, что с каждым днем предъявляют все более и более нетривиальные требования к . Речь идет не только о содержимом ресурса (контенте), но и дизайне, удобстве пользования и других качественных характеристиках. Чем лучше поисковые системы относятся к вашему сайту, тем больше посетителей приходят к вам со страниц результатов поиска. Разработчики программных решений класса (шаблоны сайтов) предлагают все более широкий набор инструментов и тем для придания уникальности создаваемым на их основе решениям, но иногда бывает намного проще разобраться в логике работы сайта самостоятельно. Благо, чаще всего такие шаблоны распространяются в виде исходного кода , и настроить его работу под свои нужды, изменив несколько десятков строк в том же , может любой грамотный программист. Обращаться к сторонним организациям за индивидуальной разработкой под ваши требования отдельного программного продукта (сайт - это тот же программный продукт) или его конфигурации может оказаться невыгодно. И не только невыгодно по деньгам, но и по времени, нервам и много еще по каким параметрам…

Краткое описание предлагаемого курса по изучению основ программирования

Этот курс программирования содержит примеры решения небольших задач. От тех, что встречаются в курсах изучения информатики и основ программирования в старших классах школы и на начальных курсах ВУЗов и до тех, с которыми могут столкнуться начинающие программисты на работе. Интересующиеся смогут получить опыт программирования не на одном языке программирования, а сразу на двух - на и . Оба эти языка являются высокоуровневыми и базируются на одной и той же программной платформе. В качестве предлагается использовать свободно распространяемый программный продукт, который обладает минимально достаточной функциональностью для достижения поставленных настоящим курсом программирования целей. Безусловно, можно использовать и профессиональную среду разработки . Начать программировать на или , зная основы синтаксиса , намного проще, чем начать программировать на них с нуля, поскольку их синтаксис во многом похож. Начинать обучение программированию на языках / , я считаю, вообще неперспективно, поскольку (опять же лично мое мнение), эволюция не на их стороне. Но, в общем и целом, большой разницы нет, какой язык программирования новичку выбрать, поскольку принципы, подходы и приемы этого ремесла везде одинаковые.

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