![]() |
|
Модераторы: LSD |
![]()
|
|
||
|
|
| Rohoss |
|
|||
![]() Начальник интернета ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1308 Регистрация: 9.10.2006 Где: Matrix Репутация: нет Всего: 18 |
Вот всегда интересовало мнение на этот счёт
|
|||
|
||||
| KelTron |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 745 Регистрация: 8.10.2006 Где: Красноярск Репутация: нет Всего: 38 |
Это суровая необходимость..)
-------------------- Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог. Эвенгар Салладорский, основатель Школы Тьмы. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 14 Всего: 459 |
Rohoss, учитывая время создания - начало 90х годов. Времена, когда язык С был еще весьма популярен, то это весьма приличный набор библиотек. По тем временам оно было весьма продуманно и удобно. На текущий момент такого уже не скажешь, но сейчас Microsoft уже и не предлагает его использовать. Написали свой .NET framework , который закрывает во многом типичные нужды.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: нет Всего: 26 |
WinAPI это внешний интерфейс ядра ОС. Ядро нативное. Интерфейс должен быть совместим с любыми языками, не только С.
Этому интерфейсу много лет, и его последняя версия он полностью обратно совместима с устаревшим софтом. Мне сложно придумать как можно было бы сделать winapi лучше. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 14 Всего: 459 |
GoldFinch, компиляторы пишут под платформы, а не платформы под компиляторы. Так что неправ. Возьмем язык шейдеров, что винда тоже должна обеспечивать совместимый интерфейс?
Или же возьмем COM объекты шела. Что они делались для совместимости с языком С? Для ОС важно соблюсти или утвердить некий бинарный стандарт, который должны поддерживать компиляторы. Первоначально расчет был на совместимость на уровне машинных кодов i386, для того чтобы расширить круг имеющихся компиляторов и облегчить адаптацию. После они дополнили бинарным стандартом COM/ActiveX и он стал похожим на объектный, далее расширили до .NET и представили полноценный объектный бинарный стандарт на уровне CLR. Если говорить о части user api, то на сегодняшний день .NET заметно удобнее. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
посмотреть на unix-api ;) -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 2 Всего: 186 |
Ящик Пандоры.
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 14 Всего: 459 |
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: нет Всего: 26 |
Alexeis, не надо путать winAPI, COM, и .NET
WinAPI - это Windows API - программный интерфейс Windows для приложений. COM - это набор соглашений о взаимодействии компонентов вообще, без какой либо привязки к ОС. .NET - это платформа для выполнения MSIL, без какой либо привязки к ОС. Компоненты COM отвечающие за взаимодействие с ОС, работают через WinAPI. Та часть .NET которая отвечает за взаимодействие с ОС, работает через WinAPI. По сути системные компоненты COM и .NET это не более чем обычные нативные приложения, ни чем не отличающиеся от любых других приложений. Точно также можно сказать о платформе питона в windows. Это такая же платформа, что и .NET. ================== Почему в винде куча языков - ассемблеры, Си, дельфи, а в никсах только Си? Потому что в винде АПИ ОС развернуто лицом к разработчику языка, а не только к Си, как в никсах. Добавлено через 2 минуты и 35 секунд Алсо у меня есть впечатление, что WinAPI ругают те кто не умеет его использовать, и не понимают как оно работает. Добавлено через 4 минуты и 44 секунды Но все же, как сделать winapi лучше, сохранив весь legacy код? |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 2 Всего: 186 |
||||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 1 Всего: 39 |
WinAPI ругают те, кто сталкивался с ее ужасающим программным интерфейсом (чем она по сути и является) и при этом видел хорошо ораганизованные системные библиотеки.
>Почему в винде куча языков - ассемблеры, Си, дельфи, >а в никсах только Си? >Потому что в винде АПИ ОС развернуто лицом к разработчику языка, а не только к Си, как в никсах. Когда чего-то не знаешь, принято молчать или интересоваться, а не морозить глупость. Я так считаю. -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: нет Всего: 26 |
Ты путаешь обертку к АПИ ОС, и АПИ ОС. возьмем например fopen. оно работает с огромной структурой которая дублирует структуру в ядре ОС, оно получает флаги парсингом строки о_О оно не умеет и половины того что умеет CreateFile |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 1 Всего: 39 |
GoldFinch, сравни винапишный CreateFile и юниксовый системный вызов open. Почувствуй разницу так сказать. А ведь CreateFile еще далеко не лидер по количеству бездарных параметров.
http://www.opennet.ru/man.shtml?topic=open&category=2 Это сообщение отредактировал(а) djamshud - 17.5.2010, 16:45 -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: нет Всего: 26 |
djamshud, WinAPI - это АПИ ОС. Оно максимально отражает сущности в ОС и обеспечивает управление ими.
Почему CreateFile - называется "Create" а не open? Потому что в ядре ОС есть объект "файл". CreateFile создает этот объект. При этом при создании этого объекта надо обеспечить возможность указать все необходимые параметры создаваемого объекта. Почему в никсах open есть перегрузки, а у CreateFile нет? Потому что никсы заточены под на Си, и там можно юзать манглинг Си. А WinApi рассчитано на любые языки, по этому там не может быть использован манглинг, а значит там не может быть перегрузок. |
|||
|
||||
| Rohoss |
|
|||
![]() Начальник интернета ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1308 Регистрация: 9.10.2006 Где: Matrix Репутация: нет Всего: 18 |
А слабо привести пример? Где именно они лучше, и чем? Добавлено через 2 минуты и 43 секунды Миня лично бесят оконные процедуры... Как по мне, весь их функционал должен быть реализован в других функциях... При чем тут вообще окно? |
|||
|
||||
![]()
|
| Правила ведения Религиозных войн | |
|
|
1. Уважайте собеседника 2. Собеседник != враг 3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez" С уважением, Smartov. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Религиозные войны | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |