Так исторически сложилось что программы для ПК пишу под Дельфями.
Но напрягает то, что постоянно приходится переключаться между программирование контроллера на С и программированием компа на Дельфи. Сильно разный синтаксис однако.
На С++ последний раз писал в каком-то лохматом году, уже и не вспомню.
Знаю что сейчас развелось очень много разных Сишек, вот и прошу Вас подсказать какой из них сейчас наиболее толковый, и с обилием литературы и курсов на русском.
Основное требование: синтаксис наиболее близкий к чистому С.
З.Ы.: Проги не консольные!
DimanVIP писал(а):На С++ последний раз писал в каком-то лохматом году, уже и не вспомню.
Знаю что сейчас развелось очень много разных Сишек, вот и прошу Вас подсказать какой из них сейчас наиболее толковый, и с обилием литературы и курсов на русском.
Я так понимаю C++ чем-то не нравится по Windows?
Так вроде C++, это C с классами и прочими прелестями. Писать на чистом С под Wиндовс как-то ущербно.
Не так давно C++ был наиболее толковый, и с обилием литературы и курсов на русском. Сейчас незнаю, лет пять не обновлял среду разработки C++ и не интересовался, что нового
DimanVIP писал(а):напрягает то, что постоянно приходится переключаться между программирование контроллера на С и программированием компа на Дельфи. Сильно разный синтаксис однако.
Переключился с C++ на C, даже не заметил. Только ощущения недостаточности ресурсов для разворота самого контроллера, по сравнению с ресурсами Windows. Иногда пишу паралельно и в той и другой среде, легко
У меня сейчас стоит: Microsoft Visual C++ 6.0. Долго 7ка меня предупреждала, мол косяков с ней необерешься, но все-таки встала. Правда сервис пак так и не встал, так что голенькая.
Нормально работает, компилится, и даже на русском (правда опять же в семерке, местами с кодировкой траблы).
Только на мой взгляд, какая-то она убогая, даже по сравнению с 7 дельфой, не говоря уже о 2010.
Слесарь писал(а):Я так понимаю C++ чем-то не нравится по Windows?
Так вроде C++, это C с классами и прочими прелестями. Писать на чистом С под Wиндовс как-то ущербно.
Вот эти "прелести" мне больше всего и не нравятся. Может я просто не достаточно долго с ними работал, но тогда помню очень доставали. Код запутывался сильно, и читался плохо. Причем приходилось делать много лишних движений, будь-то ручное обновление Чекбоксов или перерисовка окна.
И когда встала острая необходимость создания некоего приложения, то выбор встал между паскалем и С. И хоть с паскалем я единственный раз в институте только сталкивался, то все-равно выбор на нем остановил. Вот так и повелось.
DimanVIP писал(а):
Вот эти "прелести" мне больше всего и не нравятся. Может я просто не достаточно долго с ними работал, но тогда помню очень доставали. Код запутывался сильно, и читался плохо. Причем приходилось делать много лишних движений, будь-то ручное обновление Чекбоксов или перерисовка окна.
Я выше MS VS2003 VC++ не поднимался, не помню чтоб запутывался, просто упаковывай под Виндовс все в классы, делай продуманные интерфейсы, используй наследование классов. С рисованием окон вообще проблем не было, все давно и достаточно хорошо продумано микрософтом.
Помнится, чтоб ничто не запутывалось, вначале создается файл описания интерфейсов, где, помимо кода, человеческим языком описываются сами интерфейсы и методы взаимодействия отдельных модулей программы. Описывается интерфейс сообщения об ошибках и методы их обработки. Далее программисты пишут отдельные модули (зачастую, каждый в своем стиле) согласовывая интерфейсы своих модулей с файлом описания интерфейсов.
Возможно внутри функций обработчиков классов и будет сложный код(зависит от программиста) но поднимись на уровень абстрагирования выше и код использующий только методы классов выглядит более ясно. Поднимись еще выше, если это отдельный модуль программы, его использование еще более понятно, так как его интерфейс соответствует некоторому стандарту и обычно хорошо описан разработчиками.
Современная программа частенько, это собранные воедино отдельные модули объединенные общими интерфейсами. По крайней мере, из моей практики написания реальных программ.
Я работаю в Visual Studio 6.0 и потихоньку перехожу на Visual Studio 2008 (русская версия)
писать можно и смешанным языком. То есть, в оконных прогах, в их стандартных классах можно применять элементы Сишного кода. Пишу оконные приложения под MFC.
Там без структур, классов, объектов, конструкторов и деструкторов никак, но всё равно как-то проще, чем Win32 приложения.
I am DX168B and this is my favourite forum on internet!
DX168B писал(а):Там без структур, классов, объектов, конструкторов и деструкторов никак, но всё равно как-то проще, чем Win32 приложения.
Более того, сама философия обьектоориентированого подхода в написании приложений, более соответствует философии самой Виндовс. В итоге, не только проще, но и более качественней.
Вообще-то изначально философия винды не имела с объектной ничего общего (и иметь не могла) - ООП появилось значительно позже. Винда как она есть, до ХР как минимум, это типично структурное программирование (взгляните на api), позже завернутое в обертку ООП...
Любой, заслуживающий внимания, опыт приобретается себе в убыток...
Суть работы Виндовс, это обмен сообщениями и обработчики этих сообщений, что более качественно выразилось когда обработчики сообщений сокрыли в ООП. Программист переопределят, дополняет новым функционалом традиционные обработчики во многом избавляя себя от механического труда. Видимый обьем кода программ сокращается и код становится более понятным.
DimanVIP писал(а):Чувствую её напильником придется допиливать... Как впрочем и многие другие Open Source.
Ни один из предложенных ею компиляторов не захотел код компилить.
То ли их отдельно доустанавливать, то ли пути править, то ли...
Вы что?
Я пару лет назад без царя в голове, скачал, поставил и с ходу начал выполнять упражнения по книжке Дейтелов. Версия была старее, более глючная. MinGW компилятор был, без проблем работало.