хорошая книга по чистому Си

Обсуждение различной литературы о Linux

Модератор: Модераторы разделов

Аватара пользователя
Dudraug
Сообщения: 313
ОС: Debian lenny/sid

хорошая книга по чистому Си

Сообщение Dudraug »

Посоветуйте пожалуйста хорошую книгу по чистому (стандартному) Си, сейчас изучаю язык по книге Кернигана и Ритчи "Язык программирования Си" Очень хоршая книга. Но хотелось бы
1) Еще примеров и приемов, (получить больше знаний), как новичку мне это очень важно
2) Хотелось бы немного глубже копнуть (пока что не очень глубоко), чем просто програмирование для начинающего, хотя можете посоветовать и серьезные книги, может позже доросту и до них=)

Заранее спасибо!
P4-3.0, ASUS P5GD1, 1024MB OЗУ, GeForce 6600GT
Спасибо сказали:
Аватара пользователя
Said
Сообщения: 121
ОС: Archlinux

Re: хорошая книга по чистому Си

Сообщение Said »

С.Прата
ЯП C Пер.5-го издания
С.Кочан
Программирование на C
Харбисон, Стил
ЯП С
Г.Уоррен (jr)
Алгоритмические трюки для программистов
Хэзфилд, Кирби
Искусство программирования на С
Сэджвик
Фундаментальные алгоритмы на С
(если доступно на "С++" - тоже подойдет - там не велика разница, опять же развивает).
Для обладания полным бантом ордена св. ...букентия не хватает только бана! Да жалко вам, что ли?
Спасибо сказали:
Аватара пользователя
Dudraug
Сообщения: 313
ОС: Debian lenny/sid

Re: хорошая книга по чистому Си

Сообщение Dudraug »

спасибо
P4-3.0, ASUS P5GD1, 1024MB OЗУ, GeForce 6600GT
Спасибо сказали:
Аватара пользователя
Said
Сообщения: 121
ОС: Archlinux

Re: хорошая книга по чистому Си

Сообщение Said »

Просто курили это уже не раз.
Добъете K&R,
проработайте Прата и Кочана, а потом обратно K&R -
и еще сразу забыл: попробуйте найти их первое русское издание - там совершенно восхитительный сборник задач!
Для обладания полным бантом ордена св. ...букентия не хватает только бана! Да жалко вам, что ли?
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: хорошая книга по чистому Си

Сообщение wzrd »

Dudraug писал(а):
22.01.2008 02:05
Посоветуйте пожалуйста хорошую книгу по чистому (стандартному) Си, сейчас изучаю язык по книге Кернигана и Ритчи "Язык программирования Си" Очень хоршая книга. Но хотелось бы
1) Еще примеров и приемов, (получить больше знаний), как новичку мне это очень важно
2) Хотелось бы немного глубже копнуть (пока что не очень глубоко), чем просто програмирование для начинающего, хотя можете посоветовать и серьезные книги, может позже доросту и до них=)

Заранее спасибо!

я считаю что было бы не плохо знать поверхностно ассемблер и тонкости работы процессора - в дальнейшем будет легче понимать многие трюки. кстати могу посоветовать не совсем книгу, а цикл статей криса касперского "Трюки от криса" они публикуются в каждом номере журнала Хакер (я их даже в интернете где то видел, не помню где), порой он предлагает очень интересные идеи и трюки.
Спасибо сказали:
Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: хорошая книга по чистому Си

Сообщение deninok »

А зачем изучающему С знать ассемблер, пусть даже и поверхностно? Мне кажется, можно обойтись и без этого. Ну если только самые-самые азы ассемблера, то, в принципе, лишним не будет...
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: хорошая книга по чистому Си

Сообщение serzh-z »

deninok писал(а):
31.01.2008 10:28
А зачем изучающему С знать ассемблер, пусть даже и поверхностно?
Возможно потому, что C, в принципе, можно обозвать высокоуровневым и переносимым ассемблером... :)
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: хорошая книга по чистому Си

Сообщение wzrd »

deninok писал(а):
31.01.2008 10:28
А зачем изучающему С знать ассемблер, пусть даже и поверхностно? Мне кажется, можно обойтись и без этого. Ну если только самые-самые азы ассемблера, то, в принципе, лишним не будет...

как это зачем? возьмем даже отладку, не говоря уже об оптимизации.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: хорошая книга по чистому Си

Сообщение drBatty »

wzrd писал(а):
31.01.2008 18:14
deninok писал(а):
31.01.2008 10:28
А зачем изучающему С знать ассемблер, пусть даже и поверхностно? Мне кажется, можно обойтись и без этого. Ну если только самые-самые азы ассемблера, то, в принципе, лишним не будет...

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

Желательно немножко знать ассемблер, для того, для чего учат историю: сейчас нет крепостного права, но в школе его проходят, зачем?
Как понять, почему в С есть i++ и ++i ? Какая тут разница, и почему такого нет в BASIC'е.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: хорошая книга по чистому Си

Сообщение wzrd »

drBatty писал(а):
31.01.2008 19:09
wzrd писал(а):
31.01.2008 18:14
deninok писал(а):
31.01.2008 10:28
А зачем изучающему С знать ассемблер, пусть даже и поверхностно? Мне кажется, можно обойтись и без этого. Ну если только самые-самые азы ассемблера, то, в принципе, лишним не будет...

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

Желательно немножко знать ассемблер, для того, для чего учат историю: сейчас нет крепостного права, но в школе его проходят, зачем?
Как понять, почему в С есть i++ и ++i ? Какая тут разница, и почему такого нет в BASIC'е.

ты прав нужно знать корни. со знанием ассемблера будешь лучше разбираться в компиляторах, их различиях. это конечно не так важно, но и не лишнее.
Спасибо сказали:
Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: хорошая книга по чистому Си

Сообщение deninok »

(serzh-z) писал(а):Возможно потому, что C, в принципе, можно обозвать высокоуровневым и переносимым ассемблером... :)

Так язык С характеризовали в начале 70-годов, когда степень доверия ему (как новому языку) была очень еще мала. Но назвать сегодняшний стандартный С высокоуровневым ассемблером...

(wzrd) писал(а):как это зачем? возьмем даже отладку, не говоря уже об оптимизации.

Ну это смотря что считать оптимизацией. Знание ассемблера нужно тогда, когда в С-шном коде есть прямые ассемблерные вставки. Но это актуально лишь в относительно узком сегменте ПО, где скорость критически важна (например, в условиях сильных аппаратных ограничений).
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: хорошая книга по чистому Си

Сообщение wzrd »

deninok писал(а):
01.02.2008 10:28
Ну это смотря что считать оптимизацией. Знание ассемблера нужно тогда, когда в С-шном коде есть прямые ассемблерные вставки. Но это актуально лишь в относительно узком сегменте ПО, где скорость критически важна (например, в условиях сильных аппаратных ограничений).

не объязательно для чтобы делать ассемблерные вставки, просто чтобы человек знал что он пишет и как это работает на низком уровне и всё
Спасибо сказали:
Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: хорошая книга по чистому Си

Сообщение deninok »

А для чего ему знать, как это работает на низком уровне? Разве для того, чтобы быть первоклассным водителем, необходимо знать тонкости работы двигателя автомобиля?
Спасибо сказали:
Аватара пользователя
MadDog
Бывший модератор
Сообщения: 2298
Статус: Добрый банщик

Re: хорошая книга по чистому Си

Сообщение MadDog »

deninok писал(а):
04.02.2008 20:55
Разве для того, чтобы быть первоклассным водителем, необходимо знать тонкости работы двигателя автомобиля?
Скажу так, желательно, ибо тупого нажимания на газ маловато будет. ИМХО, конечно же.



Но это уже оффтопик.
MadDog's Blog
Внимательно читать: Как правильно задавать вопросы
No fate but what we make
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: хорошая книга по чистому Си

Сообщение serzh-z »

deninok писал(а):
04.02.2008 20:55
Разве для того, чтобы быть первоклассным водителем, необходимо знать тонкости работы двигателя автомобиля?
Программист, это не водитель... И лучше, если он это поймёт раньше, нежели чем никогда. Иначе... а иначе на самом деле станет водителем, обычным, и останется им на всю жизнь.
MadDog писал(а):
04.02.2008 23:01
Скажу так, желательно, ибо тупого нажимания на газ маловато будет.
+1
Спасибо сказали:
Аватара пользователя
eduard_pustobaev
Сообщения: 2629
Статус: Ленивец
ОС: Arch/Debian.

Re: хорошая книга по чистому Си

Сообщение eduard_pustobaev »

serzh-z писал(а):
04.02.2008 23:20
Программист, это не водитель... И лучше, если он это поймёт раньше, нежели чем никогда. Иначе... а иначе на самом деле станет водителем, обычным, и останется им на всю жизнь.

+100
Хотя сам в принципе не программист и с тем же ассемблером не знаком даже поверхностно.
В дисгармонии со вселенной.
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: хорошая книга по чистому Си

Сообщение wzrd »

deninok писал(а):
04.02.2008 20:55
Разве для того, чтобы быть первоклассным водителем, необходимо знать тонкости работы двигателя автомобиля?

А если у этого первоклассного водителя машина не заведется а он куда то опаздывает?
Спасибо сказали:
Аватара пользователя
MadDog
Бывший модератор
Сообщения: 2298
Статус: Добрый банщик

Re: хорошая книга по чистому Си

Сообщение MadDog »

Господа! С водителями разобрались. :) Давайте всё же по теме высказываться.
MadDog's Blog
Внимательно читать: Как правильно задавать вопросы
No fate but what we make
Спасибо сказали:
netguard
Сообщения: 30

Re: хорошая книга по чистому Си

Сообщение netguard »

Шилдта еще можно взять - полный справочник по языку Си.
Примеры есть, и обьяснено все подробным и нормальным языком, а не сухим техническим.

офтоп
2 wzrd
как это зачем? возьмем даже отладку, не говоря уже об оптимизации.

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

Ну и вообще советовать асм, до Си это издевательство. Асм гораздо легче изучается и самое главное понимается, когда уже Си знаешь, хотя конечно самое главное хорошую книгу найти.
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: хорошая книга по чистому Си

Сообщение wzrd »

netguard писал(а):
06.02.2008 13:29
Ну может раньше ... но сейчас то это зачем ? Отладчик, даже тот же gdb можно использовать и без знания асма. При оптимизации без профайлеров не обойтиcь, да и при качественном кодировании разность в производительности асма и Си будет достаточно маленькой, лучше потратить время на разработку хорошего аглоритма.

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

кстати вот еще одна очень хорошая книжка, правда с нее начинать не стоит...
Профессиональное программирование под Unix
Спасибо сказали:
netguard
Сообщения: 30

Re: хорошая книга по чистому Си

Сообщение netguard »

при чем тут gdb? я не про это, а про то что посмотрев на дисассемблерный листинг можно увидеть то что не увидешь на C.

С gdb ты это сделаешь гораздо быстрее. gdb это и есть дисассеблер только для Си, а дисасблер для ассеблера - отладчик. На первом месте всегда время, поэтому я никогда не буду использовать дисассемблер для отладка кода на Си, когда есть отладчик для Си.
Слышал что раньше были такие люди и они мол говорили мы читаем дизассбелрный код и мол все знаем и быстро ошибку находим. Но это было Раньше. Сейчас технологий уйма, сложность возросла в разы, количество кода очень большое - этот метод уже не подходит, сегодня нет уже того самаого когда программа решает только одну задачу, теперь от программы требуется решать множество задач - прогресс.
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: хорошая книга по чистому Си

Сообщение wzrd »

я не говорил что это ускоряет. и вообще давай не будем оффтопить. если есть спор то напиши в личку.
Спасибо сказали:
Serg79
Сообщения: 153

Re: хорошая книга по чистому Си

Сообщение Serg79 »

MadDog писал(а):
04.02.2008 23:01
deninok писал(а):
04.02.2008 20:55
Разве для того, чтобы быть первоклассным водителем, необходимо знать тонкости работы двигателя автомобиля?
Скажу так, желательно, ибо тупого нажимания на газ маловато будет. ИМХО, конечно же.

Вы думайте, что семикратный чемпион Формулы-1 Михаэль Шумахер имеет представление как происходит впрыск горючей смеси в цилиндры его болида? Вот что он знает досконально, так это то как управлять своим болидом.

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

wzrd писал(а):
06.02.2008 14:56
при чем тут gdb? я не про это, а про то что посмотрев на дисассемблерный листинг можно увидеть то что не увидешь на C. я не хочу сказать что хорошо знаю ассемблер, я бы даже сказал,что почти не знаю, но уже понимаю что он не помешает мне.

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

Код: Выделить всё

#objdump -d /bin/wc

и потом объяснить нам, что же там такое происходит.
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: хорошая книга по чистому Си

Сообщение wzrd »

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

никто не спорит, но это не значит что о нем даже представления иметь не надо.
Спасибо сказали:
Аватара пользователя
Folderx
Сообщения: 296
ОС: fedora, mandriva

Re: хорошая книга по чистому Си

Сообщение Folderx »

Serg79 писал(а):
13.02.2008 12:47
Так что не забивайте себе голову никаким ассемблером, а лучше учитесь виртуозно пользоваться теми средствами, которые предоставляет данный язык программирования. Все таки, высокоуровневые языки программирования были для того и разработаны, что бы можно было незадумываться об ассемблере.

Какой смысл отказываться от ассемблера, ну не можешь выучить ассемблер не можешь написать на нём что-нибудь ну не пиши, жди средства, как дождёшься купишь ;)

Вообще все эти разговороры что ассемблер фигня - это то же самое что разговоры что линукс фигня, что там мало софта и прочая прочая, а когда начинаешь интересоваться что ж там фигового, оказывается не получилось какую-то программку установить так что виндовс лучше ;)

Болиды какие-то, откуда ты Serg знаешь чо там знает Шумахер ?
Может он потому и шумахер что не только сидит и тупо рулит.
Выучи правила русского языка, не с глаголами пишется раздельно.
Спасибо сказали:
Serg79
Сообщения: 153

Re: хорошая книга по чистому Си

Сообщение Serg79 »

После таких Ваших слов:
Folderx писал(а):
14.02.2008 07:16
Какой смысл отказываться от ассемблера, ну не можешь выучить ассемблер не можешь написать на нём что-нибудь ну не пиши, жди средства, как дождёшься купишь ;)

У меня складывается впечатление, что весь инструментарий для разработки ПО, Вы написали для себя сам и исключительно на ассемблере.

Folderx писал(а):
14.02.2008 07:16
Вообще все эти разговороры что ассемблер фигня - это то же самое что разговоры что линукс фигня, что там мало софта и прочая прочая, а когда начинаешь интересоваться что ж там фигового, оказывается не получилось какую-то программку установить так что виндовс лучше ;)

Что то Вас батенька понесло совсем не в ту сторону. И пожайлуста, давайте не будем переходить на личности.

wzrd писал(а):
13.02.2008 23:09
во первых я не говорил что я блещу знаниями ассемблера. во вторых я имел ввиду не такой уровень, а на уровне того чтобы знать как загружается программа, точка входа, модели памяти, регистры, регистры флагов (условные переходы и т.д), стэк (добавление и считывание), элементарные команды. уверяю вас что это не лишнее, а скорее полезное. даже с теми же указателями вы станете лучше разбираться.

Забавно слышать пропаганду изучения языка 'ассемблер' от человека, который знает ассемблер на уровне команд "push и pop".
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: хорошая книга по чистому Си

Сообщение wzrd »

Serg79 писал(а):
14.02.2008 09:31
Забавно слышать пропаганду изучения языка 'ассемблер' от человека, который знает ассемблер на уровне команд "push и pop".

Во первых, я и говорю что достаточно этого чтобы понять какая от него польза. Во вторых, я не говорил что я знаю только это. В третьих, не ставьте себя выше кого то и не думайте что вы самый бородатый и крутой асмщик.
Спасибо сказали:
Аватара пользователя
Folderx
Сообщения: 296
ОС: fedora, mandriva

Re: хорошая книга по чистому Си

Сообщение Folderx »

(Serg79) писал(а):Что то Вас батенька понесло совсем не в ту сторону.

"Что то" пишется через дефис ;)
Здесь вообще разговор про С если ты не заметил.
А на чём написан С ты знаешь?

(Serg79) писал(а):Забавно слышать пропаганду

Serg пропаганда тут идёт только от тебя и это конкретная пропаганда тупости.
Чем тебе мешает С и асм этот?
Спасибо сказали:
Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: хорошая книга по чистому Си

Сообщение deninok »

Друзья, чего вы взъелись-то? Хуже всего, когда тема на форуме превращается в пустой треп о том, кто круче и у кого борода больше. Если кто считает, что для понимания работы указателей и прочих низкоуровневых механизмов языка С нужно знание ассемблера - пожалуйста, пусть учит ассемблер. Это же выбор каждого.
Просто если говорить от первоисточника, то Ритчи и Керниган никогда не говорили о необходимости изучения ассемблера перед изучением С. То что это в принципе может быть полезным - ну, наверное, да. Я, например, знаю ассемблер на уровне push и pop (и то с трудом :) ), однако это не помешало мне изучить С, а после сфокусироваться на С++. И работу тех же самых указателей я понимаю достаточно хорошо и без знания asm.
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: хорошая книга по чистому Си

Сообщение wzrd »

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