IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Программирование (http://www.imho.ws/forumdisplay.php?f=40)
-   -   преимущества Windows с точки зрения системного программирования (http://www.imho.ws/showthread.php?t=94069)

marine 12.10.2005 02:08

преимущества Windows с точки зрения системного программирования
 
Прошу не читать эту тему и высказываться ярых юниксоидов.
А теперь вопрос. Расскажите, пожалуйста, кто знает, о преимуществах программирования под форточки перед юниксовыми системами на С . Одкуда появился такой вопрос. В моем университете один преподаватель решил рассказывать детям не только СПО под юниксы, но и под форточки , обучение должно вестись в виде сравнения этих систем. Ну и не может же все быть в винде плохо, должно быть что то хорошее. Так вот мне необходимо найти это хорошо и выразить в небольших кусках кода, которые бы это наглядно показывали.

Вот что мне дали на рассмотрение - конструкция __try{...} __finally {...}. На сколько я разобрался (Джеффри Рихтер "WINDOWS для провессионалов" 23 глава )эта конструкция поддерживается только виндой, в С есть конструкция try{...} catch{...}, но это немного другое. Подходит ли мне этот пример или нет ?
Заранее спасибо.

ЕЖ 17.10.2005 17:39

Честно говоря не вижу связи между конструкцией try {...} __finally {...} и Windows. Как известно блок finally предназначен для исполнения вне зависимости от возможного появления исключения внутри блока try и последующего выхода из функции (например для освобождения выделенных ресурсов). Наличие этой конструкции - это скорее вопрос конкретной реализации компилятора и его соответствия стандарту.

Cartman 17.10.2005 17:51

Переношу в "Программирование"

dyr_farot 17.10.2005 18:54

вот, что по этому поводу говорит MSDN
[cuote]The structured exception handling and termination handling mechanisms are integral parts of the system; they enable the system to be robust. You can use these mechanisms to create consistently robust and reliable applications.[/cuote]
http://msdn.microsoft.com/library/de...n_handling.asp

т.е. __try -- механизм системы ( против try, который стандартный )
но не факт что чего-то подобного нету в никсах

topknot 17.10.2005 19:50

Можешь ещё поискать почитать про waitable objects, например про такие функции как WaitForSingleObject() в винде и про select() в posix threads (читай в линукс). Например, если быть более конкретным, попробуй найти аналог той же WaitForSingleObject() в линуксе... :)

/7y3uK 18.10.2005 13:41

для того, чтобы сравнивать - нужно иметь нехилый опыт кодинга-шмодинга под обе оси... А также представлять себе, хотя бы в общих чертах, как устроено ядро каждой из операционок и как они работают с событиями на разных уровнях и с процессами... Сомневаюсь (ИМХО), что этот преподаватель на необходимом уровне ориентируется в данном вопросе... Единственный пример, который я мог бы привести - это GUI - ну как ни крути - на сях под винду имеется на вооружении гигантский набор ГУИ АПИ... а вот в юниксах и линуксах ГУИ до сих пор тормознуууутый :biggrin:

ПыСы
И вообще - все на кроссплатформенные языки!

dyr_farot 18.10.2005 14:18

GUI это не системное программирование ( это раз )
на никсах тот же Х11 довольно шустро бегает ( это если ты про граф. подсистему говорил ) а KDE -- так вообще песня, а не стол ( это два )

PSyton 18.10.2005 17:34

2 /7y3uK
GUI тут точно не причем. К тому же что значит в линуксе ГУИ тормознутый? Ничего подобного не заметил. И что значит "игантский набор ГУИ АПИ"? само виндовское графическое АПИ не таккое уж и большое. ВСе дело в библиотеках. А их и в линуксе навалом X11, GTK+, wxWidgets и что-то еще.
А что касается СПО то на эту тему нужно смотреть не то как работать с семафаорами и мьютексами, потоками, сигналами и т.п. а то как эти вещи реализованы в каждой ОС.

/7y3uK 20.10.2005 17:39

тогда встречный вопрос - что в вашем понимании значит системное программирование?

dyr_farot 20.10.2005 17:44

Систе́мное програ́ммное обеспечение - это набор программ, которые управляют компонентами вычислительной системы, такими как процессор, коммуникационные и периферийные устройства, а также которые предназначены для обеспечения функционирования и работоспособности всей системы.

Большинство из них отвечают непосредственно за контроль и объединение в единое целое различных компонентов аппаратного оборудования вычислительной системы.

Системное програмное обеспечение противопоставляется прикладному програмному обеспечению, которое напрямую решает проблемы пользователя.

Конкретные виды системного програмного обеспечения включают загрузчики, операционные системы, драйверы устройств, инструментальные программные средства, компиляторы, ассемблеры, компоновщики, утилиты.

/7y3uK 21.10.2005 11:08

Воот !!! :)
Я лично не понимаю, а причем тут тогда цпп для линукса и для винды? такая фурмулировка предполагает унифицированный подход к программированию. В такой формулировке вы не можете вообще использовать какие-либо преимущества конкретных систем при кодинге. В такой фурмулировке надо кодить на языке процессора и железа - на "голом" асме

ПыСы
вы уж извините мну за возможный уход во флуд, я в последнее время исключительно кроссплатформенным кодингом занимаюсь...

dyr_farot 21.10.2005 11:51

хотя бы потому, что винда написана на сях. хотя бы потому что дефрагментаторы пишут на плюсах. аналогично с компиляторами...

Borland 21.10.2005 15:00

Цитата:

dyr_farot:
хотя бы потому, что винда написана на сях
Не аргумент. Никсы тож на сях...

dyr_farot 21.10.2005 15:03

Цитата:

хотя бы потому, что винда написана на сях
это был ответ на
Цитата:

Я лично не понимаю, а причем тут тогда цпп для линукса и для винды?
т.е. операционки на сях пишут. о яве я такого не слышал...

/7y3uK 21.10.2005 16:16

естественно про джаву такого никто не слышал, ибо все только про CORBA совместимые приложения, про апплеты, да про игрушки знают, а вот что в современных роботах используются хардварные джавамашины, которые напрямую с байткодом работаю - это почему-то никому не интересно, равно как и в микротехнологиях используют, вот сейчас какие-то чипы, которые будут под кожу вставлять тестируют... ладно, собсно не я первый джаву помянул :)

А по поводу того, что операционки на сях пишут - ну с учетом того, что операционки на асме писать - это жутко долго и листинга на 10 70-ти тонных вагонов, соответственно :) Ясен пень, что асм в исходниках операционки присутствует, но не везде, а только в самых ответсвенных в плане контроля и оптимизации местах... Но я в упор не пойму - чего там сравнивать то?

ПыСы
а Ява - это такой остров и такие сигареты советские...

dyr_farot 21.10.2005 16:23

Цитата:

а вот что в современных роботах используются хардварные джавамашины, которые напрямую с байткодом работаю - это почему-то никому не интересно, равно как и в микротехнологиях используют
неинтересно потому как нафик надо? эти современные роботы ничем не лучше таких же, только сишных. аналогично с микротехнологиями...

Цитата:

Но я в упор не пойму - чего там сравнивать то?
это ты к чему?

Цитата:

а Ява - это такой остров и такие сигареты советские...
ну да, а java -- это сорт кофе. только при чем тут это?..

/7y3uK 21.10.2005 17:15

Цитата:

dyr_farot:
неинтересно потому как нафик надо? эти современные роботы ничем не лучше таких же, только сишных. аналогично с микротехнологиями...
тады ой :) правда? А на чем удобнее чип кодить группе разработчиков? на асме или на джаве? мне лично удобнее на джаве - это раз, во-вторых, про байткод советую почитать, особенно причину по которой его выбирают... там, про размер, про безопасность, в частности... предже чем делать утверждения из серии "ни чем не лучше"... Единственная область, в которой я временно согласен, что джава ацтой - это кодинг под мобильники - упустили стандарт... но скоро все изменится :)

Цитата:

dyr_farot:
это ты к чему?
это я к тому, о чем топик...

Цитата:

dyr_farot:
ну да, а java -- это сорт кофе. только при чем тут это?..
именно так, у них на логотипе кофейная чашка, и кругом обыгрывается кофейная тематика... Не ява, а джава...

харе флудить :)

dyr_farot 21.10.2005 17:23

Цитата:

А на чем удобнее чип кодить группе разработчиков? на асме или на джаве?
так -- да ( но где я говорил про асм? ). но если ставить вопрос ява или си -- тут долго думать нужно...
Цитата:

во-вторых, про байткод советую почитать, особенно причину по которой его выбирают... там, про размер, про безопасность, в частности...
читал я про байт-код. и что там с размером?.. а безопасность... тут нужно уточнить что под этим словом понимается? то, что _деструктивные_ действия нельзя выполнить? так в среде промышленных роботов ( да и в среде серьезного ПО ) это не плюс ( это вообще не фактор )...

Цитата:

Не ява, а джава...
буржуйское слово java трансгрессируется в русския язык именно словом ява -- открой какой-нить словарь англо-русский ( тот жк lingvo )...


Часовой пояс GMT +4, время: 04:08.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.