|
2 / 2 / 0
Регистрация: 03.05.2021
Сообщений: 6
|
|
Как эффективно изучать язык Си?10.05.2021, 22:27. Показов 10044. Ответов 63
Метки нет (Все метки)
Доброго времени суток!
Тут и, вообще, в Интернете довольно много разных книг и других ресурсов по теме - вкусы и методы обучения разные. Язык сам по себе очень притягательный, особенно на Линукс - всё под рукой, раздолье для программиста, прям и затягивает "под капот", хочется узнать как там внутри всё на самом деле работает, или научиться ещё какой-то функцией пользоваться на ночь глядя... Уже больше полугода перешел на Линукс, Pop!_OS. Записался на CS50, пока что (на 6-ой неделе) "отличник", хотя и приходится попотеть (иногда выполнение д/з может затянуться на несколько недель). Цель - когда-нибудь написать свою программу, желательно под Линукс, внести свой посильный вклад в OSS, а ещё круче - добавить свой код в Линукс, который изначально заточен под C. Опыт показывает, что наилучший способ научиться делать что-то хорошо - повторение и работа над ошибками. Вот и пишу маленькие коды как начинающий программист, практикуюсь в свои 45 лет. Беру где попало, особенно на CodeWars. Но... Чувствую, что чего-то не хватает. Как работает та или иная функция или концепция понятно, а почему - не совсем. Например, создавать и работать с объединениями (union) могу, а вот как они могут понадобиться на практике, в чём их польза (не от балды же разработчики его придумали!) и почему место в памяти выделяется наибольшему по размеру элементу объединения (в отличие от struct) не понятно. Может целенаправленной системы обучения/теории мне не хватает? Как-никак, человек я старого поколения, привык, чтобы всё было по конкретной программе и учебникам, с азов (даже если трудно поначалу), с постепенным усложнением, а не по практикумам (tutorial) на Youtube, хотя и там много чего интересного разузнал. А на Западе, как я вижу (могу и ошибаться), учебный процесс построен по принципу "быстрее, легче, веселее, рентабельнее". Могут сильно упрощать любую сложную тему лишь бы обучающийся быстрее достиг результата, а соответственно и быстрее обеспечил прибыль взамен потраченного на него времени и денег. Тут ничего плохого нет, только "издержки" - лощёные языки более высокого уровня абстракции, вроде Python. Но это отдельная тема для разговора.Да, CS50 - идея хорошая, но по мне - слишком обобщённая. Многое приходится искать самому, доучивать по другим источникам; задания хоть и выполнимые, объяснение конкретных целей и методов использования некоторых базовых концепций языка оставляет желать лучшего. Например, только недавно постиг истинный смысл указателей на указатели (double indirection или double pointers), в частности на примере использования строк и структур. Попутно сделал открытие - оказывается, C можно с уверенностью называть "языком указателей, да и только!" Была идея взяться за разработку конкретного проекта с нуля. Как по-вашему, стоит? Нужно ли обольщаться и тратить время на практику без хорошей теоретической подготовки? А как начинали Вы? Что посоветуете? Заранее большое спасибо! Рустам
1
|
|
| 10.05.2021, 22:27 | |
|
Ответы с готовыми решениями:
63
Как начать с 0 изучать язык СИ? Как эффективно изучать программирование? Способ как эффективно и быстро выучить английский язык |
|
2 / 2 / 0
Регистрация: 03.05.2021
Сообщений: 6
|
||||||
| 11.05.2021, 21:49 [ТС] | ||||||
|
И кто меня за язык тянул про объединения?!...
![]()
0
|
||||||
|
фрилансер
6504 / 5748 / 1134
Регистрация: 11.10.2019
Сообщений: 15,392
|
||
| 11.05.2021, 22:16 | ||
|
1
|
||
|
4149 / 2727 / 433
Регистрация: 09.09.2017
Сообщений: 12,086
|
||||||||
| 11.05.2021, 22:33 | ||||||||
0
|
||||||||
|
2 / 2 / 0
Регистрация: 03.05.2021
Сообщений: 6
|
||
| 11.05.2021, 22:55 [ТС] | ||
|
0
|
||
|
фрилансер
6504 / 5748 / 1134
Регистрация: 11.10.2019
Сообщений: 15,392
|
|
| 12.05.2021, 00:35 | |
|
0
|
|
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
||
| 12.05.2021, 09:17 | ||
|
Тоже юзал в такой ипостаси, когда писал под AVR. Битовые поля для МК - мегаудобно!
0
|
||
|
112 / 110 / 30
Регистрация: 08.05.2021
Сообщений: 485
|
|||||||
| 12.05.2021, 10:01 | |||||||
0
|
|||||||
|
4149 / 2727 / 433
Регистрация: 09.09.2017
Сообщений: 12,086
|
|||||||
| 12.05.2021, 10:55 | |||||||
|
. Так больше нравится?
0
|
|||||||
|
|
|
| 12.05.2021, 10:56 | |
|
0
|
|
|
112 / 110 / 30
Регистрация: 08.05.2021
Сообщений: 485
|
|||
| 12.05.2021, 10:59 | |||
|
Добавлено через 51 секунду
0
|
|||
|
|
||
| 12.05.2021, 11:01 | ||
|
0
|
||
|
112 / 110 / 30
Регистрация: 08.05.2021
Сообщений: 485
|
||
| 12.05.2021, 11:02 | ||
|
0
|
||
|
|
|
| 12.05.2021, 11:03 | |
|
0
|
|
|
112 / 110 / 30
Регистрация: 08.05.2021
Сообщений: 485
|
||
| 12.05.2021, 11:17 | ||
|
Но если честно, ваш уровень я увидел с самого начала данной темы. И вопрос свой я задал специально. Как видим, результат полностью оправдал ожидания. Для публики: существуют универсальные критерии, как отличить специалиста от человека, который просто прочитал что-то в интернете и теперь повторяет везде прочитанное, никоим образом не понимая, что имелось ввиду в оригинале. Вот этот персонаж как раз один из таких "ретрансляторов", что очень хорошо видно на примере данной темы. Главный принцип - только лозунги и ни капли конкретики. На коде данный товарищ сразу же показал полное непонимание. Забавно на этом фоне смотрятся возгласы про "с переносимостью могут быть проблемы". Можно видеть, что я ранее сообщил про эти проблемы и показал исправление, а эксперт снова ничего не смог. Хотя скорее всего он просто прочёл мой пост и решил выдать мысь за свою.
0
|
||
|
|
||
| 12.05.2021, 11:35 | ||
|
0
|
||
|
4149 / 2727 / 433
Регистрация: 09.09.2017
Сообщений: 12,086
|
||||
| 12.05.2021, 11:58 | ||||
|
Но спасибо что напомнили и о такой вещи. В вашем выделяется "мультитипизированный" кусок памяти, который кастуется к нужному типу из заданного списка. В чем принципиальная разница? Ну кроме синтаксического сахара, который уже озвучили (выравнивание, выбор размера)? С переносимостью тоже никакой разницы не будет, ведь что там приведение типов, что там. Собственно, поэтому union'ы и используют либо там, где разные приведения не связаны, либо в платформо-зависимой части (тех же контроллерах).
0
|
||||
|
4149 / 2727 / 433
Регистрация: 09.09.2017
Сообщений: 12,086
|
|
| 12.05.2021, 13:16 | |
|
0
|
|
|
|
||
| 12.05.2021, 13:35 | ||
|
0
|
||
|
2 / 2 / 0
Регистрация: 03.05.2021
Сообщений: 6
|
|
| 12.05.2021, 13:48 [ТС] | |
|
Ребята, это уже второй намёк с моей стороны - Вы про заголовок темы не забыли случайно?
Бог с вами, своё время не жалеете, моё-то пожалейте! Выясняйте отношения в другом месте, пожалуйста. По теме только первые 2-3 ответа. ![]() Представьте какое у меня мнение о форуме складывается в целом - я пришёл сюда узнать что-то полезное, а тут первое же сообщение-просьба и наталкиваюсь на выяснение отношений... Спасибо за понимание! Рустам
1
|
|
| 12.05.2021, 13:56 | |
|
Не по теме: _LoLo_, так это штатный процесс изучения языка, нужно привыкать :D
0
|
|
| 12.05.2021, 13:56 | |
|
Как изучать язык?
Как мне изучать язык java? Как изучать язык по книге Хейлсберга? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|