Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет chistyakov ([info]chistyakov)
@ 2004-12-08 02:32:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Непросвещённым любителям языка "Си". Для чтения (тем, кто умеет).
Читатель может прикинуть, сколько весила бы машина, если бы ее ПО создавалось на основе таких популярных языков как Java или C++ — и когда был бы закончен проект. В качестве масштабного множителя можно предложить отношение объемов описаний языков — 16 стр. для Оберона, 200 для Java и больше 1000 для C++. ;-))

Почти полувековой личный опыт Н.Вирта в разработке пионерского программного обеспечения — компиляторы, операционные системы, прикладные программы (офисное ПО для факультета информатики ETH для рабочих станций Lilith и Ceres с конца 70-х по 1990 г.), управляющие системы реального времени, а также преподавание — такой уникальный опыт придает колоссальный вес его критике широко распространенных языков и практики программирования.



{+}


(Читать комментарии) - (Добавить комментарий)


[info]volodymir_k@lj
2004-12-10 08:39 (ссылка)
Не жизнеспособная штука.
8-)
Категорично Вы штатовцев разделали!

Честно говоря, я не спец по системам реального времени, но три общих соображения:
1. Никто не запрещает программе на Яве сначала выделить все структуры данных и потом прекратить динамическое распределение.

Например, в нашем проекте меговые XMLи для каждого пользователя веб-приложения (а их может быть миллион) надо превращать в объекты. Народ тыкнулся -- SAX sucks (миллион строк создаётся), написали свой парсер по "голому" массиву букв. Запрос 50 мс, разбор 80 мс. Лепота!

2. Если задача требует динамического распределения памяти, то какая разница между Java аллокатором и C++ аллокатором. Всё равно объекты надо освобождать, а для C++ аллокаторов надо доказать устойчивость алгоритма по времени. Но и для Явки в таком случае можно написать свой хороший аллокатор (есть API для подключения).

3. Современные Явы уже с 1.4 позволяют контролировать время задержки на сбор. То есть для Явы тоже можно доказать устойчивость по времени. А тем более что один из режимов сбора мусора сейчас не останавливает "вселенную" (параллельное выполнение).

(Ответить) (Уровень выше)


(Читать комментарии) -