Re[11]: Ой, чо с D деется-то!?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 18.11.06 09:18
Оценка:
Здравствуйте, AndreiF, Вы писали:

АХ>>Просто он один работает над компилятором (причем он еще и занимается другими своими проектами!), который написан в основном на низкоуровневом C, причем он работает еще и без IDE.


AF>А почему не на D? Не забываем о принципе dogfood. В общем, выглядит подозрительно.


Объективности ради: компилятор D написан на C++ (в каталоге src файлы с расширениями .c и .h, но в них C++ный код).


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[4]: Ой, чо с D деется-то!?
От: FR  
Дата: 18.11.06 09:29
Оценка: :)
Здравствуйте, ie, Вы писали:

FR>>Вас (поклоников Немерле) по моему уже не просто клинит, а окончательно переклинило.


ie>А поклоников чего бы то нибыло всегда клинит. Впрочем, я этого и не отрицаю. А как еще можно назвать ситуацию, когда я пишу какой-нибудь код и думаю, а как бы его можно было покрасивей переписать на Немерл? Одним словом — клинануло. При всем при этом я стараюсь быть объективен. Не всегда получается, что ж теперь


А у тебя легкая форма (надеюсь у меня тоже)
Но на всякий случай перед тем как писать в темы никакого отношения к Немерле не имеющие про Немерле, глубоко вдохни и медленно cчитай в уме до десяти
Еще почти любой код можно красивше переписать, и без Немерле

FR>>В общем я теперь твердо убежден функциональщина очень опасна для психики, срывает крышу, особенно если упертые императивщики резко на нее переходят


ie>Дык, функциональщина тут как бы не причем. Думаю любой шаг эволюции сопровождается таким клином если не у всех, то уж точно не у единиц.


Ты разве не слышал про "злобных функциональщиков"?
Re[14]: Ой, чо с D деется-то!?
От: FR  
Дата: 18.11.06 09:52
Оценка:
Здравствуйте, Vermicious Knid, Вы писали:

VK>Здравствуйте, ie, Вы писали:


E>>>Да ладно сравнивать императивное решение с функциональным:

ie>>Точно-точно!
ie>>
ie>>makeDist _ 0 = []
ie>>makeDist n m = let r = round (fromIntegral n / m) in r : makeDist (n-r) (m-1)
ie>>

VK>Ну и Nemerle можно таким образом ужать:
VK>
VK>def makeDist(n, m)
VK>    if (n == 0) [] else
VK>        def r = (n / m:>double).Round():>int; r :: makeDist(n-r, m-1)
VK>


и D:
int[] makeDistrib(int n, int m)
{
if(m == 0) return [];
int r = cast(int)round(cast(float)n / m); return [r] ~ makeDistrib(n - r, m - 1);
}


и питон:
def make_dist(n, m):
    if m == 0:  return []
    r = int(round(float(n) / m)); return [r] + make_dist(n - r, m - 1)
Re[12]: Ой, чо с D деется-то!?
От: Андрей Хропов Россия  
Дата: 18.11.06 11:40
Оценка:
Здравствуйте, VladD2, Вы писали:

АХ>>А зачем C/C++ если есть лучше их — D?


VD>По-меому, все очевидно. С++ потому что на работу за это взяли. А не D, помтоу, что если он будет выбирать сам и другие условия будут позволять, то он как разумный и перспективно мыслящий человек несомненно выберет Nemerle.


VD>А ты сам бы разве не так же поступил бы?

Ответил здесь
Автор: Андрей Хропов
Дата: 17.11.06
:

Если бы я сам выбирал на чем разрабатывать, я бы выбрал Nemerle основным языком и С++ или D для критических по скорости и затратам памяти частей.

... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[8]: Ой, чо с D деется-то!?
От: Андрей Хропов Россия  
Дата: 18.11.06 11:41
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Андрей Хропов, Вы писали:


АХ>>C + inline asm


VD>Ты меня извини, но "C + inline asm" == C и asm, т.е. два языка. Это можно и в Немрле встроить поддержку IL-блоков. Причем ты сам можешь это сделать.


Не, тут не в IL дело. Надо возможность пользоваться командами специфичными для данной архитектуры. IL тут не причем.

АХ>>Можно, но возможность спуститься на низкий уровень должна быть.


VD>Зачем? Чтобы смотреть как толпы ежиков лезут туда где их убьет током?


VD>Ты серьезно собрался ОС писать? Нет?

Мы не про меня говорим, а про то каким должен быть язык для системного ПО. Которое в себя включает в том числе написание менеджеров памяти, GC и т.п.

АХ>>>>Хотя неверифицируемая часть состоит всего из 5% кода.

WH>>>5% это много. Должно быть много меньше.
АХ>>Откуда такие выводы?

VD>Лучше скажи откуда взял цифру — 5%?


An Overview of the Singularity Project, раздел 5.1

Singularity’s I/O system consists of three layers: HAL, I/O manager, and drivers. The HAL
is a small, trusted abstraction of PC hardware: IoPorts, IoDma, IoIrq, and IoMemory
abstractions to access devices; interfaces to the timer, interrupt controller, real-time clock, and
debug console; kernel debugging stub; event logger; interrupt and exception vector; BIOS
resource discovery; and stack linking code. It is written in C#, C++, and assembler. The
assembler and C++ portions of the HAL represent approximately 5% of the trusted code in the
system
(35 out of 561 files).


Это правда только I/O, но более четких цифр там вроде нет.

АХ>>Да выкинуть их давно надо. Я ими никогда не пользовался.


VD>Скажи автору Ди. Посмотрим на рекцию.

Скажу

VD>За одно скжи про указатели.


АХ>>Хороший оптимизатор все равно в случае чего (если это безопасно) может соптимизировать распределение памяти.


VD>Очень хороший. Такой способны породить только Sun, IBM, MS ну может еще кто-то. Но никак не кустари одиночки.

Интересно, почему DMD на недавних тестах был быстрее компиляторов и рантаймов от MS и Sun?

АХ>>Если бы я сам выбирал на чем разрабатывать, я бы выбрал Nemerle основным языком и С++ или D для критических по скорости и затратам памяти частей.


VD>И скоро понял бы, что давно забыл что как писать на С++ и Dю

... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: Ой, чо с D деется-то!?
От: Андрей Хропов Россия  
Дата: 18.11.06 11:41
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Андрей Хропов, Вы писали:


АХ>>Ну хорошо, выражусь по-другому: в системном языке должна быть возможность спуститься на низкий уровень и контролировать каждый бит.


VD>Тогда единственный выход это ассемблер.

inline assembler

АХ>> Все время это делать не надо, но, скажем, критические части ядра ОС по-другому не напишешь.


VD>Вот авторы Сингулярити уже доказали, что подобные слова — заблуждение.

В смысле?

Еще раз :

An Overview of the Singularity Project, раздел 5.1

Singularity’s I/O system consists of three layers: HAL, I/O manager, and drivers. The HAL
is a small, trusted abstraction of PC hardware: IoPorts, IoDma, IoIrq, and IoMemory
abstractions to access devices; interfaces to the timer, interrupt controller, real-time clock, and
debug console; kernel debugging stub; event logger; interrupt and exception vector; BIOS
resource discovery; and stack linking code. It is written in C#, C++, and assembler. The
assembler and C++ portions of the HAL represent approximately 5% of the trusted code in the
system
(35 out of 561 files).


Итак, 5% хотя бы I/O (про ядро непонятно) написаны на asm + C++. Немного, но тем не менее.

VD> Да и не ясно почему нельзя какие-то критические места написать на низгоуровневом языке? Их же очень мало.


АХ>>Помимо этого должна быть возможность вообще не пользоваться сборщиком мусора,


VD>Это почему?

Потому что от него оверхед (для ядра это существенно) и к тому же он приводит к недетерминированному поведению.
В real-time системах бывает так, что вообще вся память статически распределяется.

АХ>>не должно быть обязательной зависимости от большого рантайма


VD>А ничего, что рантайм Висты составляет где-то 3 гига?

Что значит рантайм Висты?

Язык для системного ПО должен позволять писать с минимально возможным оверхедом — для встроенных устройств, для смарт-карт и т.п.

АХ>>(для встроенных систем и вообще где мало памяти), должен быть встроенный ассемблер


VD>Нда. Твои представления сильно устарели. Да и вообще странные рассуждения. Неуже ли в этом мире не хватит мест где нужно качество и удобство и все упирается в объем памяти?


Хватит, но я про языки для системного ПО, где производительность — одна из важнейших характеристик.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[11]: Ой, чо с D деется-то!?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.11.06 18:32
Оценка:
Здравствуйте, FR, Вы писали:

FR>Кстати где модераторы, раньше злобных функциональщиков за такое же поведение банили.


Модераторы здесь. А функциональщиков банили не за рекламу ФП, пусть и неуемную, а за потоки хамства, которыми эта реклама сопровождалась. И, уж коли ты первый о модераторах вспомнил, то предупреждаю: общаться в тоне, подобном Re[2]: Ой, чо с D деется-то!?
Автор: FR
Дата: 18.11.06
не стоит.
... << RSDN@Home 1.2.0 alpha rev. 646 on Windows XP 5.1.2600.131072>>
AVK Blog
Re[5]: Ой, чо с D деется-то!?
От: VladD2 Российская Империя www.nemerle.org
Дата: 18.11.06 18:47
Оценка: :)
Здравствуйте, FR, Вы писали:

FR>А у тебя легкая форма (надеюсь у меня тоже)


Легкая форма самая опасная. Она чаще всего переходит в храническую, а та в клиническую.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Ой, чо с D деется-то!?
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.11.06 03:08
Оценка: -1
Здравствуйте, FR, Вы писали:

FR>Странно как ты мог раньше восхищаться таким убогим и не сделанным на четких научных принципах C#?


Он был лучше С++ и остается лучше Ди во многом. Так что не странно, что пока на горизонте не было чего-то более стоящего (по совокупности причин) Шарп был моим фаворитом. Но время идет вперед и все вокруг изменяется. Изменяется состав языков. Изменяюсь я. И только вы с eao197 не меняетесь. Я искренне рад за вас!

FR>Мне кажется Немерле с такими горе агитаторами может оказатся в полной ж...


Я вот уверен, что даже такие не очень опытные агитаторы приносят Nemerle только пользу. Ведь с техническими проблемами мы справимся. А вот популяризация языка очень важни. И вы вносите реальный вклад в нее. Так держать товарищи!

FR>В общем ничего кроме медвежьей услуги таким спамом не по теме вы Немерле не оказываете.


Неумение оценивать реалии окружающего мира это конечно недостаток. Но думаю, он тебе не помешает в нашем деле. Так что продолжайте господа. Удивительно только то, что вы даже не замечаете, что вы соллисты в этом процессе.

FR>Кстати где модераторы, раньше злобных функциональщиков за такое же поведение банили.


Ябиднячать не хорошо. А кливетать и подавно.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Ой, чо с D деется-то!?
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.11.06 03:08
Оценка:
Здравствуйте, Андрей Хропов, Вы писали:

АХ>Не, тут не в IL дело. Надо возможность пользоваться командами специфичными для данной архитектуры. IL тут не причем.


Ничего что код с встроенным ассемблером не переносимый? Как раз при создании ОС люди обычно выделяют ассемблер в отдельный файлы и стараются минимизировать их число.

АХ>Мы не про меня говорим, а про то каким должен быть язык для системного ПО. Которое в себя включает в том числе написание менеджеров памяти, GC и т.п.


Системное ПО включает намного больший класс задач нежели написание менеджеров памяти.

VD>>И скоро понял бы, что давно забыл что как писать на С++ и Dю

АХ>

Ну, я типа такой же умный как ты был. Тоже думал, что если чё, то С++ нам поможет. Вот только любое столкновение с этим низким уровнем наталкивало меня на мысль, что ну его на...
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Ой, чо с D деется-то!?
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.11.06 03:08
Оценка:
Здравствуйте, Андрей Хропов, Вы писали:

АХ>Еще раз :


АХ>An Overview of the Singularity Project, раздел 5.1


АХ>

АХ>Singularity’s I/O system consists of three layers: HAL, I/O manager, and drivers. The HAL
АХ>is a small, trusted abstraction of PC hardware: IoPorts, IoDma, IoIrq, and IoMemory
АХ>abstractions to access devices; interfaces to the timer, interrupt controller, real-time clock, and
АХ>debug console; kernel debugging stub; event logger; interrupt and exception vector; BIOS
АХ>resource discovery; and stack linking code. It is written in C#, C++, and assembler. The
АХ>assembler and C++ portions of the HAL represent approximately 5% of the trusted code in the
АХ>system
(35 out of 561 files).


АХ>Итак, 5% хотя бы I/O (про ядро непонятно) написаны на asm + C++. Немного, но тем не менее.


Ты явно неверно интерпретируещь эти слова. Слова "5% of the trusted code" означают, что 5% небезопасного кода (коду которому приходится доверять) написано на С++ и ассемблере. Это значит, что 95% небезопасного кода написано на C# (с использованием unsafe-блока).

Эти слова ничего не говорят об отностельном объеме небезопасного кода. Можно только с уверенгстью утверждать, что на момент написания этих слов код с небезопасными файлами занимал 561 файл.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Ой, чо с D деется-то!?
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.11.06 03:08
Оценка:
Здравствуйте, FR, Вы писали:

FR>Хотя бы потому что он как я понимаю также участвует в разработке Digital Mars C++ и с его стороны было бы просто глупо не использовать общий code base.


Глупо использовать язык более низкого уровня если можно использовать более высокого.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Ой, чо с D деется-то!?
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.11.06 03:08
Оценка: :)
Здравствуйте, eao197, Вы писали:

E>Объективности ради: компилятор D написан на C++ (в каталоге src файлы с расширениями .c и .h, но в них C++ный код).


И почему же Ди не пишется на Ди? Может из-за этого все проблемы?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: Ой, чо с D деется-то!?
От: FR  
Дата: 19.11.06 07:15
Оценка: -1
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, FR, Вы писали:


FR>>Хотя бы потому что он как я понимаю также участвует в разработке Digital Mars C++ и с его стороны было бы просто глупо не использовать общий code base.


VD>Глупо использовать язык более низкого уровня если можно использовать более высокого.


Если пишешь с нуля то да, но у него не такая ситуация.
Re[12]: Ой, чо с D деется-то!?
От: FR  
Дата: 19.11.06 07:15
Оценка: +3 -2 :)))
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, FR, Вы писали:


FR>>Странно как ты мог раньше восхищаться таким убогим и не сделанным на четких научных принципах C#?


VD>Он был лучше С++ и остается лучше Ди во многом. Так что не странно, что пока на горизонте не было чего-то более стоящего (по совокупности причин) Шарп был моим фаворитом. Но время идет вперед и все вокруг изменяется. Изменяется состав языков. Изменяюсь я. И только вы с eao197 не меняетесь. Я искренне рад за вас!


Все таки D и C# идут в разных направлениях, но согласен что примерно равны по возможностям (не считая библиотек конечно).
За eao197 отвечать не могу, но я меняюсь, в душе я уже почти злобный функциональщик Вообще за последние пару лет у меня стиль кодирования сильно изменился, а новые языки это фигня , если знаешь принципы начать писать на них не так сложно как мне раньше казалось.

FR>>Мне кажется Немерле с такими горе агитаторами может оказатся в полной ж...


VD>Я вот уверен, что даже такие не очень опытные агитаторы приносят Nemerle только пользу. Ведь с техническими проблемами мы справимся. А вот популяризация языка очень важни. И вы вносите реальный вклад в нее. Так держать товарищи!


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

FR>>В общем ничего кроме медвежьей услуги таким спамом не по теме вы Немерле не оказываете.


VD>Неумение оценивать реалии окружающего мира это конечно недостаток. Но думаю, он тебе не помешает в нашем деле. Так что продолжайте господа.


Угу вы абсолютно неадекватно оцениваете и возможности и главное место в IT мире и популярность любимой вами технологии

VD>Удивительно только то, что вы даже не замечаете, что вы соллисты в этом процессе.


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

FR>>Кстати где модераторы, раньше злобных функциональщиков за такое же поведение банили.


VD>Ябиднячать не хорошо. А кливетать и подавно.


Это я тебе намекаю чтобы ты сам себя забанил
Если бы здесь любой другой язык продвигали так же упорно как Немерле, уверен все продвигальщики давно уже сидели бы в бане.
Re[13]: Ой, чо с D деется-то!?
От: FR  
Дата: 19.11.06 07:15
Оценка: -1
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, eao197, Вы писали:


E>>Объективности ради: компилятор D написан на C++ (в каталоге src файлы с расширениями .c и .h, но в них C++ный код).


VD>И почему же Ди не пишется на Ди? Может из-за этого все проблемы?


Это front end его разумно писать именно на C++ чтобы легко переносить например на тот-же gcc. Можно конечно возится с раскруткой но в случае D когда уже существует паралельно C++ компилятор это будет только потерей времени.
Re[14]: Ой, чо с D деется-то!?
От: AndreiF  
Дата: 19.11.06 08:32
Оценка: +1
Здравствуйте, FR, Вы писали:

Раскрутка и использование gcc в качестве back-end никак друг друга не исключают. Более того — они даже могли бы выгодно друг друга дополнять. Именно поэтому вопрос "если этот язык так хорош, то почему автор сам его не использует?" так и вертится у меня на языке.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[15]: Ой, чо с D деется-то!?
От: FR  
Дата: 19.11.06 09:00
Оценка:
Здравствуйте, AndreiF, Вы писали:

AF>Здравствуйте, FR, Вы писали:


AF>Раскрутка и использование gcc в качестве back-end никак друг друга не исключают. Более того — они даже могли бы выгодно друг друга дополнять. Именно поэтому вопрос "если этот язык так хорош, то почему автор сам его не использует?" так и вертится у меня на языке.


Откуда ты взял что автор его не использует?
Весь RTL D написан на D. Кроме того на D уже переписан DMDScript:

Why is the D front end written in C++ rather than D?

The front end is in C++ in order to interface to the existing gcc and dmd back ends. It's also meant to be easily interfaced to other existing back ends, which are likely written in C++. The D implementation of DMDScript, which performs better than the C++ version, shows that there is no problem writing a professional quality compiler in 100% D.


Why aren't all Digital Mars programs translated to D?

There is little benefit to translating a complex, debugged, working application from one language to another. But new Digital Mars apps are implemented in D.

Re[8]: Ой, чо с D деется-то!?
От: Сергей Туленцев Россия http://software.tulentsev.com
Дата: 19.11.06 11:31
Оценка:
Здравствуйте, VladD2, Вы писали:

АХ>>Итак, 5% хотя бы I/O (про ядро непонятно) написаны на asm + C++. Немного, но тем не менее.


VD>Ты явно неверно интерпретируещь эти слова. Слова "5% of the trusted code" означают, что 5% небезопасного кода (коду которому приходится доверять) написано на С++ и ассемблере. Это значит, что 95% небезопасного кода написано на C# (с использованием unsafe-блока).


VD>Эти слова ничего не говорят об отностельном объеме небезопасного кода. Можно только с уверенгстью утверждать, что на момент написания этих слов код с небезопасными файлами занимал 561 файл.


ИМХО, твой английский здесь тебя подвёл. Обычно слово trusted (trusted code, trusted zone) означают нечто, которому МОЖНО без опасений доверять, а не ПРИХОДИТСЯ надеяться, что там всё нормально.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
--
Re[9]: Ой, чо с D деется-то!?
От: raskin Россия  
Дата: 19.11.06 11:43
Оценка: +1
Сергей Туленцев wrote:
> VD>Ты явно неверно интерпретируещь эти слова. Слова "5% of the trusted
> code" означают, что 5% небезопасного кода (коду которому приходится
> доверять) написано на С++ и ассемблере. Это значит, что 95%
> небезопасного кода написано на C# (с использованием unsafe-блока).
>
> ИМХО, твой английский здесь тебя подвёл. Обычно слово trusted (trusted
> code, trusted zone) означают нечто, которому МОЖНО без опасений
> доверять, а не ПРИХОДИТСЯ надеяться, что там всё нормально.

Кажется, в разработке отказоустойчивых систем как раз терминология
такая, как использует VladD2 — есть trusted часть, в которую мы верим,
так как отлаживали. И остальное, которому мы не верим, поэтому
используем trusted часть для его контроля. То есть мы знаем, что ничего
плохого не должно случиться, источник этого — внедрённые проверки... или
"trust".
Posted via RSDN NNTP Server 2.1 beta
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.