Re[12]: Начинаю!
От: Lorenzo_LAMAS  
Дата: 13.02.04 15:06
Оценка:
Она еще, вроде, не такая страшная была, как Б.Л.
Of course, the code must be complete enough to compile and link.
Re: ОФФ
От: LaptevVV Россия  
Дата: 13.02.04 15:11
Оценка: 14 (1)
Здравствуйте, Denis, Вы писали:

D>А можно небольшой ОФФ.

D>Во-первых можно не отвечать, во-вторых я считаю что это просто огроменный труд написать книгу и ещё раз скажу, что преклоняюсь перед таким делом.
Ну, на самом деле это такая ж работа по договору. как и программирование.Как всегда, последнего дня не хватает, чтобы все как хотелось, написать — издательство требует "завершения банкета".

D>Теперь вопрос:

D>В чём преимущества ВАШЕЙ книги перед теми что уже есть на рынке, например, перед C++ Primer ? Просто мне, вероятно, предстоит вести курс по С++ и инетересна очень Ваша книга.


Введение
По шутливому замечанию Джеффа Элджера [49], «на рынке продается по крайней мере 2 768 942 книги о С++». И все же выдержите в руках еще одну — 2 768 943-ю книгу о том же самом. Зачем нужна еще одна книга о С++?

Когда я стал преподавать программирование на языке С++ для первокурсников, мне потребовалось выбрать базовый учебник, по которому студенты станут изучать С++ и учиться программировать на этом языке. Перерыв гору литературы, я с удивлением констатировал, что нужной мне книги нет. По той или иной причине ни одна из них меня не устроила. Оказалось, что некоторые очень важные свойства языка часто либо вовсе не описаны, либо рассматриваются на элементарном уровне. Наверное, лучшим выбором была бы книга Стенли Липпмана «С++ для начинающих», однако в настоящее время ее просто не найти.

Все книги о С++ можно разделить на несколько категорий: о самом языке С++, об использовании конкретной среды программирования вроде Borland C++ Builder или Visual C++, и о типовых структурах данных и алгоритмах. Однако по собственному опыту знаю, что этого недостаточно, чтобы научиться программировать на С++. В жизни программисту приходится сталкиваться с целым спектром чисто практических проблем, которые по непонятным мне причинам практически ни в одной книге не излагаются.

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

Во-вторых, программировать, не обращая внимания на операционную систему и аппаратную платформу, тоже невозможно — хотя бы потому, что реализация встроенных типов данных зависит от аппаратуры. И тут существует множество «подводных камней», на которые постоянно «натыкается» начинающий программист. А ввод/вывод в любом языке программирования всегда зависит от файловой системы ОС. Недаром, чтобы уменьшить эту зависимость, ввод/вывод в С++ полностью вынесен в отдельные библиотеки.

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

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


Кому адресована эта книга
Книга представляет собой практическое введение в программирование на С++ в распространенных в России средах фирмы Borland и Visual C++. Книга написана, в первую очередь, для моих студентов — начинающих программистов, которые хотели бы научиться программировать на С++. Желательно (но не обязательно), чтобы имелся опыт программирования (хотя бы учебных программ) на другом языке. Однако и более опытные программисты, надеюсь, найдут в книге немало интересного.


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

Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[6]: Начинаю!
От: dmz Россия  
Дата: 13.02.04 15:11
Оценка:
J>я начинал с бейсика
J>причем с древнего, с нумерацией строк
Гы. А я с Малого Ассемблера, для Малой Машины. На самом деле, почти плагиат
с миксала, как в последствии выяснилось. Потом С, потом asm, потом ++ ...
На выпускном по программированию в школе сдавал графическую библиотеку для VGA 12h mode,
C + ASM. Написано было в течении года, исходники утеряны, так что пришлось
дизассемблировать объектники. Было же время...

Кстати, думаю, что начинать лучше с чего-нибудь уровнем пониже, дабы хорошо
представлять как оно все работает, хотя бы в принципе. Что бы потом не плодить
монстров.
Re[12]: Начинаю!
От: LaptevVV Россия  
Дата: 13.02.04 15:16
Оценка:
Здравствуйте, jazzer, Вы писали:

J>>>Первый оператор ЭВМ (машинки Бэбиджа)

LVV>>Не оператор, а программист. Написала первые две статьи по программированию — о том, что должно входить в систему команд. В частности, про условия и циклы.

J>О, так она круче, чем я думал!

J>Ну что, заносим в список великих програмерских муз наряду с Барбарой Лисков?
Обязательно!
Хотя фотографий тогда не было, но на портретах она — красавица.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: ОФФ
От: Denis Россия http://blogs.gotdotnet.ru/personal/Denis
Дата: 13.02.04 15:16
Оценка:
спасибо!
закажу на books.ru =)
... << RSDN@Home 1.1.0 stable >>
Re[2]: ОФФ
От: jazzer Россия Skype: enerjazzer
Дата: 13.02.04 16:02
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>

Не могу не поблагодарить членов команды RSDN, в общении с которыми я провел много часов, выясняя нюансы тех или иных конструкций С++.


Заходи еще ;)
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[2]: ОФФ
От: Шахтер Интернет  
Дата: 14.02.04 01:23
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>

LVV>Все книги о С++ можно разделить на несколько категорий: о самом языке С++, об использовании конкретной среды программирования вроде Borland C++ Builder или Visual C++, и о типовых структурах данных и алгоритмах. Однако по собственному опыту знаю, что этого недостаточно, чтобы научиться программировать на С++. В жизни программисту приходится сталкиваться с целым спектром чисто практических проблем, которые по непонятным мне причинам практически ни в одной книге не излагаются.

LVV>Во-первых, как я неоднократно ранее убеждался на собственном опыте, и еще больше раз убедился на опыте моих студентов, изучить язык программирования в отрыве от среды программирования нельзя. Можно прекрасно выучить все нюансы С++, но быть совершенно беспомощным при написании конкретной программы в конкретной системе. Обучение всегда должно происходить в некоторой среде программирования, да и работать всегда приходится в реальной системе, которая имеет те или иные особенности и недоработки.

LVV>Во-вторых, программировать, не обращая внимания на операционную систему и аппаратную платформу, тоже невозможно — хотя бы потому, что реализация встроенных типов данных зависит от аппаратуры. И тут существует множество «подводных камней», на которые постоянно «натыкается» начинающий программист. А ввод/вывод в любом языке программирования всегда зависит от файловой системы ОС. Недаром, чтобы уменьшить эту зависимость, ввод/вывод в С++ полностью вынесен в отдельные библиотеки.

LVV>Такой же серьезной проблемой является переход от консольных приложений к оконным. Помню, как мучительно долго я, опытный программист, разбирался в идеологии и особенностях программирования для Windows. Угнетало количество технических деталей и отсутствие четких ориентиров, на что в первую очередь обращать внимание. Тем более такой переход сложен для новичка, несмотря на то, что сейчас существует достаточно много отличных книг, обучающих программированию для Windows.


Вступление хорошее. Вернусь домой -- куплю, если она ещё будет в магазинах.

Кстати, я тут на новогодних праздниках прикупил книжку Джанет Дж. Причард, Фрэнк М. Каррано "Абстракция данных и решение задач на С++. Стены и зеркала (3-е издание)"
здесь
Я её прочитал, правда, пулемётом, но в общем, впечатление хорошее. Для студентов -- самое оно. Для продвинутых. Было бы неплохо её отрецензировать на RSDN е, мне кажется.
... << RSDN@Home 1.1.0 stable >>
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[7]: Начинаю!
От: Шахтер Интернет  
Дата: 14.02.04 02:03
Оценка:
Здравствуйте, Павел Кузнецов, Вы писали:

ПК>Здравствуйте, Amon-RA, Вы писали:


AR>> Просто С++ — бездна. "Числа нет звездам, бездне — дна." Не отпугнула бы.

AR>> С — начало этой бездны, вот и все

ПК>Обучаясь на C, человек просто вынужден сразу иметь дело с самыми темными уголками

ПК>этой бездны (адресная арифметика, преобразования типов и т.п.)
. Обучаясь на C++,
ПК>вполне можно отложить изучение этих вещей "на потом", для начала используя
ПК>стандартную библиотеку, избавляющую от низкоуровневых "уголков".

Я просто в шоке. Это же основа основ. Человек, не понимающий указателей и адресной арифметики не может называться C/C++ программистом.
Ну, в конце концов, есть C# или Java. Там вроде нет тёмных углов. Может, людям, боящимся низкоуровневых аспектов просто не стоит заниматься C/C++?
... << RSDN@Home 1.1.0 stable >>
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[4]: Начинаю!
От: Аноним  
Дата: 14.02.04 06:27
Оценка:
W>>Абель П. Язык ассемблера для IBM PC и программирования. М.: Высшая школа, 1992. — 447с.
LVV>Переиздание уже было. То ли в прошлом. то ли уже в этом году.

Есть у меня какая-то. Очень слабое изложение и ошибок море, начиная от того, что делают разные инструкции (loopne, loope неправильно, если помню, были обьяснены) и кончая разными частями ДОСа.
Re[8]: Начинаю!
От: jazzer Россия Skype: enerjazzer
Дата: 14.02.04 08:16
Оценка: +1
Здравствуйте, Шахтер, Вы писали:

Ш>Здравствуйте, Павел Кузнецов, Вы писали:


ПК>>Здравствуйте, Amon-RA, Вы писали:


AR>>> Просто С++ — бездна. "Числа нет звездам, бездне — дна." Не отпугнула бы.

AR>>> С — начало этой бездны, вот и все

ПК>>Обучаясь на C, человек просто вынужден сразу иметь дело с самыми темными уголками

ПК>>этой бездны (адресная арифметика, преобразования типов и т.п.)
. Обучаясь на C++,
ПК>>вполне можно отложить изучение этих вещей "на потом", для начала используя
ПК>>стандартную библиотеку, избавляющую от низкоуровневых "уголков".

Ш>Я просто в шоке. Это же основа основ. Человек, не понимающий указателей и адресной арифметики не может называться C/C++ программистом.

Ш>Ну, в конце концов, есть C# или Java. Там вроде нет тёмных углов. Может, людям, боящимся низкоуровневых аспектов просто не стоит заниматься C/C++?

Речь не о том, чтобы так сразу и называться
речь о том, с чего начинать


сколько рах я пробовал обучать народ плюсам, все стопорились на работе с памятью, но при этом очень сносно писали STL-ные навороты
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[7]: Начинаю!
От: arudak Россия  
Дата: 14.02.04 10:12
Оценка:
Здравствуйте, Lorenzo_LAMAS, Вы писали:

LVV>>Но ИМХО, книжка-то не для вас, сэр Лоренцо. Вы уже из нее выросли давно.

LVV>>Если только для коллекции.

L_L>На халяву — я все люблю


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

А можно и мне прислать? Начинаю изучать C++ с IDE VS 6.0,по тому что найдено в инете не так уж понятно.
... << RSDN@Home 1.1.2 stable >>
Re[8]: Начинаю!
От: v0id  
Дата: 14.02.04 10:55
Оценка:
Здравствуйте, Шахтер, Вы писали:

Ш>Здравствуйте, Павел Кузнецов, Вы писали:


ПК>>Здравствуйте, Amon-RA, Вы писали:


AR>>> Просто С++ — бездна. "Числа нет звездам, бездне — дна." Не отпугнула бы.

AR>>> С — начало этой бездны, вот и все

ПК>>Обучаясь на C, человек просто вынужден сразу иметь дело с самыми темными уголками

ПК>>этой бездны (адресная арифметика, преобразования типов и т.п.)
. Обучаясь на C++,
ПК>>вполне можно отложить изучение этих вещей "на потом", для начала используя
ПК>>стандартную библиотеку, избавляющую от низкоуровневых "уголков".

Ш>Я просто в шоке. Это же основа основ. Человек, не понимающий указателей и адресной арифметики не может называться C/C++ программистом.

Ш>Ну, в конце концов, есть C# или Java. Там вроде нет тёмных углов. Может, людям, боящимся низкоуровневых аспектов просто не стоит заниматься C/C++?

Я учился по Страуструпу:он писал ,что зачастую необходимо избегать низкоуровневых кодов ,к тому же знаю стандартный класс allocator(ну а также ,как можно написать свой распределитель).Так о чем это я?..Действительно ли так важно знать адресную арифметику?
Re[4]: Начинаю!
От: v0id  
Дата: 14.02.04 11:05
Оценка:
Здравствуйте, Анатолий Широков, Вы писали:

АШ>Здравствуйте, LaptevVV, Вы писали:


LVV>>Здравствуйте, Vamp, Вы писали:


А>>>>Доброго всем времени суток! Подскажите какую книгу по c++ прочитать для начала.

V>>>Я бы советовал Страуструпа.
LVV>>НИ В КОЕМ РАЗЕ!!!!!
LVV>>Вы что!!! Начинающему советовать такое чтиво — сразу охоту изучать отобете.

АШ>Это смотря как посмотреть. Например, мне было лесно, что я читаю САМОГО Страуструпа — СОЗДАТЕЛЯ — это невольно стимулировало развитие узнать столько сколько знает этот человек или хотя идти в этом направлении. И опять же Страуструп "вопервых строках своего письма" сказал буквально следующее, что "если не будет понятно с первого раза, ничего страшного, вернетесь к этому познее". Так что мне читать Страуструпа было очень даже уютно.


АШ>Ну и, конечно, без практических занятий мало толка в одном лишь чтении.


АШ>Все это ИМХО.


Абсалютно согласен:читать самого создателя языка..Здорово!
Re[9]: Начинаю!
От: Павел Кузнецов  
Дата: 14.02.04 11:35
Оценка:
Здравствуйте, v0id, Вы писали:

v> Действительно ли так важно знать адресную арифметику?


Важно. Но начинать обучение, имхо, лучше с других вещей.
Posted via RSDN NNTP Server 1.7 "Bedlam"
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[8]: Начинаю!
От: Павел Кузнецов  
Дата: 14.02.04 11:43
Оценка:
Здравствуйте, Шахтер, Вы писали:

ПК>> Обучаясь на C, человек просто вынужден сразу иметь дело с самыми

ПК>> темными уголками этой бездны (адресная арифметика, преобразования типов
ПК>> и т.п.). Обучаясь на C++, вполне можно отложить изучение этих вещей
ПК>> "на потом", для начала используя стандартную библиотеку, избавляющую от
ПК>> низкоуровневых "уголков".

Акценты изменены в соответствии с первоначальными намерениями.

Ш> Это же основа основ. Человек, не понимающий указателей и адресной арифметики

Ш> не может называться C/C++ программистом.

Вопрос только в порядке обучения. Имхо, действительно, новичку лучше изучить
совсем основательные основы языка, в частности, и программирования, вообще.
Впрочем, как я понимаю, здесь есть, по меньшей мере, две школы: одна предпочитает
учить "снизу вверх", а другая — наоборот. Мне ближе последнее.

Ш> Ну, в конце концов, есть C# или Java. Там вроде нет тёмных углов.


Есть. Только спрятаны лучше, поэтому иногда, когда с ними, все-таки,
сталкиваешься, понимать и воздействовать на происходящее сложнее.
Это о Java. Могу предположить, что с C# примерно та же история.
Posted via RSDN NNTP Server 1.7 "Bedlam"
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[9]: Начинаю!
От: Шахтер Интернет  
Дата: 14.02.04 19:03
Оценка:
Здравствуйте, Павел Кузнецов, Вы писали:

ПК>Вопрос только в порядке обучения. Имхо, действительно, новичку лучше изучить

ПК>совсем основательные основы языка, в частности, и программирования, вообще.
ПК>Впрочем, как я понимаю, здесь есть, по меньшей мере, две школы: одна предпочитает
ПК>учить "снизу вверх", а другая — наоборот. Мне ближе последнее.

А, ну так, мне кажется, человек, который учится языку, должен сам для себя понять, как ему лучше двигаться. А можно ещё учить и сверху, и снизу, к середине.
... << RSDN@Home 1.1.0 stable >>
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Совесть конфы =)
От: Denis Россия http://blogs.gotdotnet.ru/personal/Denis
Дата: 14.02.04 22:33
Оценка: +1
Товарищи, имеем совесть и уважаем чужой труд. 150р. не заоблачная сумма если книга нужна.
... << RSDN@Home 1.1 beta 1 >>
Re: Совесть конфы =)
От: arudak Россия  
Дата: 15.02.04 13:26
Оценка: 5 (1)
Здравствуйте, Denis, Вы писали:

D>Товарищи, имеем совесть и уважаем чужой труд. 150р. не заоблачная сумма если книга нужна.


Так уж заказал Но спросить то надо.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.