LINUX.ORG.RU

История изменений

Исправление Stanson, (текущая версия) :

Андрей, вы путаете термины Native Code и Native Application.

Сергей, вам бы не мешало разобраться с терминами самому. Native Code теоретически можно сгенерить даже из какого-нибудь жабоскрипта, буде написан компилятор для жабоскрипта. Поэтому рассуждать о native - не native code совершенно бессмысленно. А native application - это application которое не только native code, что само собой разумеется, но и использует native API и прочую native инфраструктуру OC.

Ну так вот, не существует ОС, в которых native API на жабе, например. В Epoc/Symbian native API был на C++. Т.е. без привлечения дополнительных сущностей невозможно было написать работающую софтину не используя C++. Так и во всех нынешних ОС - невозможно написать что-либо не используя сишечку.

Практика показала, что 99% продакшн native кода написано таки на плюсах, а не на C.

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

Чистый C удобен тем, что язык можно выучить за 2-3 часа чтения мануала, с плюсами меньше чем 6-12 месяцев на это не уйдет.

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

А вот и нет. Например ADA очень неплохо используется в своих специфичных областях.

И как же на ADA какой-нибудь gethostbyname делается? ADA прям syscall'ами дрыгает, чтоб добиться нужного, или всё же таки вызывается банальная сишечная нативная библиотечка?

Или например возьмем Mac OS X, большая часть OS там написана на Objective C, драйвера - на C++, и только мелкое Mach/BSD гибридное ядро - на C.

Ну я с MacOSX не сильно ковырялся, но если я правильно помню, то там как минмум можно писать софт только на C. Ниаких прослоек С->ObjC как в том же Epoc (C->C++) для этого не нужно, libc там совершенно привычная и без особых извращений. Впрочем, допускаю что API гуйни может быть ObjectiveC-only.

Исходная версия Stanson, :

Андрей, вы путаете термины Native Code и Native Application.

Сергей, вам бы не мешало разобраться с терминами самому. Native Code теоретически можно сгенерить даже из какого-нибудь жабоскрипта, буде написан компилтор для жабоскрипта. Поэтому рассуждать о native - не native code совершенно бессмысленно. А native application - это application которое не только native code, что само собой разумеется, но и использует native API и прочую native инфраструктуру OC.

Ну так вот, не существует ОС, в которых native API на жабе, например. В Epoc/Symbian native API был на C++. Т.е. без привлечения дополнительных сущностей невозможно было написать работающую софтину не используя C++. Так и во всех нынешних ОС - невозможно написать что-либо не используя сишечку.

Практика показала, что 99% продакшн native кода написано таки на плюсах, а не на C.

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

Чистый C удобен тем, что язык можно выучить за 2-3 часа чтения мануала, с плюсами меньше чем 6-12 месяцев на это не уйдет.

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

А вот и нет. Например ADA очень неплохо используется в своих специфичных областях.

И как же на ADA какой-нибудь gethostbyname делается? ADA прям syscall'ами дрыгает, чтоб добиться нужного, или всё же таки вызывается банальная сишечная нативная библиотечка?

Или например возьмем Mac OS X, большая часть OS там написана на Objective C, драйвера - на C++, и только мелкое Mach/BSD гибридное ядро - на C.

Ну я с MacOSX не сильно ковырялся, но если я правильно помню, то там как минмум можно писать софт только на C. Ниаких прослоек С->ObjC как в том же Epoc (C->C++) для этого не нужно, libc там совершенно привычная и без особых извращений. Впрочем, допускаю что API гуйни может быть ObjectiveC-only.