Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

PAUK-NET.RU - Бесплатный ADSL портал Чувашии _ Прикладное программирование _ Программирование C++

Автор: Mike Sep 20 2007, 18:33

Собираюсь начать изучать С++, может кто сказать ссылки на бесплатные учебники по нему

Автор: feelin Sep 23 2007, 01:32

http://cracklab.ru/download.php?action=get&n=NjM1 [39 Мб]
не плохая подборка

Автор: mix Sep 23 2007, 05:29

Цитата(Mike @ Sep 20 2007, 19:33) *
Собираюсь начать изучать С++, может кто сказать ссылки на бесплатные учебники по нему

Чувак, а ты случаем не подключен к АДСЛ? Если да то пошарь в ДЦ, там иногда можно чота найти smile.gif.

Автор: shmigul Oct 5 2007, 21:20

Цитата(Mike @ Sep 20 2007, 19:33) *
Собираюсь начать изучать С++, может кто сказать ссылки на бесплатные учебники по нему

И обизательно было создовать тему? воспользуйся поиском в dc++ клиенте выподут много интересных учебников, выбирай на вкус

Автор: KaT9I Nov 9 2007, 17:50

У меня вопрос такого плана: можно ли в короткие сроки научиться основам программирования и как?

Автор: Amp Nov 9 2007, 23:51

Цитата(KaT9I @ Nov 9 2007, 17:50) *
У меня вопрос такого плана: можно ли в короткие сроки научиться основам программирования и как?

Банальный ответ - читать книжки и пробовать писать программки.

Автор: XpoHuK Dec 3 2007, 23:40

Цитата(KaT9I @ Nov 9 2007, 17:50) *
У меня вопрос такого плана: можно ли в короткие сроки научиться основам программирования и как?
Читать книги , закреплять все на практике , без постоянной практики читать смыла нету ! Практика практика и еще раз практика !

Автор: Ireul Dec 4 2007, 12:36

На самом деле ни разу в жизни не видел ни однго русского _учебника_ по С++ который не заставил бы меня орать "Ахтунг!". Либо донельзя исковерканные неспециалистами переводы с потерей структуры повестовования, либо серия "Для недоумков", в которой может дойти до того, что в С++ оказываецца типы есть wink.gif)) То есть бессовестно путающие С и С++. Это очень разные языки, и С на несколько порядков проще в освоении.

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

Автор: Sandro Dec 4 2007, 16:08

никто не видел учебник "самоучитель по с++ от Wuley"? хз, до начала обчуения программирования не дошёл, не успел, ибо не моя книга, но вступление понравилось smile.gif

Автор: АндрейМ Dec 8 2007, 19:52

Цитата(Amp @ Nov 9 2007, 23:51) *
Банальный ответ - читать книжки и пробовать писать программки.


У меня вот такая проблема: сын с 3х лет пользуется компьютером, сейчас учится в третьем классе, хочет изучить какой-нибудь язык программирования, для того чтобы писать игры. Не хочу забивать ему голову "Бейсиком". Как вы думаете - не слишком ли круто будет сразу же изучать С++? 15 лет назад я тоже писал программы на С, и самая "длинная" из них состояла больше чем из 20 тысяч строк. Но ведь к этому моменту уже изучил и свободно владеешь несколькими языками программирования, знаешь архтектуру ПК. Какой язык первым изучают сейчас?

Автор: SiMM Dec 8 2007, 20:31

Проще всего, возможно, начать с JavaScript?

Автор: Amp Dec 8 2007, 20:37

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

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

Автор: Premiere-9105 Dec 8 2007, 23:09

Цитата
Собираюсь начать изучать С++, может кто сказать ссылки на бесплатные учебники по нему

в google вбей smile.gif какой решил изучать? висуал с++ ?

Автор: Amp Dec 8 2007, 23:24

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

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

Автор: Premiere-9105 Dec 8 2007, 23:54

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

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

Автор: el- Mar 14 2008, 20:07

Почему все пишут C++ ASM + пальцы вверх. Есть и другие очень интерессные темы, сокеты например! -) ОпенГЛ(ну тут нужна математика - не для моего моззга). Базы данных. Почти все языки одинаковы, у всех один принцып.

Автор: Merin_S600 Mar 14 2008, 22:36

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

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

Автор: Amp Mar 14 2008, 23:36

Цитата(Merin_S600 @ Mar 14 2008, 22:36) *
А, хотел сказать, что Open GL относится к C++. Так?

Нет.

Автор: el- Mar 15 2008, 20:37

появился бы один, быстрый, и чтоб везде работал. Гыг. Язык.

Автор: G®emLIN Mar 29 2008, 23:07

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

Автор: Amp Mar 29 2008, 23:10

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

Из стандартных - никакой.

Автор: Partizan Apr 11 2008, 18:50

strtok имеет аналогичный функционал...

Автор: dect May 27 2008, 21:17

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

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

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

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


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

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

Автор: el- May 28 2008, 09:19

Цитата(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 Jul 24 2008, 16:38

Цитата(Partizan @ Apr 11 2008, 19:50) *
strtok имеет аналогичный функционал...
Также наткнулся на аналогичный костыль в виде boost::algorithm::split

Цитата(dect @ May 27 2008, 22:17) *
Вобщем если кто возьметься изучать программирование начинайте сразу с С++ и не морочтье голову с др. языками.
Ты просто видел ограниченное множество "других языков" и не видел всего кошмара C++ в лице его величества "нагромождения шаблонов и макросов".

Автор: Bjorndalen Jul 25 2008, 14:19

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

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

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

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

Автор: Ireul Aug 13 2008, 17:22

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

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

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

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

Автор: RedSIL Aug 14 2008, 00:59

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

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

Автор: Ireul Aug 14 2008, 12:33

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

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


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

Автор: RedSIL Aug 14 2008, 16:33

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

панятно... панятно))) Текст любой программки компилится для каждой системы просто компилятором, подогнанным под неё.

Автор: Ireul Aug 14 2008, 16:58

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

Не совсем... и даже совсем не...
http://pauk-net.ru/ipb/index.php?s=&showtopic=22889&view=findpost&p=404915

Автор: RedSIL Aug 16 2008, 23:25

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

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

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

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

http://www.proklondike.com/index.php?part=2&mainpart=1
http://www.proklondike.com/contentview.php?content=460
http://c2p.ru/cpp

Автор: Amp Aug 17 2008, 18:00

Цитата(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+ или же еще что-либо по вкусу)

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

Форум Invision Power Board (http://nulled.cc)
© Invision Power Services (http://nulled.cc)