Re[7]: Раскрутка и мощь языков
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 23.06.11 01:34
Оценка: 7 (3) +1 -1 :)
VD>Компилятор — это такая же программа как и все другие. Если ее удобно писать, то будет удобно писать и многие другие программы.

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

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

и соответственно если язык обкатывался на описании компилятора, то легко могут быть упущены такие направления как:
обработка и генерация событий,
описание изменчивого внутреннего состояния,
недетерминированный характер работы программы
и т.п.
Re[3]: Раскрутка и мощь языков
От: Temoto  
Дата: 23.05.11 10:10
Оценка: +3 :)
T>>Действительно, неужели это о чём-то вообще свидетельствует? Какая у вас проблема с ядром на си/++?

A>может и так.. Просто мне это кажется странным. особенно для очень развитых представителей.

A>Мне кажется что наличие исходников языка на самом себе показывает как минимум его самодостаточность..

Показывает. А вот насчёт "как минимум" — тут всё зависит от целей, которые преследовали авторы. Для практичных языков самодостаточность — последнее дело, они и так уже решают поставленные задачи. Языкам "ради искусства" и "двигающим науку вперед" self-hosted компилятор, конечно, необходим в качестве аргумента в споре "кто круче".
Re: Раскрутка и мощь языков
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 23.05.11 10:10
Оценка: 1 (1) +2
Здравствуйте, anokata, Вы писали:

A>Меня всегда удивляет почему многие компиляторы/интерпретаторы языков программирования (и среды для них и софт) написаны на С, С++ , а не на них самих. Почем так редко применяют раскрутку компилятора? или я неправо? К тому же там где применяют не редко остаётся ядро на С.


Ядро на Си или близком к тому языке необходимо потому, что средства взаимодействия с внешней средой (ОС и прочее), как правило, реализованы в первую очередь в интерфейсе для Си. Особенно это характерно для Unix мира.

Вообще общего правила нет. Например, Erlang использует самораскрутку: для компиляции его рабочего кода используются уже собранные в поставке beam'ы компилятора. С другой стороны, С сам по себе сейчас обычно использует самораскрутку процентов на 99.9, легче сделать кросс-компилятор для первого внедрения, чем рисовать всё это на ассемблере.

A>Неужели это свидетельствует о их слабости или недоразвитости? или просто на остальных ЯВУ трудно писать компиляторы?


Может, это просто не их целевая ниша?
Не вопрос написать такой компилятор и среду, но им может чего-то не хватать.
The God is real, unless declared integer.
Re: Раскрутка и мощь языков
От: x-code  
Дата: 23.05.11 10:59
Оценка: :)))
Здравствуйте, anokata, Вы писали:

A>Меня всегда удивляет почему многие компиляторы/интерпретаторы языков программирования (и среды для них и софт) написаны на С, С++ , а не на них самих. Почем так редко применяют раскрутку компилятора? или я неправо? К тому же там где применяют не редко остаётся ядро на С.

A>Неужели это свидетельствует о их слабости или недоразвитости? или просто на остальных ЯВУ трудно писать компиляторы?
A>Единственно вижу что на хаскеле пишут другие языки, но он опять же частично написан на С. Есть другие примеры?

Потому что Си (а также С++, D, ObjC, Java, C#, Delphi и т.п.) — нормальные языки, понятные и удобные для реального, практического, старого доброго программирования.
А хаскели и прочее — это абстрактная околоматематическая сущность. Вроде матлаба или чего-то типа того. ИМХО, в большинстве случаев это даже не "языки программирования", а скорее средства компьютерного моделирования какой-то математической парадигмы или теории. По крайней мере, их разработчики точно не ставят целью создание языка, на котором можно писать к примеру ядра операционных систем или навороченные GUI приложения.
Разумеется, в них есть польза, и немалая — например, что с их помощью можно создавать, исследовать и обкатывать новые концепции и парадигмы, которые затем можно встроить в нормальные языки (пример тому — функциональное программирование — лямбды и прочее, которое уже "обкатано" и сейчас прекрасно вписывается в старую добрую классическую модель реального, практического программинга).
Re[7]: Раскрутка и мощь языков
От: Sinclair Россия https://github.com/evilguest/
Дата: 24.05.11 05:19
Оценка: +3
Здравствуйте, VladD2, Вы писали:

VD>Компилятор — это такая же программа как и все другие. Если ее удобно писать, то будет удобно писать и многие другие программы.


Не вполне согласен. Все программы — разные. Компилятор — очень специфическая программа.
В качестве контрпримера: удобно ли будет писать интерпретатор SQL на SQL?
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: Раскрутка и мощь языков
От: BulatZiganshin  
Дата: 23.05.11 10:19
Оценка: 5 (2)
Здравствуйте, anokata, Вы писали:

A>Меня всегда удивляет почему многие компиляторы/интерпретаторы языков программирования (и среды для них и софт) написаны на С, С++ , а не на них самих. Почем так редко применяют раскрутку компилятора? или я неправо? К тому же там где применяют не редко остаётся ядро на С.

A>Неужели это свидетельствует о их слабости или недоразвитости? или просто на остальных ЯВУ трудно писать компиляторы?

1. не всякий язык хорошщо подходит для написания трансляторов. а про фп языки вообще говорят, что единственная серьёзная программа которую на таком языке пишут обычно — собственный транслятор

2. большинство языков работают медленней С, но позволяют программировать быстрее. т.е. они подходят для программ, имеющих небольшой тираж

3. компиляторы пишут очень квалифицированные специалисты

A>Единственно вижу что на хаскеле пишут другие языки, но он опять же частично написан на С. Есть другие примеры?


ghc вроде целиком на хаскеле написан. на C там RTS
Люди, я люблю вас! Будьте бдительны!!!
Re[6]: Раскрутка и мощь языков
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.05.11 22:19
Оценка: 1 (1) +1
Здравствуйте, samius, Вы писали:

S>Вот допустим, ушел в монастырь писать компилятор блаб на блаб-е. Написал, вышел, кому стало легче?


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

VD>>Потом автор языка (если он сам пишет компилятор) получает неоценимый опыт использования языка. А это положительно влияет на дизайн языка. В него реже попадают вещи для галочки, и чаще появляются нужные и удобные вещи.

S>Нужные и удобные для написания компилятора? А если язык создавался с другой целью, то именно вещи для компилятора будут для галочки, а нужные и удобные будут слиты.

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

Компилятор — это такая же программа как и все другие. Если ее удобно писать, то будет удобно писать и многие другие программы.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Раскрутка и мощь языков
От: samius Япония http://sams-tricks.blogspot.com
Дата: 23.05.11 10:09
Оценка: +2
Здравствуйте, anokata, Вы писали:

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


T>>Действительно, неужели это о чём-то вообще свидетельствует? Какая у вас проблема с ядром на си/++?


A>может и так.. Просто мне это кажется странным. особенно для очень развитых представителей.

A>Мне кажется что наличие исходников языка на самом себе показывает как минимум его самодостаточность..
А что с ней делать с этой самодостаточностью?
Re[4]: Раскрутка и мощь языков
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.05.11 19:39
Оценка: +2
Здравствуйте, samius, Вы писали:

A>>может и так.. Просто мне это кажется странным. особенно для очень развитых представителей.

A>>Мне кажется что наличие исходников языка на самом себе показывает как минимум его самодостаточность..
S>А что с ней делать с этой самодостаточностью?

Это как минимум отличный тест компилятора. Компиляторы не мальенькие по объему программы.

Потом автор языка (если он сам пишет компилятор) получает неоценимый опыт использования языка. А это положительно влияет на дизайн языка. В него реже попадают вещи для галочки, и чаще появляются нужные и удобные вещи.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Оффтоп
От: Курилка Россия http://kirya.narod.ru/
Дата: 24.05.11 05:05
Оценка: +2
Здравствуйте, LaptevVV, Вы писали:

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


J>>>Разве дельфи бутстрапили?? Его компилер на плюсах же написан. IDE — да, на дельфи, а компилер на плюсах.

VD>>Еще со времен паскаля они писали компиляторы на нем же. Потом, правда, бросили (если не ошибаюсь).
LVV>Ошибаетесь.
LVV>Компонентный паскаль написан на компонентном паскале. И весь БлэкБокс — тоже.
LVV>ВСЕ тексты доступны в среде — можно модифицировать, если сильно нужно.

А при чём тут дельфи?
Кто о чём, а голый о бане?
Re: Раскрутка и мощь языков
От: _Obelisk_ Россия http://www.ibm.com
Дата: 08.06.11 06:28
Оценка: :))
Здравствуйте, anokata, Вы писали:

A>Меня всегда удивляет почему многие компиляторы/интерпретаторы языков программирования (и среды для них и софт) написаны на С, С++ , а не на них самих. Почем так редко применяют раскрутку компилятора? или я неправо? К тому же там где применяют не редко остаётся ядро на С.


Очень много проверенных временем тулов (свободных, коммерческих, внутренних и т.д) для создания компиляторов, которые написаны на С/C++ и генерят код на C/C++. Потому удобней взять готовые инструменты а не писать свои.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[4]: Оффтоп
От: hattab  
Дата: 25.05.11 06:13
Оценка: 8 (1)
Здравствуйте, FR, Вы писали:

FR> Там вообще дурдом, судя по устанавливаемым пакетам (для 2009 студии) IDE написан (может и частично) на уже вымершем J#


IDE на дельфях. J# там используется для рефакторинговых/моделинговых туловых, которые можно полностью отключить.
avalon 1.0rc3 rev 419, zlib 1.2.3
Re[8]: Раскрутка и мощь языков
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.05.11 14:28
Оценка: 1 (1)
Здравствуйте, Sinclair, Вы писали:

S>Не вполне согласен. Все программы — разные. Компилятор — очень специфическая программа.

S>В качестве контрпримера: удобно ли будет писать интерпретатор SQL на SQL?

SQL — это не язык программирования общего назначения. На нем вообще ничего написать (кроме запросов к БД) нельзя. А вот на любом ФЯ, которые в чем-то похожи на SQL писать компиляторы милое дело.

Ничего специфичного в компиляторах нет. Компилятор сложного языка это горы кода в котором встречается все что угодно, ну за исключением гуя, разве что.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Раскрутка и мощь языков
От: samius Япония http://sams-tricks.blogspot.com
Дата: 23.05.11 21:47
Оценка: +1
Здравствуйте, VladD2, Вы писали:

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


A>>>может и так.. Просто мне это кажется странным. особенно для очень развитых представителей.

A>>>Мне кажется что наличие исходников языка на самом себе показывает как минимум его самодостаточность..
S>>А что с ней делать с этой самодостаточностью?

VD>Это как минимум отличный тест компилятора. Компиляторы не мальенькие по объему программы.

Вот допустим, ушел в монастырь писать компилятор блаб на блаб-е. Написал, вышел, кому стало легче?

VD>Потом автор языка (если он сам пишет компилятор) получает неоценимый опыт использования языка. А это положительно влияет на дизайн языка. В него реже попадают вещи для галочки, и чаще появляются нужные и удобные вещи.

Нужные и удобные для написания компилятора? А если язык создавался с другой целью, то именно вещи для компилятора будут для галочки, а нужные и удобные будут слиты.
Re[7]: Раскрутка и мощь языков
От: samius Япония http://sams-tricks.blogspot.com
Дата: 23.05.11 23:47
Оценка: +1
Здравствуйте, VladD2, Вы писали:

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


S>>Вот допустим, ушел в монастырь писать компилятор блаб на блаб-е. Написал, вышел, кому стало легче?


VD>Я вот не могу понять, что ты тут на русском написал, что уж там о блабах то говоить.

Не могу понять, что ты не смог на русском понять.

VD>>>Потом автор языка (если он сам пишет компилятор) получает неоценимый опыт использования языка. А это положительно влияет на дизайн языка. В него реже попадают вещи для галочки, и чаще появляются нужные и удобные вещи.

S>>Нужные и удобные для написания компилятора? А если язык создавался с другой целью, то именно вещи для компилятора будут для галочки, а нужные и удобные будут слиты.

VD>Можно поинтересоваться какие из специализированных фич для написания компиляторов ты знаешь? Другими словами, о чем идет речь то?

Про специализированные я ничего не говорил, а вот удобными были бы АлгТД, ПМ, лямбды.

VD>Компилятор — это такая же программа как и все другие. Если ее удобно писать, то будет удобно писать и многие другие программы.

Язык прежде всего должен делать удобным то, для чего он предназначен. И чем уже его предназначение, тем неудобнее будет на нем писать что-либо другое, и наоборот. Хаскель удобен для написания компилятора, но почему-то скрипты для винды пишут на повершеле а геймдев на С++ в своем большинстве.
Re[6]: Оффтоп
От: FR  
Дата: 07.06.11 12:49
Оценка: +1
Здравствуйте, Mr.Delphist, Вы писали:

LVV>>ВСЕ тексты доступны в среде — можно модифицировать, если сильно нужно.

MD>Никогда не видел сырцов компилятора. VCL — да, конечно. Но даже сырцов системных юнитов (не говоря уже про компиль) никогда не видал. С какой версии у них такой сахар тростниковый пошёл?

Ты похоже про Дельфи а твой оппонент про BlackBox
А в Делфи системные юниты и RTL сейчас доступны в исходниках компилятор нет.
Re[2]: Раскрутка и мощь языков
От: WolfHound  
Дата: 08.06.11 07:44
Оценка: +1
Здравствуйте, _Obelisk_, Вы писали:

_O_>Очень много проверенных временем тулов (свободных, коммерческих, внутренних и т.д) для создания компиляторов, которые написаны на С/C++ и генерят код на C/C++. Потому удобней взять готовые инструменты а не писать свои.

Они все настолько убоги, что на них даже смотреть противно.
Не то, что пользоваться.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[5]: Раскрутка и мощь языков
От: dimgel Россия https://github.com/dimgel
Дата: 24.06.11 18:32
Оценка: :)
Здравствуйте, VladD2, Вы писали:

VD>Потом автор языка (если он сам пишет компилятор) получает неоценимый опыт использования языка. А это положительно влияет на дизайн языка. В него реже попадают вещи для галочки, и чаще появляются нужные и удобные вещи.


Например, val/var.
Раскрутка и мощь языков
От: anokata  
Дата: 23.05.11 09:43
Оценка:
Меня всегда удивляет почему многие компиляторы/интерпретаторы языков программирования (и среды для них и софт) написаны на С, С++ , а не на них самих. Почем так редко применяют раскрутку компилятора? или я неправо? К тому же там где применяют не редко остаётся ядро на С.
Неужели это свидетельствует о их слабости или недоразвитости? или просто на остальных ЯВУ трудно писать компиляторы?
Единственно вижу что на хаскеле пишут другие языки, но он опять же частично написан на С. Есть другие примеры?
Буду программировать и переводить с японского за еду. Предложения принимаются.
яп раскрутка
Re: Раскрутка и мощь языков
От: adontz Грузия http://adontz.wordpress.com/
Дата: 23.05.11 09:44
Оценка:
Здравствуйте, anokata, Вы писали:

Это вопрос количества наработок в области компиляторов для конкретных языков, а не качества самих языков.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re: Раскрутка и мощь языков
От: Temoto  
Дата: 23.05.11 09:55
Оценка:
A>Меня всегда удивляет почему многие компиляторы/интерпретаторы языков программирования (и среды для них и софт) написаны на С, С++ , а не на них самих. Почем так редко применяют раскрутку компилятора? или я неправо? К тому же там где применяют не редко остаётся ядро на С.
A>Неужели это свидетельствует о их слабости или недоразвитости? или просто на остальных ЯВУ трудно писать компиляторы?
A>Единственно вижу что на хаскеле пишут другие языки, но он опять же частично написан на С. Есть другие примеры?

Действительно, неужели это о чём-то вообще свидетельствует? Какая у вас проблема с ядром на си/++?
Re[2]: Раскрутка и мощь языков
От: anokata  
Дата: 23.05.11 10:00
Оценка:
Здравствуйте, Temoto, Вы писали:

A>>Меня всегда удивляет почему многие компиляторы/интерпретаторы языков программирования (и среды для них и софт) написаны на С, С++ , а не на них самих. Почем так редко применяют раскрутку компилятора? или я неправо? К тому же там где применяют не редко остаётся ядро на С.

A>>Неужели это свидетельствует о их слабости или недоразвитости? или просто на остальных ЯВУ трудно писать компиляторы?
A>>Единственно вижу что на хаскеле пишут другие языки, но он опять же частично написан на С. Есть другие примеры?

T>Действительно, неужели это о чём-то вообще свидетельствует? Какая у вас проблема с ядром на си/++?


может и так.. Просто мне это кажется странным. особенно для очень развитых представителей.
Мне кажется что наличие исходников языка на самом себе показывает как минимум его самодостаточность..
Буду программировать и переводить с японского за еду. Предложения принимаются.
Re[2]: Раскрутка и мощь языков
От: BulatZiganshin  
Дата: 23.05.11 11:55
Оценка:
Здравствуйте, x-code, Вы писали:

XC>А хаскели и прочее — это абстрактная околоматематическая сущность. Вроде матлаба или чего-то типа того. ИМХО, в большинстве случаев это даже не "языки программирования", а скорее средства компьютерного моделирования какой-то математической парадигмы или теории. По крайней мере, их разработчики точно не ставят целью создание языка, на котором можно писать к примеру ядра операционных систем


это точно. как-то не самая частая задача

XC>или навороченные GUI приложения.


в подписи
Люди, я люблю вас! Будьте бдительны!!!
Re[2]: Раскрутка и мощь языков
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.05.11 19:41
Оценка:
Здравствуйте, netch80, Вы писали:

N>Ядро на Си или близком к тому языке необходимо потому, что средства взаимодействия с внешней средой (ОС и прочее), как правило, реализованы в первую очередь в интерфейсе для Си. Особенно это характерно для Unix мира.


О — это так надо для компилятора, которому для работы нужно уметь читать и писать файлы. Их же на других языках ведь не прочитаешь .
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Раскрутка и мощь языков
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.05.11 19:55
Оценка:
Здравствуйте, anokata, Вы писали:

A>Меня всегда удивляет почему многие компиляторы/интерпретаторы языков программирования (и среды для них и софт) написаны на С, С++ , а не на них самих. Почем так редко применяют раскрутку компилятора? или я неправо? К тому же там где применяют не редко остаётся ядро на С.

A>Неужели это свидетельствует о их слабости или недоразвитости? или просто на остальных ЯВУ трудно писать компиляторы?
A>Единственно вижу что на хаскеле пишут другие языки, но он опять же частично написан на С. Есть другие примеры?

Все очень просто. Бутстрапинг — это геморрой в начальной стадии проекта. Ведь очень легко получить компилятор которым нельзя будет скомпилировать самого себя. По сему нужна многопроходная (хотя бы двупроходная) компиляция. Усиленное тестирование.

Вторая причина — это сложность переноса на другие платформы. Если компилятор написан на С и это нэйтив-компилятор, то перенести его на другую платформу (в идеале) можно тупой перекомпиляцией.

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

Бутстрапинг очень полезен по двум причинам.
1. Это отличный тест самого компилятора. Причем тест который постоянно развивается.
2. Это возможность создателям языка больше использовать этот самый язык. А без этого трудно сделать язык который был бы нужен другим.

На самом деле почти все популярные сегодня языки когда-то бутсрапились или стремятся к этому. Вот тут
Автор: x-code
Дата: 23.05.11
товарищ перечислял "нормальные языки", по его мнению, языки (С++, D, ObjC, Java, C#, Delphi). Так среди них только C# и D не бутстрапились. Причем для C# уже пишется компилятор на C#, а D в этот список явно попал случайно (так как под нормальными языками явно понимаются популярные ныне или в недавнем прошлом).

А вот с D все сложнее. Его автор хотел создать лучшего потомка С, но пока что народ его не воспринимает. И, возможно, что от части происходит это потому, что D не пишется на D.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Оффтоп
От: Jack128  
Дата: 23.05.11 20:28
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>На самом деле почти все популярные сегодня языки когда-то бутсрапились или стремятся к этому. Вот тут
Автор: x-code
Дата: 23.05.11
товарищ перечислял "нормальные языки", по его мнению, языки (С++, D, ObjC, Java, C#, Delphi). Так среди них только C# и D не бутстрапились. Причем для C# уже пишется компилятор на C#, а D в этот список явно попал случайно (так как под нормальными языками явно понимаются популярные ныне или в недавнем прошлом).


Разве дельфи бутстрапили?? Его компилер на плюсах же написан. IDE — да, на дельфи, а компилер на плюсах.
Re[2]: Раскрутка и мощь языков
От: MasterZiv СССР  
Дата: 23.05.11 20:51
Оценка:
On 23.05.2011 14:59, x-code wrote:

> Потому что Си (а также С++, D, ObjC, Java, C#, Delphi и т.п.) — нормальные

> языки, понятные и удобные для реального, практического, старого доброго
> программирования.
> А хаскели и прочее — это абстрактная околоматематическая сущность. Вроде матлаба

Ты вспомни эти свои слова, когда всякие хаскели будут стрелять в 200 ядер со
скоростью заоблачной, а С в это время только успеет скомпилироваться (на одном
ядре).
Posted via RSDN NNTP Server 2.1 beta
Re[3]: Раскрутка и мощь языков
От: Temoto  
Дата: 23.05.11 20:59
Оценка:
>> Потому что Си (а также С++, D, ObjC, Java, C#, Delphi и т.п.) — нормальные
>> языки, понятные и удобные для реального, практического, старого доброго
>> программирования.
>> А хаскели и прочее — это абстрактная околоматематическая сущность. Вроде матлаба

MZ>Ты вспомни эти свои слова, когда всякие хаскели будут стрелять в 200 ядер со

MZ>скоростью заоблачной, а С в это время только успеет скомпилироваться (на одном
MZ>ядре).

Думаете до пенсии увидим такое?
Re[3]: Оффтоп
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.05.11 22:11
Оценка:
Здравствуйте, Jack128, Вы писали:

J>Разве дельфи бутстрапили?? Его компилер на плюсах же написан. IDE — да, на дельфи, а компилер на плюсах.


Еще со времен паскаля они писали компиляторы на нем же. Потом, правда, бросили (если не ошибаюсь).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Оффтоп
От: LaptevVV Россия  
Дата: 24.05.11 04:39
Оценка:
Здравствуйте, VladD2, Вы писали:

J>>Разве дельфи бутстрапили?? Его компилер на плюсах же написан. IDE — да, на дельфи, а компилер на плюсах.

VD>Еще со времен паскаля они писали компиляторы на нем же. Потом, правда, бросили (если не ошибаюсь).
Ошибаетесь.
Компонентный паскаль написан на компонентном паскале. И весь БлэкБокс — тоже.
ВСЕ тексты доступны в среде — можно модифицировать, если сильно нужно.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Раскрутка и мощь языков
От: anokata  
Дата: 24.05.11 05:11
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Все очень просто. Бутстрапинг — это геморрой в начальной стадии проекта. Ведь очень легко получить компилятор которым нельзя будет скомпилировать самого себя. По сему нужна многопроходная (хотя бы двупроходная) компиляция. Усиленное тестирование.


VD>Вторая причина — это сложность переноса на другие платформы. Если компилятор написан на С и это нэйтив-компилятор, то перенести его на другую платформу (в идеале) можно тупой перекомпиляцией.


VD>Но все же главная причина — дурь. Те кто не использует бутсрапинга (и при этом пытается создать новый язык который будет удобен другим) делает огромную ошибку, на мой взгляд.


VD>Бутстрапинг очень полезен по двум причинам.

VD>1. Это отличный тест самого компилятора. Причем тест который постоянно развивается.
VD>2. Это возможность создателям языка больше использовать этот самый язык. А без этого трудно сделать язык который был бы нужен другим.

VD>На самом деле почти все популярные сегодня языки когда-то бутсрапились или стремятся к этому. Вот тут
Автор: x-code
Дата: 23.05.11
товарищ перечислял "нормальные языки", по его мнению, языки (С++, D, ObjC, Java, C#, Delphi). Так среди них только C# и D не бутстрапились. Причем для C# уже пишется компилятор на C#, а D в этот список явно попал случайно (так как под нормальными языками явно понимаются популярные ныне или в недавнем прошлом).


VD>А вот с D все сложнее. Его автор хотел создать лучшего потомка С, но пока что народ его не воспринимает. И, возможно, что от части происходит это потому, что D не пишется на D.


А может просто считать С новым ассемблером и компилиться через него как некоторые и делают?) разве такой способ не проще? и перенос на другие платформы получаем за так.
Буду программировать и переводить с японского за еду. Предложения принимаются.
Re: Раскрутка и мощь языков
От: Petrovv  
Дата: 24.05.11 06:52
Оценка:
Компилятор FreePascal написан на FreePascal
Re[4]: Оффтоп
От: Jack128  
Дата: 24.05.11 07:42
Оценка:
Здравствуйте, VladD2, Вы писали:

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


J>>Разве дельфи бутстрапили?? Его компилер на плюсах же написан. IDE — да, на дельфи, а компилер на плюсах.


VD>Еще со времен паскаля они писали компиляторы на нем же. Потом, правда, бросили (если не ошибаюсь).


по крайней мере начиная с седьмой версии — точно на плюсах. Периодически из компилятора ассерты вываливаются с именами файлов..
Re[5]: Оффтоп
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.05.11 14:24
Оценка:
Здравствуйте, LaptevVV, Вы писали:

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


J>>>Разве дельфи бутстрапили?? Его компилер на плюсах же написан. IDE — да, на дельфи, а компилер на плюсах.

VD>>Еще со времен паскаля они писали компиляторы на нем же. Потом, правда, бросили (если не ошибаюсь).
LVV>Ошибаетесь.
LVV>Компонентный паскаль написан на компонентном паскале. И весь БлэкБокс — тоже.

Валерн, извини, но засунь этот компонентный паскаль в места куда не заглядывает луч света. Я говорил о продуктах Борланда, которые реально были (да и остаются) популярны. А Блэкокс твой — это никчемная игрушка даже не имеющая полноценного GC.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Раскрутка и мощь языков
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.05.11 14:25
Оценка:
Здравствуйте, anokata, Вы писали:

A>А может просто считать С новым ассемблером и компилиться через него как некоторые и делают?) разве такой способ не проще? и перенос на другие платформы получаем за так.


А зачем писать высокоуровневый код на ассемблере?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Оффтоп
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.05.11 14:29
Оценка:
Здравствуйте, Jack128, Вы писали:

J>по крайней мере начиная с седьмой версии — точно на плюсах. Периодически из компилятора ассерты вываливаются с именами файлов..


Я думаю, что на плюсы они пересели где-то в 3-ей версии. Но на плюса писать компиляторы объективно удобнее чем на Дельфи.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Раскрутка и мощь языков
От: FR  
Дата: 25.05.11 03:55
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>На самом деле почти все популярные сегодня языки когда-то бутсрапились или стремятся к этому. Вот тут
Автор: x-code
Дата: 23.05.11
товарищ перечислял "нормальные языки", по его мнению, языки (С++, D, ObjC, Java, C#, Delphi). Так среди них только C# и D не бутстрапились. Причем для C# уже пишется компилятор на C#, а D в этот список явно попал случайно (так как под нормальными языками явно понимаются популярные ныне или в недавнем прошлом).


D тоже пишется
http://code.google.com/p/dil/
http://www.dsource.org/projects/ddmd

VD>А вот с D все сложнее. Его автор хотел создать лучшего потомка С, но пока что народ его не воспринимает. И, возможно, что от части происходит это потому, что D не пишется на D.


По моему эта причина совершена несущественна.
Re[5]: Раскрутка и мощь языков
От: FR  
Дата: 25.05.11 03:56
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Потом автор языка (если он сам пишет компилятор) получает неоценимый опыт использования языка. А это положительно влияет на дизайн языка. В него реже попадают вещи для галочки, и чаще появляются нужные и удобные вещи.


Угу и чаще появляются нужные и удобные вещи нужные для написания компиляторов
Re[3]: Оффтоп
От: FR  
Дата: 25.05.11 04:01
Оценка:
Здравствуйте, Jack128, Вы писали:

J>Разве дельфи бутстрапили?? Его компилер на плюсах же написан. IDE — да, на дельфи, а компилер на плюсах.


Там вообще дурдом, судя по устанавливаемым пакетам (для 2009 студии) IDE написан (может и частично) на уже вымершем J#
основная библиотека VCL и часть рантайма (даже для C++ builder) на паскале, а комилятор (и дельфи и С++) на С++
Re[3]: Раскрутка и мощь языков
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.05.11 12:53
Оценка:
Здравствуйте, FR, Вы писали:

FR>D тоже пишется

FR>http://code.google.com/p/dil/
FR>http://www.dsource.org/projects/ddmd

Тем паче. Хотя на первый взгляд эти две разработки кажутся чьими-то левыми подлками. Я правильно понимаю, что ваторы Ди к ним отношения не имеют?

VD>>А вот с D все сложнее. Его автор хотел создать лучшего потомка С, но пока что народ его не воспринимает. И, возможно, что от части происходит это потому, что D не пишется на D.


FR>По моему эта причина совершена несущественна.


Она не решающая, но существенная. Развивая язык сам на себе автор лучше понимает что в языке важно, а что вторично.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Раскрутка и мощь языков
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.05.11 12:54
Оценка:
Здравствуйте, FR, Вы писали:

VD>>Потом автор языка (если он сам пишет компилятор) получает неоценимый опыт использования языка. А это положительно влияет на дизайн языка. В него реже попадают вещи для галочки, и чаще появляются нужные и удобные вещи.


FR>Угу и чаще появляются нужные и удобные вещи нужные для написания компиляторов


Ты уже перечислил такие вещи? Перечисли, обсудим. Я знаю только одну такую — квази-цитирование.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Оффтоп
От: desperado_gmbh http://www.livejournal.com/users/tolstopuz
Дата: 25.05.11 13:19
Оценка:
Здравствуйте, VladD2, Вы писали:

J>>Разве дельфи бутстрапили?? Его компилер на плюсах же написан. IDE — да, на дельфи, а компилер на плюсах.

VD>Еще со времен паскаля они писали компиляторы на нем же. Потом, правда, бросили (если не ошибаюсь).

Компиляторы всех паскалей и 16-битного дельфи — целиком ассемблер. На самом паскале был написан IDE, да и то не весь.

У 32-битного дельфи компилятор я не смотрел, но, скорее всего, плюсы.
Re[5]: Оффтоп
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.05.11 14:02
Оценка:
Здравствуйте, desperado_gmbh, Вы писали:

_>Компиляторы всех паскалей и 16-битного дельфи — целиком ассемблер. На самом паскале был написан IDE, да и то не весь.


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

За Борлоновские реализации я не так уверен, но мне кажется, что где-то читал, что и Турбо Паскаль тоже бутстрапился.
Так что хотелось бы увидеть пруфлинк.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Раскрутка и мощь языков
От: FR  
Дата: 25.05.11 17:22
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Тем паче. Хотя на первый взгляд эти две разработки кажутся чьими-то левыми подлками. Я правильно понимаю, что ваторы Ди к ним отношения не имеют?


Угу, но не важно, рантайм и стандартная библиотека (фобос) практически полностью написаны на D и именно авторами языка, их объема более чем достаточно для заявленных тобой целей.

FR>>По моему эта причина совершена несущественна.


VD>Она не решающая, но существенная. Развивая язык сам на себе автор лучше понимает что в языке важно, а что вторично.


Для этого не обязательно писать именно компилятор, рантайм и стандартная библиотека ничем ни хуже.
Re[7]: Раскрутка и мощь языков
От: FR  
Дата: 25.05.11 17:24
Оценка:
Здравствуйте, VladD2, Вы писали:

FR>>Угу и чаще появляются нужные и удобные вещи нужные для написания компиляторов


VD>Ты уже перечислил такие вещи? Перечисли, обсудим. Я знаю только одну такую — квази-цитирование.


Да практически все что немерл унаследовал от ML семейства.
Re[5]: Раскрутка и мощь языков
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.05.11 18:30
Оценка:
Здравствуйте, FR, Вы писали:

FR>Угу, но не важно, рантайм и стандартная библиотека (фобос) практически полностью написаны на D и именно авторами языка, их объема более чем достаточно для заявленных тобой целей.


Смеешься что ли? Какой на фиг у Ди рантайм? И что там за библиотеки?

FR>Для этого не обязательно писать именно компилятор, рантайм и стандартная библиотека ничем ни хуже.


Нет. Компилятор — это большой и сложный код. Библиотеки на их фоне просто игрушка. Они же не воспроизвели явские или дотнетные либы?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Раскрутка и мощь языков
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.05.11 19:37
Оценка:
Здравствуйте, FR, Вы писали:

FR>Да практически все что немерл унаследовал от ML семейства.


Да, ну? Стало быть все что есть в МЛ пригодно только для написания компиляторов?
В курсе, что его разрабатывали как для создания теорем-пруверов?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Раскрутка и мощь языков
От: jazzer Россия Skype: enerjazzer
Дата: 25.05.11 23:59
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>ghc вроде целиком на хаскеле написан. на C там RTS


Ага, в результате его не установить по-человечески, если в системе уже нету ghc.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[6]: Раскрутка и мощь языков
От: FR  
Дата: 26.05.11 03:05
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Смеешься что ли? Какой на фиг у Ди рантайм? И что там за библиотеки?


Вполне приличный, язык-то нативный под три платформы, рантайм сишный практически полностью включает плюс gc плюс
реализация исключений и базового объекта, реализация встроенных примитивов (массивов и т. п.), примитивы для
мультитрединга, RTTI, по объему в последней версии (2.053) такой:

c/cpp: files = 7  lines = 749  size = 16 kb. (17326 bytes)
asm: files = 1  lines = 85  size = 2 kb. (2662 bytes)
d: files = 166  lines = 65909  size = 1757 kb. (1799949 bytes)

global: files = 174  lines = 66743  size = 1777 kb. (1819937 bytes)


Библиотеки такие (содержание в левой части страницы, на самой странице рантайм) http://www.digitalmars.com/d/2.0/phobos/phobos.html

FR>>Для этого не обязательно писать именно компилятор, рантайм и стандартная библиотека ничем ни хуже.


VD>Нет. Компилятор — это большой и сложный код. Библиотеки на их фоне просто игрушка. Они же не воспроизвели явские или дотнетные либы?


Нет библиотеки у D я не назвал бы простыми, очень много кода с шаблонами и практически включают в себя и стандартные библиотеки
небольшого функционального языка, да и по объему вполне уже прилично:

c/cpp: files = 30  lines = 14684  size = 525 kb. (538365 bytes)
d: files = 109  lines = 152783  size = 4937 kb. (5055714 bytes)

global: files = 139  lines = 167467  size = 5462 kb. (5594079 bytes)


(сишные файлы там zlib в исходниках)

Компилятор кстати:

c/cpp: files = 217  lines = 215303  size = 6194 kb. (6343482 bytes)

global: files = 217  lines = 215303  size = 6194 kb. (6343482 bytes)


из них унаследованный backend:

c/cpp: files = 80  lines = 94803  size = 2853 kb. (2922336 bytes)

global: files = 80  lines = 94803  size = 2853 kb. (2922336 bytes)


Вполне сопоставимо по объему.
Re[9]: Раскрутка и мощь языков
От: FR  
Дата: 26.05.11 03:10
Оценка:
Здравствуйте, VladD2, Вы писали:

FR>>Да практически все что немерл унаследовал от ML семейства.


VD>Да, ну? Стало быть все что есть в МЛ пригодно только для написания компиляторов?


Не только, но для этого очень удобен.

VD>В курсе, что его разрабатывали как для создания теорем-пруверов?


Угу, но потом на нем (исключая частично OCaml) в основном или писали компиляторы — трансляторы
или использовали для обучения.
Re[10]: Раскрутка и мощь языков
От: VladD2 Российская Империя www.nemerle.org
Дата: 26.05.11 12:20
Оценка:
Здравствуйте, FR, Вы писали:

VD>>Да, ну? Стало быть все что есть в МЛ пригодно только для написания компиляторов?


FR>Не только, но для этого очень удобен.


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

VD>>В курсе, что его разрабатывали как для создания теорем-пруверов?


FR>Угу, но потом на нем (исключая частично OCaml) в основном или писали компиляторы — трансляторы

FR>или использовали для обучения.

Видимо именно по этому на вики упоминается, что "also used in bioinformatics, financial systems, and applications including a genealogical database, a peer-to-peer client/server program, etc.".
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Оффтоп
От: desperado_gmbh http://www.livejournal.com/users/tolstopuz
Дата: 26.05.11 15:50
Оценка:
Здравствуйте, VladD2, Вы писали:

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


_>>Компиляторы всех паскалей и 16-битного дельфи — целиком ассемблер. На самом паскале был написан IDE, да и то не весь.


VD>Ну, на счет всех — это заведомая лож, так как доподленно известно, что самый первый — Виртовский — Паскаль создавался методом бутстрапинга.


Естественно, я говорил только про борландовские

VD>За Борлоновские реализации я не так уверен, но мне кажется, что где-то читал, что и Турбо Паскаль тоже бутстрапился.

VD>Так что хотелось бы увидеть пруфлинк.

К сожалению, дизассемблированные мной исходники шестого турбопаскаля накрылись вместе с диском несколько лет назад. Они время от времени всплывают на разных сайтах, но в принципе достаточно посмотреть на tpc.exe через дизассемблер. Нормальный рукописный код, ничего общего не имеющий ни с выдачей tpc, ни с выдачей tcc.
Re[2]: Раскрутка и мощь языков
От: __lambda__ Россия http://zen-hacker.blogspot.com/
Дата: 28.05.11 12:23
Оценка:
Здравствуйте, x-code, Вы писали:

XC>Потому что Си (а также С++, D, ObjC, Java, C#, Delphi и т.п.) — нормальные языки, понятные и удобные для реального, практического, старого доброго программирования.


Перефразирую: нормальные языки, понятные и удобные для старых добрых программистов для которых эти языки стали привычкой и реально, практически применяются по инерции

XC>А хаскели и прочее — это абстрактная околоматематическая сущность. Вроде матлаба или чего-то типа того. ИМХО, в большинстве случаев это даже не "языки программирования", а скорее средства компьютерного моделирования какой-то математической парадигмы или теории. По крайней мере, их разработчики точно не ставят целью создание языка, на котором можно писать к примеру ядра операционных систем или навороченные GUI приложения.


House — операционная система написанная на Хаскель
Computer science is no more about computers than astronomy is about telescopes (c) Edsger Dijkstra
Re[5]: Оффтоп
От: Mr.Delphist  
Дата: 06.06.11 17:13
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>ВСЕ тексты доступны в среде — можно модифицировать, если сильно нужно.

Никогда не видел сырцов компилятора. VCL — да, конечно. Но даже сырцов системных юнитов (не говоря уже про компиль) никогда не видал. С какой версии у них такой сахар тростниковый пошёл?
Re[6]: Оффтоп
От: LaptevVV Россия  
Дата: 06.06.11 17:19
Оценка:
Здравствуйте, Mr.Delphist, Вы писали:

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


LVV>>ВСЕ тексты доступны в среде — можно модифицировать, если сильно нужно.

MD>Никогда не видел сырцов компилятора. VCL — да, конечно. Но даже сырцов системных юнитов (не говоря уже про компиль) никогда не видал. С какой версии у них такой сахар тростниковый пошёл?
Не знаю. Я пользуюсь BB1.5 — там все есть, не только компилятор. Тексты самой среды и всего-всего, что в среде сделано и работает.
Предрелиз сейчас 1.6. А исходники открыли наверное тогда, когда сделали BlackBox свободным — это я и не знаю с какой версии...
На форуме oberoncore.ru могут подробно ответить
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Раскрутка и мощь языков
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 14.06.11 19:01
Оценка:
Здравствуйте, WolfHound, Вы писали:

_O_>>Очень много проверенных временем тулов (свободных, коммерческих, внутренних и т.д) для создания компиляторов, которые написаны на С/C++ и генерят код на C/C++. Потому удобней взять готовые инструменты а не писать свои.

WH>Они все настолько убоги, что на них даже смотреть противно.
WH>Не то, что пользоваться.

Правильно. Как только начинаешь писать такое на С++, говнокод подавить при всем желании не получится и нужно приседать вокруг крутого языка С/C++.
Re[8]: Раскрутка и мощь языков
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.06.11 13:41
Оценка:
Здравствуйте, DarkGray, Вы писали:

VD>>Компилятор — это такая же программа как и все другие. Если ее удобно писать, то будет удобно писать и многие другие программы.


DG>сам по себе компилятор — это очень узкий класс задач.


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

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


По сути любая программа это одна большая (или не очень) функция. И что из того?

DG>а большинство программ работают по другому:

DG>они стартуют, получают в произвольном порядке события, в произвольном порядке меняют свое внутреннее состояние, в произвольном порядке выдают события наружу, и часто могут вообще никогда не завершаться (по крайней мере логически).

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

Потом твои знания о современных компиляторах сильно устарели. На сегодня компиляторы стали на много сложнее. Их код используется в IDE, средствах тестирования и т.п. Да и сами они умеют компилировать инкременально, параллельно и т.п.

DG>и если компилятор — это функция, то такая программа — скорее агент (или в упрощенном виде — объект).


Сегодня трудно представить программу которую можно представить в виде одной функции. Любая программа — это куча разнородного кода. Мне смешно объяснять взрослому человеку, что компилятор тут ничем не отличается. В современном компиляторе нет разве что GUI. Хотя в GUI их код так же используется.

Вот Вольвхаунд предлагает использовать в следующей версии немерла реактивный подход. Его в GUI на сегодня мало кто применяет, а ты говоришь "одна функция".

DG>и соответственно если язык обкатывался на описании компилятора, то легко могут быть упущены такие направления как:

DG>обработка и генерация событий,

Это какая-то редкостная ересь. Сообщением является любой вызов функции. Что тут обкатывать? То что в языки проектировавшиеся императивщиками вроде Хельсберга гвоздями прибили события и делегаты еще не значит, что это так и надо. В языках ML-ного ряда исходно были функции высшего порядка. Они решают те же проблемы играючи и применяются в куче мест. Одна беда их событиями не называют. Но в чем разрица между списком функций и событиями дотнета? Три грамма никому не нужного синтаксического сахара — вот и вся разница.

Надеюсь, ты не будешь спорить по поводу того, что в любом ФЯ работа с ФВП продумана и оттестирована до блеска?

Потом современный компилятор — это тебе не компилятор Паскаля времен Вирта. Это в нем теперь используются и события и все остальное, что есть в арсенале ЯП. В прочем, я уже повтояюсь.

DG>описание изменчивого внутреннего состояния,

DG>недетерминированный характер работы программы
DG>и т.п.

Любая программа имеет свое состояние которое изменяется во времени. Вопрос только в том как оно хранится. Компиляторы тут ничем не отличаются.

Вопрос именно в объеме и сложности. Компиляторы, на сегодня, это очень объемные и сложные программы. Они задействуют все возможности языка на котором они пишутся. И даже этого не хватает чтобы удержать сложность компиляторов в разумных пределах. Так что не надо.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Раскрутка и мощь языков
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 23.06.11 15:55
Оценка:
VD>Ну, то есть они состоят из ряда маленьких функций которая получает один пакет на вход, потом жужжит и выдает один пакет на выход? Огромные различия с точки зрения используемых возможностей ЯП.

если программа — это одна функция из миллиона операций, то, в первую очередь, нужен инструмент который упрощает работу с операциями, но если программа миллион функций по одной операции, то, в первую очередь, нужен инструмент который упрощает работу с набором функций и мало критичен инструмент для работы с операциями.
Re[10]: Раскрутка и мощь языков
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.06.11 17:53
Оценка:
Здравствуйте, DarkGray, Вы писали:

VD>>Ну, то есть они состоят из ряда маленьких функций которая получает один пакет на вход, потом жужжит и выдает один пакет на выход? Огромные различия с точки зрения используемых возможностей ЯП.


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


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

Инструменты для борьбы с миллионом операций и с миллионом функций одни и те же — это средства инкапсуляции. Чем они мощнее, тем более сложные задачи можно решать с помощью языка.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Раскрутка и мощь языков
От: dimgel Россия https://github.com/dimgel
Дата: 24.06.11 18:36
Оценка:
Здравствуйте, DarkGray, Вы писали:

DG>а большинство программ работают по другому:

DG>они стартуют,
DG>получают в произвольном порядке события,
DG>в произвольном порядке меняют свое внутреннее состояние,
DG>в произвольном порядке выдают события наружу,
DG>и часто могут вообще никогда не завершаться (по крайней мере логически).

Недавно кто-то кидал ссылку на подборочку видео с конференции Scala Exchange 2011. На одном из них Одерски рассказывал про новый Eclipse plugin и какие изменения в логике компилятора были сделаны для его поддержки. Так вот, ты не поверишь...
Re[3]: Раскрутка и мощь языков
От: dimgel Россия https://github.com/dimgel
Дата: 24.06.11 18:42
Оценка:
Здравствуйте, jazzer, Вы писали:

BZ>>ghc вроде целиком на хаскеле написан. на C там RTS


J>Ага, в результате его не установить по-человечески, если в системе уже нету ghc.


Не знаю ничего. `emerge ghc` вставал безо всяких плясок. Правда, компилялся он долго почти как OpenOffice без ccache, но хоть это и вызывало у меня массу недоумения "чего ж там такого понаворотили", к простоте установки это не имеет отношения.
Re[4]: Раскрутка и мощь языков
От: jazzer Россия Skype: enerjazzer
Дата: 25.06.11 02:25
Оценка:
Здравствуйте, dimgel, Вы писали:

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


BZ>>>ghc вроде целиком на хаскеле написан. на C там RTS


J>>Ага, в результате его не установить по-человечески, если в системе уже нету ghc.


D>Не знаю ничего. `emerge ghc` вставал безо всяких плясок. Правда, компилялся он долго почти как OpenOffice без ccache, но хоть это и вызывало у меня массу недоумения "чего ж там такого понаворотили", к простоте установки это не имеет отношения.


Ну я рад за вас, безусловно.
Но у меня на работе нет доступа к установке дистриб-пакетов, это только админы могут делать.
Так что я могу только качнуть исходники и собрать сам.
Вот тут геморрой и начинается.
Нормальным пакtтам (99% по моему опыту) достаточно для сборки простого gcc, они сам все, что надо для бутстрапа, им соберут.
GHC к таковым явно не относится. Т.е. может уже и относится, это было бы замечательно, но когда я пробовал последний раз, он без уже установленного ghc собираться не желал, и последовательный откат на несколько версий назад ничего не дал.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[9]: Раскрутка и мощь языков
От: WolfHound  
Дата: 25.06.11 11:44
Оценка:
Здравствуйте, dimgel, Вы писали:

D>Недавно кто-то кидал ссылку на подборочку видео с конференции Scala Exchange 2011. На одном из них Одерски рассказывал про новый Eclipse plugin и какие изменения в логике компилятора были сделаны для его поддержки. Так вот, ты не поверишь...

Что-то страшное у них получилось.
Интеграция немерле сделанная по тому же принципу работает куда лучше.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[10]: Раскрутка и мощь языков
От: dimgel Россия https://github.com/dimgel
Дата: 25.06.11 16:03
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Что-то страшное у них получилось.


ХЗ, не щупал. (У меня lib.web под 2.9 вообще не компилируется, и не до неё сейчас разбираться.) Из видео мне крайне не понравилось, что цепляются только файлы, загруженные в IDE. Т.е. если у меня модуль с двадцатью зависимостями из этого же проекта, мне либо надо все двадцать найти и открыть в других вкладках, либо ловить ошибки компиляции. Бред какой-то.

WH>Интеграция немерле сделанная по тому же принципу работает куда лучше.


У вас тоже полноценный компилятор к IDE прикручен и тоже с возможностью компиляции поддерева (тагетирование или как его там)? Прикольно, значит вот какие нынче православные веяния в сей далёкой от моей бренной жизни области.
Re[11]: Раскрутка и мощь языков
От: WolfHound  
Дата: 25.06.11 19:17
Оценка:
Здравствуйте, dimgel, Вы писали:

D>ХЗ, не щупал. (У меня lib.web под 2.9 вообще не компилируется, и не до неё сейчас разбираться.) Из видео мне крайне не понравилось, что цепляются только файлы, загруженные в IDE. Т.е. если у меня модуль с двадцатью зависимостями из этого же проекта, мне либо надо все двадцать найти и открыть в других вкладках, либо ловить ошибки компиляции. Бред какой-то.

Вот я и говорю что-то страшное у них получилось.
Интеграция немерле таким не страдает.

D>У вас тоже полноценный компилятор к IDE прикручен

Ага.

D>и тоже с возможностью компиляции поддерева (тагетирование или как его там)?

Насколько я понимаю немерле строит полное дерево типов проекта.
А методы типизируются по требованию.
Но тут лучше Влада спросить.

D>Прикольно, значит вот какие нынче православные веяния в сей далёкой от моей бренной жизни области.

По-другому делать просто не разумно.
Код компилятора (не считая кодогенерации) и интеграции с ИДЕ совпадает чуть менее чем полностью.
Так зачем его писать два раза?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.