Модераторы: Се ля ви

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Русский язык программирования, был бы совсем другим 
:(
    Опции темы
Akina
Дата 6.7.2005, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: нет
Всего: 453



Цитата(Driv3r @ 5.7.2005, 20:47)
в языке будет возможность объявлять переменную не только до её использования,но и после.

Лучше вместо smile это было еще в ВТ-128С для Электроники Д3-28 (эдакая помесь фортрана с барсиком, кстати двуязычная! ой, сколько я на нем программ понакропал...), но штука-то в общем имхо порочная, сродни отказу от явного объявления переменных...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
vadims
Дата 6.7.2005, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 8.6.2005

Репутация: нет
Всего: 17



Цитата(Akina @ 6.7.2005, 09:49)
это было еще в ВТ-128С для Электроники Д3-28
Точно точно, а я то думаю откуда это ? ВТ-МХТИ для Д3-28

Цитата(Akina @ 6.7.2005, 09:49)
штука-то в общем имхо порочная, сродни отказу от явного объявления переменных
Имхо: гораздо порочней, чем просто не объявлять - так хоть понятно что по умолчанию - а так сам запутаешься

Но может быть какой-то глобальный смысл есть - просто я его не вижу ???


--------------------
Cpu not found ! Press any key for software emulation.
PM MAIL   Вверх
Sardar
Дата 6.7.2005, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 1
Всего: 317



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

Генерить байткод под Java/.Net/Python можно, но по крайней мере в Java обьекты реализованны на уровне виртуальной машины, т.е. твой язык уже будет обьектно-ориентированным изначально. Впрочем это наборот хорошо smile Также ты будешь юзать все сущесвующие библиотеки, что в конце концов приведёт к Java в другом синтаксисе. Например как JPython компилируемый в байткод Java уже и не питон почти...

Цитата(Driv3r @ 5.7.2005, 18:47)
Единственное что могу сказать,то что в языке будет возможность объявлять переменную не только до её использования,но и после.

Фишка ведь легко реализуеться, компилятор генерит таблицу символов(имён всех переменных/функций/...) и не смотрит существует ли переменная. Затем линковщик собираетвсе обрывки кода до целого имея все обьявления переменных. Подход не удобен, так как ошибки находяться напоздней стадии компиляции.

Народ специально делает язык "ограниченным", например запрет на использование ключевых слов как нормальных идентификаторов. Лексический анализ станет ещё проще, так как ключевые слова бдут распознаваться не на его уровне, а синтаксический без проблем разберёться где что. Только человеку читать такое будет не реально. По моему был такой язык PL/2, там было что то подобное:
Код
IF IF = ELSE THEN ELSE = IF ELSE IF = ELSE


Как выво: парсер никогда не ошибаеться, можно ввести какой угодно синтаксис. Perl кстати имеет один из таких мудрённых синтаксисов. Только человек испытывает трудности при чтении кода, именно для нас самих же мы делаем жёстки ограничения в синтаксисе языков.

Русский можно описать контекстно зависимой грамматикой со всем многообразием окончаний, приставок и вообще построения предложений. Другое дело что это очень обьёмная работа. Но теоретическая база с кодом под это дело есть smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Се ля ви
Дата 6.7.2005, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 6
Всего: 127



Цитата(Sardar @ 6.7.2005, 12:37)
Генерить код другого языка можно если твой язык очень похож на целевой. Иначе это очень сложно и качественно никогда не будет.

Sardar, по-твоему, С++ похож на машинный код?.. smile Можно же создавать более высокоуровневые языки непохожими на то, во что они интерпретируются...


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
Sardar
Дата 6.7.2005, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 1
Всего: 317



Цитата
Sardar, по-твоему, С++ похож на машинный код?..

А разве я сказал что он похож? Я наоборот сказал что конвертнуть один язык в другой очень сложно (читай офигенно сложно) если языки не "клоны" друг друга. Это теория из функциональных языков, по моему реальных продуктов пока нет...


Цитата
Можно же создавать более высокоуровневые языки непохожими на то, во что они интерпретируются...

А что по твоему интерпретируеться? Очень редко когда интерпретатор воспринимает чистый код языка, почти всегда он прекомпилируеться в некоторую промежуточную форму, состоящую преимущественно из простых операций. Например циклы (for/while) компилируються в goto с метками. Все вычисления проводяться на стек либо в регистры (есть редкие регистровые интерпретаторы типа Parrot). Интерпретатор выходит простым и очень быстрым. Собственно из-за скорости и простоты нужна эта промежуточная форма кода.

В какую промежуточную форму компилить - без разницы. Ну почти, интерпретатор задаёт тип языка. Например в Java есть опкод new <ссылка на класс> , он на прямую поддерживает обьекты. А например интерпретатор Lisp'а или Hаskell это функциональные языки, там вся память в связанных списках. Интерпретаторов в мире много, можешь компилить под Python, Ruby, Parrot, PHP, Java, .Net и т.д. Можешь написать свой интерпретатор, благо теории/инфы очень много.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Andrey1
Дата 7.7.2005, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 621
Регистрация: 27.2.2004
Где: Moscow

Репутация: нет
Всего: 5



Думаю, самое главное в языке - его семантика (смысл конструкций). Поэтому, русские буквы или нет в операторах языка - не важно. Мысль о том, хорош ли язык с изменяющимися конструкциями, нужно оценивать через семантику: что нового в семантике может "дать" этот язык? На вскидку мне кажется, что не очень много нового...
А психологические эффекты я бы не рассматривал, потому как там вообще ничего не понятно и не предсказуемо.

Андрей


--------------------
Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания.
из сутры помоста шестого патриарха Хуэйнена
PM MAIL WWW ICQ   Вверх
Driv3r
Дата 11.7.2005, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 3.7.2005

Репутация: нет
Всего: нет



Вообще-то русский синтаксис больше бы подошёл логическим и функциональным языкам,чем императивным и объектно ориентированным.Но такие языки к сожалению сами по себе не популярны.
PM MAIL   Вверх
LSD
Дата 12.7.2005, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15709
Регистрация: 24.3.2004

Репутация: 3
Всего: 537



Цитата(Sardar @ 6.7.2005, 17:43)
Это теория из функциональных языков, по моему реальных продуктов пока нет...

О каких именно продуктах идет речь?


--------------------
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.
PM MAIL WWW   Вверх
Sardar
Дата 12.7.2005, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 1
Всего: 317



Перевод одного формального языка в другой, при этом языки родственными быть не должны. КАк если бы Java в Haskell перевести, по моему это физически не возможно.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
LSD
Дата 12.7.2005, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15709
Регистрация: 24.3.2004

Репутация: 3
Всего: 537



Цитата(Sardar @ 12.7.2005, 17:11)
Перевод одного формального языка в другой, при этом языки родственными быть не должны. КАк если бы Java в Haskell перевести, по моему это физически не возможно.

Очень даже возможно, есть компилятор из 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.
PM MAIL WWW   Вверх
Sardar
Дата 12.7.2005, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 1
Всего: 317



Цитата(LSD @ 12.7.2005, 15:25)
Очень даже возможно, есть компилятор из ML в Java.

В байткод Java или текст Java? smile Это две совершенно разные вещи, я обьяснял уже выше.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Alex101
Дата 13.7.2005, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 891
Регистрация: 8.4.2002
Где: Москва

Репутация: нет
Всего: 10



Когда я работал в компании Омега, там встроенные языки (программирования и запросов) были C/Pascal-подобный и SQL-подобный.
А могли запросто и сделать на русском.
Но все же, для программиста сейчас более привычны слова английского языка в программе, соответственно, на изучение языка тратится намного меньше времени, интуитивно понятно назначение операторов и функций.
Хотя в институте мы занимались полгода на машине, где языком программирования был русский - некая смесь ассемблера и бейсика.


--------------------
С уважением, А. Фролов.
PM MAIL ICQ   Вверх
LSD
Дата 13.7.2005, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15709
Регистрация: 24.3.2004

Репутация: 3
Всего: 537



Цитата(Sardar @ 12.7.2005, 20:01)
В байткод Java или текст Java?  Это две совершенно разные вещи, я обьяснял уже выше.

В байткод, но во первых 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.
PM MAIL WWW   Вверх
Sardar
Дата 13.7.2005, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 1
Всего: 317



Цитата(LSD @ 13.7.2005, 08:36)
а во вторых я думаю построение компилятора в Java не отличается по сложности от компилятора в байткод. И там и там, набор результирующих средств практически одинаков.

На самом деле очень сильно отличаеться! Я повторяю, Java будем считать код в синтаксисе Java. Байткодом будем считать байткод Java. Это две разные вещи.
Конвертнуть C++ код в Java код(повторяю синтаксис, текст, а не байт код), довольно сложно, хотя языки семантически похожи. Откинем пока библиотеки и приёмы, будем рассматривать для простоты синтаксис. А если генерить реальный Java код, на существующих библиотеках, то дело совсем становиться не реальным, логика в либах совсем другая.

А попробуй конвертнуть большой C проект в Java? Например MySQL smile

Цитата(LSD @ 13.7.2005, 08:36)
но во первых JASM и ML также далеки как ML и Java

Не совсем, байткод он достаточно прост и даёт большую свободу. На байткод перенести прогу проще чем на формальный язык со сложным синтаксисом, у тебя просто нет свободы. Есть куча версий языков типа Python, Fort и т.д. которые компилируються в Java байткод, но это не говорит что эти языки родственны с Java, просто байткод даёт достаточно свободы что бы реализовать идею. Правда от стандартных библиотек никуда не убежишь smile

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


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
TP@MB@Y
Дата 14.7.2005, 01:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 18.12.2004
Где: Москва

Репутация: нет
Всего: 4



Когда я пытался разобраться в исходниках 1С, то меня брало бешенство и раздражение smile , потому что там очень много слов с одинаковыми предлонами и другими частями слова (сорри за коломбур). И причем каждый раз приходится напрягать мозг, чтобы понять то для чего предназначен оператор (по его названию), хотя это звучит парадоксально - мол русский человук напрягает мозг, чтобы понять смысл русского слова =))

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

Допустим такой язык написан. И даже внедрен. Если учесть, что даже среди таких широкораспространенных англо-языков как си и паскаль существует "конкуренция" (работадатель ставит жесткие условия языка прогр. на котором должна быть написана программа), то судьба русскоязычного языка незавидная в России, а зарубежом ее вообще нету.

Кстати, англо-языки даже полезно юзать: благодаря ним русский программист осваивает (хоть как-никак) английский язык. (Даже анекдот такой есть....)

smile
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила раздела "Философия программирования":
Се ля ви

Форум "Философия программирования" предназначен для обсуждения вопросов, так или иначе связанных с философскими аспектами разработки ПО:

• вопросы перспективного развития методов написания ПО;

• изменяющиеся языки и методологии программирования;


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Се ля ви.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Философия программирования | Следующая тема »


 




[ Время генерации скрипта: 0.2074 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.