Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Программирование C++
PAUK-NET.RU - Бесплатный ADSL портал Чувашии > Компьютеры > Прикладное программирование
Mike
Собираюсь начать изучать С++, может кто сказать ссылки на бесплатные учебники по нему
feelin
http://cracklab.ru/download.php?action=get&n=NjM1 [39 Мб]
не плохая подборка
mix
Цитата(Mike @ Sep 20 2007, 19:33) *
Собираюсь начать изучать С++, может кто сказать ссылки на бесплатные учебники по нему

Чувак, а ты случаем не подключен к АДСЛ? Если да то пошарь в ДЦ, там иногда можно чота найти smile.gif.
shmigul
Цитата(Mike @ Sep 20 2007, 19:33) *
Собираюсь начать изучать С++, может кто сказать ссылки на бесплатные учебники по нему

И обизательно было создовать тему? воспользуйся поиском в dc++ клиенте выподут много интересных учебников, выбирай на вкус
KaT9I
У меня вопрос такого плана: можно ли в короткие сроки научиться основам программирования и как?
Amp
Цитата(KaT9I @ Nov 9 2007, 17:50) *
У меня вопрос такого плана: можно ли в короткие сроки научиться основам программирования и как?

Банальный ответ - читать книжки и пробовать писать программки.
XpoHuK
Цитата(KaT9I @ Nov 9 2007, 17:50) *
У меня вопрос такого плана: можно ли в короткие сроки научиться основам программирования и как?
Читать книги , закреплять все на практике , без постоянной практики читать смыла нету ! Практика практика и еще раз практика !
Ireul
На самом деле ни разу в жизни не видел ни однго русского _учебника_ по С++ который не заставил бы меня орать "Ахтунг!". Либо донельзя исковерканные неспециалистами переводы с потерей структуры повестовования, либо серия "Для недоумков", в которой может дойти до того, что в С++ оказываецца типы есть wink.gif)) То есть бессовестно путающие С и С++. Это очень разные языки, и С на несколько порядков проще в освоении.

Или за то время пока я читал без перевода появились-таки русские учебники на которые не надо орать? Просветите старикашку...
Sandro
никто не видел учебник "самоучитель по с++ от Wuley"? хз, до начала обчуения программирования не дошёл, не успел, ибо не моя книга, но вступление понравилось smile.gif
АндрейМ
Цитата(Amp @ Nov 9 2007, 23:51) *
Банальный ответ - читать книжки и пробовать писать программки.


У меня вот такая проблема: сын с 3х лет пользуется компьютером, сейчас учится в третьем классе, хочет изучить какой-нибудь язык программирования, для того чтобы писать игры. Не хочу забивать ему голову "Бейсиком". Как вы думаете - не слишком ли круто будет сразу же изучать С++? 15 лет назад я тоже писал программы на С, и самая "длинная" из них состояла больше чем из 20 тысяч строк. Но ведь к этому моменту уже изучил и свободно владеешь несколькими языками программирования, знаешь архтектуру ПК. Какой язык первым изучают сейчас?
SiMM
Проще всего, возможно, начать с JavaScript?
Amp
Цитата(АндрейМ @ Dec 8 2007, 19:52) *
У меня вот такая проблема: сын с 3х лет пользуется компьютером, сейчас учится в третьем классе, хочет изучить какой-нибудь язык программирования, для того чтобы писать игры. Не хочу забивать ему голову "Бейсиком". Как вы думаете - не слишком ли круто будет сразу же изучать С++? 15 лет назад я тоже писал программы на С, и самая "длинная" из них состояла больше чем из 20 тысяч строк. Но ведь к этому моменту уже изучил и свободно владеешь несколькими языками программирования, знаешь архтектуру ПК. Какой язык первым изучают сейчас?

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

в google вбей smile.gif какой решил изучать? висуал с++ ?
Amp
Цитата(Premiere-9105 @ Dec 8 2007, 23:09) *
в google вбей smile.gif какой решил изучать? висуал с++ ?

Вы прям так спрашиваете, будет имеем кучу разных языков C++ smile.gif
Есть стандарт, разве что компиляторы могут его поддерживать не в полной мере.
Premiere-9105
Цитата
ы прям так спрашиваете, будет имеем кучу разных языков C++
Есть стандарт, разве что компиляторы могут его поддерживать не в полной мере.

Да компиляторы разные и поэтому некоторые команды пишутся подругому, когда сдавал курсач по с++ обратился к знакомуму который изучал помоему боланд с++ так он ниче в моих записях не понял! Курсач я писал в висуале с++, говорят борланд лучше
el-
Почему все пишут C++ ASM + пальцы вверх. Есть и другие очень интерессные темы, сокеты например! -) ОпенГЛ(ну тут нужна математика - не для моего моззга). Базы данных. Почти все языки одинаковы, у всех один принцып.
Merin_S600
Цитата(el- @ Mar 14 2008, 20:07) *
Почему все пишут C++ ASM + пальцы вверх. Есть и другие очень интерессные темы, сокеты например! -) ОпенГЛ(ну тут нужна математика - не для моего моззга). Базы данных. Почти все языки одинаковы, у всех один принцып.

Я конечно за свою жизнь ничего не спрогарммировал толкового(того, что можно было бы назвать ваще программирванием.так писал всякую херь.ну...зато работало.)
Пробовал QBasic, Pascal.
Читал про библиотеку Open GL. Настолько понравилось, что чуть было не решил было начать. Винт в это время сломался и материалы, которые там были я уже не нашёл в продаже софта.
А, хотел сказать, что Open GL относится к C++. Так?
Amp
Цитата(Merin_S600 @ Mar 14 2008, 22:36) *
А, хотел сказать, что Open GL относится к C++. Так?

Нет.
el-
появился бы один, быстрый, и чтоб везде работал. Гыг. Язык.
G®emLIN
Скажите, пожалуйста, какой хидер в С++ включает в себя функцию explode - функцию разбиения строки с определенным разделителем на элементы массива.
Amp
Цитата(G®emLIN @ Mar 29 2008, 23:07) *
Скажите, пожалуйста, какой хидер в С++ включает в себя функцию explode - функцию разбиения строки с определенным разделителем на элементы массива.

Из стандартных - никакой.
Partizan
strtok имеет аналогичный функционал...
dect
Я программирую уже неск. лет (если можно так назвать, вернее начал тогда)) Вобщем попробовал Visal basic, Delphi. Ща С++. И поражаюсь ёлки палки, красота и лаконичность С, против бейсика и паскаля с их не нужными "упрощеными" конструкциями, которые авторы выдают за "обучающие языки". Кошмар кому они вобще нужны? С++ мало того что проще, он ещё и общепринят и кросплатформенен. Вобщем если кто возьметься изучать программирование начинайте сразу с С++ и не морочтье голову с др. языками. По моему это всё рекламная кампания от микрософта просто, что Визиал бейсик проще, и делфи туда ж.

Обьявление переменых:

VB : dim A as integer
Delphi : var A: integer;
С++ : int A;

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


Правда с литературой да напряги. Не встрачал нормальных. Бывают что реально сложно написаны, даються сразу все тонкости попробуй разберись, а на обложке написано для новичков. Изучал(/ю) по серии для чайников, в принципе, изучить можно. Но думать нада многа, не так то просто написано. Хотя язык простой. Таких вот книг, чтобы полному нулю в программировании, легко изучить С++ не встречал. Хотя это вполне реально, просто нету норм. литературы (по крайне мере не встречал). ). Всё равно даже чтобы написать с виду простую игру, гораздо лучше С++.

Вобщем не нада поддаваться что VB проще и т.п. Сегодня нужен калькулятор, завтра программа бухучёта, или игра какая-нть. По своей сути С++ проще чем VB, просто изучить его на ~40% сложнее.
el-
Цитата(dect @ May 27 2008, 22:17) *
Я программирую уже неск. лет (если можно так назвать, вернее начал тогда)) Вобщем попробовал Visal basic, Delphi. Ща С++. И поражаюсь ёлки палки, красота и лаконичность С, против бейсика и паскаля с их не нужными "упрощеными" конструкциями, которые авторы выдают за "обучающие языки". Кошмар кому они вобще нужны? С++ мало того что проще, он ещё и общепринят и кросплатформенен. Вобщем если кто возьметься изучать программирование начинайте сразу с С++ и не морочтье голову с др. языками. По моему это всё рекламная кампания от микрософта просто, что Визиал бейсик проще, и делфи туда ж.

Обьявление переменых:

VB : dim A as integer
Delphi : var A: integer;
С++ : int A;

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


Правда с литературой да напряги. Не встрачал нормальных. Бывают что реально сложно написаны, даються сразу все тонкости попробуй разберись, а на обложке написано для новичков. Изучал(/ю) по серии для чайников, в принципе, изучить можно. Но думать нада многа, не так то просто написано. Хотя язык простой. Таких вот книг, чтобы полному нулю в программировании, легко изучить С++ не встречал. Хотя это вполне реально, просто нету норм. литературы (по крайне мере не встречал). ). Всё равно даже чтобы написать с виду простую игру, гораздо лучше С++.

Вобщем не нада поддаваться что VB проще и т.п. Сегодня нужен калькулятор, завтра программа бухучёта, или игра какая-нть. По своей сути С++ проще чем VB, просто изучить его на ~40% сложнее.


+1

В с++ иммет смысл регистр букв что сбособствует порядку в коде, если будут пляшущие буквы как можно в дельфях делять, то будет бардак. С++ учит порядку скажем так. Да и под UNIX и WINDOWS похожи они(одно и тоже точнее). Хотя немного ранее мне казалось подругому. Почитать надо просто на досуге книженуцию полтора часа и что нибудь понять.
Amp
Цитата(Partizan @ Apr 11 2008, 19:50) *
strtok имеет аналогичный функционал...
Также наткнулся на аналогичный костыль в виде boost::algorithm::split

Цитата(dect @ May 27 2008, 22:17) *
Вобщем если кто возьметься изучать программирование начинайте сразу с С++ и не морочтье голову с др. языками.
Ты просто видел ограниченное множество "других языков" и не видел всего кошмара C++ в лице его величества "нагромождения шаблонов и макросов".
Bjorndalen
Цитата(dect @ May 27 2008, 22:17) *
Я программирую уже неск. лет (если можно так назвать, вернее начал тогда)) Вобщем попробовал Visal basic, Delphi. Ща С++. И поражаюсь ёлки палки, красота и лаконичность С, против бейсика и паскаля с их не нужными "упрощеными" конструкциями, которые авторы выдают за "обучающие языки". Кошмар кому они вобще нужны? С++ мало того что проще, он ещё и общепринят и кросплатформенен. Вобщем если кто возьметься изучать программирование начинайте сразу с С++ и не морочтье голову с др. языками. По моему это всё рекламная кампания от микрософта просто, что Визиал бейсик проще, и делфи туда ж.

Обьявление переменых:

VB : dim A as integer
Delphi : var A: integer;
С++ : int A;

Мой опыт программирования на С++ не такой большой, и мне трудновато пришлось при переходе на него с Паскаля. Именно синтаксис не понравился. Вроде кратко, код программы небольшой. Но запоминать лексемы этого языка сложнее, чем в Pascal. Со временем привыкаешь, но не думаю, что изучение ЯВУ стоит начинать именно с С++. Возможно, с JS.
Ireul
C++ - язык опытного профессионала, его ни в коем случае нельзя путать с С - это, вопреки многим утверждениям, очень разные языки, и, заметьте, малосовместимые(хотя это могут и не понять те, кому не приходилось адаптировать код под С++ из С, чтобы работал, а не просто компилился и падал).

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

Это - настоящее лицо С++, позволяющее избегать частого повторения стереотипных и смертельных ошибок, характерных для С, но изобретающее вместо этого сверххитроумные шарады "попробуй найди где ты угловую скобку забыл, а то не откомпилюсь". И он даже не попытается вам сказать, что две подряд угловые скобки понял как оператор сдвига, а не две закрывающих шаблоны отдельных угловые скобки. А доложит о скобках. Причём в точке применения ошибку покажет, а не в точке декларации. Вот такой вот он...

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

Хотя сам я пока с си плюс плюсом, честно говоря, толком ещё не знаком...
Ireul
Цитата(RedSIL @ Aug 14 2008, 01:59) *
где-то я слышал - типа си плюс плюс - это как бы язык высокого уровня, который создавался чтоб заменить ассемблер... то есть - хотя он ЯВУ, но реализован в большей части на более близком к реальному вычислительному процессу уровне - поэтому он и быстрый - и системный так сказать. Но и в то же время, си - это не ассемблер, а высокоуровневый язык программирования. То есть - программисту он позволяет лучше почувствовать сам реальный процесс, происходящий в системе, и получить над ним контроль, но при это он сам должен понимать, что он делает.

Хотя сам я пока с си плюс плюсом, честно говоря, толком ещё не знаком...


Ты очень сильно путаешь С++ и С.
Как я говорю в пицотыщный раз - это разные и малосовместимые языки.
Ты говоришь о С, и понятия не имеешь о С++, и основной целью его разработки было желание г-на Томпсона не переписывать весь набор утилит для каждой новой версии Unix на асме - и он придумал изолированный набор системных вызовов, позволявший программам интегрироватся в систему через изменяемый интерфейс, и язык, который можно откомпилить в любую версию ассемблера в случае изменений в железе, не меняя программу. Поэтому он изначально разрабатывался как быстрый и системный - требование времени, и в то же время изолированный от системы и ассемблера.
RedSIL
Цитата(Ireul @ Aug 14 2008, 13:33) *
Ты очень сильно путаешь С++ и С.
Как я говорю в пицотыщный раз - это разные и малосовместимые языки.
Ты говоришь о С, и понятия не имеешь о С++, и основной целью его разработки было желание г-на Томпсона не переписывать весь набор утилит для каждой новой версии Unix на асме - и он придумал изолированный набор системных вызовов, позволявший программам интегрироватся в систему через изменяемый интерфейс, и язык, который можно откомпилить в любую версию ассемблера в случае изменений в железе, не меняя программу. Поэтому он изначально разрабатывался как быстрый и системный - требование времени, и в то же время изолированный от системы и ассемблера.

панятно... панятно))) Текст любой программки компилится для каждой системы просто компилятором, подогнанным под неё.
Ireul
Цитата(RedSIL @ Aug 14 2008, 17:33) *
панятно... панятно))) Текст любой программки компилится для каждой системы просто компилятором, подогнанным под неё.

Не совсем... и даже совсем не...
http://pauk-net.ru/ipb/index.php?s=&sh...st&p=404915
RedSIL
Цитата(Ireul @ Aug 14 2008, 17:58) *
Не совсем... и даже совсем не...
http://pauk-net.ru/ipb/index.php?s=&sh...st&p=404915

пасибо, шо ещё раз ткнули пальцем в нос smile.gif А то до нас в реали всё доходит очень медленно...

А системные вызовы у каждой системы разве не свои? То есть под каждую систему усё равно надо исходники в некторых случаях, где они используются, править... этот самый OS SDK для каждой системы ведь свой. И линкер для каждой системы свой нужен... а чем си от си плюс плюс принципиально отличается? Вроде как тем, шо там единая какая-то платформа есть - как вы и сказали, шо кто-то там для того, шоб легче с одной на другую систему проги переводить, придумал это.

ЗЫ - проходил мимо одного книжного магаза... и там книга какого-то Герберта Шилдта "C++ Базовый курс" стоит 600 рубликов... мдЪя... не знай - книжка может и неплохая... но дорого чёт. И задачники всякие тож рублей 200 где-т стоят... зажираются гады.

Тута чёт...
Эта вот книга стояла где-т рублей 400...
тут ещё вроде чёт есть...
Amp
Цитата(RedSIL @ Aug 17 2008, 00:25) *
А системные вызовы у каждой системы разве не свои? То есть под каждую систему усё равно надо исходники в некторых случаях, где они используются, править... этот самый OS SDK для каждой системы ведь свой. И линкер для каждой системы свой нужен... а чем си от си плюс плюс принципиально отличается? Вроде как тем, шо там единая какая-то платформа есть - как вы и сказали, шо кто-то там для того, шоб легче с одной на другую систему проги переводить, придумал это.

Есть стандартная библиотека stdlib (http://en.wikipedia.org/wiki/Stdlib.h), которая содержит ряд важных функций, входящих в стандарт языка. Например fread, fwrite, fopen и прочие, являясь частью стандартной библиотеки, на деле представляют собой обертку вокруг системных вызовов. Меня, как программиста, то, как они реализованы, в идеале не волнует. Я знаю, что это должно быть по стандарту. И баста >.<

Таким образом приходим к тому, что хеллоу ворлды будут собираться на большинстве распространенных ОС при наличии нормального компилятора.
Если появляется желание начать дергать специфические системные вызовы, которые образуют API ОС (например WinAPI), то тут уже ничего не поделаешь (в частности это применимо к Windows и прочим ОС, которые POSIX-несовместимые).

По поводу различных API и системных вызовов рекомендуется к прочтению это http://ru.wikipedia.org/wiki/Интерфейс_про...ания_приложений
Есть библиотеки, которые позволяют писать кроссплатформенные программы на языках Си и С++. Например Qt и wxWidgets (последняя для UI-контролов дергает нативные API - в венде WinAPI, в линуксе GTK+ или же еще что-либо по вкусу)

Принципиальное отличие Си от Си++ в том, что последний является языком более-менее объектно-ориентированным (есть классы, шаблоны, ссылки, перегрузка операций и еще куча вещей, от злоупотребления которых можно тронуться умом) и стоит выше голого Си по уровню абстракции.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.