это возможно и в языке без падежей - но с костылями в компиляторе.
Проще придумать язык с операторами -> и <-, в котором bar->baz === baz<-bar. Но ведь это ничего не даёт, ни упрощает код, ни повышает уровень абстракции.
bar bazA quuxO
bazA quuxO bar
quuxO bar bazA
bazA bar quuxO
...
quux стоит в творительном падеже, baz - в винительном. bar - функция. это применение bar к аргументу-функции quux, которая будет применена к второму аргументу bar - baz.
quux стоит в творительном падеже, baz - в винительном. bar - функция. это применение bar к аргументу-функции quux, которая будет применена к второму аргументу bar - baz.
ничего сомнительного. долой оковы, пишу как душа лежит. написал сначала bar - не беда, дописываю foo.
Ты понимаешь, что это читаться будет… ну никак?
но почему? «человеческие» языки с падежами прекрасно читаются. тут я тоже не вижу проблем, надо привыкнуть недельку, а потом на языки без падежей будешь смотреть, как на говно.
всего несколько падежей - и отлично, применять их можно в 9000 ситуаций. а тебе придется делать 9000 операторов. хотя нет - 18000, чтобы можно было переставлять аргументы.
хммм... удалось узнать, что оно называется на нормальном языке «Nadeshiko». нагуглилось мало, но то, что нагуглилось, не говорит об этом языке как о естественном языке-языке программирования. там лишь упоминалось, что в нем применяются японские загогулины, типа, «Non-ASCII programming language». можно побольше инфы на нормальном?
Я понял, что это основная проблема при написании программ?
нет. но это бы облегчило их написание, тем не менее. есть алгоритм - ты переводишь его в код, при этом меньше надо думать над вещами типа «где поставить точку».
А давай ты сначала представишь нам черновую спецификацию, сравнение с основными языками программирования, и референсный компилятор, а потом мы уже обсудим надо или не надо. Окей?
В листингах: を — указатель типа-винительного падежа. Строка на википедии
「notepad.exe」を起動
переводится «запустить 「notepad.exe」を // notepad.exe — в винительном падеже».
Дальше в листингах
「Hello Nadesiko.」と言う。
«「всякий бред」とсказать». と — действие с чем-то. В японском неестественно сказать を и поставить в тот же типа-винительный с глаголом «сказать», лингвисты, может, объяснят, почему. В надэсико — похоже, можно, видимо, парсеру немного пофиг.
http://nadesi.com/doc/kouza/01-1-hello.htm ещё показывает хэлловолды, где указываются объекты, к которым привязываются действия. Объекты, ес-сно, в типа-именительном (рематическом, не именительном тематическом) падеже, с が:
ワニが「庭にワニがいるぞ!」と言う。
Тут объект (крокодил? это что, logo-черепашка по-японски?) говорит всякий бред. Крокодилが「всякий бред」とговорит.
ワニを表示
ワニを「上」に10歩進める
Первая строка — «показать крокодилを» Вторая — «крокодилを「верх」にна 10 шагов подвинуть». に, если что, падеж цели.
Дальше мне лень читать.
Да, в английских сорсах эта фигня называется частицами, но в русских учебниках это называют падежами (потом наступает странный момент, когда у одного слова два падежа одновременно, конечно).
Все переводы — дословные (за вычетом содержимого кавычек), я просто использую японские падежи вместо русских. Кавычки, если что — это 「」.
есть алгоритм - ты переводишь его в код, при этом меньше надо думать над вещами типа «где поставить точку».
Тебе приходится думать, где поставить точку, когда ты вызываешь метод у объекта?
На самом деле нет, думать придётся гораздо больше, ведь ты не сможешь использовать естественный язык, который был бы интуитивно понятен программисту. Вместо этого тебе придётся формальный язык с прикрученными к нему через жопу падежами. А программисту потом придётся этот язык учить. И то, что тебе кажется простым и понятным, когда ты думаешь в терминах естественного языка, потом обернётся неслабым геморроем для программиста.
«Объектは», в отличие от «объектが», иногда объясняют как «Что касается объекта, то он …» (а が — скучный именительный падеж, который, как мы выяснили, ставится между объектом и методом (?)). Как раз подходит для инициализации/присваивания.
(リンゴの値段×リンゴの個数+
ミカンの値段×ミカンの個数)×消費税率を表示。
А вот и типа-родительный падеж の (можно считать его аналогом английского 's). (Яблокоのцена*яблокоのколичество + апельсинのцена*апельсинのколичество)*налогをпоказать. Если что, в японском を как раз бы обратил в винительный падеж всё перед ним; порядок слов — естественный. Сравнить с русским переводом: «показать налог*(цена яблока (родительный же падеж!) * кол-во яблок + цена апельсина* количество апельсинов». Это перевод с японского, не с надэсико, довольно близко же к естественному языку.
Вы слышали о языке lojban? Это не про программирование, но возможно вам будет интересен такой способ взаимодействия, возможно вы совершите прорыв в человеко-машинном взаимодействии.
Тем что вместо bar можно использовать указатель или что-то в этом роде. Ну и опускать bar когда контекст понятен. Например foo = (baz, bax, bay) bar's.