Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Язык программирования на русском языке

Автор: Cybermouse
Дата сообщения: 28.01.2007 22:53
Не знаю, почему мне пришла такая бредовая идея в голову, но ради интереса хочу попробовать написать хотя бы простейшую. Не могли бы вы подсказать, с какими проблемами я могу столкнуться? Писать вообще собираюсь на Visual C++.Net
Автор: Dem_anywhere
Дата сообщения: 29.01.2007 01:21
Современный язык - это на 3/4 вызовы всяких функций/методов/...
И что делать с их названиями? Переводить? Переключать кодировку через слово?
Автор: XDiaBLo
Дата сообщения: 29.01.2007 05:57
А 1С не оно?
Автор: XPEHOMETP
Дата сообщения: 29.01.2007 09:14
Язык программирования Глагол:

http://glagol.nad.ru/

Язык программирования Ellochka и его интерпретатор Dikar

http://erichware.com/litvor/elacompw.htm

В последнем случае используется смесь из английских ключевых слов (вроде @begin и incr) с русскими, набранными латиницей (esli, @grafika)
Автор: yanval
Дата сообщения: 29.01.2007 09:49
Проблемы здесь, впрочем как и при создании любого масштабной разработки в первую очередь не программистские, а жизненные и общефилософские.
Во-первых, возникает вопрос «А кому это надо»? Я не думаю, что язык программирования с русскоязычным синтаксисом так уж востребован (хотя меня и нельзя упрекнуть в отсутствии патриотизма). В той же 1С – есть и альтернативный синтаксис, более привычный при разработке.
Во-вторых, организационные проблемы – время, команда (большие вещи не делаются в одиночку), использование данной разработки и получение прибыли от неё.
Сначала, достопочтенный Cybermouse, задумайтесь об этих вопросах, а потом уже о технической стороне дела.
Автор: vertex4
Дата сообщения: 29.01.2007 10:25
Cybermouse
Во-первых, тебе надо решить, что ты хочешь сделать: придумать язык программирования или ещё и написать транслятор для него (о компиляторе речи не идет).
При написании транслятора наибольшей проблемой (IMHO) будет определения всевозможных синтаксических конструций(вида if-else, for()do, etc)
Нужны подробности и помощь - пиши в ПМ.
yanval
Человек хочет научиться, так что о таких вещах он не обязан задумываться.
Автор: XDiaBLo
Дата сообщения: 30.01.2007 09:29
Есть мнение что язык программирования с русскими словами в качестве ключевых слов и названий классов и методов может заинтересовать только тех, кто принципиально не знает и знать не желает английский язык... Но смысл? Это изначально ленивые люди, им и этот язык программирования изучать будет лень...
Автор: Dem_anywhere
Дата сообщения: 30.01.2007 10:50
Собственно, ради интереса сделал

Код: using System;

namespace Моё {
class Приложение {
// Static method called "Main" is application's entry point function
public static void Main() {
// Write text to the console
Console.WriteLine("Привет всем используя C#!");     
}
}
}
Автор: OOD
Дата сообщения: 30.01.2007 10:54
УАЯ есть такая вещь - учебный алгоритмический язык
Автор: Cybermouse
Дата сообщения: 31.01.2007 17:08
Ну, мне не столько важно на русском будет или на английском этот язык, мне интересен сам смысл, сам алгоритм. Да, о собственном компиляторея я и не говорил)
Автор: royt
Дата сообщения: 31.01.2007 20:07
Cybermouse
А почему тогда русский поставлено во главу угла?

Видел я когда-то давно в сети перевод практически всех ключевых слов паскаля... Выглядело страшно, скажу я вам. Текст и длиннее становится (английский все-таки лаконичнее - почему, кстати, и интерфейс ОС некоторые предпочитают только английский), и с выразительностью проблемы.
В общем, не советую Оставьте русский для поэзии
Автор: Qraizer
Дата сообщения: 31.01.2007 20:56
Ну, если только не ограничиваться поэзией, то русский куда как лаконичнее получится, только общаться на таком русском в обществе не принято .
Я где-то читал, что русский язык очень сопротивляется введению новых понятий, но легко вопринимает появление новых слов. Поэтому всякие там Ломоносовские "силомер", "токопостоянство" (или "токостояние", не помню), "проникабельность" и не прижились в отличие от "манометр", "электростатика", "адсорбция". Я думаю, язык программирования с русскими ключевыми словами дико смотрится по этой же причине. Для англичанина же видеть программу, выглядящую как текст на ломанном английском языке, вполне нормально.
Чаще всего новые слова в русском языке появляются путём заимствования. Однако диалог наподобие:
- Мы завтра собираемся на природу, отдохнуть.
- Всколькером? (каково словечко?)
- Внесколькером! (а каков ответ?)
воспринимается вполне нормально. Даже больше: чтобы перевести полный смысл этого диалога на английский, включая сарказм вопроса и тонкий юмористический подтекст ответа (оба слова придуманы, но образованы по правилам русского языка, и поэтому всем понятны, причём исходные слова разные, и правила словообразования тоже разные, но при этом итог получается созвучным; в таких случаях писатели добавляют после прямой речи "- в тон ему ответил ХХХ"), придётся быть гораздо более многословным. Так что лаконичность - это ещё большой вопрос.

P.S. В оффтоп не свалился, нет?
Автор: Cybermouse
Дата сообщения: 31.01.2007 22:51
Не русский я и оставляю, потому что он сложнее английского - буду делать обработку.

А вообще на ВС простейший текстовый редактр очень быстро можно сделать сделать. А далее идут заморочки вроде подсветки кода, кнопок быстрого ввода, сохранение, открытие ну и т.п.

Меня собственно интересует такая вещь - пусть сам редактр в привычном видосовком окне, ну написали мы там допустим програмку, запускаем - можно ли отдельно запускать полноэкранный режим, которой не примыкает к основной прогремме, но которому уже обработанный код передаётся?
Автор: sdubovitsky
Дата сообщения: 31.01.2007 23:11
Имеется в виду трансляция программы, грамматика которой основана на русском алфавите, в какой-то конкретный язык программирования или разработка нового языка, со своей семантикой и синтаксисом?
Автор: Cybermouse
Дата сообщения: 31.01.2007 23:41
Имеется в виду создание собственного языка программирования с русским синтаксисом, который потом будет его обрабатывать на привычний код для вижуала, а затем и запускать эту программу.
Автор: Simbr
Дата сообщения: 01.02.2007 07:43
Прежде всего надо прочить. как строяться компиляторы , например.
Ахо, Сети, Ульман Компиляторы. Принципы, технологии, инструменты.
Тогда станет понятно, что выбор алфавита не существенен (хоть на банту), подсетка синтаксиса к компилятору не имеет никакого отношения не имеет, как и всякие окна и 'вижуалы'.
Автор: royt
Дата сообщения: 01.02.2007 11:48
Cybermouse
Цитата:
Имеется в виду создание собственного языка программирования с русским синтаксисом, который потом будет его обрабатывать на привычний код для вижуала, а затем и запускать эту программу.
Какая разница, будет ли синтаксис русским или английским, это ведь не суть. Если Вы собрались разработать "собственный" язык - то он должен отличаться не просто названиями служебных слов (к чему скорее всего и сводится весь Ваш новый "синтаксис"), а языковыми контрукциями, смыслом который придается выражениям, записанным на этом языке и т.д. Т.е. семантикой и синтаксисом, как сказли выше.
Определитесь поточнее, чего Вы хотите: создание нового языка это одно (боюсь, что с этим ничего внятного у вас пока не получится), а написание некой оболочки для ретрансляции программ с русскоязычными служебными словами - это другое.


Цитата:
Меня собственно интересует такая вещь - пусть сам редактр в привычном видосовком окне, ну написали мы там допустим програмку, запускаем - можно ли отдельно запускать полноэкранный режим, которой не примыкает к основной прогремме, но которому уже обработанный код передаётся?

Не совсем понятно, чего Вы хотите, хотя примерно догадываюсь. Вы хотите запускать транслятор (компилятор?) в виде отдельного процесса (т.е. "в отдельном окне"?...), но выводить результатыт его работы в своем? Если транслятор представляет собой консольную программу, то такое делается нетрудно: поищите по словам "консольное приложение, перехват/перенаправление вывода".
Автор: royt
Дата сообщения: 03.02.2007 07:54
Cybermouse
Вообще, озвучили бы цель проекта сначала, тогда может яснее станет задача.
Автор: Cybermouse
Дата сообщения: 03.02.2007 23:12
Цель проекта и есть само создание этого языка. Я делаю это не заденьги и только для себя. МНе интересно написать что то похожее. И если будет уж слишком много проблем - тогда откажусь от этой затеи...
Автор: royt
Дата сообщения: 05.02.2007 07:28
хорошо, но...
Cybermouse
Цитата:
мне интересен сам смысл, сам алгоритм

- алгоритм чего?

вопрос вопрос был в плане - какую кокнретно задачу Вы перед собой поставили? Пока что всё размыто и не очень понятно.
Может стоит все-таки хотя бы бегло посмотреть книжки о создании трансляторов.


Цитата:
Имеется в виду создание собственного языка программирования с русским синтаксисом, который потом будет его обрабатывать на привычний код для вижуала, а затем и запускать эту программу.
- нужно написать только синтаксический анализатор, который будет передавать результат в кодогенератор? Кодогенератор не будете писать? А если все сводится к простой замене русских слов на английские - то это можно и в bat-файле сделать (а также передать результат имеющемуся готовому компилятору), это немного строчек кода и задачка банальная, "написанием своего языка" это нельзя назвать. Можно какую-то облочку написать для такой работы, но к созданию языка это тоже прямого отношения не имеет.
Автор: Mickey_from_nsk
Дата сообщения: 05.02.2007 09:22
Скажу пару слов в защиту проекта товарища.
Это, наверно, действительно, интересная задача, переложить не синтаксис, а семантику русского языка на языки программирования.
Ранее упоминалась сложность словообразования в русском языке. Добавление разных приставок, суффиксов и окончаний может существенно изменить семантическую характеристику слова, оставив изначальный смысл его (или назначение).
Если подойти с этой точки зрения, а не перекладывать паскаль на русский язык, тогда может получиться что-то интересное. Например, путем изменения окончания объекта можно получать его методы. и т.д.
По поводу боязни народа сломать кнопочку Right Ctrl (или что у кого - можно взять за основу чешский или польский языки Правда тогда можно просто язык или голову сломать.
Может в этом направлении подумаем?
Автор: royt
Дата сообщения: 05.02.2007 19:12
Mickey_from_nsk
Ну вот так например интересно звучит и заманчиво (в принципе никто ни на кого не нападает, просто на самом деле автор мне кажется не совсем пока понимает куда ныряет, вот и пытаемся его чуть-чуть наставить на путь...)
Автор: Simbr
Дата сообщения: 06.02.2007 13:45

Цитата:
Это, наверно, действительно, интересная задача, переложить не синтаксис, а семантику русского языка на языки программирования.

Оствавь надежду всяк сюда входящий
Над автоматизированными переводчиками сколько лет бьются коллективы, а результат работы такой программы ...(слов не хватает одни эмоции).
Автор: Mickey_from_nsk
Дата сообщения: 06.02.2007 14:09
Simbr
Ну так речь не про переводы идет, а просто про идею. Чем больше над этим думаю, тем больше кажется, что в этой идее можно чего-то раскопать. Но кажется, что моей головы в текущем ее состоянии не хватит. Блин. Там на докторскую можно накопать.
Автор: XDiaBLo
Дата сообщения: 06.02.2007 14:48
Mickey_from_nsk
Хмм, эт как ты себе представляешь? Это нечто монструозное получится... Прямо как русский язык =) А в русском матерном кстати да, очень мощно с окончаниями придумано, у буквально нескольких слов столько различных вариаций, и не менее разнообразных значений :) Не буду тут это подробно расписывать, а то Шива говорить запретит...
Автор: Cybermouse
Дата сообщения: 06.02.2007 15:50
Mickey_from_nsk, ну да, что то вроде этого =)



Цитата:
Добавление разных приставок, суффиксов и окончаний может существенно изменить семантическую характеристику слова


Да, я над этим думал. Два совершенно разных оператора - один единственного числа, другой множественного ну и такого типа
Автор: Mickey_from_nsk
Дата сообщения: 07.02.2007 06:34
XDiaBLo
Ну в русском языке не так уж все монструозно. Правда я по русскому в школе больше четверки за четверть не получал, но и меньше - редко.
С одной стороны, русский язык сложнее английского, с другой стороны, принимая философский закон количества и качества, видимо, он должен иметь или более выразительные средства или еще чего-нибудь. То есть где-то эта сложность должна вылезти простотой. Где - не знаю. С ходу могу привести только возможность безличных предложений, которые в английском заменяются личными в страдательном залоге.
Эх, пообщаться бы на эту тему с лингвистами...
Ну и, кстати, с окончаниями придумано не в русском матерном, а в обычном - повседневном (что не совсем одно и то же).
Cybermouse

Цитата:
Два совершенно разных оператора - один единственного числа, другой множественного ну и такого типа

Боюсь, что концепцию операторов (и, возможно, объектов и методов) придется оставить для английских языков.
А вот система принадлежности, например, характеристик, может легко организовываться путем добавления окончаний и суффиксов.
Система законченности - путем добавления приставок.
Ну и т.д.
Автор: XDiaBLo
Дата сообщения: 07.02.2007 07:21
Mickey_from_nsk
Нет, я знаю что в обычном тоже окончания огромную роль имеют, я сказал что в матерном это ещё более отчётливо видно :)))
Автор: Mickey_from_nsk
Дата сообщения: 07.02.2007 08:55
XDiaBLo
Скажем так, за счет сильной ограниченности словарного запаса и практической неограниченности набора приставок, суффиксов и окончаний (да и предлогов (и поводов) тоже ) там просто становится необходимым использование стандартного механизма словообразования русского языка для создания различных терминов и определений
Автор: communicay
Дата сообщения: 16.02.2013 11:40

Цитата:
если все сводится к простой замене русских слов на английские - то это можно и в bat-файле сделать (а также передать результат имеющемуся готовому компилятору), это немного строчек кода и задачка банальная

Вообще-то есть такое: утилита транслитерации русского C/C++ в стандартный, http://www.compiler.su/utilita-transliteratsii-russkogo-Si-SiPlusPlus-v-standartnyj.php

Ещё есть статья, где этот вопрос достаточно подробно освещён: "Русский язык и программирование", http://www.compiler.su/russkij-yazyk-i-programmirovanie.php

Страницы: 12

Предыдущая тема: Срочно нужен программист на одноразовую работу.Работа на дом


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.