Добрый день... есть проблема, многие сейчас ищут работу, у меня с работой все в порядке пару лет (а может больше, денег платят нормально, повышения дают (дали), предложение перейти с 3К$ в реальных условиях мало интересны), главная проблем — скука, занимаюсь поддержкой старого кода изменить который нельзя вообще ни как, и никому это не интересно, в крупной финансовой государственной структуре.
Если у кого совет (а лучше предложение) поучаствовать в разработке нового проекта, направление с++ + boost либо (более интересно) linux kernel... именно за идею, а не за деньги,? Можно в строну научного software.
P.S. предложения сходить на kernel.org не надо, ядро настолько сильно мутирует, что интересно именно участие в проекте. Ну или с++ проект... если есть предложение, пишите в личку...
P.S.S. Я не зажрался =)(хотя шведский стол есть в наличии). Комментарии тоже приветствуются.
aqt>Если у кого совет (а лучше предложение) поучаствовать в разработке нового проекта, направление с++ + boost либо (более интересно) linux kernel... именно за идею, а не за деньги,?
А чего сразу linux kernel, почему не Windows Kernel? Вон у меня фаервол есть персональный, его развивать и развивать ещё. Язык C. Чем не проект? Если что, стучать в аську.
Здравствуйте, x64, Вы писали:
aqt>>Если у кого совет (а лучше предложение) поучаствовать в разработке нового проекта, направление с++ + boost либо (более интересно) linux kernel... именно за идею, а не за деньги,?
x64>А чего сразу linux kernel, почему не Windows Kernel? Вон у меня фаервол есть персональный, его развивать и развивать ещё. Язык C. Чем не проект? Если что, стучать в аську.
Ok, linux или Windows не так важно (хотя разрабатывал ряд криптопрограмм, не очень понравилось под Windows писать, но с другой стороны конечно написание легче в плане документации и подходов), но почему Си, а не С++? Ответ, что бы не развивать флейм можно через личку, а там посмотрим =).
P.S. в аську стукнуть не могу ( в данный момент нету), лучше пока через почту(личку). Спасибо.
Потому что драйвера на C++ считаю извращением, да и вообще, честно говоря, не люблю я этот язык (ты разве не читал тот пост, где я душу выкладывал? там это есть). В проекте фаервола сейчас используются C/C++/C# для реализации SYS/DLL/UI файлов соответственно. Кстати, есть и другие интересные идеи, так что вполне возможно ты найдёшь что-нибудь себе по душе.
aqt>P.S. в аську стукнуть не могу ( в данный момент нету), лучше пока через почту(личку).
Ну как появится аська — стучи, по почте обсуждать что-либо это как-то странно в наши дни 21-ого века.
Здравствуйте, aqt, Вы писали:
aqt>Если у кого совет (а лучше предложение) поучаствовать в разработке нового проекта, направление с++ + boost либо (более интересно) linux kernel... именно за идею, а не за деньги,? Можно в строну научного software.
Вот удивляюсь, что за детские вопросы от взрослого (наверное) человека? Зайди на www.sourceforge.net и выбери уже себе что нравится... По любым критериям. И вперёд, за идею!
F>Вот удивляюсь, что за детские вопросы от взрослого (наверное) человека? Зайди на www.sourceforge.net и выбери уже себе что нравится... По любым критериям. И вперёд, за идею!
В общем, да. Только на форуме, наверно, зачастую просто быстрее выйти на контакт с кем-то, кто реально ищет единомышленника. Не всем там на SourceForge нужны компаньоны, возможно.
Здравствуйте, x64, Вы писали:
F>>Вот удивляюсь, что за детские вопросы от взрослого (наверное) человека? Зайди на www.sourceforge.net и выбери уже себе что нравится... По любым критериям. И вперёд, за идею!
x64>В общем, да. Только на форуме, наверно, зачастую просто быстрее выйти на контакт с кем-то, кто реально ищет единомышленника. Не всем там на SourceForge нужны компаньоны, возможно.
Зато проектов там столько много, что уж наверное не проблема найти, к кому присоединиться — даже если процент ждущих с распростёртыми объятиями очень невелик...
Здравствуйте, aqt, Вы писали:
aqt>разрабатывал ряд криптопрограмм, не очень понравилось под Windows писать
А собственно какая разница для алгоритмов под какую ОС они будут работать. Или ты свой криптопровайдер писал?
Здравствуйте, x64, Вы писали:
x64>Потому что драйвера на C++ считаю извращением
Смотря что ты понимаешь под C++.
Если груду шаблонов вперемешку с STL и исключениями — да, в дровах такому не место.
Но в С++ есть много другого полезного.
Здравствуйте, x64, Вы писали:
aqt>>...но почему Си, а не С++?
x64>Потому что драйвера на C++ считаю извращением, да и вообще, честно говоря, не люблю я этот язык (ты разве не читал тот пост, где я душу выкладывал? там это есть). В проекте фаервола сейчас используются C/C++/C# для реализации SYS/DLL/UI файлов соответственно. Кстати, есть и другие интересные идеи, так что вполне возможно ты найдёшь что-нибудь себе по душе.
Ну хотя бы классы-то, аггрегацию и интерфейсы-то можно бы было из C++ заюзать?
ADT, коллекции, алгоритмы? Чтобы AVL и Hashtable собственный не писать, в С-стиле, с сопрограммами и прочим?
На osronline пробегали некоторые варианты портирования RTL в ядро. Да и по поводу самого С++ в ядре там много копий сломали, но, в конечном итоге, большинство — за.
Удобней, быстрей, надежней...
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, x64, Вы писали:
x64>>Потому что драйвера на C++ считаю извращением CC>Смотря что ты понимаешь под C++. CC>Если груду шаблонов вперемешку с STL и исключениями — да, в дровах такому не место.
Здравствуйте, StandAlone, Вы писали:
SA>Здравствуйте, Ушастый Ёж, Вы писали: УЁ>>3К$ — это уже называется зажрался? Вполне обычная ЗП для синьор девелопера в Москве... SA>По какому курсу?
Да по любому. Хоть по 30 и после налогов. 90К рублей хорошая зарплата, но это на самом деле обычное явление.
Здравствуйте, Ушастый Ёж, Вы писали:
SA>>Здравствуйте, Ушастый Ёж, Вы писали: УЁ>>>3К$ — это уже называется зажрался? Вполне обычная ЗП для синьор девелопера в Москве... SA>>По какому курсу?
УЁ>Да по любому. Хоть по 30 и после налогов. 90К рублей хорошая зарплата, но это на самом деле обычное явление.
EOH>Уровень ядра — все очень жестко с памятью. В частности, памяти под стэк очень мало. Серьезный шаблон с STL не влезет.
А что, шаблон приводит к увеличению расхода памяти? Это что-то новое.
Здравствуйте, minorlogic, Вы писали:
M>Шаблоны не могут влиять на размер использованного стека , а на примере std::vector покажете ? это достаточно серьезный шаблон ?
Это не шаблон. Это коллекция, сделанная на шаблонах.
Hi olegkr
M>>Шаблоны не могут влиять на размер использованного стека , а на примере std::vector покажете ? это достаточно серьезный шаблон ? O>Это не шаблон. Это коллекция, сделанная на шаблонах.
А что тогда шаблон? И как он увеличивает использование стека?
Здравствуйте, minorlogic, Вы писали:
EOH>>Уровень ядра — все очень жестко с памятью. В частности, памяти под стэк очень мало. Серьезный шаблон с STL не влезет.
M>Шаблоны не могут влиять на размер использованного стека , а на примере std::vector покажете ? это достаточно серьезный шаблон ?
Легко В реализации вижалки его размер байт 16, а в жёстких условиях хватит 6-8.
Здравствуйте, NikeByNike, Вы писали:
NBN>Здравствуйте, minorlogic, Вы писали:
EOH>>>Уровень ядра — все очень жестко с памятью. В частности, памяти под стэк очень мало. Серьезный шаблон с STL не влезет.
M>>Шаблоны не могут влиять на размер использованного стека , а на примере std::vector покажете ? это достаточно серьезный шаблон ?
NBN>Легко В реализации вижалки его размер байт 16, а в жёстких условиях хватит 6-8.
а при чем тут шаблон ? делайте 6-8 ... кто запрещает
Здравствуйте, minorlogic, Вы писали:
x64>>>Потому что драйвера на C++ считаю извращением CC>>Смотря что ты понимаешь под C++. CC>>Если груду шаблонов вперемешку с STL и исключениями — да, в дровах такому не место.
M>Почему?
потому что как уже сказали — есть ограничения на стек, нет полноценной поддержки RTTI и исключений, STL в полной мере тоже отсутствует и прочие моменты. Если конкретно по шаблонам (да и inlines тут многое касается) говорить, то не надо с ними заигрываться в ядре потому что для начала неизвестно, куда попадет сгенеренный компилятором шаблонный код — в pageable память или нет. А для нас это бывает очень важным когда paging уже недоступен, а pagable кода в памяти еще нет.
К тому же это дело (контроль того, куда лягут конструкторы, таблицы вирт ф-ий и т.п. детали реализации С++ штучек) не регулируется компилятором и прагмами тут тоже не всегда решается.
Тем не менее все совсем не так плохо, как возможно считают некоторые адепты С выше по ветке и лично я уверен С++ в ядре — быть! Собственно, он уже там весьма давно и с успехом применяется, в т.ч. ядерными (не всеми) командами в MSFT.
Просто нужно четко понимать что у нас есть и что можно (и когда), а что нельзя и почему.
В этом плане ничего нового, просто цена незнания бывает более суровой, чем в мире куда долетает свет GUI
... << RSDN@Home 1.2.0 alpha 4 rev. 1136>>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re: С++ в ядре: использовать можно, но дозированно.
Здравствуйте, Valery A. Boronin, Вы писали:
VAB>потому что как уже сказали — есть ограничения на стек, нет полноценной поддержки RTTI и исключений, STL в полной мере тоже отсутствует и прочие моменты.
RTTI и исключения, кстати, можно сделать
VAB>Если конкретно по шаблонам (да и inlines тут многое касается) говорить, то не надо с ними заигрываться в ядре потому что для начала неизвестно, куда попадет сгенеренный компилятором шаблонный код — в pageable память или нет. А для нас это бывает очень важным когда paging уже недоступен, а pagable кода в памяти еще нет.
По факту — всё кладётся в non-paged memory.
Sapienti sat!
Re[2]: С++ в ядре: использовать можно, но дозированно.
Здравствуйте, Cyberax, Вы писали:
VAB>>потому что как уже сказали — есть ограничения на стек, нет полноценной поддержки RTTI и исключений, STL в полной мере тоже отсутствует и прочие моменты. C>RTTI и исключения, кстати, можно сделать
прошу записать в протокол, что я не говорил что нельзя. Правда поддержку исключений будет сделать непросто, учитывая "современное развитие печатного дела на Западе". Да и SEH есть. Равно как и необходимость в RTTI часто есть признак неоптимального проектирования. Так что необходимость в этих механизмах за пару десятилетий особо не возникла именно в ядерном мире и пока не вижу подвижек в этом направлении. Ибо есть вещи поважнее
VAB>>Если конкретно по шаблонам (да и inlines тут многое касается) говорить, то не надо с ними заигрываться в ядре потому что для начала неизвестно, куда попадет сгенеренный компилятором шаблонный код — в pageable память или нет. А для нас это бывает очень важным когда paging уже недоступен, а pagable кода в памяти еще нет. C>По факту — всё кладётся в non-paged memory.
Возможно, только не у всех и не всегда.
иначе бы не было вещей, описанных в документе который можно было бы обозвать вместо "С++ в ядре: за и против" "С++ в ядре: Кровь, пот и слезы", натурально
... << RSDN@Home 1.2.0 alpha 4 rev. 1136>>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[3]: С++ в ядре: использовать можно, но дозированно.
Здравствуйте, Valery A. Boronin, Вы писали:
C>>RTTI и исключения, кстати, можно сделать VAB>прошу записать в протокол, что я не говорил что нельзя. Правда поддержку исключений будет сделать непросто, учитывая "современное развитие печатного дела на Западе". Да и SEH есть.
Ну собственно, SEH и используется для этого.
VAB>Равно как и необходимость в RTTI часто есть признак неоптимального проектирования. Так что необходимость в этих механизмах за пару десятилетий особо не возникла именно в ядерном мире и пока не вижу подвижек в этом направлении. Ибо есть вещи поважнее
Ну да, RTTI (как и множественного виртуального наследования) нафиг не нужна в большинстве случаев. Просто я говорю, что и её можно сделать
А вот исключения как раз очень кстати бывают.
C>>По факту — всё кладётся в non-paged memory. VAB>Возможно, только не у всех и не всегда.
Всегда и у всех пока что. Это скорее как теоретическая угроза, но раз сам MS использует С++ в ядре, то вряд ли они станут это ломатью
Ну и в крайнем случае, можно будет написать пост-процессор .obj-файлов, добавляющий нужные аннотации для сгенерированных блоков.
VAB>иначе бы не было вещей, описанных в документе который можно было бы обозвать вместо "С++ в ядре: за и против" "С++ в ядре: Кровь, пот и слезы", натурально
Нет, почему. Для С++ников там вполне очевидные вещи написаны.