|
Модераторы: Се ля ви |
|
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: нет Всего: 453 |
Лучше вместо это было еще в ВТ-128С для Электроники Д3-28 (эдакая помесь фортрана с барсиком, кстати двуязычная! ой, сколько я на нем программ понакропал...), но штука-то в общем имхо порочная, сродни отказу от явного объявления переменных... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
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 обьекты реализованны на уровне виртуальной машины, т.е. твой язык уже будет обьектно-ориентированным изначально. Впрочем это наборот хорошо Также ты будешь юзать все сущесвующие библиотеки, что в конце концов приведёт к Java в другом синтаксисе. Например как JPython компилируемый в байткод 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 Профиль Группа: Модератор Сообщений: 15709 Регистрация: 24.3.2004 Репутация: 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 Профиль Группа: Модератор Сообщений: 15709 Регистрация: 24.3.2004 Репутация: 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 Профиль Группа: Модератор Сообщений: 15709 Регистрация: 24.3.2004 Репутация: 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. |