![]() |
Модераторы: Се ля ви |
![]() ![]() ![]() |
|
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20580 Регистрация: 8.4.2004 Где: Зеленоград Репутация: нет Всего: 454 |
Лучше вместо ![]() -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
vadims |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 8.6.2005 Репутация: нет Всего: 17 |
Но может быть какой-то глобальный смысл есть - просто я его не вижу ??? -------------------- Cpu not found ! Press any key for software emulation. |
||||
|
|||||
Sardar |
|
||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 1 Всего: 317 |
Генерить код другого языка можно если твой язык очень похож на целевой. Иначе это очень сложно и качественно никогда не будет.
Генерить байткод под Java/.Net/Python можно, но по крайней мере в Java обьекты реализованны на уровне виртуальной машины, т.е. твой язык уже будет обьектно-ориентированным изначально. Впрочем это наборот хорошо ![]()
Фишка ведь легко реализуеться, компилятор генерит таблицу символов(имён всех переменных/функций/...) и не смотрит существует ли переменная. Затем линковщик собираетвсе обрывки кода до целого имея все обьявления переменных. Подход не удобен, так как ошибки находяться напоздней стадии компиляции. Народ специально делает язык "ограниченным", например запрет на использование ключевых слов как нормальных идентификаторов. Лексический анализ станет ещё проще, так как ключевые слова бдут распознаваться не на его уровне, а синтаксический без проблем разберёться где что. Только человеку читать такое будет не реально. По моему был такой язык PL/2, там было что то подобное:
Как выво: парсер никогда не ошибаеться, можно ввести какой угодно синтаксис. Perl кстати имеет один из таких мудрённых синтаксисов. Только человек испытывает трудности при чтении кода, именно для нас самих же мы делаем жёстки ограничения в синтаксисе языков. Русский можно описать контекстно зависимой грамматикой со всем многообразием окончаний, приставок и вообще построения предложений. Другое дело что это очень обьёмная работа. Но теоретическая база с кодом под это дело есть ![]() -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||
|
|||||
Се ля ви |
|
|||
![]() Java/SOAрхитектор ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2016 Регистрация: 5.6.2004 Где: place without tim e and space Репутация: 6 Всего: 127 |
Sardar, по-твоему, С++ похож на машинный код?.. ![]() -------------------- |
|||
|
||||
Sardar |
|
||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 1 Всего: 317 |
А разве я сказал что он похож? Я наоборот сказал что конвертнуть один язык в другой очень сложно (читай офигенно сложно) если языки не "клоны" друг друга. Это теория из функциональных языков, по моему реальных продуктов пока нет...
А что по твоему интерпретируеться? Очень редко когда интерпретатор воспринимает чистый код языка, почти всегда он прекомпилируеться в некоторую промежуточную форму, состоящую преимущественно из простых операций. Например циклы (for/while) компилируються в goto с метками. Все вычисления проводяться на стек либо в регистры (есть редкие регистровые интерпретаторы типа Parrot). Интерпретатор выходит простым и очень быстрым. Собственно из-за скорости и простоты нужна эта промежуточная форма кода. В какую промежуточную форму компилить - без разницы. Ну почти, интерпретатор задаёт тип языка. Например в Java есть опкод new <ссылка на класс> , он на прямую поддерживает обьекты. А например интерпретатор Lisp'а или Hаskell это функциональные языки, там вся память в связанных списках. Интерпретаторов в мире много, можешь компилить под Python, Ruby, Parrot, PHP, Java, .Net и т.д. Можешь написать свой интерпретатор, благо теории/инфы очень много. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||
|
|||||
Andrey1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 621 Регистрация: 27.2.2004 Где: Moscow Репутация: нет Всего: 5 |
Думаю, самое главное в языке - его семантика (смысл конструкций). Поэтому, русские буквы или нет в операторах языка - не важно. Мысль о том, хорош ли язык с изменяющимися конструкциями, нужно оценивать через семантику: что нового в семантике может "дать" этот язык? На вскидку мне кажется, что не очень много нового...
А психологические эффекты я бы не рассматривал, потому как там вообще ничего не понятно и не предсказуемо. Андрей -------------------- Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания. из сутры помоста шестого патриарха Хуэйнена |
|||
|
||||
Driv3r |
|
|||
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 3.7.2005 Репутация: нет Всего: нет |
Вообще-то русский синтаксис больше бы подошёл логическим и функциональным языкам,чем императивным и объектно ориентированным.Но такие языки к сожалению сами по себе не популярны.
|
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15717 Регистрация: 24.3.2004 Где: Dublin Репутация: 3 Всего: 537 |
О каких именно продуктах идет речь? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 1 Всего: 317 |
Перевод одного формального языка в другой, при этом языки родственными быть не должны. КАк если бы Java в Haskell перевести, по моему это физически не возможно.
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15717 Регистрация: 24.3.2004 Где: Dublin Репутация: 3 Всего: 537 |
Очень даже возможно, есть компилятор из ML в Java. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 1 Всего: 317 |
В байткод Java или текст Java? ![]() -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
Alex101 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 891 Регистрация: 8.4.2002 Где: Москва Репутация: нет Всего: 10 |
Когда я работал в компании Омега, там встроенные языки (программирования и запросов) были C/Pascal-подобный и SQL-подобный.
А могли запросто и сделать на русском. Но все же, для программиста сейчас более привычны слова английского языка в программе, соответственно, на изучение языка тратится намного меньше времени, интуитивно понятно назначение операторов и функций. Хотя в институте мы занимались полгода на машине, где языком программирования был русский - некая смесь ассемблера и бейсика. -------------------- С уважением, А. Фролов. |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15717 Регистрация: 24.3.2004 Где: Dublin Репутация: 3 Всего: 537 |
В байткод, но во первых JASM и ML также далеки как ML и Java, а во вторых я думаю построение компилятора в Java не отличается по сложности от компилятора в байткод. И там и там, набор результирующих средств практически одинаков. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Sardar |
|
||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 1 Всего: 317 |
На самом деле очень сильно отличаеться! Я повторяю, Java будем считать код в синтаксисе Java. Байткодом будем считать байткод Java. Это две разные вещи. Конвертнуть C++ код в Java код(повторяю синтаксис, текст, а не байт код), довольно сложно, хотя языки семантически похожи. Откинем пока библиотеки и приёмы, будем рассматривать для простоты синтаксис. А если генерить реальный Java код, на существующих библиотеках, то дело совсем становиться не реальным, логика в либах совсем другая. А попробуй конвертнуть большой C проект в Java? Например MySQL ![]()
Не совсем, байткод он достаточно прост и даёт большую свободу. На байткод перенести прогу проще чем на формальный язык со сложным синтаксисом, у тебя просто нет свободы. Есть куча версий языков типа Python, Fort и т.д. которые компилируються в Java байткод, но это не говорит что эти языки родственны с Java, просто байткод даёт достаточно свободы что бы реализовать идею. Правда от стандартных библиотек никуда не убежишь ![]() Я не хочу убеждать. Теоретически можно перевести любой формальный язык на любой другой формальный язык, при условии что они функционально на одном уровне(операции с файлами нельзя перевести на другой язык если там их не существует). Но я таких продуктов пользующихся спросом не видел. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||
|
|||||
TP@MB@Y |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 18.12.2004 Где: Москва Репутация: нет Всего: 4 |
Когда я пытался разобраться в исходниках 1С, то меня брало бешенство и раздражение
![]() Вобщем, я думаю тем людям, которые уже программируют, будет очень сложно перейти на такой язык (к тому же ради чего?). Он может прийтись по нраву человеку, который не знает программирование, но который хочет научиться программировать. Допустим такой язык написан. И даже внедрен. Если учесть, что даже среди таких широкораспространенных англо-языков как си и паскаль существует "конкуренция" (работадатель ставит жесткие условия языка прогр. на котором должна быть написана программа), то судьба русскоязычного языка незавидная в России, а зарубежом ее вообще нету. Кстати, англо-языки даже полезно юзать: благодаря ним русский программист осваивает (хоть как-никак) английский язык. (Даже анекдот такой есть....) ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила раздела "Философия программирования": | |
|
Форум "Философия программирования" предназначен для обсуждения вопросов, так или иначе связанных с философскими аспектами разработки ПО: • вопросы перспективного развития методов написания ПО; • изменяющиеся языки и методологии программирования; Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Се ля ви. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Философия программирования | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |