OSDev

для всех
Текущее время: 28 мар 2024, 16:35

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 11 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: 05 мар 2014, 23:10 

Зарегистрирован: 04 ноя 2007, 14:48
Сообщения: 113
Не знаю, было или нет. В теме http://board.kolibrios.org/viewtopic.ph ... 4&start=30
появился пост, ссылающийся на http://www.computerra.ru/65749/steps/

"Система STEPS: двадцать тысяч строк кода, которые изменят программирование, операционные системы и интернет"

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 мар 2014, 15:13 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 970
Откуда: Дагоба
dragon писал(а):
"Система STEPS: двадцать тысяч строк кода, которые изменят программирование, операционные системы и интернет"

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

dragon писал(а):
Похоже, мир таки двигается в сторону унификации. Или как обычно, поговорили и разошлись?

Определённая унификация будет, я в этом уверен. Но только не в таком виде и не под флагом Smalltalk/Squeak. В данном случае другого исхода кроме как "поговорили и разошлись" быть не может.

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 мар 2014, 16:48 

Зарегистрирован: 31 окт 2011, 18:20
Сообщения: 230
Да проще можно с таким подходом. Написать всю систему одним словом:
Код:
 RUN

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 мар 2014, 17:15 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
Вы видимо не дочитали статью до конца все данные по компилятору приводиться.
Трансляция с объектного уровня на ЯВУ 130 строк. Трансляция с ЯВУ в промежуточное представление 1100 строк. Компиляция не учитывается. Но в целом она скорее всего не более 100-1000 строк.

Дело в другом что подход в статье прост выкинуть всё лишнее. С таким подходом можно работать и создавать ОС.
Они не первые. Существует тысячи языков и сотни ОС.

Но такие продукты это лабораторные образцы они не учитывают интересы большинства забывают о нюансах. Которых очень много.

Язык программирования. Он должен быть лаконичным. А следовательно поддерживать строки, целые числа, рациональные, комплексные числа, матрицы, символьные вычисления, лямбда вычисления и другие математические операции, динамические массивы и матрицы, длинные числа и тд.

А это уже код для АСТ больше 1 000 строк, а возможно и более 10 000.
На самом деле если по уму делать, то только модификаторы и объявления АСТ 1 000 строк кода.

В принципе ядро или каркас для ОС можно написать в коротком виде уложившись от 10 000-100 000 строк.
А вот драйвера и вспомогательные библиотеки которые решают частные задачи. Могут занять очень много.
WindowsPE занимает около 1 мбайта, что примерно равно 100 000 строкам.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 мар 2014, 20:29 

Зарегистрирован: 31 окт 2011, 18:20
Сообщения: 230
Цитата:
Компиляция не учитывается. Но в целом она скорее всего не более 100-1000 строк.

Дочитал. И думаю, что их компиляция значительно больше 1000 строк.
Цитата:
А вот драйвера и вспомогательные библиотеки которые решают частные задачи. Могут занять очень много.
WindowsPE занимает около 1 мбайта, что примерно равно 100 000 строкам.

А если пытаться сделать ОС, эффективно работающую на сильно разном железе, то и 100 000 будет слишком мало.
Не говоря о том, что вообще с их подходом писать драйвера как-то глупо. Идея целиком и полностью состоит из неэффективных решений. Языки, трансляторы языков, трансляторы трансляторов, и так далее. Все это нагромождение не может работать эффективно; думаю, что вся их система функционирует только благодаря тому, что процессоры сейчас 8миядерные по 3 с гагом гигагерца. И по мнению разработчиков, мощность компьютерам девать некуда и надо ее расходовать по-максимуму.
И все только ради того, чтобы можно было заявить про 20 000 строк.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 мар 2014, 21:32 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
:mrgreen: Спасибо поржал. Это классическая схема используемая всеми современными компиляторами (GPP, Clang, RAD и тд). Классической она стала толи в 70-тых толи в 80-тых годах. Когда и гигагерцового процессора в помине не было.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 мар 2014, 00:16 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 970
Откуда: Дагоба
pavia писал(а):
Трансляция с объектного уровня на ЯВУ 130 строк. Трансляция с ЯВУ в промежуточное представление 1100 строк. Компиляция не учитывается. Но в целом она скорее всего не более 100-1000 строк.

Если говорить про описание синтаксиса языка на YACC/BISON или языке OMeta, о котором идёт речь в статье, то да, его, вероятно, можно уложить в пару сотен строк. Но если вы считаете, что можно упихнуть весь компилятор в тысячу строк, вы явно не имели практического опыта с компиляторами. Язык OMeta весьма напоминает YACC/BISON и выполняет сходные функции. Вы знаете размер исходников BISON? 44 тысячи строк! А ведь я ещё не включаю туда 25 тыс строк библиотечных функций в его составе. И это - только одна фаза компилятора! Так что не верьте в те сказки, которые вам рассказывают.

pavia писал(а):
Дело в другом что подход в статье прост выкинуть всё лишнее. С таким подходом можно работать и создавать ОС.

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

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 мар 2014, 08:44 
Аватара пользователя

Зарегистрирован: 16 апр 2010, 10:10
Сообщения: 320
Откуда: Псковская обл.
Выше головы все хотят прыгнуть. Я про все эти игры с ЯВУ.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 мар 2014, 10:53 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
Yoda,
Я имел в виду компиляцию не с Ometa, а с промежуточного языка Nothing в Натив. А полная компиляция включает все стадии просто просуммировать данные 130+1100+1000.

По поводу BISON я знал что много, но детально его не изучал. Зато читал справку она очень маленькая. У BISON много кода так как ему приходится поддерживать много частностей. Но честно я думал у него кода будет меньше.
У BP6.0 к примеру 31 тысяча строк кода. Это целиком компилятор. С поддержкой отладочной информацией и BASM.

Но я прекрасно знаю сколько занимает компилятор BP6.0 и сколько GCC, и Clang так как их код пристально изучал.
А вы знаете сколько занимает транслятор Вирта для PL/0 в ассемблер? 440 строк. Правда смело значения можно умножить на 2 так как явно место в книге экономили.
И свой компилятор я писал прекрасно знаю что и сколько места занимает.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 мар 2014, 13:51 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 970
Откуда: Дагоба
pavia писал(а):
Я имел в виду компиляцию не с Ometa, а с промежуточного языка Nothing в Натив. А полная компиляция включает все стадии просто просуммировать данные 130+1100+1000.

Скачайте исходники Tamacola и OMeta и попробуйте в них разобраться. Я не напрасно в своём посте привёл ссылку на OTCC - в котором даже не-obfuscated версия компилятора с языка C, написанная на нём же самом, имеет размер 15000 байт и 633 строки. Т.е., я знаю, что если поставить себе целью поставить рекорд компактности и много лет идти к этой цели, то можно достичь существенных успехов. Также я не случайно привёл последовательность, в которой приносятся жертвы в погоне за размером. Попробуйте воспользоваться этим компилятором.
По поводу Тамаколы/ОМеты. Институт VPRI существует с 2001 года. Получается, что за 13 лет они написали всего несколько тысяч строк. Почему? Потому что Тамакола, - развитие LISP/Scheme, - типичный представитель мозголомного функционального программирования. Общеизвестный факт, что функциональные языки существенно плотней, но на них сложней писать, а в большинстве случаев их эффективность, мягко говоря, сомнительна. Иными словами, VPRI 13 лет шёл к намеченной цели - создать ультра-компактную, но неэффективную, неудобную и нечитаемую среду, в чём, вероятно, и преуспел.

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB