LINUX.ORG.RU
ФорумTalks

падежи в языке программирования

 ,


0

3

как вам идея? мне нравится, я бы на таком писал.

или, может быть, уже есть язык программирования с падежами?



Последнее исправление: CYB3R (всего исправлений: 2)

Убейся об стену. Не хватало еще этой гадости в программировании.

drull ★☆☆☆
()
Ответ на: комментарий от StReLoK

а по мне, так падежи улучшают читабельность. да и грамматику можно с падежами реализовать удобнейшую.

Lincor
() автор топика

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

Stahl ★★☆
()
Ответ на: комментарий от Lincor

улучшают читабельность

Да что ты знаешь о читабельности? Ты вообще представляешь насколько повышает читабельность верхний регистр в начале предложения? Начни с простого.

Stahl ★★☆
()
Ответ на: комментарий от Stahl

Искажать названия переменных?

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

Lincor
() автор топика
Ответ на: комментарий от Lincor

Искажать названия переменных?

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

Слишком толсто.

najlus ★★★★★
()
Ответ на: комментарий от Stahl

Ты вообще представляешь насколько повышает читабельность верхний регистр в начале предложения?

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

Lincor
() автор топика
Ответ на: комментарий от Lincor

а я не люблю скакать глазами вверх-вниз чтобы посмотреть, какая там буква

У тебя высота монитора около 12-15 пикселей и верхний регистр не помещается?

Stahl ★★☆
()
Ответ на: комментарий от Stahl

не, род переменных - это глупость.

А зачем?

чтобы было понятнее читать.

Lincor
() автор топика
Ответ на: комментарий от najlus

а как иначе? извращаться с предлогами?

Lincor
() автор топика

В перл бы такая штука хорошо вписалась, со всеми их извратами.

amomymous ★★★
()

критикам

вот пример кода, возможного на таком языке:

foo = bar's baz
foo = baz bar's
оба варианта корректны! суффикс 's обозначает притяжательный падеж, если кто не понял. bar - объект, baz - его поле.

Lincor
() автор топика
Ответ на: комментарий от orm-i-auga

Тема диссертабельная, попробуй выбить грант.

Поддерживаю.

Y ★★
()
Ответ на: комментарий от theNamelessOne

тем, что можно поменять местами bar и baz. конечно, это возможно и в языке без падежей - но с костылями в компиляторе.

Lincor
() автор топика
Ответ на: комментарий от Lincor

тем, что можно поменять местами bar и baz

И что это тебе даёт? Ну серьёзно, зачем тебе нужно это делать?

Какие ещё «киллер-фичи» будут?

theNamelessOne ★★★★★
()
Ответ на: критикам от Lincor

вот пример кода, возможного на таком языке:

foo ekuaru bar ga baz desu;
foo ekuaru baz wa bar desu;
i-rinat ★★★★★
()
Ответ на: комментарий от Lincor

это возможно и в языке без падежей - но с костылями в компиляторе.

Проще придумать язык с операторами -> и <-, в котором bar->baz === baz<-bar. Но ведь это ничего не даёт, ни упрощает код, ни повышает уровень абстракции.

theNamelessOne ★★★★★
()
Ответ на: комментарий от theNamelessOne

И что это тебе даёт?

удобство!

Какие ещё «киллер-фичи» будут?

ну... эээ...

bar bazA quuxO
bazA quuxO bar
quuxO bar bazA
bazA bar quuxO
...
quux стоит в творительном падеже, baz - в винительном. bar - функция. это применение bar к аргументу-функции quux, которая будет применена к второму аргументу bar - baz.

Lincor
() автор топика
Ответ на: комментарий от Lincor

удобство!

Сомнительное удобство.

quux стоит в творительном падеже, baz - в винительном. bar - функция. это применение bar к аргументу-функции quux, которая будет применена к второму аргументу bar - baz.

Ты понимаешь, что это читаться будет… ну никак?

theNamelessOne ★★★★★
()
Ответ на: комментарий от theNamelessOne

Сомнительное удобство.

ничего сомнительного. долой оковы, пишу как душа лежит. написал сначала bar - не беда, дописываю foo.

Ты понимаешь, что это читаться будет… ну никак?

но почему? «человеческие» языки с падежами прекрасно читаются. тут я тоже не вижу проблем, надо привыкнуть недельку, а потом на языки без падежей будешь смотреть, как на говно.

Lincor
() автор топика
Ответ на: комментарий от Lincor

quux стоит в творительном падеже, baz - в винительном.

Кстати, ты хоть правила придумал, по которым будут определяться падежи?

theNamelessOne ★★★★★
()
Ответ на: комментарий от theNamelessOne

всего несколько падежей - и отлично, применять их можно в 9000 ситуаций. а тебе придется делать 9000 операторов. хотя нет - 18000, чтобы можно было переставлять аргументы.

Lincor
() автор топика
Ответ на: комментарий от theNamelessOne

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

кстати, вовсе не обязательно этот язык может иметь номинативный строй. но мы отвлеклись.

Lincor
() автор топика
Ответ на: комментарий от Lincor

написал сначала bar - не беда, дописываю foo.

Я понял, что это основная проблема при написании программ?

«человеческие» языки с падежами прекрасно читаются. тут я тоже не вижу проблем

А тебя не удивляет, что естественные языки до сих пор не применяются в программировании?

theNamelessOne ★★★★★
()
Последнее исправление: theNamelessOne (всего исправлений: 1)
Ответ на: комментарий от Lincor

всего несколько падежей - и отлично, применять их можно в 9000 ситуаций.

Парсер замучаешься писать.

theNamelessOne ★★★★★
()
Ответ на: комментарий от theNamelessOne

А тебя не удивляет, что естественные языки до сих пор не применяются в программировании?

нет.

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

© Э.В. Дейкстра. и правда - естественные языки непригодны для программирования с их родами, частями речи и синтаксисом. но падежи - именно то, что можно перенести.

Lincor
() автор топика
Ответ на: комментарий от x3al

хммм... удалось узнать, что оно называется на нормальном языке «Nadeshiko». нагуглилось мало, но то, что нагуглилось, не говорит об этом языке как о естественном языке-языке программирования. там лишь упоминалось, что в нем применяются японские загогулины, типа, «Non-ASCII programming language». можно побольше инфы на нормальном?

Lincor
() автор топика
Ответ на: комментарий от theNamelessOne

Я понял, что это основная проблема при написании программ?

нет. но это бы облегчило их написание, тем не менее. есть алгоритм - ты переводишь его в код, при этом меньше надо думать над вещами типа «где поставить точку».

Lincor
() автор топика

А давай ты сначала представишь нам черновую спецификацию, сравнение с основными языками программирования, и референсный компилятор, а потом мы уже обсудим надо или не надо. Окей?

ncrmnt ★★★★★
()
Ответ на: комментарий от theNamelessOne

Я же его не тыкал, просто знал о существовании.

В листингах: を — указатель типа-винительного падежа. Строка на википедии

「notepad.exe」を起動
переводится «запустить 「notepad.exe」を // notepad.exe — в винительном падеже».

Дальше в листингах

「Hello Nadesiko.」と言う。
«「всякий бред」とсказать». と — действие с чем-то. В японском неестественно сказать を и поставить в тот же типа-винительный с глаголом «сказать», лингвисты, может, объяснят, почему. В надэсико — похоже, можно, видимо, парсеру немного пофиг.

http://nadesi.com/doc/kouza/01-1-hello.htm ещё показывает хэлловолды, где указываются объекты, к которым привязываются действия. Объекты, ес-сно, в типа-именительном (рематическом, не именительном тематическом) падеже, с が:

ワニが「庭にワニがいるぞ!」と言う。
Тут объект (крокодил? это что, logo-черепашка по-японски?) говорит всякий бред. Крокодилが「всякий бред」とговорит.

ワニを表示
ワニを「上」に10歩進める

Первая строка — «показать крокодилを» Вторая — «крокодилを「верх」にна 10 шагов подвинуть». に, если что, падеж цели.

Дальше мне лень читать.

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

Все переводы — дословные (за вычетом содержимого кавычек), я просто использую японские падежи вместо русских. Кавычки, если что — это 「」.

x3al ★★★★★
()
Последнее исправление: x3al (всего исправлений: 2)
Ответ на: комментарий от Lincor

есть алгоритм - ты переводишь его в код, при этом меньше надо думать над вещами типа «где поставить точку».

Тебе приходится думать, где поставить точку, когда ты вызываешь метод у объекта?

На самом деле нет, думать придётся гораздо больше, ведь ты не сможешь использовать естественный язык, который был бы интуитивно понятен программисту. Вместо этого тебе придётся формальный язык с прикрученными к нему через жопу падежами. А программисту потом придётся этот язык учить. И то, что тебе кажется простым и понятным, когда ты думаешь в терминах естественного языка, потом обернётся неслабым геморроем для программиста.

theNamelessOne ★★★★★
()

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

abraziv_whiskey ★★★★★
()
Ответ на: комментарий от x3al

О, а вот и именительный тематический:

リンゴは100。
Яблокоは100 // присваивание.

«Объектは», в отличие от «объектが», иногда объясняют как «Что касается объекта, то он …» (а が — скучный именительный падеж, который, как мы выяснили, ставится между объектом и методом (?)). Как раз подходит для инициализации/присваивания.

(リンゴの値段×リンゴの個数+
ミカンの値段×ミカンの個数)×消費税率を表示。
А вот и типа-родительный падеж の (можно считать его аналогом английского 's). (Яблокоのцена*яблокоのколичество + апельсинのцена*апельсинのколичество)*налогをпоказать. Если что, в японском を как раз бы обратил в винительный падеж всё перед ним; порядок слов — естественный. Сравнить с русским переводом: «показать налог*(цена яблока (родительный же падеж!) * кол-во яблок + цена апельсина* количество апельсинов». Это перевод с японского, не с надэсико, довольно близко же к естественному языку.

x3al ★★★★★
()
Последнее исправление: x3al (всего исправлений: 1)
Ответ на: комментарий от x3al

Ну и дальше довольно логичные вещи. В условиях — が, циклы используют падежи から («от») и まで («до»). Да, в некоторых учебниках это — падежи.

Массивы делаются через [Массив]\[индекс] с поправкой на то, что у японцев \ выглядит как ¥.

Объявление комбобоксов (?) делается через とは<список>. Да, это двойной падеж と + は. Похоже, это означает «= new».

UPD: Ага, とは — это точно = new.

x3al ★★★★★
()
Последнее исправление: x3al (всего исправлений: 1)

я бы на таком писал

Интересно, какой у тебя опыт с другими языками?

GanGSISoft ★★
()

как вам идея? мне нравится, я бы на таком писал.

Римская система счисления отлично впишется в твой язык :)

quickquest ★★★★★
()
Ответ на: комментарий от Lincor

А, то есть теперь читабельность идёт лесом?

И это. Слепую печать освой.

Miguel ★★★★★
()

lojban для программирования

Вы слышали о языке lojban? Это не про программирование, но возможно вам будет интересен такой способ взаимодействия, возможно вы совершите прорыв в человеко-машинном взаимодействии.

Camel ★★★★★
()
Ответ на: комментарий от theNamelessOne

Тем что вместо bar можно использовать указатель или что-то в этом роде. Ну и опускать bar когда контекст понятен. Например foo = (baz, bax, bay) bar's.

DNA_Seq ★★☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.