Здравствуйте, VladD2, Вы писали:
J>>Разве дельфи бутстрапили?? Его компилер на плюсах же написан. IDE — да, на дельфи, а компилер на плюсах. VD>Еще со времен паскаля они писали компиляторы на нем же. Потом, правда, бросили (если не ошибаюсь).
Ошибаетесь.
Компонентный паскаль написан на компонентном паскале. И весь БлэкБокс — тоже.
ВСЕ тексты доступны в среде — можно модифицировать, если сильно нужно.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
LVV>Здравствуйте, VladD2, Вы писали:
J>>>Разве дельфи бутстрапили?? Его компилер на плюсах же написан. IDE — да, на дельфи, а компилер на плюсах. VD>>Еще со времен паскаля они писали компиляторы на нем же. Потом, правда, бросили (если не ошибаюсь). LVV>Ошибаетесь. LVV>Компонентный паскаль написан на компонентном паскале. И весь БлэкБокс — тоже. LVV>ВСЕ тексты доступны в среде — можно модифицировать, если сильно нужно.
Здравствуйте, VladD2, Вы писали:
VD>Все очень просто. Бутстрапинг — это геморрой в начальной стадии проекта. Ведь очень легко получить компилятор которым нельзя будет скомпилировать самого себя. По сему нужна многопроходная (хотя бы двупроходная) компиляция. Усиленное тестирование.
VD>Вторая причина — это сложность переноса на другие платформы. Если компилятор написан на С и это нэйтив-компилятор, то перенести его на другую платформу (в идеале) можно тупой перекомпиляцией.
VD>Но все же главная причина — дурь. Те кто не использует бутсрапинга (и при этом пытается создать новый язык который будет удобен другим) делает огромную ошибку, на мой взгляд.
VD>Бутстрапинг очень полезен по двум причинам. VD>1. Это отличный тест самого компилятора. Причем тест который постоянно развивается. VD>2. Это возможность создателям языка больше использовать этот самый язык. А без этого трудно сделать язык который был бы нужен другим.
VD>На самом деле почти все популярные сегодня языки когда-то бутсрапились или стремятся к этому. Вот тут
товарищ перечислял "нормальные языки", по его мнению, языки (С++, D, ObjC, Java, C#, Delphi). Так среди них только C# и D не бутстрапились. Причем для C# уже пишется компилятор на C#, а D в этот список явно попал случайно (так как под нормальными языками явно понимаются популярные ныне или в недавнем прошлом).
VD>А вот с D все сложнее. Его автор хотел создать лучшего потомка С, но пока что народ его не воспринимает. И, возможно, что от части происходит это потому, что D не пишется на D.
А может просто считать С новым ассемблером и компилиться через него как некоторые и делают?) разве такой способ не проще? и перенос на другие платформы получаем за так.
Буду программировать и переводить с японского за еду. Предложения принимаются.
Здравствуйте, VladD2, Вы писали:
VD>Компилятор — это такая же программа как и все другие. Если ее удобно писать, то будет удобно писать и многие другие программы.
Не вполне согласен. Все программы — разные. Компилятор — очень специфическая программа.
В качестве контрпримера: удобно ли будет писать интерпретатор SQL на SQL?
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Jack128, Вы писали:
J>>Разве дельфи бутстрапили?? Его компилер на плюсах же написан. IDE — да, на дельфи, а компилер на плюсах.
VD>Еще со времен паскаля они писали компиляторы на нем же. Потом, правда, бросили (если не ошибаюсь).
по крайней мере начиная с седьмой версии — точно на плюсах. Периодически из компилятора ассерты вываливаются с именами файлов..
Здравствуйте, LaptevVV, Вы писали:
LVV>Здравствуйте, VladD2, Вы писали:
J>>>Разве дельфи бутстрапили?? Его компилер на плюсах же написан. IDE — да, на дельфи, а компилер на плюсах. VD>>Еще со времен паскаля они писали компиляторы на нем же. Потом, правда, бросили (если не ошибаюсь). LVV>Ошибаетесь. LVV>Компонентный паскаль написан на компонентном паскале. И весь БлэкБокс — тоже.
Валерн, извини, но засунь этот компонентный паскаль в места куда не заглядывает луч света. Я говорил о продуктах Борланда, которые реально были (да и остаются) популярны. А Блэкокс твой — это никчемная игрушка даже не имеющая полноценного GC.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, anokata, Вы писали:
A>А может просто считать С новым ассемблером и компилиться через него как некоторые и делают?) разве такой способ не проще? и перенос на другие платформы получаем за так.
А зачем писать высокоуровневый код на ассемблере?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Sinclair, Вы писали:
S>Не вполне согласен. Все программы — разные. Компилятор — очень специфическая программа. S>В качестве контрпримера: удобно ли будет писать интерпретатор SQL на SQL?
SQL — это не язык программирования общего назначения. На нем вообще ничего написать (кроме запросов к БД) нельзя. А вот на любом ФЯ, которые в чем-то похожи на SQL писать компиляторы милое дело.
Ничего специфичного в компиляторах нет. Компилятор сложного языка это горы кода в котором встречается все что угодно, ну за исключением гуя, разве что.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Jack128, Вы писали:
J>по крайней мере начиная с седьмой версии — точно на плюсах. Периодически из компилятора ассерты вываливаются с именами файлов..
Я думаю, что на плюсы они пересели где-то в 3-ей версии. Но на плюса писать компиляторы объективно удобнее чем на Дельфи.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
товарищ перечислял "нормальные языки", по его мнению, языки (С++, 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.
Здравствуйте, VladD2, Вы писали:
VD>Потом автор языка (если он сам пишет компилятор) получает неоценимый опыт использования языка. А это положительно влияет на дизайн языка. В него реже попадают вещи для галочки, и чаще появляются нужные и удобные вещи.
Угу и чаще появляются нужные и удобные вещи нужные для написания компиляторов
Здравствуйте, Jack128, Вы писали:
J>Разве дельфи бутстрапили?? Его компилер на плюсах же написан. IDE — да, на дельфи, а компилер на плюсах.
Там вообще дурдом, судя по устанавливаемым пакетам (для 2009 студии) IDE написан (может и частично) на уже вымершем J#
основная библиотека VCL и часть рантайма (даже для C++ builder) на паскале, а комилятор (и дельфи и С++) на С++
Здравствуйте, FR, Вы писали:
FR> Там вообще дурдом, судя по устанавливаемым пакетам (для 2009 студии) IDE написан (может и частично) на уже вымершем J#
IDE на дельфях. J# там используется для рефакторинговых/моделинговых туловых, которые можно полностью отключить.
Тем паче. Хотя на первый взгляд эти две разработки кажутся чьими-то левыми подлками. Я правильно понимаю, что ваторы Ди к ним отношения не имеют?
VD>>А вот с D все сложнее. Его автор хотел создать лучшего потомка С, но пока что народ его не воспринимает. И, возможно, что от части происходит это потому, что D не пишется на D.
FR>По моему эта причина совершена несущественна.
Она не решающая, но существенная. Развивая язык сам на себе автор лучше понимает что в языке важно, а что вторично.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, FR, Вы писали:
VD>>Потом автор языка (если он сам пишет компилятор) получает неоценимый опыт использования языка. А это положительно влияет на дизайн языка. В него реже попадают вещи для галочки, и чаще появляются нужные и удобные вещи.
FR>Угу и чаще появляются нужные и удобные вещи нужные для написания компиляторов
Ты уже перечислил такие вещи? Перечисли, обсудим. Я знаю только одну такую — квази-цитирование.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
J>>Разве дельфи бутстрапили?? Его компилер на плюсах же написан. IDE — да, на дельфи, а компилер на плюсах. VD>Еще со времен паскаля они писали компиляторы на нем же. Потом, правда, бросили (если не ошибаюсь).
Компиляторы всех паскалей и 16-битного дельфи — целиком ассемблер. На самом паскале был написан IDE, да и то не весь.
У 32-битного дельфи компилятор я не смотрел, но, скорее всего, плюсы.
Здравствуйте, desperado_gmbh, Вы писали:
_>Компиляторы всех паскалей и 16-битного дельфи — целиком ассемблер. На самом паскале был написан IDE, да и то не весь.
Ну, на счет всех — это заведомая лож, так как доподленно известно, что самый первый — Виртовский — Паскаль создавался методом бутстрапинга.
За Борлоновские реализации я не так уверен, но мне кажется, что где-то читал, что и Турбо Паскаль тоже бутстрапился.
Так что хотелось бы увидеть пруфлинк.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Тем паче. Хотя на первый взгляд эти две разработки кажутся чьими-то левыми подлками. Я правильно понимаю, что ваторы Ди к ним отношения не имеют?
Угу, но не важно, рантайм и стандартная библиотека (фобос) практически полностью написаны на D и именно авторами языка, их объема более чем достаточно для заявленных тобой целей.
FR>>По моему эта причина совершена несущественна.
VD>Она не решающая, но существенная. Развивая язык сам на себе автор лучше понимает что в языке важно, а что вторично.
Для этого не обязательно писать именно компилятор, рантайм и стандартная библиотека ничем ни хуже.
Здравствуйте, VladD2, Вы писали:
FR>>Угу и чаще появляются нужные и удобные вещи нужные для написания компиляторов
VD>Ты уже перечислил такие вещи? Перечисли, обсудим. Я знаю только одну такую — квази-цитирование.
Да практически все что немерл унаследовал от ML семейства.