C#

Все, что вы хотели знать о программизме, но боялись спросить.
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

Мне тут подсказали "нашинские".

Почему у Microsoft ничего не выйдет с .Net:
http://www.slackware.ru/article.ghtml?ID=544
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

2Marmot

Да, твоя ссылка выглядит более, чем убедительно.
В типичных applications того, что делает хороший сборщик мусора вполне достаточно.
Есть неплохая статья видного человека от программирования в части выделения памяти. Про сборку мусора там тоже немного есть.
http://russian.joelonsoftware.com/Artic ... asics.html

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

Есть немало коммерческих приложений (оооочень известных в мире), разработанных в России, где программисты, не то что напрямую работают с памятью, а вообще переписывают "стандартные" реализации malloc, realloc. Они мне рассказывали про это.
В Java если ты выскочил за пределы массива просто выскочит exception и всё
И всё. Это значит, что экзепшн не надо обрабатывать?
Понятно, что можно поставить проверок везде и всюду и в pure C code.
Ты сам понимаешь, что везде и всюду не требуется. Ну и, кроме проверок, и возвращения, например, HRESULT-кода ошибки есть ещё try/catch.


2Woozy
Безопасность кода и решение проблем с выделением памяти тоже не представляются очень важными приоритетами, есть техники и библиотеки в C++, которые их разрешают.
Я понимаю, о чём ты здесь говоришь. Но вот пришло просто в голову случаем - ты никогда не задумывался о несколько другом аспекте понятия безопасности, учитывая, что "твой код", вернее псевдокод, будут интерпретировать, а потом уже выполнять?

2Lepsik
будь реалистом. зайди в магазин и найди на полке хоть одно приложение, написаноое на Java, VB и на чем-то еще. Все на C++
Пару дней назад получили рейд. Там всё "управление" написано на Java.
Аватара пользователя
Marmot
Графоман
Сообщения: 38431
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Сообщение Marmot »

vg писал(а):
В Java если ты выскочил за пределы массива просто выскочит exception и всё
И всё. Это значит, что экзепшн не надо обрабатывать?
А это в зависимости от квалификации программиста :-)
Зато не случится вот это: http://www.cert.org/advisories/CA-2003-04.html
Или вот это : http://www.openssh.com/txt/buffer.adv , из-за чего я на этой неделе был вынужден остановить сервак, а потом ещё заниматься его патчением.

vg писал(а):
Понятно, что можно поставить проверок везде и всюду и в pure C code.
Ты сам понимаешь, что везде и всюду не требуется. Ну и, кроме проверок, и возвращения, например, HRESULT-кода ошибки есть ещё try/catch.
См. предыидущий пример про Slammer, управление к твоему коду может никогда и не вернуться... :twisted:
Аватара пользователя
ajkj3em
Маньяк
Сообщения: 2063
Зарегистрирован: 12 ноя 2006, 06:53

Сообщение ajkj3em »

Marmot писал(а):
drain bamage писал(а): ну и ... ? элементарный thin platform layer под C/C++ позволяет писать код полностью переносимый в сорцах куда угодно. "играться" на e10000 не требуется, все что нужно - нарисовать под него platform glue. а таскать за собой vm только для того, чтобы "запускать без перекомпиляции" - это overkill. так что woozy got a point
Надо бы нам с тобой в реале встретится и поговорить по-мужски. :twisted:
Люблю спорить с умными и убеждёнными людьми. :evil:

В любом случае будущее нас рассудит... :lol:
хе хе .. я прямо весь засмущался. если папа или vims чего организуют, можно и in person потрепаться, хотя мне на такого рода разговоры обычно времени жалко. лучше просто так за жизнь побазарить :)
Аватара пользователя
ajkj3em
Маньяк
Сообщения: 2063
Зарегистрирован: 12 ноя 2006, 06:53

Сообщение ajkj3em »

vg писал(а):Мне тут подсказали "нашинские".

Почему у Microsoft ничего не выйдет с .Net:
http://www.slackware.ru/article.ghtml?ID=544
с python досадная неувязочка вышла .. ай яй яй
Аватара пользователя
ajkj3em
Маньяк
Сообщения: 2063
Зарегистрирован: 12 ноя 2006, 06:53

Сообщение ajkj3em »

Marmot писал(а):
vg писал(а):
В Java если ты выскочил за пределы массива просто выскочит exception и всё
И всё. Это значит, что экзепшн не надо обрабатывать?
А это в зависимости от квалификации программиста :-)
Зато не случится вот это: http://www.cert.org/advisories/CA-2003-04.html
это лишь говорит о том, что ни у кого пока не дошли руки поковырять бинарники самой VM ... if you know what i mean :twisted:
Аватара пользователя
Marmot
Графоман
Сообщения: 38431
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Сообщение Marmot »

drain bamage писал(а):... можно и in person потрепаться, хотя мне на такого рода разговоры обычно времени жалко. лучше просто так за жизнь побазарить :)
За жизнь это на кухне :lol: :lol: :lol:
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

2Marmot

1) Проблема срыва стека известна давно. Что нового в той статье?
Везде есть ошибки программистов. Ну облажался мелкософт немножко, Ну и что, у других этого не бывает?

2) Мы разные, поскольку, разный уклад. Разные экономики. Если для Канады держать открытыми юдипишные порты, которые слушает SQL Server норма (так построен электронный бизнес), то у нас таким админам их кривые руки просто выдёргивают. Достаточно 80-го порта.
Аватара пользователя
Marmot
Графоман
Сообщения: 38431
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Сообщение Marmot »

drain bamage писал(а): это лишь говорит о том, что ни у кого пока не дошли руки поковырять бинарники самой VM ... if you know what i mean :twisted:
Ковыряли, нашли, немного, может и ещё найдут, НО, объём кода VM несравним с объёмом кода всех программ которые её используют.
И пишут VM не выпускники 3-х месячных курсов а настоящие профессионалы, и QA там на порядок строже, etc.
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

Ковыряли, нашли, немного, может и ещё найдут
Очень досадно постоянно патчить W2k, и в части Java машины тоже.
Смех просто :lol: :lol: :lol: Что ни патч, то критикл, как признаётся MS (в части секурити).
Просто критичнее критичного всё это.
Аватара пользователя
Marmot
Графоман
Сообщения: 38431
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Сообщение Marmot »

vg писал(а): 1) Проблема срыва стека известна давно. Что нового в той статье?
Везде есть ошибки программистов. Ну облажался мелкософт немножко, Ну и что, у других этого не бывает?
Так это я к тому, что на Java наприммер это просто невозможно, native часть кода сокетов(очень небольшая) протестированна вдоль и поперёк.
А ошибка в Java коде приведёт всё к тому же exception-ну, но уж никак не к code injection ...
Аватара пользователя
ajkj3em
Маньяк
Сообщения: 2063
Зарегистрирован: 12 ноя 2006, 06:53

Сообщение ajkj3em »

Marmot писал(а):
drain bamage писал(а): это лишь говорит о том, что ни у кого пока не дошли руки поковырять бинарники самой VM ... if you know what i mean :twisted:
Ковыряли, нашли, немного, может и ещё найдут, НО, объём кода VM несравним с объёмом кода всех программ которые её используют.
И пишут VM не выпускники 3-х месячных курсов а настоящие профессионалы, и QA там на порядок строже, etc.
ну ты сам понимаешь что на buffer overflows свет клином не сошелся. есть ведь еще и DoS (которые, btw, при наличии на бэкэнде консервативных gc, не настолько уж и сложно организовать), privilege escalation, session hijacking, etc etc - то есть vulnerabilities на основе в первую очередь кривого дизайна. а будет это написано на C, java, scheme или erlang - это уже дело десятое. так что то, что java за так обеспечивает кое-какую защиту от buf. overflows - это при прочих равных важно для студентов 1-2 курса .. ну и для кулибиных, с соответсвующими пробелами в образовании.

защита от code injection, кстати, может быть организована как на уровне OS (см openbsd stack protection), так и на уровне компилятора (см gcc -stack-protection патч). вполне очевидно что java здесь опять-таки ни при чем :)
Последний раз редактировалось ajkj3em 20 сен 2003, 19:07, всего редактировалось 1 раз.
Аватара пользователя
Marmot
Графоман
Сообщения: 38431
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Сообщение Marmot »

vg писал(а):
Ковыряли, нашли, немного, может и ещё найдут
Очень досадно постоянно патчить W2k, и в части Java машины тоже.
Смех просто :lol: :lol: :lol: Что ни патч, то критикл, как признаётся MS (в части секурити).
Просто критичнее критичного всё это.
Не понял, причём тут Java, если ты имеешь ввиду MS JVM (официально не сертифицрованную, BTW), большинство проблем там в интегрировании с COM :lol: :lol: :lol:
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

А ошибка в Java коде приведёт всё к тому же exception-ну, но уж никак не к code injection ...
Если это действительно так, то это на самом деле очень хорошо.
Аватара пользователя
Marmot
Графоман
Сообщения: 38431
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Сообщение Marmot »

drain bamage писал(а):buf. overflows - это при прочих равных важно для студентов 1-2 курса .. ну и для тех, кто не знает как корректно работать с памятью ..
Ты имеешь ввиду ребят написавших SQL-server? :lol:
или OpenSSH?
Ответить