Русские вычислители

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Русские вычислители » Беседы «за жизнь» » Программирование на татарском языке


Программирование на татарском языке

Сообщений 1 страница 9 из 9

1

Прислал мне один товарищ, функция сортировки на татарском:

Код:
ФУНКЦИЯ тэртиплэу;
УЗГЭРЕШЛЕ i, j, вакытлы: САН;
БАШЛАУ
  i := 0;
  АЛГАРЫШЛЫ_ЦИКЛ i < A.кулэме - 1 ЭШЛЭ
    j := i + 1;
    АЛГАРЫШЛЫ_ЦИКЛ j < A.кулэме ЭШЛЭ
      ШАРТ A[i] > A[j] ШУЛАЙ
        вакатлы := A[i];
        A[i] := A[j];
        A[j] := вакытлы;
      АХЫРЫ;
      j := j + 1;
    АХЫРЫ;
    i := i + 1;
  АХЫРЫ;
АХЫРЫ тэртиплэу;

Тут не совсем татарский шрифт, некоторые буквы заменены на похожие.

0

2

Интересная реализация. Только не понятно в какой язык транслируется и что за компилятор.
Непонятно, как массив передаётся в функцию. Глобальное объявление?

0

3

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

0

4

Практически чистый Паскаль.
Простым препроцессором приводится к нему.
Достаточно перевести на английский ключевые слова и идентификаторы, а также добавить недостающие BEGIN.

Но вот на какие мысли это меня наводит.
Прямо вижу этот код, написанный на французском, испанском, финском и т.д.

Теперь главное.

В моем понимании, существует два вариант того, что каждый из нас понимает под РЯП:
1) Это взятый за основу хорошо зарекомендовавший себя на практике известный язык программирования (или его незначительная модификация с добавлением "синтаксического сахара"), в котором везде можно использовать кириллицу.

2) Или это качественно новый продукт русскоязычного сообщества, созданный в результате:
- анализа лучших достижений в области разработки и реализации языков программирования (как средства для эффективного описания задач и способов их решения с использованием вычислительных машин);
- учета специфики мышления людей, думающих на русском языке (быт и культура определяют свойства мышления и языка);
- самоосознание (именно так и хотел написать) и позиционирование себя в мировом сообществе российского (постсоветского) человека.

Для меня интересен второй вариант. В нем содержится новое качество и вызов.

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

Интересно, а в дополнение к указанным двум вариантам существуют какие-либо еще?

0

5

Что под 2 вариантами подразумевать? «Что понимать под РЯП» или «в чём мотивация использования РЯП»?

Если «что понимать под РЯП». Первый вариант – взять за основу хорошо зарекомендовавший себя ЯП. Этот этап я пошёл со свои русификатором C/C++. Только нельзя про C/C++ сказать, что он себя хорошо зарекомендовал – он просто очень распространённый, однако потенциально небезопасный. Вот теперь лично мне хотелось бы взяться за второй вариант – «качественно новый продукт».

Если про «мотивацию использования РЯП» - могу добавить, что русский ничем не хуже английского, а для носителей языка позволяет глубже выражать свои мысли в программе. Большие проекты всегда сложны, но некоторое облегчение родной язык тоже может принести – я так думаю.

0

6

Концепт написал(а):

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

Это не иллюзия. Взять, например, тот же Глагол. Поработав с ним, я заметил, что исходник читается и понимается (усваивается) значительно быстрее, хотя Глагол — это, по сути, просто перевод Оберона.

Концепт написал(а):

Для меня интересен второй вариант.

Мне тоже нравится второй подход (он должен быть на первом месте). И он просто правильнее. Хотя бы потому, что в нём есть возможность учесть особенности мышления русского человека и особенности самого русского языка.

0

7

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

0

8

Юрий, зачем вам нужны "ещё" люди? Чтобы пытаться ещё больше согласовывать большее количество подходов и идей? Всем нам интересен второй вариант.

Концепт написал(а):

Прямо вижу этот код, написанный на французском, испанском, финском и т.д.

Противоречие? С одной стороны вы хотите, чтобы ЯП использовал мощь русского языка. С другой стороны вы хотите, чтобы ЯП можно было "легко" переводить на другие языки. Как?
Переводчики тратят много лет своей жизни, чтобы выучить иностранный язык и быть переводчиком.

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

Отредактировано Infum (10.09.2014 00:53:23)

0

9

Юрий, зачем вам нужны "ещё" люди?

Люди – это наше всё :)

С одной стороны вы хотите, чтобы ЯП использовал мощь русского языка. С другой стороны вы хотите, чтобы ЯП можно было "легко" переводить на другие языки. Как?

Я об этом писал:

Будет, на мой взгляд, большой ошибкой, если такой язык будет ориентирован исключительно на русскоязычную аудиторию. Искусственное ограничение ареала обитания снизит шансы на популярность «языка светлого завтра». Ведь ему будут закрыты многие двери: он не заменит Javascript в браузерах, на нем не будут проводиться международные олимпиады по программированию. На нем не напишут Linux, Windows или MacOS. Его не будут изучать в Гарварде и Кембридже, о нем не напишет книгу Питер Нортон с в соавторстве с Василием Пупкиным. Но, самое главное, он не обрастет той инфраструктурой, которая есть вокруг всех мировых языков типа С или Java. Инфраструктурой, которая включает в себя не только компилятор с IDE и библиотеками, но и миллионы людей, готовых этот язык учить и использовать, популяризировать и развивать.

А вот об использовании мощи языка, которое с одной стороны, помешает его переводить на другие естественные языки, а с другой - првнесёт в него излишнюю сложность естественного:

Например, в языке «Кумир» частица «не» может вставляться вовнутрь идентификатора. Если объект «дверь открыта» имеет значение «ложь», то можно записать «дверь НЕ открыта», и это будет читаться значительно лучше, чем «НЕ дверь открыта», хотя последнее более «математично».

Но как авторы языка учли двойные отрицания? Никак: если из объекта «никто НЕ закрыл дверь» удалить частицу «НЕ», то получится «никто закрыл дверь». Вывод: учесть все нюансы русского языка не только трудно, но и не нужно. Фраза «! дверь открыта» будет выглядеть как исковерканная речь. Но ведь англичане привыкли к «copy file», хотя правильнее было бы «to copy the file». И мы привыкнем и не будем в обычной речи сыпать фразами «если истинно затем учтем это конец если».

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

Об этом тоже писал:

Язык программирования должен быть международным. В идеале, программисты должны работать на том языке, который им удобен: на русском, английском, китайском, французском, хинди. И должны существовать мультиязычные словари, обеспечивающие автоматический перевод идентификаторов, которые по своей сути – слова и фразы, с одного языка на другой. Программу, написанную китайцами можно тогда запросто читать на русском. Проблема машинного перевода для отдельных слов и фраз решается значительно проще, чем для обычного текста. Создание такой системы перевода – отдельная тема.

0

Быстрый ответ

Напишите ваше сообщение и нажмите «Отправить»



Вы здесь » Русские вычислители » Беседы «за жизнь» » Программирование на татарском языке