powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / интервью
8 сообщений из 33, страница 2 из 2
интервью
    #34629086
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ErV
Просто при ковырянии в некоторых сишных исходниках у меня создалось
впечатление, что все-таки применяется ООП, хотя самого понятия класса (в
духе C++) в языке нет.

Применяется :) И применялось ЗАДОЛГО до ООП
...
Рейтинг: 0 / 0
интервью
    #34629517
Tubrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ErV
Gluk (Kazan) wrote:

> Я не против ООП, но подобные фразы следует воспринимать скептически.
> 100000 строк не бог весть какой объем для нынешнего проекта (и далеко не
> все придерживаются ООП при разработке). А Бучу было интересно ПРОДАТЬ свою
> книгу.

Вопрос. Под структурным программирование имеется в виду
вот
это
?
Просто при ковырянии в некоторых сишных исходниках у меня создалось
впечатление, что все-таки применяется ООП, хотя самого понятия класса (в
духе C++) в языке нет. К примеру: объявляется структура, содержащая
некоторые данные, и куча функций, которые берут указатель на структуру
первым параметром, и имеют имя по типу ИмяСтруктуры_КакоеТоДействие. Ну чем
не класс с методами? При большом объеме программы она дробится на модули, и
каждый модуль опять же может восприниматься как объект. О наследовании и
прочем, само собой, речи нет (хотя в случае с модулями может быть объявлен
общий интерфейс для работы с ними, и получится аналог наследования), но то,
что сама программа мыслится понятиями, это уже интересно - т.е. (ИМХО) не
всегда это можно обозвать "структурным программированием", согласно
описанию в линке.
Posted via ActualForum NNTP Server 1.4

Не смотря на то, что функция может иметь имя в виде ИмяСтруктуры_КакоеТоДействие, это все же не запрещает ошибиться и передать указатель не на те данные. Класс, как мне видится, оберегает от подобных ошибок, ну а взаимодействие методов и данных внутри класса выглядит как обычное структурное программирование.
...
Рейтинг: 0 / 0
интервью
    #34629732
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ErVПросто при ковырянии в некоторых сишных исходниках у меня создалось
впечатление, что все-таки применяется ООП, хотя самого понятия класса (в
духе C++) в языке нет.А что в этом могут быть сомнения? Объектное программирование и объектные языки это две совершенно независимые вещи. Объектно можно писать на любом языке, впрочем и процедурно тоже можно писать на любом языке. Хоть на том же Смолтоке, положи весь алгоритм в один единственный объект, и сделай всю логику на методах этого одного единственного объекта - получишь объектный язык с необъектным программированием :)

ErV К примеру: объявляется структура, содержащая некоторые данные, и куча функций, которые берут указатель на структуру первым параметром, и имеют имя по типу ИмяСтруктуры_КакоеТоДействие.Ну нафиг. Это неудобно. Лучше положить первым элементом структуры тип объекта и в функциях проверять его. Получаешь одну единственную публичную функцию которая в зависимости от первого элемента структуры запустит нужную приватную функцию.
...
Рейтинг: 0 / 0
интервью
    #34629762
Фотография blinded
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlА что в этом могут быть сомнения? Объектное программирование и объектные языки это две совершенно независимые вещи. Объектно можно писать на любом языке, впрочем и процедурно тоже можно писать на любом языке. Хоть на том же Смолтоке, положи весь алгоритм в один единственный объект, и сделай всю логику на методах этого одного единственного объекта - получишь объектный язык с необъектным программированием :)

Ага, вопрос только в количестве сломанных копий. На коком-нибудь фортране это делать крайне неудобно
White Owl
Ну нафиг. Это неудобно. Лучше положить первым элементом структуры тип объекта и в функциях проверять его. Получаешь одну единственную публичную функцию которая в зависимости от первого элемента структуры запустит нужную приватную функцию.
Ага и switch трехэтажный, фуууу. Лучше уж как у ErV
...
Рейтинг: 0 / 0
интервью
    #34629783
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blindedАга, вопрос только в количестве сломанных копий. На коком-нибудь фортране это делать крайне неудобноНе понял. Зачем копья ломать? И почему вдруг на фортране это делать неудобно?

blinded White OwlНу нафиг. Это неудобно. Лучше положить первым элементом структуры тип объекта и в функциях проверять его. Получаешь одну единственную публичную функцию которая в зависимости от первого элемента структуры запустит нужную приватную функцию.
Ага и switch трехэтажный, фуууу. Лучше уж как у ErVНет, свитч лучше. С ним прикладнику проще жить. Потому что свитч спрятан внутри библиотеки и его пишет/поддерживает создатель библиотеки. При написании уже конечного продукта не нужно будет заботиться о том чтобы помнить все эти имена функций. Достаточно будет одного SetCaption а не SetCaption_Label, SetCaption_Button. Полиморфизм в чистом виде. А то что он делается в ран-, а не в дизайн-тайме это на современных процессорах уже не так уж важно :)
...
Рейтинг: 0 / 0
интервью
    #34629806
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blinded wrote:

> Лучше уж как у ErV
Это не у меня :) Я просто такое где-то видел, и как наглядный пример привел.
По сути это то же самое, что происходит в C++ при передаче this,
только передача прописывается вручную...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
интервью
    #34632311
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как это делается в гтк
http://gtk.org/tutorial/c451.html
...
Рейтинг: 0 / 0
интервью
    #34633401
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот так например это делается в Фотоне :)
http://www.qnx.com/developers/docs/6.3.0SP3/photon/lib_ref/pt/ptcreatewidget.html
Один из самых продуманых гуев... Очень жалею что его никуда не портировали. Коммерческие лицензии особенно на библиотеки это зло.
...
Рейтинг: 0 / 0
8 сообщений из 33, страница 2 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / интервью
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]