Pedro Secchi Ответов: 3

Что такое простая в использовании библиотека или API для создания базовых визуальных приложений с программированием на языке Си?


Я учусь в своем первом семестре аэрокосмической инженерии и получил вполне разумные навыки программирования на языке Си с использованием стандартной библиотеки, но в учебном плане мой колледж не обязан учить меня программировать что-либо из MS-DOS.
Я был бы очень, очень рад, если бы существовала простая библиотека или API, которые я мог бы научиться использовать, чтобы лучше взглянуть на программное обеспечение, которое я делаю... может ли кто-нибудь предложить что-то в этом роде? Чем проще и легче учиться, тем лучше.

Что я уже пробовал:

Я провел последний месяц, изучая Си-диез, чтобы использовать windows forms, но ООП, похоже, совершенно не подходит для инженерных целей. У меня есть графика.h установлен, но он чрезвычайно архаичен и не допускает никаких интересных виджетов...
Я тоже пробовал изучать WinAPI, но он дезистимулирует с первой секунды до последней! похоже, это требует в десять раз больше усилий, чем я готов потратить на это, чтобы вернуть не очень полезные функции...

Richard MacCutchan

- но ООП, похоже, совершенно не подходит для инженерных целей."
Я думаю, что большинство людей сказали бы прямо противоположное. ООП-это идеальное транспортное средство для инженерных применений.

3 Ответов

Рейтинг:
4

CPallini

Цитата:
Я провел последний месяц, изучая Си-диез, чтобы использовать windows forms, но ООП, похоже, совершенно не подходит для инженерных целей
Большинство людей, я думаю, не согласятся. На самом деле, это ваш лучший выбор.

Цитата:
Я тоже пробовал изучать WinAPI, но он дезистимулирует с первой секунды до последней! похоже, это требует в десять раз больше усилий, чем я готов потратить на это, чтобы вернуть не очень полезные функции...
Windows API это основа: Если вы действительно хотите знать как же так Windows OS GUI приложения поддерживаются, то вы должны учиться Windows API На самом деле это несложное дело, во всяком случае написание C приложение, использующее его, может быть громоздким.


Рейтинг:
21

OriginalGriff

MSDOS-это древняя история: очень маловероятно, что современное программное обеспечение будет написано для него, поэтому ваше нежелание колледжей учить вас чему-либо о разработке для него очень понятно!

Идея ООП состоит в том, чтобы избавиться от некоторых проблем более ранних языков, таких как C, продвигать модульное проектирование, поощрять повторное использование кода и повышать надежность - все это важные принципы в любой форме проектирования. Это означает, что современное программное обеспечение очень отличается по дизайну от приложения MSDOS, так же как современный автомобиль или самолет очень отличается от его эквивалента 1980-х годов!

Вы не найдете никакого "простого в использовании" API, который поднимет C до современной графики: хотя очень возможно писать приложения Windows (даже для Windows 10) на C, это ужасно сложно по сравнению с C#, потому что .NET Framework "скрывает" всю сложность за простыми в использовании виджетами! C# - отличный язык общего назначения, даже для инженерии, но если вам абсолютно необходимо больше контроля, то инвестируйте время в C++ вместо C: он включает в себя функции ООП и может обеспечить поддержку пользовательского интерфейса .NET. Это даже довольно просто смешать C++ "сверхмощное" программирование (или даже C, если оно написано правильно) бэкэнд с интерфейсом C# front end.

Если бы я был на вашем месте, я бы укусил пулю и научился эффективно использовать C# вместо того, чтобы цепляться за C и пытаться навязать его в современную среду.


Рейтинг:
19

Jochen Arndt

Если вы хотите использовать C см. Список наборов инструментов виджетов - Википедия[^]. Возможными вариантами являются GTK+, Elementary и Tk.

Теперь вам решать, хотите ли вы научиться использовать одну из вышеперечисленных библиотек или использовать другой язык, например C#. С моей точки зрения, было бы проще использовать одну из вышеперечисленных библиотек, когда вы хорошо знаете C, а не изучаете C#. Если вы достаточно хорошо знаете C# , то можете использовать и это.

Как вы можете видеть из ссылки на Википедию, большинство графических фреймворков предназначены для языков ООП. ООП не является недостаточным для инженерных целей. Хотя он и не нужен для некоторых задач, вы можете прийти к выводу, что он полезен даже для инженерных целей.