LINUX.ORG.RU

книги по безопасному C, или за что браться после K&R


1

4

Сабж.

Под K&R в данном случае имеется в виду The C Programming Language.

Интересует скорее всего подборка советов на тему «как не надо делать». И советы из серии «используйте snprintf вместо sprintf, хотя бы просто на всякий случай».

Можно попробовать:

Expert C Programming: Deep C Secrets by Peter van der Linden

но такое:

Интересует скорее всего подборка советов на тему «как не надо делать».

ты вряд ли найдёшь в одном месте/издании.

Для этого - man-ы, личный опыт, гугл, тематические сайты.

OldFatMan
()
Ответ на: комментарий от OldFatMan

Для этого - man-ы, личный опыт, гугл, тематические сайты.

а ещё лучше - участие в большом проекте

shty ★★★★★
()
Ответ на: комментарий от visual

Да ничто не мешает, изначальный вопрос несколько шире одного конкретного примера.

Есть ли литература на эту тему? Желательно именно бумажная, хотя и за подборку статей в Инете я б тоже спасибо сказал.

monsterkiller
() автор топика
Ответ на: комментарий от shty

а ещё лучше - участие в большом проекте

Это не то что лучше - это само собой подразумевается. Иначе зачем всё перечисленное читать?

OldFatMan
()
Ответ на: комментарий от monsterkiller

Тематические сайты - это типа git.kernel.org

И это тоже. Но стоит ли сразу с ядра начинать - это решать тебе, в зависимости от уровня твоей подготовленности.

или есть что-нибудь поконкретнее?

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

OldFatMan
()

Прежде всего: 19 смертных грехов угрожающих безопасности программ. Майкл Ховард, Дэвид Лебланк, Джон Виега.

cyberpunk
()
Ответ на: комментарий от s0L

берись за С++

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

monsterkiller
() автор топика
Ответ на: комментарий от monsterkiller

так что на кресты меня никакими уговорами не сманить.

Не зарекайся. Жизнь может заставить. :)

Когда-то давно и я так же думал. Но далеко не всегда удавалось на Pure C оставаться.

Да и полжизни тратить на изучение тоже не хочется.

Зачем полжизни? Если ты прилично знаешь С, то за полгода (это максимум) освоишь С++ на уровне, достаточном для участия в каком-нибудь проекте. Способ мышления, правда, менять придётся, но это полезно. ;)

OldFatMan
()
Ответ на: комментарий от monsterkiller

Да и полжизни тратить на изучение тоже не хочется.

Правильно, куда лучше потратить полжизни на сишном микроменеджменте.

staseg ★★★★★
()

Некоторая гипербола, но: если K&R не хватает, возможно, следует присмотреть другой язык для решения задачи.

oami ★★
()
Ответ на: комментарий от pianolender

Если так, то лучше уж начать со стивенсовского APUE, а уж потом переходить к UNP и IPC.

OldFatMan
()
Ответ на: комментарий от monsterkiller

Ален И. Голуб «Правила программирования на С и С++, или веревка достаточной длины чтобы выстрелить себе в ногу».

LongLiveUbuntu ★★★★★
()

Нахер книга по языку. Идну прочитал - и хватит. Дальше только практика.

ttnl ★★★★★
()
Ответ на: комментарий от OldFatMan

Это не то что лучше - это само собой подразумевается.

я про то что рассматривать такое участие как один из этапов обучения

shty ★★★★★
()
Ответ на: комментарий от PolarFox

С++ — средней корявости объектная обёртка над тем же сишным микроменеджментом, не?

это бред

shty ★★★★★
()
Ответ на: комментарий от shty

я про то что рассматривать такое участие как один из этапов обучения

И я про это же.

Просто читать книжки по ЯП - напрасная трата времени, особенно после того, как основы изучены и закреплены на практике.

Второй этап - участие в проекте и параллельное чтение материалов из разряда «advanced» & «professional».

OldFatMan
()

Я бы посоветовал не начинать рьяно писать код, а поизучать прикладные области, где выученный язык можно/хочется/интересно применять, а вместе с этим уже и начинать писать соответствующие программы. Пустое чтение книг по языку в итоге приводит к тому, что «профессиональный программист перл с легкостью решает задачи, поставленные языком перл» - на место перл в общем то можно подставить любой другой язык.

staseg ★★★★★
()

ОП, думаю тебе стоит посмотреть Б. Керниган, Р. Пайк. Практика программирвоания

maggotroot
()

за что браться после K&R

как тут уже говорили, за K&P — The Practice of Programming

подборка советов на тему «как не надо делать»

скорее развлекуха, но весьма милая: Steve Oualline — How not to program in C++ (традиционных для C штук там тоже достаточно)

anonymous
()
Ответ на: комментарий от PolarFox

С++ — средней корявости объектная обёртка над тем же сишным микроменеджментом, не?

Но ведь микроменеджмента становится меньше, разве не так?

anonymous
()

где-то на гнутом сайте, лежит наставление о стиле программинга на си. сам я уже не помню где именно.

и ещё можно глянуть на следующей страничке

AGUtilities ★★★
()

Про C - C Traps and Pitfalls (Andrew Koenig), C: A Reference Manual (Harbison, Steele), comp.lang.c faq.

Про Unix - книги Стивенса и Кернигана с Пайком.

quasimoto ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.