Си в качестве «первого» языка

Внезапно поняв, что на третьем курсе политеха IT-специальности я толком не умею программировать, а хочется, я начал метаться. Программировать хочу конечно же для iOS, есть необходимый инструментарий в виде Мака и Айфона с Айпэдом для теста, но нет главного – нужных знаний в голове. Что-то знаю, где-то слышал, но в основном каша. Книгу «Become an Xcoder» я прочел, естественно сложного ничего там нет. Следующим этапом выбрал «классику» Денниса Ритчи и Брайана Кернигана «Язык программирования Си». Я правильно сделал? Спасибо.
  • Вопрос задан
  • 12414 просмотров
Пригласить эксперта
Ответы на вопрос 9
Fastto
@Fastto
Начинай сразу с objective-C, с реального приложения. Нет ничего хуже, чем отсутствие заинтересованности, даже если сейчас чешется, удержать это ощущение на долго не получится, а живой проект будет отличным мотиватором.
Язык — это лишь способ реализации определенных задач, если цель твоя iOS — просто глупо начинать с C. Я лично не вижу ни одного «за». А глубокие материи ты и на С все равно так вот сразу не познаешь, все прийдет с опытом.

Из литературы посоветую — Фаулер «Рефакторинг. Улучшение существующего кода.» — поможет сразу писать код более правильно и ускорить процесс «вникания в высшие матери»
Ответ написан
EvilsInterrupt
@EvilsInterrupt
System programming, Reversing Engineering, C++
Мой совет начинать в таком порядке, свою карьеру программером:

1) Плаксин.М «Тестирование_и_отладка_программ». Начните ковыряться с существующими программами, за основу можно взять calc.exe или еще что-либо. Умение тестировать дает возможность беспощадной работы со своим собственным кодом за который вы будете в ответе перед своими коллегами. Это очень полезный навык, пусть даже в минимальном объеме но программер должен уметь тестировать!

2) Язык С среди компьютерных языков сейчас занимает туже роль что и Английский среди человеческих. Зная С вам легче будет понять другие!

3) Никогда не делайте ничего что лично Вам хоть как-то не интересно. Любой проект, любая задача, любое действие должно быть интересно не только поставившему вам задачу, но и лично Вам!

4) Алгоритмы, без них никуда! Чем больше вы их знаете и умете применять на практике и давать оценку по сложности, тем лучше!

5) Паттерны, это имеет смысл когда у вас хоть какой-то опыт программирования. Хотя бы 20 программ напишите, потом поймете сразу что на практике вам встречалось, а что нет. Будете отчетливо понимать чем конкретно тот или иной паттерн может вам помочь.

6) Будьте прагматичны! Любое действие должно Вас приводить к какой-либо ранее поставленной Вами цели.

7) Почитайте «Мифический человеко-месяц» Брукса. То что изложено в книге нужно понимать для того чтобы знать какие конкретно задачи следует выполнять, а какие нет! Умение поправить руководителя правильно и корректно, причем аргументировано дает Вам возможность принести больше в программный проект и следовательно даст Вам преимущество перед коллегами.
Ответ написан
sergeypid
@sergeypid
По-моему, очень правильно. Чистый С очень близок к аппаратуре процессора, и изучение этого языка поможет правильно поставить мозги программиста, если он хочет разрабатывать высокопроизводительные программы, использующие все ресурсы компа. Кроме того, программирование на Objective C без знания С невозможно, кроме случаев простых приложений, которые можно и на HTML сгавнять.
Ответ написан
Melkij
@Melkij
PostgreSQL DBA
Если вы хотите изучать фундаментально и понимаете, что желаемый результат будет не сразу — да, правильно. А так же этот список: habrahabr.ru/blogs/development/135897/
Ответ написан
sdevalex
@sdevalex
Для iOS пишут на objective c, это другое…
Ответ написан
@65520
Однозначно правильно. Тем более, что сама книга очень хорошая, читается и усваивается легко, да и небольшая она совсем.
Ответ написан
Комментировать
opium
@opium
Просто люблю качественно работать
Алгоритмы везде одинаковые, все си подобные языки почти одинаковые. java, c#, php и пр, я не изучал эти языки, но я знаю паскаль, с, qbasic. Достаточно пробежаться быстро по книжке по языку и я могу уже поправить любой мелкий баг в коде который запускаю. Все эти языки в основном отличаются моделя фреймворков и средами разработки. Читаем книгу по objectiv-c и начинаем программировать. Читать с в данном случае полезно, но смысла особого смысла нет.
Ответ написан
Комментировать
wwwsevolod
@wwwsevolod
K&R C и Дональда Кнута :)
Ответ написан
Комментировать
@boolivar
Си — хороший язык, с большой популярностью, может послужить отправной точкой для дальнейшего изучения таких языков как C++ и Java. Если собираетесь стать программистом, так или иначе вам придется знакомиться с другими языками. Изучение других языков поможет вам укрепить «программистское мышление», если можно так выразиться, тогда как сами эти языки могут никогда и не пригодиться. Так, знание языка Си скорее всего вам не пригодится при написании программ для iOS, но могут пригодиться знания полученные при прочтении книги и изучении языка.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы