Re[10]: Поздравляю всех с кончиной Win32 API :))
От: Аноним  
Дата: 28.10.05 16:16
Оценка: -1
Здравствуйте, Draqon, Вы писали:


D>Что-что чем является? Это где ж вы, мил человек, нашли в nt/2000/xp реальное время?...


Все условно. В отличие от Win98 на NT работает масса индустриальных приложений, которые успевают пару раз за секунду пообщатся с какой нибудь железкой по RS и прорисовать состояние котла в реальном времени.
Re[7]: Поздравляю всех с кончиной Win32 API :))
От: vdimas Россия  
Дата: 28.10.05 20:15
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, VladD2, Вы писали:


VD>>А чем тебе помешают транзакции при работе с реестром?


А>А вот тогда вопрос — что блокировки будут так же страничные как в MS SQL если там Юкон будет?


MS SQL есть не только страничные блокировки, я думаю — они разберуться, какие блокировки лучше юзать для реестра.
Re: Поздравляю всех с кончиной Win32 API :))
От: ihatelogins  
Дата: 29.10.05 11:39
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Я уже это подозревал, но вот тут наткнулся на прямой ответ одного из сотрудников МС.


VD>Он отвечал на вопрос есть ли в Лонгхоне новый анменеджед АПИ?


VD>Вот его ответ:

VD>[q]
VD>WinFX is not a managed wrapper around new Win32 native APIs; it's a new
VD>managed API
, implemented primarily in managed code. The only way to access
VD>the new WinFX features is through this managed API
.

Но он видать забыл сказать, что помимо WinFX в лонгхорне будет еще туча новых unmanaged API.

Не надо быть наивным по поводу смерти Win32, Win32 настолько захардкожен в винду, что он никуда не денется.
Re[10]: Поздравляю всех с кончиной Win32 API :))
От: EvilChild Ниоткуда  
Дата: 29.10.05 14:00
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>А тут и сомневаться нечено. Конечно... не будет. Но от этого ничего не меняется. Менеджед интерфейс к MSSQL и сегодня самый быстрый из существующих. Так что...


А откуда дровишки?
Личные наблюдения/тесты или это из маркетинговых заявлений MS?
Хотелось бы ещё услышать почему.
Re[11]: Поздравляю всех с кончиной Win32 API :))
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.10.05 14:38
Оценка:
Здравствуйте, EvilChild, Вы писали:

Попробуй почитать статьи на этом сайте.

EC>Личные наблюдения/тесты или это из маркетинговых заявлений MS?

EC>Хотелось бы ещё услышать почему.

Потому что написан эффективно. Там датастрим (формат пакета МS SQL) разбирается прямо на шарпе. Так что чтение через дата-ридер шустрее чем через OLE DB.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Поздравляю всех с кончиной Win32 API :))
От: Аноним  
Дата: 29.10.05 20:36
Оценка: :)
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Воронков Василий, Вы писали:


ВВ>>Странновато. В общем-то можно было бы уже и не поддерживать совместимость с 16-битными приложениями. А где они об этом говорят? Мне что-то не попадалось..


VD>Э...э... у меня 16-битная бухгалтерия до сих пор работает. Что же мне ее перписвать?


Надеюсь 4-битная у тебя тоже имеется и работает на каком-нибудь крупном предприятии?
Re[12]: Поздравляю всех с кончиной Win32 API :))
От: EvilChild Ниоткуда  
Дата: 30.10.05 09:01
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Попробуй почитать статьи на этом сайте.

Статьи читал (если ты о http://rsdn.ru/article/db/DBSpeed.xml
Автор(ы): Станислав Михаилов
Дата: 10.05.2003
Об архитектурных различиях ADO.NET и ADO сказано уже немало, однако, также интересно было бы сравнить их скоростные характеристики. В конце концов, именно скорость (точнее, недостаточная скорость) выполнения программы часто раздражает пользователя.
Также показалось любопытным, есть ли отличия в работе с ADO.NET через COM+ и NetRemoting? Стоит ли по-прежнему использовать COM+ в качестве сервера приложений? Возможно, NetRemoting работает значительно быстрее, чем COM+, или при использовании COM+ с .NET возникают какие-то непреодолимые проблемы?
).

VD>Потому что написан эффективно. Там датастрим (формат пакета МS SQL) разбирается прямо на шарпе. Так что чтение через дата-ридер шустрее чем через OLE DB.

А OLE DB Provider написан неэффективно?
За счёт чего шустрее?
Ты имеешь в виду, что если ходить напрямую через OLE DB, то это всё равно менее эффективно или ты про ADO?
Re[11]: Поздравляю всех с кончиной Win32 API :))
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.10.05 15:33
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Надеюсь 4-битная у тебя тоже имеется и работает на каком-нибудь крупном предприятии?


Нет. Только 16-битрые.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: Поздравляю всех с кончиной Win32 API :))
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.10.05 15:33
Оценка:
Здравствуйте, EvilChild, Вы писали:

EC>А OLE DB Provider написан неэффективно?


OLE DB может быть написан не эффктивно. Это зависит от реализации. Но тут речь не о том. Сама архитектура OLE DB несколько менее эффективна чем подход используемый в управляемом интерфейсе к MSSQL.

EC>За счёт чего шустрее?

EC>Ты имеешь в виду, что если ходить напрямую через OLE DB, то это всё равно менее эффективно или ты про ADO?

Цитирую себя:

Менеджед интерфейс к MSSQL и сегодня самый быстрый из существующих.


Так вот ADO приципиально работает через OLE DB. И даже при использовании его из ассемблера оно все равно будет проигрывать управляемому провайдору для MSSQL, так как последний написан очень эффективно и не имеет кучи промежуточных (и не нужных в данном случае) промежуточных абстракций.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[14]: Поздравляю всех с кончиной Win32 API :))
От: EvilChild Ниоткуда  
Дата: 30.10.05 18:32
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>OLE DB может быть написан не эффктивно. Это зависит от реализации. Но тут речь не о том. Сама архитектура OLE DB несколько менее эффективна чем подход используемый в управляемом интерфейсе к MSSQL.

Так может быть или написан неэффективно?
В чём архитектура OLE DB проигрывает .NET'ной?
Можно услышать какие-то технические детали?

VD>Цитирую себя:

VD>

Менеджед интерфейс к MSSQL и сегодня самый быстрый из существующих.

Твоё самоцитирование ничего не объясняет.

VD>Так вот ADO приципиально работает через OLE DB. И даже при использовании его из ассемблера оно все равно будет проигрывать управляемому провайдору для MSSQL, так как последний написан очень эффективно и не имеет кучи промежуточных (и не нужных в данном случае) промежуточных абстракций.


То что ADO работает поверх OLE DB я и так знаю.
Вопрос в другом: что в OLE DB Provider реализовано криво/неоптимально и что в .NET Provider сделано лучше, что .NET реализация получается быстрее.
Или то, что оно на .NET написано, автоматом делает его быстрее/лучше?
Re[15]: Поздравляю всех с кончиной Win32 API :))
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.10.05 23:43
Оценка:
Здравствуйте, EvilChild, Вы писали:

EC>Так может быть или написан неэффективно?

EC>В чём архитектура OLE DB проигрывает .NET'ной?
EC>Можно услышать какие-то технические детали?

Ты читал спецификацию OLE DB?

EC>Вопрос в другом: что в OLE DB Provider реализовано криво/неоптимально и что в .NET Provider сделано лучше, что .NET реализация получается быстрее.

EC>Или то, что оно на .NET написано, автоматом делает его быстрее/лучше?

Ты понимашь чем прямой рабзор протокола передачи данных отличается от возни через 25 КОМ-интерфейсов/объектов?
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: Поздравляю всех с кончиной Win32 API :))
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 31.10.05 06:43
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, EvilChild, Вы писали:


EC>>Так может быть или написан неэффективно?

EC>>В чём архитектура OLE DB проигрывает .NET'ной?
EC>>Можно услышать какие-то технические детали?

VD>Ты читал спецификацию OLE DB?


Я читал

VD>Ты понимашь чем прямой разбор протокола передачи данных отличается от возни через 25 КОМ-интерфейсов/объектов?


И через пять лет чтения, я таки понял эти "25 интерфейсов" Правда не понял этот вопрос на вопрос.

OLEDB (с точки зрения реализации) проигрывает ADO.NET провайдеру только в тех позициях, где .NET выигрывает у COM. И наоборот. Все остальные измышления — бесполезный бред и трата времени, которые обусловлены толщиной и длиной шворцев.

Формально, в крупном приложении по-барабану через что работать — что через OLEDB напрямую (но только не для начинающих и только не через ATL.OLEDB и только не явно через интерфейсы), что через ADO (здесь проще, но есть нюансы), что через .NET-провайдер.

Но пять лет назад, с точки зрения масштабируемости архитектуры конечного приложения, OLEDB был самым оптимальным выбором (правда начальная стоимость очень высокая). И на текущий момент, лично для меня, ничего не поменялось. Правда основная херня в том что MS не предоставила шлюз OLEDB провайдер<->OLEDB.NET провайдер, как это было сделано для ADODB в виде незадокументированных интерфейсов конструирования. Но, слава Богу, не первый год замужем

В любом случае, глядя на свой провайдер, скажу, что нормальный драйвер (OLEDB/NET) "на ура" написать не реально. И постепенно уровень сложности реализации станет такого уровня, что один два лишних вызова (слоя) — это даже не копейки. Спрашиваете "почему"? Да потому, что драйвер (перешедший на промышленный уровень) однозначно будет состоять из двух уровней — того, с которым вы общаетесь наверху, и того, который общается с БД. А между этими двумя уровнями будут лежать абстрактные интерфейсы

Только для зрителей нашего телеканала, часть списка файлов OLEDB-провайдера для FireBird:
source\ibp_column.h
source\ibp_com.h
source\ibp_common_types.h
source\ibp_data_settings.h
source\ibp_field_data.h
source\ibp_forward.h
source\ibp_guids.h
source\ibp_multiple_results.h
source\ibp_props.h
source\ibp_props_ids.h
source\ibp_props_values.h
source\ibp_service_interfaces.h
source\ibp_single_result.h
source\ibp_sys_props.h
source\ibp_table_creator.h
source\ibp_table_initialize.h
source\ibp_column.cpp
source\ibp_com.cpp
source\ibp_field_data.cpp
source\ibp_field_data_from_native.cpp
source\ibp_field_data_to_native.cpp
source\ibp_guids.cpp
source\ibp_module.cpp
source\ibp_module_reg.cpp
source\ibp_multiple_results.cpp
source\ibp_props.cpp
source\ibp_service_interfaces.cpp
source\ibp_single_result.cpp
source\ibp_sys_props.cpp
source\ibp_table_creator.cpp
source\array\ibp_array_from_native.h
source\array\ibp_array_to_native.h
source\array\ibp_array_from_native.cpp
source\array\ibp_array_to_native.cpp
source\blob\ibp_blob_reader.h
source\blob\ibp_blob_ss_binary.h
source\blob\ibp_blob_ss_unicode.h
source\blob\ibp_blob_reader.cpp
source\blob\ibp_blob_ss_binary.cpp
source\blob\ibp_blob_ss_unicode.cpp
source\charsets\ibp_charset.h
source\charsets\ibp_cs_bit8.h
source\charsets\ibp_cs_bit8_data.h
source\charsets\ibp_cs_bit8_map.h
source\charsets\ibp_cs_unicode_fss.h
source\charsets\ibp_cs_win32.h
source\charsets\ibp_charset.cpp
source\charsets\ibp_cs_bit8.cpp
source\charsets\ibp_cs_bit8_data.cpp
source\charsets\ibp_cs_unicode_fss.cpp
source\charsets\ibp_cs_win32.cpp
source\charsets\data\cs_437.h
source\charsets\data\cs_737.h
source\charsets\data\cs_775.h
source\charsets\data\cs_850.h
source\charsets\data\cs_852.h
source\charsets\data\cs_857.h
source\charsets\data\cs_858.h
source\charsets\data\cs_860.h
source\charsets\data\cs_861.h
source\charsets\data\cs_862.h
source\charsets\data\cs_863.h
source\charsets\data\cs_864.h
source\charsets\data\cs_865.h
source\charsets\data\cs_866.h
source\charsets\data\cs_869.h
source\charsets\data\cs_iso8859_1.h
source\charsets\data\cs_iso8859_13.h
source\charsets\data\cs_iso8859_2.h
source\charsets\data\cs_iso8859_3.h
source\charsets\data\cs_iso8859_4.h
source\charsets\data\cs_iso8859_5.h
source\charsets\data\cs_iso8859_6.h
source\charsets\data\cs_iso8859_7.h
source\charsets\data\cs_iso8859_8.h
source\charsets\data\cs_iso8859_9.h
source\charsets\data\cs_koi8r.h
source\charsets\data\cs_koi8u.h
source\charsets\data\cs_next.h
source\charsets\data\cs_w1250.h
source\charsets\data\cs_w1251.h
source\charsets\data\cs_w1252.h
source\charsets\data\cs_w1253.h
source\charsets\data\cs_w1254.h
source\charsets\data\cs_w1255.h
source\charsets\data\cs_w1256.h
source\charsets\data\cs_w1257.h
source\command\ibp_command.h
source\command\ibp_command_columns_info.h
source\command\ibp_command_icolumns_rowset.h
source\command\ibp_command_obj.h
source\command\ibp_command_params.h
source\command\ibp_command_params_buffer.h
source\command\ibp_command_params_info.h
source\command\ibp_command_pstmt.h
source\command\ibp_command_pstmt_data.h
source\command\ibp_param_list.h
source\command\ibp_command.cpp
source\command\ibp_command_columns_info.cpp
source\command\ibp_command_execute.cpp
source\command\ibp_command_icolumns_rowset.cpp
source\command\ibp_command_obj.cpp
source\command\ibp_command_params.cpp
source\command\ibp_command_params_buffer.cpp
source\command\ibp_command_params_info.cpp
source\command\ibp_command_prepare.cpp
source\command\ibp_command_pstmt_data.cpp
source\command\ibp_param_list.cpp
source\data_source\ibp_connect_data.h
source\data_source\ibp_data_source.h
source\data_source\ibp_connect_data.cpp
source\data_source\ibp_data_source.cpp
source\data_source\ibp_data_source_info.cpp
source\data_source\ibp_data_source_initialize.cpp
source\db_obj\db_array.h
source\db_obj\db_array_descr.h
source\db_obj\db_array_services.h
source\db_obj\db_base.h
source\db_obj\db_blob_reader.h
source\db_obj\db_blob_reader_buf.h
source\db_obj\db_blob_reader_utils.h
source\db_obj\db_blob_services.h
source\db_obj\db_blob_writer.h
source\db_obj\db_blob_writer_buf.h
source\db_obj\db_blob_writer_utils.h
source\db_obj\db_column_descr.h
source\db_obj\db_connection.h
source\db_obj\db_connection_services.h
source\db_obj\db_cp_convertor.h
source\db_obj\db_dll_connector.h
source\db_obj\db_dll_loader.h
source\db_obj\db_exec_trigger.h
source\db_obj\db_exec_triggers.h
source\db_obj\db_field_accessor.h
source\db_obj\db_field_accessor_traits.h
source\db_obj\db_field_collection.h
source\db_obj\db_guard.h
source\db_obj\db_guard_impl.h
source\db_obj\db_meta_data_reader.h
source\db_obj\db_objects.h
source\db_obj\db_param_info_builder.h
source\db_obj\db_props.h
source\db_obj\db_provider.h
source\db_obj\db_result_set.h
source\db_obj\db_row.h
source\db_obj\db_row_data.h
source\db_obj\db_row_data_map.h
source\db_obj\db_service.h
source\db_obj\db_statement.h
source\db_obj\db_std_constants.h
source\db_obj\db_transaction.h
source\db_obj\db_transaction_cp.h
source\db_obj\db_transaction_cpc.h
source\db_obj\db_transaction_node.h
source\db_obj\db_transaction_sql_reflex.h
source\db_obj\db_types.h
source\db_obj\db_array_services.cpp
source\db_obj\db_blob_reader_buf.cpp
source\db_obj\db_blob_reader_utils.cpp
source\db_obj\db_blob_services.cpp
source\db_obj\db_blob_writer_buf.cpp
source\db_obj\db_blob_writer_utils.cpp
source\db_obj\db_dll_loader.cpp
source\db_obj\db_exec_triggers.cpp
source\db_obj\db_field_accessor.cpp
source\db_obj\db_field_accessor_get.cpp
source\db_obj\db_field_accessor_write.cpp
source\db_obj\db_guard_impl.cpp
source\db_obj\db_objects.cpp
source\db_obj\db_service.cpp
source\db_obj\db_transaction_cpc.cpp
source\db_obj\ib_base\ib_base.h
source\db_obj\ib_base\ib_db_info.h
source\db_obj\ib_base\ib_row_data.h
source\db_obj\ib_base\ib_row_data_dyn.h
source\db_obj\ib_base\ib_row_data_map.h
source\db_obj\ib_base\ib_service.h
source\db_obj\ib_base\ib_sql_data_traits.h
source\db_obj\ib_base\ib_sys_data.h
source\db_obj\ib_base\ib_sys_query.h
source\db_obj\ib_base\ib_text_services.h
source\db_obj\ib_base\ib_types.h
source\db_obj\ib_base\ib_row_data.cpp
source\db_obj\ib_base\ib_service.cpp
source\db_obj\ib_base\ib_sys_data.cpp
source\db_obj\ib_base\ib_sys_query.cpp
source\db_obj\ib_base\ib_text_services.cpp
source\db_obj\ib_base\blob\ib_blob_services.h
source\db_obj\ib_base\blob\ib_blob_services_read_helper.h
source\db_obj\ib_base\blob\ib_blob_services_write_helper.h
source\db_obj\ib_base\blob\ib_blob_services.cpp
source\db_obj\ib_base\blob\ib_blob_services_read.cpp
source\db_obj\ib_base\blob\ib_blob_services_read_helper.cpp
source\db_obj\ib_base\blob\ib_blob_services_write.cpp
source\db_obj\ib_base\blob\ib_blob_services_write_helper.cpp
source\db_obj\ib_base\dummy\ib_dummy.cpp
source\db_obj\ib_base\meta_data\ib_meta_data_reader.h
source\db_obj\ib_base\meta_data\ib_meta_data_reader.cpp
source\db_obj\ib_v5\ibase_v5.h
source\db_obj\ib_v5\iberror_v5.h
source\db_obj\ib_v5\ib_v5_api.h
source\db_obj\ib_v5\ib_v5_array.h
source\db_obj\ib_v5\ib_v5_array_descr.h
source\db_obj\ib_v5\ib_v5_base.h
source\db_obj\ib_v5\ib_v5_blob_reader.h
source\db_obj\ib_v5\ib_v5_blob_writer.h
source\db_obj\ib_v5\ib_v5_connection.h
source\db_obj\ib_v5\ib_v5_param_info_builder.h
source\db_obj\ib_v5\ib_v5_provider.h
source\db_obj\ib_v5\ib_v5_row.h
source\db_obj\ib_v5\ib_v5_row_data_map.h
source\db_obj\ib_v5\ib_v5_statement.h
source\db_obj\ib_v5\ib_v5_transaction.h
source\db_obj\ib_v5\ib_v5_transaction_node_root.h
source\db_obj\ib_v5\ib_v5_transaction_node_svp.h
source\db_obj\ib_v5\ib_v5_api.cpp
source\db_obj\ib_v5\ib_v5_array.cpp
source\db_obj\ib_v5\ib_v5_array_descr.cpp
source\db_obj\ib_v5\ib_v5_blob_reader.cpp
source\db_obj\ib_v5\ib_v5_blob_services.cpp
source\db_obj\ib_v5\ib_v5_blob_writer.cpp
source\db_obj\ib_v5\ib_v5_connection.cpp
source\db_obj\ib_v5\ib_v5_param_info_builder.cpp
source\db_obj\ib_v5\ib_v5_provider.cpp
source\db_obj\ib_v5\ib_v5_row.cpp
source\db_obj\ib_v5\ib_v5_row_data_map.cpp
source\db_obj\ib_v5\ib_v5_statement.cpp
source\db_obj\ib_v5\ib_v5_transaction.cpp
source\db_obj\ib_v5\ib_v5_transaction_node_root.cpp
source\db_obj\ib_v5\ib_v5_transaction_node_svp.cpp
source\db_obj\ib_v5\dummy\ib_v5_dummy.cpp
source\db_obj\ib_v6\ib_v6_row.h
source\db_obj\ib_v6\ib_v6_row.cpp
source\error_services\ibp_error_bind_data.h
source\error_services\ibp_error_collection.h
source\error_services\ibp_error_element_wrapper.h
source\error_services\ibp_error_ex.h
source\error_services\ibp_error_ex_element.h
source\error_services\ibp_error_service.h
source\error_services\ibp_error_utils.h
source\error_services\ibp_message_ex.h
source\error_services\ibp_error_bind_data.cpp
source\error_services\ibp_error_collection.cpp
source\error_services\ibp_error_element_wrapper.cpp
source\error_services\ibp_error_ex.cpp
source\error_services\ibp_error_ex_element.cpp
source\error_services\ibp_error_service.cpp
source\error_services\ibp_error_utils.cpp
source\error_services\ibp_message_ex.cpp
source\global_obj_pool\ibp_gobj_columns_idx.h
source\global_obj_pool\ibp_gobj_pool.h
source\global_obj_pool\ibp_gobj_columns.cpp
source\global_obj_pool\ibp_gobj_pool.cpp
source\meta_rowset\ibp_mr_columns_rowset.h
source\meta_rowset\ibp_mr_columns_rowset_std.h
source\meta_rowset\ibp_mr_icolumns_rowset.h
source\meta_rowset\ibp_mr_icolumns_rowset_base.h
source\meta_rowset\ibp_mr_icolumns_rowset_std.h
source\meta_rowset\ibp_mr_schema_rowset.h
source\meta_rowset\ibp_mr_columns_rowset.cpp
source\meta_rowset\ibp_mr_columns_rowset_std.cpp
source\meta_rowset\ibp_mr_icolumns_rowset.cpp
source\meta_rowset\ibp_mr_icolumns_rowset_base.cpp
source\meta_rowset\ibp_mr_icolumns_rowset_std.cpp
source\meta_rowset\ibp_mr_schema_rowset.cpp
source\ro_rowset\ibp_ro_rowset_base.h
source\ro_rowset\ibp_ro_rowset_storage_base.h
source\ro_rowset\ibp_ro_table.h
source\ro_rowset\ibp_ro_table_storage.h
source\ro_rowset\ibp_ro_table.cpp
source\ro_rowset\ibp_ro_table_storage.cpp
source\session\ibp_session.h
source\session\ibp_session_cpc.h
source\session\ibp_session_obj.h
source\session\ibp_transaction.h
source\session\ibp_transaction_cp.h
source\session\ibp_transaction_cp_data.h
source\session\ibp_session.cpp
source\session\ibp_session_cpc.cpp
source\session\ibp_session_obj.cpp
source\session\ibp_transaction.cpp
source\session\ibp_transaction_cp.cpp
source\session\ibp_transaction_cp_data.cpp
source\sql_parser\ibp_sql_column_describer.h
source\sql_parser\ibp_sql_param_describer.h
source\sql_parser\ibp_sql_parser_engine.h
source\sql_parser\ibp_sql_parser_func.h
source\sql_parser\ibp_sql_parser_services.h
source\sql_parser\ibp_sql_pnode_db_obj_name.h
source\sql_parser\ibp_sql_pnode_db_param_marker.h
source\sql_parser\ibp_sql_pnode_ids.h
source\sql_parser\ibp_sql_pnode_pos_int_num.h
source\sql_parser\ibp_sql_pstmt_ddl.h
source\sql_parser\ibp_sql_pstmt_drop_db.h
source\sql_parser\ibp_sql_pstmt_select_table.h
source\sql_parser\ibp_sql_pstmt_std.h
source\sql_parser\ibp_sql_pstmt_std_base.h
source\sql_parser\ibp_sql_snode_mac.h
source\sql_parser\ibp_sql_snode_std.h
source\sql_parser\ibp_sql_snode_std_ids.h
source\sql_parser\ibp_sql_snode_template.h
source\sql_parser\ibp_sql_column_describer.cpp
source\sql_parser\ibp_sql_param_describer.cpp
source\sql_parser\ibp_sql_parser_engine.cpp
source\sql_parser\ibp_sql_parser_func.cpp
source\sql_parser\ibp_sql_parser_services.cpp
source\sql_parser\ibp_sql_pnode_db_obj_name.cpp
source\sql_parser\ibp_sql_pnode_db_param_marker.cpp
source\sql_parser\ibp_sql_pnode_pos_int_num.cpp
source\sql_parser\ibp_sql_pstmt_ddl.cpp
source\sql_parser\ibp_sql_pstmt_drop_db.cpp
source\sql_parser\ibp_sql_pstmt_select_table.cpp
source\sql_parser\ibp_sql_pstmt_std.cpp
source\sql_parser\ibp_sql_pstmt_std_base.cpp
source\sql_parser\ibp_sql_pstmt_std_base_param_value.cpp
source\sql_parser\ibp_sql_snode_std.cpp
source\sql_parser\db_spec\ib_base\ib_prepare_services.h
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_ado_exec_sp.h
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_ado_net_call_sp.h
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_commit.h
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_execute_block.h
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_exec_sp.h
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_ext_call_sp.h
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_insert.h
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_odbc_call_sp.h
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_release_savepoint.h
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_rollback.h
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_rollback_to_savepoint.h
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_savepoint.h
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_set_transaction.h
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_tr_base.h
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_unknown.h
source\sql_parser\db_spec\ib_base\ib_sql_snode.h
source\sql_parser\db_spec\ib_base\ib_sql_snode_ids.h
source\sql_parser\db_spec\ib_base\ib_prepare_services.cpp
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_ado_exec_sp.cpp
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_ado_net_call_sp.cpp
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_commit.cpp
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_execute_block.cpp
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_exec_sp.cpp
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_ext_call_sp.cpp
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_insert.cpp
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_odbc_call_sp.cpp
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_release_savepoint.cpp
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_rollback.cpp
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_rollback_to_savepoint.cpp
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_savepoint.cpp
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_set_transaction.cpp
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_tr_base.cpp
source\sql_parser\db_spec\ib_base\ib_sql_pstmt_unknown.cpp
source\sql_parser\db_spec\ib_base\ib_sql_snode.cpp
source\sql_parser\db_spec\ib_v5\ib_v5_sql_pstmt_create_db.h
source\sql_parser\db_spec\ib_v5\ib_v5_sql_snode.h
source\sql_parser\db_spec\ib_v5\ib_v5_sql_pstmt_create_db.cpp
source\sql_parser\db_spec\ib_v5\ib_v5_sql_snode.cpp
source\structure\ibp_hash_segment_file.h
source\structure\ibp_structure.h
source\structure\ibp_hash_segment_file.cpp
source\user_interface\ibp_ui_adv_prop_page.h
source\user_interface\ibp_ui_base_prop_page.h
source\user_interface\ibp_ui_ds_prop_page.h
source\user_interface\ibp_ui_ds_test_succeeded_dialog.h
source\user_interface\ibp_ui_obj.h
source\user_interface\ibp_ui_win32_utils.h
source\user_interface\ibp_ui_adv_prop_page.cpp
source\user_interface\ibp_ui_adv_prop_page_wnd.cpp
source\user_interface\ibp_ui_base_prop_page.cpp
source\user_interface\ibp_ui_ds_prop_page.cpp
source\user_interface\ibp_ui_ds_prop_page_wnd.cpp
source\user_interface\ibp_ui_ds_test_succeeded_dialog.cpp
source\user_interface\ibp_ui_login_dialog.cpp
source\user_interface\ibp_ui_obj.cpp
source\user_interface\ibp_ui_win32_utils.cpp
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re: Поздравляю всех с кончиной Win32 API :))
От: Блудов Павел Россия  
Дата: 31.10.05 07:57
Оценка:
Здравствуйте, VladD2, Вы писали:

...и на RSDN появятся статьи типа "Как незаметно использовать .Net в DLL" и библиотеки обёрток из .Net в C. Для маньяков.

Кстати, это уже было. С COM. Помните, в NTFS5 появилась возможность задавать квоты для пользователей?
Так вот, в WinApi накаких SetUserQuota() не появилось. Появилась кучка интерфейсов IDiskQuota*.
То же самое BITS, IDiscMaster, про shell я вообще молчу — там ещё с 95-той все по-новому.

Так что API давным-давно не развивается. Так, доделывают по мелочи — ReOpenFile, FindFirstStreamW, FlsAlloc всякие.
Думаю и в висте пара новых функций для Wow64 объявится. Но не более.

Вот темы в XP почему-то сделали по-старинке.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[16]: Поздравляю всех с кончиной Win32 API :))
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 31.10.05 08:16
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ты понимашь чем прямой рабзор протокола передачи данных отличается от возни через 25 КОМ-интерфейсов/объектов?


Очень много раз перечитал, долго думал

Насчет "возни" — судьба такая у OLEDB. И назначение.

Насчет прямой передачи. Ну дык это. OLEDB грузит и представляет данные через свой свой интерфейс. А ADO.NET грузит и представляет через свой.

Если идет связка ADO.NET — OLEDB, то, ясный пень, есть затраты на переконвертацию из одного интерфейса в другой.

Но здесь есть одно но. Звено native->OLEDB может быть написано более качественно, чем native->ADO.NET и затраты последнего будут выше чем native->OLEDB->ADO.NET

Но опять же, в реальности, на эти затраты можно положить.

Главное — предоставляемая функциональность на последнем уровне.
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re[4]: Поздравляю всех с кончиной Win32 API :))
От: aik Австралия  
Дата: 31.10.05 12:02
Оценка: -2
Здравствуйте, Mika Soukhov, Вы писали:

TK>>Старые приложения работать будут (на то они и старые). разговор о том, что для того, что-бы писать новые нужно будет использовать .NET


MS>А старые запретят писать? Вынут клаву из под рук. Или это философский вопрос про то, что старое остаеться старым, пока не перепишиться заново.


Раньше любая новая фича сопровождалась 2 уровнями API — winapi + надстройка в виде .net. Теперь от нас будут умышленно прятать winapi, хотя реально то он вряд ли куда то денется. Довольно неумный шаг в продвижении дотнета.
Re[11]: Поздравляю всех с кончиной Win32 API :))
От: aik Австралия  
Дата: 31.10.05 12:05
Оценка:
Здравствуйте, Аноним, Вы писали:

ВВ>>>Странновато. В общем-то можно было бы уже и не поддерживать совместимость с 16-битными приложениями. А где они об этом говорят? Мне что-то не попадалось..

VD>>Э...э... у меня 16-битная бухгалтерия до сих пор работает. Что же мне ее перписвать?
А>Надеюсь 4-битная у тебя тоже имеется и работает на каком-нибудь крупном предприятии?

как количество бит коррелирует с качеством софтины?
Re[12]: Поздравляю всех с кончиной Win32 API :))
От: mefrill Россия  
Дата: 31.10.05 12:08
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Потому что написан эффективно. Там датастрим (формат пакета МS SQL) разбирается прямо на шарпе. Так что чтение через дата-ридер шустрее чем через OLE DB.


Ну так, насколько я помню, есть же такая найтивная для SQl Server вещь как DB Library? Как утверждается в документации, все остальные интерфейсы поверх нее реализованы. Но, я так понял, что ты имел ввиду хорошую и быструю логику обработки абстракций (типов, данных и т.д.) через управляемый интерфейс? Хлтя и здесь мы ведь имеем дело с плоскими массивами данных.
Re[2]: Поздравляю всех с кончиной Win32 API :))
От: aik Австралия  
Дата: 31.10.05 12:09
Оценка: +1
Здравствуйте, Блудов Павел, Вы писали:

БП>...и на RSDN появятся статьи типа "Как незаметно использовать .Net в DLL" и библиотеки обёрток из .Net в C. Для маньяков.

БП>Кстати, это уже было. С COM. Помните, в NTFS5 появилась возможность задавать квоты для пользователей?
БП>Так вот, в WinApi накаких SetUserQuota() не появилось. Появилась кучка интерфейсов IDiskQuota*.
БП>То же самое BITS, IDiscMaster, про shell я вообще молчу — там ещё с 95-той все по-новому.
БП>Так что API давным-давно не развивается. Так, доделывают по мелочи — ReOpenFile, FindFirstStreamW, FlsAlloc всякие.
БП>Думаю и в висте пара новых функций для Wow64 объявится. Но не более.
БП>Вот темы в XP почему-то сделали по-старинке.

Я думаю что народ больше переживает по поводу необходимости перелезания на managed языки и дотнет вместо старого доброго ассемблера в формате PE, а не по поводу собственно winapi
Ведь и шелл — тоже через API сделан, чтоб получить верхушку — надо вызвать обычную сишную функцию
Re[2]: Поздравляю всех с кончиной Win32 API :))
От: aik Австралия  
Дата: 31.10.05 12:17
Оценка: +3 -2
Здравствуйте, Ummagumma, Вы писали:


U>Вы тут спорите о том, удет ли предыдущий API включен в Longhorn или не будет. Как можно будет запускать приложения, основанные на ныне существующем интерфейсе. Но, не стоит забывать, что Windows Longhorn выйдет, ориентировочно, только в 2006 году. Это через два с половиной — три года. Добавим год — два на, так сказать, разгон. Имеем: около четырёх лет в запасе!


Эта самая dotnet — она уже года 4 разгоняется (раздается и поддерживается). Я пока не замечаю победного шествования.

U>Это очень немалый срок. И, думаю, уже к тому времени все забудут о существующем API и будут использовать .Net. За исключением некоторых сфер разработки ПО (теоретически). За четыре года Microsoft может успеть всех разработчиков переориентировать на .Net. Говорят, в 2004 году, чуть ли не каждый квартал количество разработчиков под .Net будет удваиваться. И к 2006-2007 годам, думаю, данный вопрос уже не будет целесообразен. Размышления.


Да где уж там "забудут". Куча очень квалифицированного народу в msvc6 до сих пор сидит, не понимая на черта им дотнет. Переход msvc5->msvc6 проходил ГОРАЗДО шустрее, чем на msvc7(2003/2005).
Это заблуждение что весь мир программирует мышкой аддоны к офису и sql клиентов.
Re[11]: Поздравляю всех с кончиной Win32 API :))
От: Mamut Швеция http://dmitriid.com
Дата: 31.10.05 12:23
Оценка:
VD>>Э...э... у меня 16-битная бухгалтерия до сих пор работает. Что же мне ее перписвать?

А>Надеюсь 4-битная у тебя тоже имеется и работает на каком-нибудь крупном предприятии?


В Турции (и вообще, по-моему, везде) бухгалтерский софт должен пройти сертификацию Министерства Финансов, прежде, чем его можно будет использовать для выписывания счетов, например. То есть, можно на коленке наваять краасивые формочки для бухгалтеров, но вот отчетную документацию из этих формочек налоговая не примет никогда.

Вот сейчас, например процентов 80 фирм в Турции, если не больше сидят в 16-битной бухгалтерии. Потому что альтернатив нет (ну или почти нет).


dmitriid.comGitHubLinkedIn
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.