Прохожу уроки по книжке Стивена Прата «C Primer Plus». Книжка у меня 2000 года, что мне очень в тему, так как проект, над которым я планирую работать придерживается стандарта ANSI C. Но в процессе прохождения уроков, я взял в привычку брать дополнительные упражнения из книги более поздней редакции (2014 года); там больше заданий и некоторые их них весьма занятные. Еще в старой редакции огромное количество ошибок и опечаток, так что подсматривание в современную версию порой помогает исправить косяки.
Буду здесь вести свои заметки по пройденному материалу и выкладывать «прохождение» упражнений. В начале было довольно лениво что-то постить в блог, там были совсем простые штуки, но сейчас подумал — почему бы и нет 🙂 В книжке нет «ответов» на упражнения, так что инфа может быть полезна. На просторах сети народ выкладывает свои варианты выполнения заданий, но там нет «вывода», который может быть полезен начинающим. Также я заметил, что есть 100500 вариантов написания программ и мой кучерявый код зачастую другой, чем у других новичков, так что интересно им поделиться 🙂
К сожалению, у меня не сохранились моя первоначальная редакция решений заданий с 1 по конец 4-ой главы — я их тупо выполнял и не сохранял; первое задание, с которого я начну выкладывай непосредственно программы, которые пишу сейчас будет начинаться с Главы 4, задания 7 (по новой редакции, в старой такого задания нет).
Пара слов о моей системе: я работаю под Windows 7 64x в Borland C++ Builder 6 — оригинальной версии на двух дисках. Почему она? Потому что.. ответ как обычно банален — проект, над которым я буду работать (и ради которого изучаю C) собран под этой версией IDE. Я очень тяготею по открытому ПО и впоследствии буду счастлив портировать проект например на CodeLite, но пока буду использовать Борланд. В целом, как я понимаю, разницы в какой IDE учиться — нет абсолютно никакой, главное чтобы компилятор компилировал, а синтаксис подсвечивался 🙂
Любопытным «косяком» русского перевода книги Стивена Прата «C Primer Plus» является то, что переведены в том числе программы в листинге.. А русский язык (вывод/ввод на русском) в С так просто не работает, надо танцевать с бубном. Поэтому я буду приводить все примеры исходного кода на английском языке. Кроме того, в процессе чтения этой книги я также периодически обращаюсь к первоисточнику, т.к. русским перевод искажает некоторые термины, которые на английском языке, как ни странно, более понятны. Но тем не менее, читать на русском эту книгу приятно, так что большой респект переводчикам!