|
|
  |
Вопросы по изучению Си |
|
|
|
Mar 8 2009, 07:13
|
Частый гость
 
Группа: Участник
Сообщений: 120
Регистрация: 16-02-08
Пользователь №: 35 087

|
Здравствуйте. Месяца два назад сел за изучение микроконтроллеров AVR. Почитал книгу «Белов А. В. Создаём устройства на микроконтроллерах. 2007», проделал примерчики в CodeVisionAVR, пощупал аврстудию, погонял схемки в протеусе, попрошивал мегу8 на stk500, на макетке собрал. Чувствую что знаний по языку Си не хватает. Имеет ли смысл на некоторое время забыть про микроконтроллеры, установить что-нибудь вроде Microsoft Visual Studio и начать изучать язык Си по книге про чистый Си без привязки к микроконтроллерам, например, по книге 1) Керниган&Ритчи в списке?! Но не знаю, хватит ли на чистый Си сил и энтузиазма, без привязки к микроконтроллерам читать тяжело, да и времени на чтение мало – микроконтроллеры это пока хобби. Или может быть продолжать читать книги по микроконтроллерам?! Но там язык Си рассмотрен поверхностно – пролетарская суть не ясна. Поискал в сети книги по чистому Си (без плюсов), литературы на русском – мало. Вот что удалось найти: 1) Керниган, Ритчи. Язык Си 2) Керниган, Ритчи. Язык программирования Си 3) Керниган, Пайк. Практика программирования 4) Шилдт. Полный справочник по C Остальная доступная в сети литература по Си с первого взгляда менее привлекательна: 5) Афанасьев. Программирование на языке Си 6) Богатырев. Руководство полного идиота по программированию на C 7) Болский. Язык программирования Си 8) Бочков. Язык программирования Cи для ПК 9) Голицина. Основы алгоритмизации и программирования 10) Крупник. Изучаем Си 11) Подбельский. Программирование на языке Си 12) Фьюэр. Задачи по языку С 14) Хэзфилд. Искусство программирования на C 13) Шилтд. С для профессиональных программистов Отдельный вопрос по классической книге: 15) «Роберт Седжвик. Фундаментальные алгоритмы на C. Части 1 - 5. Анализ. Структуры данных. Сортировка. Поиск. Алгоритмы на графах» Книга того же автора с тем же названием встречались мне для С++ - изучать ли ее или попытаться найти эту книгу для чистого Си в бумажном виде?! Верно ли утверждение: «Седжвика можно брать и с "C++" в названии. На самом деле там все равно чистый C». Что еще из книг маскирующихся в названии под «С++» пригодно для изучения про чистый Си?! Если что-то из доступных в сети электронных книг по чистому Си пропустил, пожалуйста, дополните. Может быть есть что то из достойных «бумажных» книг по Си, что не выложено в сеть и стоит найти?! Наверное, нужны книги не просто справочник и не с примитивом, а книга учебная, что бы много различных примеров разобрано, приложений, от простого к сложному и через них вся суть и обобщения. Вот например книги с громкими и многообещающими аннотациями: 16) Прата. Язык программирования C (Си). Лекции и упражнения h**p://www.livelib.ru/book/1000163060 17) Кочан. Программирование на языке C (Си) h**p://www.williamspublishing.com/Books/5-8459-1088-9.html Но за громкими и красивыми обложками, аннотациями, часто бывают пустышки которые лучше даже не читать. Вечные вопросы: что делать и стоит ли вообще читать или может так и ходить неграмотным и программировать методом тыка?! Как развиваться дальше, что читать, в каком порядке читать и что в первую очередь читать?! Спасибо за внимание и советы.
Сообщение отредактировал Владимир_2010 - Mar 8 2009, 07:15
|
|
|
|
|
Mar 8 2009, 07:36
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Достаточно одной - K&R второе издание. Контроллерная специфика для языка это обычно несколько страниц в документации на конкретный компилятор. "Книги по микроконтролерам" это или откровенное дерьмо, или это действительно книги по Микроконтроллерам а не по изучению языков и раcсматривать "примеры" из таких книг следует так-же, как и пример из букваря "Мама мыла раму" - не более. Для расширения кругозра - книга п.3 тоже обязателена к прочтению, но догматично ее принимать к исполнению, тем не менее, не стоит. По тонкостям языка - стандарт C99. Возможно, следует проработать чего-либо с "упражнениями" из западных авторов. Цитата(_Pasha @ Mar 8 2009, 10:22)  И еще - ищите в инете и читайте живые примеры, разбирайтесь что и как написано. Только имейте ввиду, что не менее, чем в 95 случаев из 100 это будет исходник уровня "моя первая программа на C"  и скорее "это" может служить учебным пособием как НЕ надо писать. Посему относиться к найденному в интернете надо более, чем критически.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Mar 8 2009, 08:42
|
Частый гость
 
Группа: Участник
Сообщений: 120
Регистрация: 16-02-08
Пользователь №: 35 087

|
Цитата(_Pasha @ Mar 8 2009, 12:22)  Не начинайте с Codevision. Он портит мозг.  Насчет рака мозга, который вызывает CodevisionAVR мне уже говорил один радиолюбитель. Потихоньку думаю перейти или на Winavr или на IAR. Начал с CodevisionAVR потому что книги по нему есть, тот же Белов для новичка как первый старт. ДА еще в какой-то из книг прочитал мнение что дескать с Winavr новичку разбираться тяжело – лучше начать с CodevisionAVR. Вот что по микроконтроллерам AVR на Си удалось найти: 1) Белов. Создаём устройства на микроконтроллерах 2) Голубцов. Микроконтроллеры AVR от простого к сложному 3) Лебедев. Code Vision AVR 4) Хартов. Микроконтроллеры AVR. Практикум для начинающих 5) Шпак. Программирование на языке C для AVR и PIC микроконтроллеров 6) Joe Pardue. C Programming for microcontrollers, 2005 7) Steven F. Barrett and Daniel J. Pack. Atmel AVR Microcontroller Primer - Programming and Interfacing, 2008 Если что-то пропустил для AVR на Cи – дополните пожалуйста. Хоть и не с примерами на Си, но думаю без книги 8) Евстифеев. Микроконтроллеры AVR семейства Mega не обойтись любому начинающему осваивать семейство Mega В рунете много радолюбителей выкладывают проектов на Winavr или на Codevision, с описаниями – это несомненно плюс для новичка. А IAR у меня тока дока на английском. Да и мудреный IAR какой-то, модный весь, с наворотами. Ни одной книги по IAR даже на английском я не встречал. Хотя пока мозг пустой наверное лучше его приучать к тому что перспективно, т.е. к IAR. Глупый вопрос но все же: код написанный в IAR я смогу загнать в AVRStudio 4.16, прошить микроконтрллер в stk500 и использовать новую связку AVRStudio 4.16 с Proteus v7.4 SP3 (Proteus VSM Viewer)?! И использовать имитацию в AVRStudio аналоговых сигналов для АЦП в связке с Proteus?! С другой стороны: хоть Winavr, хоть IAR, хоть Codevision – проблема незнания языка Си и фундаментальных алгоритмов все равно остается.
Сообщение отредактировал Владимир_2010 - Mar 8 2009, 08:46
|
|
|
|
|
Mar 8 2009, 08:57
|

Профессионал
    
Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581

|
Лично мое мнение такое: программирование - это не знание языка, это способ или стиль мышления. Научиться программировать можно вообще не зная ни одного языка программирования - с моей точки зрения это означает научиться раскладывать решение задачи на необходимые этапы, т.е. алгоритмизация. Вот умению выделять из поставленной задачи отдельные элементы, которые можно (или нужно) выполнять в определенной последовательности (или наоборот, параллельно) для того, чтобы добиться требуемого результата, мало какие книги учат... Язык Си (или другой какой) - это всего лишь набор красок и кистей, которыми мы рисуем картины... Но результат зависит от того, как именно мы воспринимаем мир и как умеем отразить его на холсте. К сожалению, мне неизвестны книги, которые могли бы научить алгоритмике и логическому мышлению, поэтому посоветовать ничего не могу... Но уверен, что начинать нужно именно с этого.
--------------------
Я бы взял частями... но мне надо сразу.
|
|
|
|
|
Mar 8 2009, 09:10
|
Частый гость
 
Группа: Участник
Сообщений: 120
Регистрация: 16-02-08
Пользователь №: 35 087

|
Цитата(zltigo @ Mar 8 2009, 12:36)  Достаточно одной - K&R второе издание. Что неужели по Си ничего кроме Керниган&Ритчи и Керниган&Пайк читать не надо?! Что с книгой Седжвик и трюком в названии «С++»?! По поводу трудов Керниган и Ритчи. У меня две книги. Первая в pdf называется на русском «Керниган, Ритчи. Язык программирования Си/Пер. с англ. 3е издание. 2001 – 352 с», однако двумя страницами ранее на картинке написано по английскому «The C programming Language. Second Edition». Вторая книга тоже в pdf но не понятно что за издание и что за год. На первой странице написано просто «Б.В. Керниган, Д.М. Ричи. Язык С». в книге 229 страниц. Как учить Си по этим книгам?! Какую программулю на компьютер ставить и на чем примеры прогонять?!
|
|
|
|
|
Mar 8 2009, 09:24
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Владимир_2010 @ Mar 8 2009, 12:10)  Что неужели по Си ничего кроме Керниган&Ритчи Раньше, чем K&R понимать начнете - не надо. Цитата По поводу трудов Керниган и Ритчи. У меня две... Я же даже жирным шрифтом выделил второе издание. Если с английским так плохо, что надпись «The C programming Language. Second Edition» воспринимается, как картинка, то надо начинать с английского языка. Цитата(Владимир_2010 @ Mar 8 2009, 12:10)  Что с книгой Седжвик и трюком в названии «С++»?! Думаю, что совсем "ничего". Алгоритмы это Кнут, а не седжвики и иже с с ним рождающие "для С", "для С++", "для Java", "для VBA  "....
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Mar 8 2009, 09:24
|
Частый гость
 
Группа: Участник
Сообщений: 120
Регистрация: 16-02-08
Пользователь №: 35 087

|
Цитата(zltigo @ Mar 8 2009, 14:17)  Я же даже жирным шрифтом выделил второе издание. Если с английским так плохо, что надпись «The C programming Language. Second Edition» воспринимается, как картинка, то надо начинать с английского языка. Спасибо. Second Edition - это всем понятно что второе издание. Только смущает что в книге при переводе на русский издатели написали «Язык программирования Си/Пер. с англ. 3е издание» (на 4ой странице), а двумя страницами ранее "The C programming Language. Second Edition". Вот и уточнил – та ли эта книга. Цитата(zltigo @ Mar 8 2009, 14:17)  Думаю, что совсем "ничего". Алгоритмы это Кнут, а не седжвики и иже с с ним рождающие "для С", "для С++", "для Java", "для VBA Седжвик привлекает тем что на первый взгляд книга достойная и на Си, а Си нужен для освоения микроконтроллеров. До детального изучения «Кнут. Искусство программирования» руки все не доходят. Хотя понимаю что надо. Из классики по алгоритмам что еще обязательно к прочтению?! «Томас Кормен и др. Алгоритмы: построение и анализ»?!
Сообщение отредактировал Владимир_2010 - Mar 8 2009, 09:41
|
|
|
|
|
Mar 8 2009, 09:41
|
Частый гость
 
Группа: Участник
Сообщений: 167
Регистрация: 15-08-07
Пользователь №: 29 803

|
Цитата(ARV @ Mar 8 2009, 11:57)  К сожалению, мне неизвестны книги, которые могли бы научить алгоритмике и логическому мышлению, поэтому посоветовать ничего не могу... Но уверен, что начинать нужно именно с этого. http://mitpress.mit.edu/sicp/Есть в русском переводе: http://newstar.rinet.ru/~goga/sicp/sicp.pdf.
|
|
|
|
|
Mar 8 2009, 09:54
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Владимир_2010 @ Mar 8 2009, 12:24)  Седжвик привлекает тем что на первый взгляд книга достойная и на Си, а Си нужен для освоения микроконтроллеров. Вы английский, как, по учебникам изучать предпочитаете, или по анголоязычным комментариям шекспироведов к Королю Лиру? Если первое, то причем тут наличие примеров на С или любом другом языке в учебнике по алгоритмам?
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|