Как я должен изучить C? [закрытый]

Вы можете, но это только для ознакомления и не рекомендуется

df.assign(fakekey='').set_index(['alfa','fakekey'])
              beta  ganma
alfa fakekey             
1                4      5
                 3     17
5
задан Kirill Kobelev 27 February 2017 в 23:34
поделиться

7 ответов

Несколько лет назад, мой друг задал мне тот же самый вопрос: "Как я изучаю C?" Я сказал ему писать драйвер устройства.

Вообразите мое удивление, когда он на самом деле сделал это.

15
ответ дан 18 December 2019 в 05:37
поделиться

Несколько вне темы, но так как Вы упоминаете, что Ваше образование находится в Математике, и Статистика Ваш должна попробовать Ваши силы в Euler Проекта. Существует более чем 200 связанных с математикой/статистикой проблем, доступных для решения. Кроме того, после того как Вы находите решение, можно просмотреть проблемный форум, чтобы видеть, как другие решили то же решение. Очень удобный для наблюдения, как другие решают проблему... и забаву загрузиться!

www.projecteuler.net

4
ответ дан 18 December 2019 в 05:37
поделиться

У меня есть подобные предпосылки к Вам. Я использую Python, чтобы сделать много математики и анализа данных для моего исследования доктора философии, и также для веб-программирования. Различие - то, что я изучил C сначала, путь назад в 90-х.

Если бы можно записать расширения C для Python, то я сказал бы, что у Вас есть довольно хороший дескриптор на том, для чего C хорош. По-моему, C сегодня подходит лучше всего для двух вещей:

  • Запись программного обеспечения низкого уровня, которое взаимодействует с аппаратными средствами.
  • Написание кода, которое делает повторяющийся, утомительный, интенсивный ЦП материал (математика, парсинг XML, и т.д.)..., возможно, как расширение для высокоуровневого языка.

Конечно, много высокоуровневых приложений также записано в C, особенно в соответствии с Linux, который я нашел, но в значительной степени они действительно не записаны в "скелетах" C K&R или стандартной библиотеки. Скорее они используют платформы как Бойкий, или wxWindows или Apache Портативное Время выполнения или другие, который все помещенное использование некоторая объектно-ориентированная структура или конвенции и часто краткий обзор далеко некоторые основные детали управления памятью C.

Таким образом, я думаю, что создание Ваших навыков C, полезных в сегодняшней среде языка программирования, в основном о выполнении работы низкого уровня или знакомиться с одной из этих высокоуровневых платформ. Мне лично нравятся библиотеки Glib и GTK много, так как они используют очень динамическую объектно-ориентированную модель (много как Python), не препятствуя тому, чтобы Вы использовали функции низкого уровня C.

4
ответ дан 18 December 2019 в 05:37
поделиться

Вы могли записать интерпретатор для простого языка. Используйте гибкий провод/бизона. Сделайте это многопоточным и т.д. Интересно и имеет тенденцию осуществлять указатели много. Я записал что-то как этот для школьного проекта: простой основанный на стеке язык с двумя различными сборщиками "мусора", TwoSpace и параллельной версией. Это было забавой. И выполнимый как самая первая c программа, больше, чем "привет, мир"!

2
ответ дан 18 December 2019 в 05:37
поделиться

Найдите или определите проблему в своей ежедневной работе и вынудите себя решить ее с помощью C вместо Python. Это вынудит Вас выучить язык при сохранении проблемы относящейся для того, что Вы обычно делаете.

0
ответ дан 18 December 2019 в 05:37
поделиться

Реализуйте виртуальную машину (JVM, например).

0
ответ дан 18 December 2019 в 05:37
поделиться
Другие вопросы по тегам:

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