|
|
|
okante |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
>Введение в язык Д(++??)
Никогда о таком не слышал. Вы хотите написать собственную модификацию? Рассылка будет. Об этом сообщу позднее. Также приглашаю соавторов. Это сообщение отредактировал(а) okante - 14.7.2006, 06:24 |
|||
|
||||
Sardar |
|
|||
Бегун Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: нет Всего: 317 |
Нет, ибо машина Тьюринга есть самое медленное и не эффективное что можно придумать, ибо минимальная абстракция (концепция, называй как хочешь) с минимум инструкций, за то проц очень простой получился бы Ты так больше не говори А может я не понял что ты под "перфолентами" представляешь... Любой компилер созданный не под накуркой опытным обученным в этой сфере программистом это:
okante, забей на машину и генерацию кода, компилер должен уметь генерить код под любую платформу. Строим язык, выделяем основы, ищем эквиваленты в C (+расширения GCC, вообще GCC по моему лушший для таких целей), генерим код C. Ну а сам C уже через свой компилер в машинный. Эквиваленты в C это не значит глупое транслирование конструкций в конструкций собирая ещё один C с другим слвоарём, C это высокоуровневый ассемблер, на него можно почти всё перенести. Только он не имеет tail-call'ы, работы со стеком (возврат нескольких значений и т.п) и многое другое, но в принципе хватает. Ещё можно посмотреть в сторону C--, он специально как целевой для компилеров создавался, хотя много критики читаю о нём -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
regis |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 232 Регистрация: 12.12.2005 Где: Москва, Россия Репутация: 2 Всего: 7 |
Все-таки, при чтении этого треда, крепнет уверенность, что проект этот -- не для рядовых умов.
Okante, причем здесь машина Тьюринга и перфоленты? И не рановато ли думать об целой операционной системе, пока языка как такового не существует? И нельзя ли, наконец, объяснить толком, что из себя представляет (или должен представлять) этот чудо-язык? Про душевность можно опустить -- мы это уже и так поняли. --------------------
В. В чем разница между hardware и software?О. В отличие от второго, по первому можно двинуть кулаком или пнуть ногой. |
|||
|
||||
okante |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
>Про душевность можно опустить
Нет, я вижу вы ничего не поняли про душевность. Что вообще такое эта пречсловутая душевность, и зачем я пишу све эти статьи про философию и архитектуру? Душевность в применении к языкам программирования --- прежде всего взаимпонимание. Когда я хочу сразу же скомпилировать хелловорд, а компилятор заявляет мне, что у меня нет Visual Studio для этого, это не душевность. Когда я компилирую хелловорд, а в ответ компилятор выдает мне exe файл размером в 2.4Мб, да ещё и упакованный в zip с какими то библиотеками, это не душевность, это --- последствия бесконтрольной дифференциации(VS) и дурной интеграции(2,4Мб). О 2,4Мб будет отдельная статья. Я допускаю, что кто то хочет чтобы компиляторы поступали именно так (хотя бы тот, кто их писал да и то не всегда), однако их меньшинство и они уже получили то, что хотели. Напроитв когда я запускаю Delphi с целью накатать быстренько прообраз компилятора, избавляющего от стрессов и депрессий и он мне предоставляет такую возможность --- душевно. Когда я, скажем, запускаю flat assembler и говорю ему в 23 строчках говоря ему что хочу показать своему начальнику, что умею программировать на ассемблере и с 1 попытки получаю то, что нужно --- тоже хорошо. Казалось бы, мы пришли к той же мысли, которую озвучил SarDar (Добавлено @ 12:07 ). Безусловно доля истниы в этом есть, и язык Д призван не опровергать, а дополнять истину. Всё-таки никто из вас, как мне слышится, не прочтиал статью об архитектуре языка Д. Компиляторов и диалектов может быть множетсво. Идея одна --- не волноваться и не тратить нейронную сеть на пустяки вроде подключения хедеров очередного кернела, --- избавление от дурной множественности и плохой бесконечности (уровней вложенности .h файлов). >представляет (или должен представлять) этот чудо-язык Язык программирования в основе которого заложен русский язык, как наиболее понятный большинству разработчиков, наиболее гибкий и выразительный и мощный язык. Язык Д и продорлжает развитие этой идеи. Напрмер что конкретно не реализуемо в такой вот (ну например) программе
Мы похоже мыслим с вами в разных парадигмах. Я знаю ответ на вопрос что(а также кто и почему, но это второстепенно), вы -- на вопрос как, поэтому я здесь. >Любой компилер созданный не под накуркой опытным обученным в этой сфере программистом это Благодарю за технологию. А можем ли мы прменить вместо дерева (АСТ) граф. Ведь граф предоставит нам возможность учитыать гораздо больше связей. К тому же в русском языке (язык Д подлежит русском языку) смысл фразы зависит от контекста её произношения, поэтому на мой взгляд четкие родительско дочерние связи тут проследить нельзя. Это сообщение отредактировал(а) okante - 15.7.2006, 13:48 |
|||
|
||||
Void |
|
||||||
λcat.lolcat Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 6 Всего: 173 |
…на территории России или, в лучшем случае, постсоветского пространства. И то, взять хотя бы этот форум: иной раз такое понапишут — вроде на русском, а попробуй разберись, что хотел сказать автор То есть изоляция от второстепенных факторов, не имеющих прямого отношения к процессу разработки. Это, конечно, хорошо, даже очень. Но есть одна проблема: тяготы, снимаемые с пользователя языка, неизбежно падают на его создателя. А он ведь не всесилен, и не может предусмотреть все возможные варианты использования языка. И программисту все равно придется «подключать хедеры очередного кернела», потому что ему будут нужны сторонние библиотеки, и даже в гипотетической ОС, основанной на новом языке, ему придется иметь дело со стандартами оборудования и протоколами, которые были созданы задолго до ее появления.
Программирование, отталкивающееся от вопроса «что делать», а не «как», принято называть декларативным, и многие сходятся в том, что двигаться надо именно в этом направлении. Меня удивляет то, что в данном случае предполагается еще и бессмысленный, на мой взгляд, отход от формального представления в пользу естественного языка. Даже оставляя в стороне огромные трудности, связанные с пониманием естественного языка, он не является наилучшим средством для описания многих процессов. Несчетное множество ошибок было порождено неточностями словесных спецификаций — и теперь нам предлагают использовать их как основной инструмент? Это сродни тому, как если бы физикам предложили отказаться от формул и пользоваться исключительно словесными описаниями. Да, формулы в справочниках сопровождаются пояснениями — и точно так же программные продукты сопровождаются комментариями и документацией — но для специалиста, находящегося в курсе дела, короткая строчка символов заменяет страницу описания — и это хорошо, потому что экономит время и устраняет барьер понимания. То, что языки программирования и спецификаций менее единообразные, чем математическая нотация — не повод для разворота в сторону неформальных описаний. Вполне вероятно, что Д или ему подобный язык займут свое место на пути к Единственному истинно верному языку, первая и единственная программа на котором гласит:
Но, как мне кажется, практически применимыми и тем более универсальными им в обозримом будущем не быть. Спускаясь с небес на землю, к приведенному примеру. Стоят ли того силы, затраченные на создание инструмента, способного понимать такие описания того, если уже сейчас аналогичную функциональность можно записать не менее кратко, но формализовано? Рабочий код на Эрланге:
Это сообщение отредактировал(а) Void - 16.7.2006, 00:53 -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
||||||
|
|||||||
Sardar |
|
||||
Бегун Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: нет Всего: 317 |
Если двигаться не в сторону BASIC'ок-подобных языков, где любая функциональность встроена в язык путём массы ключевы слов, а реализовать некие механизмы расширения языка. Другое дело как это "вплести" в естественный язык, ведь масса слов/выражений будут между массой модулей одинаковые, но с разным смыслом. Придёться указывать точно (формализм) что хотим, а это в естественных языках ведёт к огромным текстам (для примера читать любой юридический документ) Любой язык программирования формальный, т.е. любое выражение может быть понято однозначно. В естественном языке может быть просто огромное количество вариаций имеющих отличную тональность, крайне важную для человека и бесполезную для машины. Проект интересен именно попыткой анализировать естественный язык, ось лучше оставить "на потом" -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||
|
|||||
okante |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
>Проект интересен именно попыткой анализировать естественный язык, ось лучше оставить "на потом"
Об этом повествуется в новой статье статья, с радостью сооющаю, что она вышла. >Вполне вероятно, что Д или ему подобный язык займут свое место на пути к Единственному истинно верному языку, первая и единственная программа на котором гласит Применив здесь литературный оборот вы похоже и сами не поняли, что сказали правду. Естественно и верно, чтобы вектор развития указывал именно на приведенную вами программу. Однако вектор тем и славен, что задает направление. Никто не хочет крайностей, --- нужно выбрать направление и добраться до золотой середины(то самое место). То есть сначала взять повыше, потому пониже как переходный процесс (затухающий), только тут главное не срезонировать. Но уже скачался Ocaml и начал erlang, поэтому я удаляюсь на борьбу со стрессом и депрессией (и при этом чувствую, что для статьи про exe 2.4Мб материал ещё будет). Это сообщение отредактировал(а) okante - 19.7.2006, 06:04 |
|||
|
||||
Sardar |
|
|||
Бегун Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: нет Всего: 317 |
Нда, вывести подмножество выражений из русского языка как решение... очень сомнительно, потеряем то к чему ты так стремишся - возможность писать так как хочеться, а не ограничено в рамках компилятора.
Кстати почему русский? Почему не английский который более прост и логичен? Почему не голландский который ещё более строг и прост для анализа? А может лучше эсперанто, как искуственный язык, он самый прстой, расширяемый и логичный из естественный языков? По статье: много воды и главное много философии. Философии в смысле говорить вещи от которых ничего не меняеться, всё равно что это не было бы сказанно никогда... а ждал каких-то конкретный изысканий. Хотя бы пропробуй написать прогу, что будет выводить эту страницу на форуме. Просто текстом, как этого бы ты хотел в Д. Есть только пара требований/входный данных:
Мышление современно программиста: обдумать идею, обговорить с сотрудниками, перевести на формальный язык программирования (язык как доступный инструментарий, как словарь/протокол понимаемый человеком и машиной). Как сказать машине на естественном языке что хочешь не испытывая чувства "а точно машина меня правильно поняла"? В итоге: нужно менять мышление программиста, на это уйдут годы, не каждый захочет так "меняться". Хотя в своё время ООП подход тоже считали через чур расточительным и не эффективным, может и естественным языкам будет да в будущем. Хотя начнёться всё гораздо раньше с виртуальных операторов и информационных служб, где можно будет спросить что хочешь со смыслом, а не по комбинации ключевых слов. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
regis |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 232 Регистрация: 12.12.2005 Где: Москва, Россия Репутация: 2 Всего: 7 |
В общем, как я понял, основная идея -- это искусственный язык на основе естественного, прежде всего русского?
Сразу могу сказать, что это сомнительная идея. Мне вот тоже сразу вспомнился COBOL -- язык, конструкции которого максимально приближены к английскому языку. Т.е. вместо A = B * C на Коболе писалось что-то вроде MULTIPLY B BY C STORING TO A и так далее. Представьте себе объем написанной в таком стиле программы, выполняющей нетривиальную вычислительную работу (а также ее читаемость и модифицируемость). Сразу будет ясно, почему Кобол благополучно загнулся, несмотря на мощную поддержку со стороны компьютерных гигантов. И вообще, удаленность от естественного языка -- это, на самом деле, большое благо, т.к. естественные языки ПОЛНЫ кошмарных неоднозначностей и прочих проблем. Поищите в Сети, например, статьи Терри Винограда, который в свое время хорошо исследовал этот вопрос. Если уж использовать язык, то искусственный (даже не Эсперанто, в котором тоже полно неоднозначностей, а Loglan или Lojban, которые специально создавались, чтобы "компьютерные" неоднозначности устранить). Но по моему, использовать какой-нибудь вполне "традиционный" язык будет проще на порядок. ;) --------------------
В. В чем разница между hardware и software?О. В отличие от второго, по первому можно двинуть кулаком или пнуть ногой. |
|||
|
||||
okante |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
Итак с радостью собщаю вам, что оффициально вышел выпуск 1.0 ИДЕ для модификации языка программирования Д --- LS-Д.
В этом выпуске: o легкий размер выпуска (14Кб); o Возможность интерпретации прямо в окне ИДЕ; o Система горячих клавиш; o компиляция в форматы - exe (теперь уже без dll); - wav (Microsoft(c,r,tm) Waveform Audio) o легкий, быстроусвояемый синтаксис; Скачать выпуск возможно http://okante.narod.ru/D/ Зеракло обновлений доступно также по адресу http://okante.nm.ru/D/ Прочитать про новшества языка Д можно по адресу http://okante.narod.ru/D/lsd.html Как всегда там же к вашим услугам форум и гостевая книга для вопросов и предложений по поводу языка Д. Кроме того ещё я хотел спросить, можно ли написать компилятор на языке SQL? Дело в том, что этот язык поддерживает таблицы данных, а таблицы это важнейший элемент языков программирования. |
|||
|
||||
Sardar |
|
|||
Бегун Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: нет Всего: 317 |
Можно об этом подробнее (на сайте не нашёл)? Всё таки на Д проги пишут, а не музыку... Ты так больше не говори SQL это декларативный язык запросов к БД, краткий, способный описать что конкретно тебе нужно связывая таблицы по условиям. Понятие "SQL поддерживает таблицы" настолько же бессмысленно как "HTTP поддерживает запросы к серверу". Оба являються интерфейсами к софту (в смысле если отойти от "это протокол, а это язык запросов!" и посмотреть "в целом") Таблицы не нужно поддерживать, ибо это понятие растяжимое как термин "горячий". Язык вообще не должен содержать логику реляционных БД, они должны подключаться к языку. Тот же SQLite прикрутить должно быть просто. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
okante |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
>Всё таки на Д проги пишут, а не музыку
На Д пишут всё, что спасает от стрессов, а музыка одно из лучших средств. Однако этот факт не мешает вам писать и exe файлы. Всё дело в универсальном синтаксисе модификации языка LS-Д. Он с легкостью может описывать как и машинный код, так и импульсно-модулированный код wav-файлов. В выпуске вы найдете пример. >на сайте не нашёл' вот гиперссылка sns § 2 |
|||
|
||||
Exception |
|
|||
Эксперт Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: нет Всего: 186 |
Много слов и мало смысла. Я лично мало чего понял. Какие задачи ты собираешься решать с помощью такого языка? Говорить с ним, что ли?
|
|||
|
||||
okante |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
>Говорить с ним, что ли?
Разговаривают с людьми, а не с неодушевленными объектами информационного мира. >Какие задачи ты собираешься решать с помощью такого языка? Борьба со стрессом и депрессией во время программирования. Неужели вам невозможно было прочитать введение на главной индексной странице? (idx § 1) Уже начинаю удивляться тому упорству, с которым вы не можете понять основную идею языка Д. Он выше типа языка либо его синтаксиса или пунктуации. Язык Д определяют от остальных языков программирования компьютеров его этические качества. Вам понятно? Вот например возьмем армейский язык программирования взводов и дивизионов. Что его отличает от остальных? Не синтаксис или пунктуация или краткость, а понятность и истинная простота. Его задача --- донести приказ до всех бойцов, вне зависимости от их количественных и качественных параметров, избавть их от лишних раздумий, сосредоточить на выполнении боевой задачи. Так же и язык Д. Его цели почти такие же, просто они сформированы в одну более общую сентенцию. |
|||
|
||||
Exception |
|
|||
Эксперт Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: нет Всего: 186 |
Да прочитал я всё. Только увидел максимум 2 примера "кода". Как его заставить вывести список файлов в папке? Как обратиться к базе данных? Как хотя бы в зависимости от условия вывести различные строки?
|
|||
|
||||
Добро пожаловать в раздел "Другие языки" форума Vingrad! | |
|
Раздел посвящён различным языкам программирования, для которых (в силу невысокой популярности) нет отдельного раздела (GPSS, Lua, MATLAB, Ada, Forth, Smalltalk, Tcl, REXX, AWK и др.)
Приятного времяпрепровождения! С уважением, Void, kemiisto . |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Другие языки | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |