|
216 / 1 / 2
Регистрация: 26.02.2020
Сообщений: 258
|
|
Нескучный С26.02.2020, 19:58. Показов 842. Ответов 13
Метки нет (Все метки)
Добрый день всем гуру программирования! Тема названа так, потому что методика преподавания программирования, в частности С, в ВУЗах, большинстве курсов, книгах, по моему мнению, не позволяет многим людям пройти дальше этапа обучения. Практически всегда программа обучения построена на абстрактных вещах. К С я вернулся после того как узнал об платах Ардуино, т.к. там можно собрать что-то реальное т.е. заново появился интерес к этой теме. По С я читаю книгу Прата, очень приятная подача материала, но опять консольные окна везде. Везде и всюду говорят и пишут, что на С можно писать все что угодно, но кроме консольных окон никаких примеров больше нет, уже устал искать какие-то более интересные примеры. Подскажите, пожалуйста, где можно найти примеры программ или какие-то книги где можно найти разработку какого-то конечного продукта? Как пример даже тоже десктоп приложение/программа под винду.
0
|
|
| 27.02.2020, 11:46 | |
|
mixa88, примеры программ, написанных на С, выбиратйе любую https://github.com/kozross/awesome-c
Вот ещё вариант, но в форме видео, однако, человек объясняет что он делает и зачем: https://www.youtube.com/watch?... 1o&t=3484s Не уверен, что там чистый Си, скорее всего, он использует некоторые плюшки из плюсов, но пишет в си-стиле.
1
|
|
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||
| 27.02.2020, 11:53 | ||
|
Но для работы с GUI (Графический интерфейс пользователя, то что вы видимо имели виду), требуется реализовать очень много мелких деталей. Да еще и зависящих от железа. Этим можно заняться. Но работа эта кропотливая, нервная, и очень не сразу даст она ощутимый результат. Да и зачем? Если до вас добрые и умные люди создали БИБЛИОТЕКИ, берущие на себя всю кропотливую работу по созданию ГУИ. Библиотеки эти - как китайская пагода. На нижнем уровне лежат такие вещи как WIN-API. Для других операционок и железяк есть свои АПИ. То есть свои библиотеки общения с экраном и клавиатурой. Я думаю, что такое же АПИ (такие же) должно быть и для Ардуино. Дело в том, что общение на уровне консоли уже встроено в Си. То есть, есть соответствующая библиотека А общение на уровне ГУИ - не встроено.
1
|
||
|
216 / 1 / 2
Регистрация: 26.02.2020
Сообщений: 258
|
|
| 27.02.2020, 14:29 [ТС] | |
|
Спасибо за ответы ! Я согласен, что есть библиотеки и очень рад был бы воспользоваться ими, но нужно еще и уметь ими пользоваться. Мне как-то встречалась книга по С# (вроде) так там автор с самого первого урока начал составлять какое-то приложение, что-то вроде калькулятора и параллельно объяснять теорию и в итоге по окончанию курса человек может это же повторить т.е. в конечном итоге получить какой то продукт своей деятельности. Вот есть ли что-то подобное на С?
0
|
|
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
|
| 27.02.2020, 20:04 | |
|
0
|
|
|
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
|
||
| 27.02.2020, 23:13 | ||
|
В языке же С такой стандартной оконной библиотеки нет. И вообще, язык С довольно суров, а его стандартная библиотека крайне скудна. Так что, если хочется красивостей, то придётся дополнительно установить какую-то оконную библиотеку на выбор, или использовать WinAPI под Windows. А это всё довольно хлопотное дело, и в рамках книги для новичков способно отпугнуть сразу половину читателей (если не больше). Да и вообще, создавать сложное оконное приложение на языке С - не самое благодарное занятие. Есть гораздо более подходящие для этого языки/технологии. Например, тот же C#, или С++ с Qt. Поэтому и получается, что консоль в языке С практически не имеет альтернатив на этапе начального обучения. А вот на более продвинутом уровне вполне можно замахнуться и на изучение того же WinAPI (если хочется именно под Windows).
0
|
||
|
913 / 339 / 135
Регистрация: 18.07.2017
Сообщений: 1,485
|
|||||||
| 28.02.2020, 00:21 | |||||||
|
А теперь как по твоему? Где проще найтu ошuбку? В маленькой программе uз 30 строк uлu в здоровенном проекте uз 15 файлов? Но это еще не все! Программа все-равно работает не так как надо u ты уже не уверен: это ты неправuльно программу чuнuшь uлu все правuльно, просто ошuбок больше? Хочешь кастомную графuку: sfml uлu opengl Хочешь 3d uгру: directX Хочешь работать с ардуuно: качай AVR бuблuотекu u AVR assembler в нагрузку. (А лучше выбросu дурuну u работай с обычнымu AVR) Но ты uх просто не поймешь, без твердого знанuя сu.
0
|
|||||||
| 28.02.2020, 03:26 | ||||||
|
mixa88, можете подключить библиотеку SDL2 к своей среде. Эта библиотека написана на Си и может быть использована из Си программы. Если ни разу не подключали никаких библиотек, то как подключить SDL2 - несложно найти в интернете. За одно научитесь, как подключать библиотеки - полезный опыт. Что такое SDL2 и что она умеет можно почитать на Википедии: https://ru.wikipedia.org/wiki/... edia_Layer Здесь можно скачать SDL2 для вашей ОС: https://www.libsdl.org/download-2.0.php
Например, в этом туториале написано, как выводить текст: http://gigi.nullneuron.net/gig... h-sdl_ttf/ Можете запустить мой пример в Visual Studio 2019: DrawText_Sdl2C.zip Пример должен сразу запустить без подключений, потому что библиотека уже подключена по относительному пути. За одно можете по настройкам запомнить, как подключать библиотеку. Запоминается, если много раз подключать, делая небольшие практические задачи. main.c
0
|
||||||
|
216 / 1 / 2
Регистрация: 26.02.2020
Сообщений: 258
|
|
| 28.02.2020, 08:00 [ТС] | |
|
Так может тогда оставить C для встроенных систем , а С# выучить для окон? Я честно говоря думал об этом, просто не будет ли каши в голове С+С#, хотя насколько я понимаю, что все кто интересуются программированием, на одном языке не останавливаются
0
|
|
|
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
|
||||
| 28.02.2020, 08:46 | ||||
|
Добавлено через 16 минут
0
|
||||
|
216 / 1 / 2
Регистрация: 26.02.2020
Сообщений: 258
|
|
| 28.02.2020, 15:53 [ТС] | |
|
Скачал книгу head first C#, понравилось, что там много практики т.е. создаются приложения, кто-то знает что -то про эту книгу? Или мне отправиться в раздел где про С# и там спросить?
0
|
|
|
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
|
||
| 28.02.2020, 16:19 | ||
|
0
|
||
| 28.02.2020, 18:16 | ||
|
0
|
||
|
216 / 1 / 2
Регистрация: 26.02.2020
Сообщений: 258
|
|
| 29.02.2020, 08:42 [ТС] | |
|
Мне не приходится читать на английском (хотя я его знаю) , я купил эл. версию на русском у чувака за 50грн (я сам с Одессы) , если кому надо могу скинуть
0
|
|
|
Новые блоги и статьи
|
|||
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|