LINUX.ORG.RU
ФорумTalks

И еще о Российских инновациях. Язык Libretto

 ,


0

4

А вот кому хотел русскую scala(немного покореженную)?

Ъ: суровые мужики из иркутска решили покорежить scala синтаксическим сахарком (стыренным отовсюду), подзакрыть результат (BSD-like, все норм), и зашибать бабло в сколково.

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

class Circle(fix r: Real) {
  def square = 3.14 * r * r
}

class Person(fix name)

ext Person age: Int

def main {
  fix john = Person("John")
  john.age = 16
  println(john.name)
  println(john.age)
  println(john."%{name} is %{age} y.o."!)
}

def fact = if (this == 0) 1 else this * (this-1).fact 

ну вы поняли

http://habrahabr.ru/post/185382/

http://libretto-ru.blogspot.ru/

ролик полный рекламы и булшита: http://youtu.be/VeaiIYRlrmQ

Проект является резидентом сколково. Посему танцпольный вопрос: технических экспертов совсем там нет чтоле?

А за державу как-то обидно становится.

★★★★★

Этот код может быть написан почти на любом языке. Ну, нет разве что мразотных сишных ";" в конце строк. А так Бейсик, Руби...

yu-boot ★★★★★
()

Как-то на Kotlin смахивает больно.

Norgat ★★★★★
()

ролик полный рекламы и булшита

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

Bad_ptr ★★★★★
()

Почему ни у кого из журналюг нет нормальных IT-консультантов? Процент тупняка в эфире/нете был бы в разы меньше.

spoilt ★★★
()

подзакрыть результат

Желаю им скорейшей мучительной смерти.

yaspol
()
Ответ на: комментарий от Xellos

И давно можно писать вот так:

puts("hello

            world");

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

yu-boot ★★★★★
()

Справедливости ради надо отметить, что покорёжить Scala'у практически невозможно ибо в ней всё и так покорёжено. А доблестные иркутчане явно пытаются сделать мёртвому припарки: первое, что бросается в глаза, это наличие ключевого слова fix вместо val (поправьте меня, если это не так). В Scala'е пара ключевых слов var и val, различающихся единственной буквой, но несущих прямо противоположный смысл, является одной и самых уродливых сущностей, когда либо виданных в ЯП. А тип Real навевает приятную ностальгию по старине Блезу.

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

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

Алсо, уродливее этого самого semicolon только «==» для сравнения. Человек, у которого под условием ифа может быть присвоение(!) умственно неполноценен и нуждается в лоботомии.

yu-boot ★★★★★
()
Ответ на: комментарий от CARS

Справедливости ради надо отметить, что покорёжить Scala'у практически невозможно ибо в ней всё и так покорёжено.

что же еще в scala не так?

RedPossum ★★★★★
() автор топика

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

qulinxao ★★☆
()

Libretto – универсальному динамическому объектно-ориентированному языку программирования

т.е. всёже не скалка, раз динамический. Или я чего не понимаю?))

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

В Scala'е пара ключевых слов var и val, различающихся единственной буквой, но несущих прямо противоположный смысл, является одной и самых уродливых сущностей, когда либо виданных в ЯП.

Толсто.

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

всёже не скалка, раз динамический.

после небольшого взгляда на код, динамики я там не увидел. там есть implicit'ы и анонимные классы и еще object и немного методов расширения, но динамики я не увидел.

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

Мысленно подрисуй к каждому сообщению «имхо» ,ОК?

yu-boot ★★★★★
()

ролик полный рекламы и булшита: http://youtu.be/VeaiIYRlrmQ

Языки программирования MySQL, HTML и CSS взорвали мой мозг и дальше я смотреть не стал во избежании разрыва других, более жизненно важных, органов.

Suntechnic ★★★★★
()
Ответ на: комментарий от yu-boot

Человек, у которого под условием ифа может быть присвоение(!)

Я открою для тебя многообразие мира: сравнение может быть вообще без if...

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

Я открою для тебя многообразие мира: сравнение может быть вообще без if...

Сдуру можно и... дальше все знают

Это кулхацкерство только ухудшает читабельность, и компилятор всё равно скомпилит это так же, как и a= ....... / if (a.....)

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

Это кулхацкерство только ухудшает читабельность

if (b == c) a = true else a = false


a = b == c

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

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

любая версия бейсика. хоятнет, вру, на спектруме присвоение LET было

yu-boot ★★★★★
()
Ответ на: комментарий от rikardoac

Почему не паскаль

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

Да и недостаточно нанотехнологично.

RedPossum ★★★★★
() автор топика
Ответ на: комментарий от yu-boot

Альфа? КуМир?

а не помню. КуМир похож вроде

RedPossum ★★★★★
() автор топика
Ответ на: комментарий от yu-boot

if(x&=MACRO)

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

next_time ★★★★★
()

Это уже какой-то новый уровень Денисов Поповых, более прокаченный чтоли

skam
()
Ответ на: комментарий от next_time

if(x&=MACRO)

Сосёт. Опять какие-то лишние символы для облегчения работы компу. Комп железный. Ему всё равно какой синтаксис разбирать. Человеку - нет. Поэтому это всё ущербно.

yu-boot ★★★★★
()

покорежить scala синтаксическим сахарком (стыренным отовсюду),

а Scala разве и так уже не пересахарена этим синтаксическим порошком?

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

Давно можно.

4.2, лютое. Фффак, а я ведь чуть было не повёлся:

$ cat line.c
#include <stdio.h>

void main(void){

        puts("Hello
                        world!");
}

$ gcc line.c -o line
line.c:5:7: warning: missing terminating " character
line.c: In function ‘main’:
line.c:5: error: missing terminating " character
line.c:6: error: ‘world’ undeclared (first use in this function)
line.c:6: error: (Each undeclared identifier is reported only once
line.c:6: error: for each function it appears in.)
line.c:6: error: expected ‘)’ before ‘!’ token
line.c:6:10: warning: missing terminating " character
line.c:6: error: missing terminating " character
line.c:7: error: expected ‘;’ before ‘}’ token
yu-boot ★★★★★
()
Ответ на: комментарий от yu-boot

Лишних символов здесь нет, код фактически сокращён на 1 строчку и его удобно читать. Вы точно, умствено неполноценный, или просто не знаете плюсы, а трепетесь. Впрочем, второе есть следствие 1-го.

next_time ★★★★★
()
Ответ на: комментарий от yu-boot

Алсо, уродливее этого самого semicolon только «==» для сравнения. Человек, у которого под условием ифа может быть присвоение(!) умственно неполноценен и нуждается в лоботомии.

Нубик чтоли?

if ((someVar = getSomePointer()) != NULL) {
    ....
}

И иже с ними - вполне нормальные конструкции

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

всегда можно было

Это не совсем то по форме записи и совсем не то по результату. Смысл в коде строку разбить, но чтобы (благодаря ";") она была физически одной, без перевода строки.

yu-boot ★★★★★
()
Ответ на: комментарий от yoghurt

И иже с ними - вполне нормальные конструкции

Это быдлокулхацкерство. Это имело смысл на асме, где более долбанутый и нечитабельный код мог быть более быстрым/компактным. Тут нафига? Показать, что у тебя пиписька маленькая? Если расписать это «лесенкой» код получится ровно тот же самый, но будет читаться сходу.

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

Если расписать это «лесенкой» код получится ровно тот же самый, но будет читаться сходу.

Как будто сейчас он не с ходу читается. Ну, разве что для самых маленьких

yoghurt ★★★★★
()
Ответ на: комментарий от yu-boot

Смысл в коде строку разбить, но чтобы (благодаря ";") она была физически одной, без перевода строки.

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

printf ("Hello"




" world");
yoghurt ★★★★★
()
Последнее исправление: yoghurt (всего исправлений: 1)
Ответ на: комментарий от yu-boot

Не лютое и не 4.2 - если вы такой щепетильный и вам это очень пригрело, всегда можно написать обёртку вокруг компилятора из 5-и строчек, которая это умеет, или взять чужую. Так что можно уже давно, я вам разрешаю, а сам вообще в первый раз узнал, что для кого-то это проблема.

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

Ещё раз - это НЕ разбивка строки. Разбивку я показал в начале треда. Оно не работает, хотя благодаря избыточному ";" в конце «логической строки» - теоретически работать должно. Приходим к тому с чего начали - нафига ";" кроме усложнения жизни человеку и облегчения - компу? Можно не отвечать, вопрос риторический.

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