Хотел бы я взглянуть на безумца, программирующего микроконтроллеры на пхытоне, хаскеле или жабе. С — единственный вменяемый язык для них, если не хочешь писать тонны кода на ассемблере. А раз так, то зачем для десктопных приложений учить другой ЯП, если можно одним только С везде обойтись?
а я не вижу в ОП посте отсылки к микроконтроллерам, а потому выбираю более широкоспециализированные языки. вот пусть ОП озвучит, зачем ему знания С, а потом посмотрим.
Почитай receipies — классная подборка. Хоть и устарела отчасти (многое уже включено в стандартные библиотеки), зато по алгоритмам там отлично все расписано (помимо кода есть описание приличное). Кнута не буду рекомендовать — я сам его не осилил ("Все про ТеХ" не считается, т.к. мы о несколько других ЯП).
Незачем что-то читать. Разве что по алгоритмам что-то, ну или уже узкоспециализированное что-то. А так качай исходники свободных прог и изучай их. ну или сам тренируйся.
Я бы посоветовал не увлекаться книжками. Начинай читать, писать и отлаживать код. В идеале присоединись к открытому проекту и попробуй поискать и поисправлять разные несложыне баги. Какие то особые умения программировать тут не требуется, а вот покопаться в исходном коде, найти причину бага и исправить его - будет отличной тренировкой, в том числе и в использовании инструментария.
Завтра ищешь в интернете книжку Categories for the Working Mathematician. Похуй если ничего не поймешь. Затем идешь на haskell.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь определения языка и стандартных библиотек - The Haskell 2010 Report, чтобы от зубов отскакивало. Когда напишешь свой первый катаморфизм, по пути изучив теорию типов на уровне TaPL-а, скачиваешь и изучаешь любую хаскеллевскую библиотеку с первоклассными функторами и морфизмами, рекомендую category-extras или recursion-schemes. Как переделаешь стандартную прелюдию, чтобы по крайней мере все рекурсивные схемы были выражены через комонады, можешь идти дальше - тебя ждет увлекательный мир теории категорий. Катаморфизмы, параморфизмы, зигоморфизмы, хистоморфизмы, препроморфизмы, анаморфизмы, апоморфизмы, футуморфизмы, постпроморфизмы, хиломорфизмы, крономорфизмы, синкрономорфизмы, экзоморфизмы, метаморфизмы, динаморфизмы алгебра и коалгебра Калвина Элгота наконец. Успех хиккующих выблядков / просто быдлокодеров типа рейфага или сисярп/джава-девелоперов, которые работают в Люксофте не будет тебя волновать и уже через пол года ты будешь получать такие гранты, что любой профессор будет теч при одном упоминании списка твоих публикаций.
Уважаемый топикстартер. Ты выбрал не совсем подходящий ресурс для того, чтобы изучить Си. Вернее, совсем не подходящий.
Дело в том, что /development/ ЛОРа не является сообществом профессиональных разработчиков. Профессионалы (то есть те, кто владеет технологиями на высоком уровне и зарабатывает на жизнь разработкой ПО) здесь в подавляющем меньшинстве и, я бы сказал, на птичьих правах. Абсолютное большинство — это тролли, диванные теоретики, доморощенные гуру, форумные трепачи, лисперы, хаскелисты и прочие ёбнутые на голову адепты маргинальщины, фрики, школьники, хипсторы, петросяны, IT-эзотерики, IT-шарлатаны, IT-небыдло и так далее. Здесь в воздухе густо пахнет мамкиным борщом и нонконформизмом. Здесь модно поливать говном все практические, промышленные технологии и подходы (к которым, несомненно, относится и Си). Поэтому вместо экспертного мнения ты получишь здесь 100500 тонн говна на multithreading и 9000 советов учить лисп, хаскель, Smalltalk, Brainfuck, Agda2, Coq и Epigram. Собственно, в топик уже набежали множественные ебанаты с SICP и Categories for the Working Mathematician. Разве это то, чего ты хочешь?
Лично я бы советовал обратиться к англоязычным сайтам и литературе.
нечто_для_совсем_не_могущих_в_программировании,К&R_как_мануал_поС_для_уже_умеющих_прогать_на_чёмто_неС,какая-то-книга,(вторая после K&R - которую ты ищещ.)
хм.
вроде как после K&R хорош Стил с более делальным референсом по языку ( ибо на основе K&R можно писать хромой Скомпайлер(что много кто делал) , то на основе С:ARM - можно совсем_не_хромые компиляторы С лепить jflz)
сырцы - это вторая книга после K&R - либо книжка по сырцам например Плоджер C Standard Library либо сырцы plan9 - вполне лапидарные либо сырцы одной из антикварных версий юникса http://www.tuhs.org/