The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Представлен новый язык программирования Leaf, реализованный ..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Представлен новый язык программирования Leaf, реализованный ..."  +1 +/
Сообщение от opennews (??) on 11-Ноя-13, 10:50 
Мьюзинг Морторей (Musing Mortoray), ведущий блог (http://mortoray.com/) о проблемах и дизайне современных языков программирования, после года разработки представил (http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-November/067...) собственный язык Leaf (http://leaflang.org/), отвечающий его представлению об идеальном языке программирования. Leaf позиционируется (http://leaflang.org/goals.html) как простой и привычный язык программирования, вобравший в себя все лучшие возможности современных языков, нацеленный на решение реальных проблем, но не придерживающийся какой-либо определённой парадигмы разработки.


Реализация языка основана на наработках проекта  LLVM и примечательна поддержкой разнородных методов выполнения кода (http://leaflang.org/features/execution_model.html), как традиционной предварительной компиляции в исполняемые файлы, так и использования JIT для компиляции во время выполнения. Среди возможностей (http://leaflang.org/features/index.html) языка: замыкания, автоматическое определение типов на основе инициализируемых значений, упорядоченные списки и хэши, защита от небезопасных преобразований типов, модификатор optional для определения (http://leaflang.org/features/conditionals.html) необязательных значений.


Разработка находится на стадии формирования начального прототипа, многие из возможностей пока не реализованы (http://leaflang.org/status.html) (в том числе недоступны модули, макросы, средства обработки ошибок, шаблоны и т.п.).


URL: http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-November/067...
Новость: http://www.opennet.me/opennews/art.shtml?num=38394

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Представлен новый язык программирования Leaf, реализованный ..."  +2 +/
Сообщение от Аноним (??) on 11-Ноя-13, 10:50 
Некоторые заявленные свойства довольно приятны, но не понятно, есть ли за этим адекватная теория. Как-то из дневника автора этого не видно. Не получится ли еще один руби?

Картинка (узор) на заглавной странице сайта классная!

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Представлен новый язык программирования Leaf, реализованный ..."  +12 +/
Сообщение от Sergey722 (ok) on 11-Ноя-13, 11:12 
>Представлен новый язык программирования Leaf

и IDE для него: Leafpad.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Представлен новый язык программирования Leaf, реализованный ..."  +2 +/
Сообщение от flvby1 on 11-Ноя-13, 11:22 
http://xkcd.com/927/
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Представлен новый язык программирования Leaf, реализованный ..."  +18 +/
Сообщение от выключатель on 11-Ноя-13, 11:25 
Язык обречен. У его создателя нет бороды http://www.borodawars.ru/news/1614/.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Представлен новый язык программирования Leaf, реализованный ..."  +5 +/
Сообщение от 3draven (ok) on 11-Ноя-13, 11:26 
Высокоуровневые средства, позволяющие сделать свой язык с замыканиями и исключениями доросли до уровня, что теперь этих языков будет уже миллион через лет пять. Вопрос уже не в языках совсем, а в общей инфраструктуре, документации и прочем околоязыковом инструментарии.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Представлен новый язык программирования Leaf, реализованный ..."  +4 +/
Сообщение от Аноним (??) on 11-Ноя-13, 12:11 
>//if statement
>do x < y ? {

Не, не взлетит.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Представлен новый язык программирования Leaf, реализованный ..."  +1 +/
Сообщение от vitalif (ok) on 11-Ноя-13, 12:31 
Все существующие языки (и новые в том числе) с его точки зрения имеют "фатальные недостатки"? А потом он обидится, что на его творении никто не пишет?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Представлен новый язык программирования Leaf, реализованный ..."  +1 +/
Сообщение от myhand (ok) on 11-Ноя-13, 13:05 
> Все существующие языки (и новые в том числе) с его точки зрения имеют "фатальные недостатки"?

Так и есть.  Кто пишет на идеальном языке программирования - пусть бросит в меня камень...

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

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

14. "Представлен новый язык программирования Leaf, реализованный ..."  –7 +/
Сообщение от kurokaze (ok) on 11-Ноя-13, 13:06 
Ты прав, руби прекрасен, и второй руби просто не нужен
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

16. "Представлен новый язык программирования Leaf,..."  +2 +/
Сообщение от arisu (ok) on 11-Ноя-13, 13:42 
> и второй руби просто не нужен

ну да: хватит уже над смолтолком издеваться, смолтолк и без этого хороший.

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

17. "Представлен новый язык программирования Leaf, реализованный ..."  +8 +/
Сообщение от Ури on 11-Ноя-13, 13:45 
> Кто пишет на идеальном языке программирования - пусть бросит в меня камень...

Ну я пишу на идеальном языке программирования - С.
Где, когда и куда камень бросать?

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

18. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от arisu (ok) on 11-Ноя-13, 13:54 
хм. выглядит интересно.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

20. "Представлен новый язык программирования Leaf,..."  –1 +/
Сообщение от arisu (ok) on 11-Ноя-13, 13:57 
> Не, не взлетит.

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

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

21. "Представлен новый язык программирования Leaf,..."  –7 +/
Сообщение от arisu (ok) on 11-Ноя-13, 13:57 
> Ну я пишу на идеальном языке программирования - С.
> Где, когда и куда камень бросать?

лучше лечиться, пока не поздно.

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

22. "Представлен новый язык программирования Leaf, реализованный ..."  –1 +/
Сообщение от Аноним (??) on 11-Ноя-13, 14:26 
А компилятор он сразу в двоичном коде писал? А то ведь будет не православно/кошерно/халяльно - на ущербном-то языке да главную утилиту языка заделать. Или он вообще такой мелочью, как создание работающего компилятора не заморачивался, а просто придумал язык и всё?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

23. "Представлен новый язык программирования Leaf, реализованный ..."  +/
Сообщение от Аноним (??) on 11-Ноя-13, 15:20 
а в чем проблема на самом листе и написать, когда заканчивал универ, то парниша в качестве диплома писал компилятор лиспа на лиспе и выглядел очень даже выигрышно по сравенинею с остальной серой массой...
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

24. "Представлен новый язык программирования Leaf,..."  +4 +/
Сообщение от Root (??) on 11-Ноя-13, 15:22 
Вас это в первую очередь касается.
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

25. "Представлен новый язык программирования Leaf, реализованный ..."  +/
Сообщение от Root (??) on 11-Ноя-13, 15:25 
Где примеры, как выглядит хоть он ?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

26. "Представлен новый язык программирования Leaf, реализованный ..."  +2 +/
Сообщение от Аноним (??) on 11-Ноя-13, 15:56 
> // a = 2
> var a : integer = 10/5
> // b = 3 (result is integral, so a safe assignment)
> var b : integer = 7.5/2.5
> // c = 0.5 (no accidental integer operations)
> var c : float = 1/2
> // d = 1000 (easy large numbers)
> var d = 1e3

о ужас...

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

27. "Представлен новый язык программирования Leaf, реализованный ..."  +/
Сообщение от Аноним (??) on 11-Ноя-13, 16:15 
Согласен. Есть понимание того, что нужно улучшать имеющееся, но как улучшать - нет.
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

28. "Представлен новый язык программирования Leaf,..."  +3 +/
Сообщение от Аноним email(??) on 11-Ноя-13, 16:26 
поздно
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

29. "Представлен новый язык программирования Leaf, реализованный ..."  +1 +/
Сообщение от ананим on 11-Ноя-13, 16:59 
У нас не приживётся. Программеров дудут лифчиками называть.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

30. "Представлен новый язык программирования Leaf, реализованный ..."  +2 +/
Сообщение от bOOster email on 11-Ноя-13, 17:17 
А потом, после того, как создателю продукта просто тупо лень или мозгов не хватает работать со строго типизированными данными - высираются проекты, которые дружно ругаются за то что они даже на самой современной платформе еле шевелятся. Зато таких ремесленников Intel и компания видать любят.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

31. "Представлен новый язык программирования Leaf,..."  –3 +/
Сообщение от arisu (ok) on 11-Ноя-13, 17:24 
> Вас это в первую очередь касается.

мне очень важно твоё мнение, высказывай его почаще.

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

32. "Представлен новый язык программирования Leaf,..."  +1 +/
Сообщение от arisu (ok) on 11-Ноя-13, 17:31 
знаешь, есть на свете придурки, которые ничего не делают, а только идиотские вопросы задают. вот ты, например. а есть люди, которые просто берут рабочие инструменты и делают то, что им надо.

а ты продолжай демонстрировать свой пригорающий зад: всё равно на большее ты не способен.

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

33. "Представлен новый язык программирования Leaf,..."  +4 +/
Сообщение от arisu (ok) on 11-Ноя-13, 17:34 
> Где примеры, как выглядит хоть он ?

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

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

34. "Представлен новый язык программирования Leaf,..."  +1 +/
Сообщение от arisu (ok) on 11-Ноя-13, 17:35 
> о ужас…

и что тут такого ужасного?

Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

35. "Представлен новый язык программирования Leaf,..."  +1 +/
Сообщение от arisu (ok) on 11-Ноя-13, 17:36 
это ты так признался, что нихрена не прочитал с сайта автора, зато имеешь Икспертное Мнение?
Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

36. "Представлен новый язык программирования Leaf, реализованный ..."  –3 +/
Сообщение от Аноним (??) on 11-Ноя-13, 17:40 
Идеального языка не может существовать по одной простой причине: за всё нужно платить. В упомянутом вами Си отсутствие контроля памяти - серьёзная проблема, стоившая миру не одну тысячу человеко-лет, потраченных на борьбу с Segmentation Fault. Но это жертва, принесённая в угоду скорости и эффективности конечных программ. Статические анализаторы и кастомизация менеджера памяти помогает, но не на 100%.

В Java же контроль памяти тотальный, что позволяет ликвидировать такие ошибки практически полностью, но платить за это приходится дополнительным расходом памяти и времени выполнения.

Так что свой камень оставьте при себе.

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

37. "Представлен новый язык программирования Leaf, реализованный ..."  –4 +/
Сообщение от Аноним (??) on 11-Ноя-13, 17:48 
Расписываюсь под каждым словом. А хейтеры будут сосать.
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

38. "Представлен новый язык программирования Leaf, реализованный ..."  +/
Сообщение от pavlinux (ok) on 11-Ноя-13, 18:21 
var a : integer = 10/5
var b : integer = 7.5/2.5
var c : float = 1/2
var d = 1e3


var create_adder = ( x : integer ) -> ( f : ( : integer ) -> ( :integer ) ) {
    return (y :integer) -> ( :integer ) {
        return x + y
    }
}

var add5 = create_adder(5)
//prints 7
trace( add5(2) )
---

Мне одному Паскаль мерещится?  

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

39. "Представлен новый язык программирования Leaf, реализованный ..."  +/
Сообщение от pavel_simple (ok) on 11-Ноя-13, 18:24 
>[оверквотинг удален]
> ( : integer ) -> ( :integer ) ) {
>     return (y :integer) -> ( :integer ) {
>         return x + y
>     }
> }
> var add5 = create_adder(5)
> //prints 7
> trace( add5(2) )
> ---
> Мне одному Паскаль мерещится?

ты ещё go не видел?

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

40. "Представлен новый язык программирования Leaf,..."  +3 +/
Сообщение от arisu (ok) on 11-Ноя-13, 18:28 
> Мне одному Паскаль мерещится?

нет, подозреваю, что есть и другие, у которых детские травмы.

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

41. "Представлен новый язык программирования Leaf, реализованный ..."  +1 +/
Сообщение от Аноним (??) on 11-Ноя-13, 18:45 
Господа, у вас бугурт. Вы с лошадей попадали, определенно.
Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

42. "Представлен новый язык программирования Leaf, реализованный ..."  +2 +/
Сообщение от Аноним (??) on 11-Ноя-13, 19:40 
>Идеального языка не может существовать по одной простой причине: за всё нужно платить. В упомянутом вами Си отсутствие контроля памяти - серьёзная проблема, стоившая миру не одну тысячу человеко-лет, потраченных на борьбу с Segmentation Fault. Но это жертва, принесённая в угоду скорости и эффективности конечных программ. Статические анализаторы и кастомизация менеджера памяти помогает, но не на 100%.

прямые руки откуда надо и голова чуть выше помогают в 99% случаев

Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

43. "Представлен новый язык программирования Leaf, реализованный ..."  +/
Сообщение от Аноним (??) on 11-Ноя-13, 19:42 
> а в чем проблема на самом листе и написать, когда заканчивал универ, то парниша в качестве диплома писал компилятор лиспа на лиспе и выглядел очень даже выигрышно по сравенинею с остальной серой массой...

это тот что в 15 строк помещается?

Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

44. "Представлен новый язык программирования Leaf,..."  +1 +/
Сообщение от arisu (ok) on 11-Ноя-13, 19:46 
> это тот что в 15 строк помещается?

сразу видно Знатока, йопт…

Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

45. "Представлен новый язык программирования Leaf, реализованный ..."  +4 +/
Сообщение от Root (??) on 11-Ноя-13, 20:44 
Не нужен непредсказуемый язык, которым нельзя управлять. Пусть в Си нет сборщика мусора и всякой чепухи, зато, зато программист сам всё это делает и полностью может управлять своим кодом. Имея прямые руки на нем можно писать адекватный код, не только на прикладном уровне, но и на системной, на том, на котором Java со своим сборщиком без сильна.
Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

46. "Представлен новый язык программирования Leaf, реализованный ..."  –1 +/
Сообщение от Аноним (??) on 11-Ноя-13, 21:43 
Не обвиняй в баттхёрте да не обвинён будешь.
Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

47. "Представлен новый язык программирования Leaf, реализованный ..."  +/
Сообщение от Аноним (??) on 11-Ноя-13, 22:39 
>адекватный код, не только на прикладном уровне, но и на системной,
>на том, на котором Java со своим сборщиком без сильна.

Давным давно, ещё в детстве папы всех учили - не ввёртывай гвоздь сынок и не забивай шуруп! Но дети выросли и пока не сломают своих 100500 шурупов и гвоздей - папино ученье не вспомнят :)

С из области системного программирование ничем выбить невозможно. Доказать не смогу, но есть такое OSчусчение :)
А вот с прикладухой ... тут всякого есть и ещё будет. Тут однозначно не скажешь. А потому - "пусть растут все цветы!"

Как то так ... детишки :)

Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

48. "Представлен новый язык программирования Leaf, реализованный ..."  –1 +/
Сообщение от VKraft on 11-Ноя-13, 22:42 
тут и хаскель и скала и эф-шарп с паскалем
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

50. "Представлен новый язык программирования Leaf,..."  –1 +/
Сообщение от all_glory_to_the_hypnotoad (ok) on 11-Ноя-13, 23:19 
практически всё.
Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

51. "Представлен новый язык программирования Leaf, реализованный ..."  +3 +/
Сообщение от angra (ok) on 12-Ноя-13, 01:29 
Может это разобьет твое сердце, но в плотное дерево шурупы намного эффективней забить на три четверти молотком и лишь на последнюю четверть докрутить отверткой. Ни один из тысяч шурупов, которые так были забиты не сломался, держат также как и закрученные целиком. Так что твой папа тебя учил излишне трудоемким методам. Ну а в области системного программирования С доминирующий, но отнюдь не единственный ЯП.
Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

52. "Представлен новый язык программирования Leaf,..."  –1 +/
Сообщение от arisu (ok) on 12-Ноя-13, 01:32 
> практически всё.

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

Ответить | Правка | ^ к родителю #50 | Наверх | Cообщить модератору

53. "Представлен новый язык программирования Leaf, реализованный ..."  +/
Сообщение от Led (ok) on 12-Ноя-13, 01:33 
> А потому - "пусть растут все цветы!"

Вот именно - цветы. А не гвидогрибы.

Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

54. "Представлен новый язык программирования Leaf, реализованный ..."  –1 +/
Сообщение от Vkni (ok) on 12-Ноя-13, 06:27 
Да, исключительно органично сочетаются недостатки этих языков: птичий язык Хаскеля и отсутствие вывода типов паскаля.
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

55. "Представлен новый язык программирования Leaf, реализованный ..."  +/
Сообщение от Vkni (ok) on 12-Ноя-13, 06:29 
> var create_adder = ( x : integer ) -> ( f :
> ( : integer ) -> ( :integer ) ) {
>     return (y :integer) -> ( :integer ) {
>         return x + y
>     }
> }

Сравним с

let adder x = fun y -> x + y;;

Или

let adder x = (+) x;;

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

56. "Представлен новый язык программирования Leaf,..."  –1 +/
Сообщение от Vkni (ok) on 12-Ноя-13, 06:32 
> среди тебя? пичалечка. автор бьётся в истерике от понимания того, что прожил
> жизнь зря.

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

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

57. "Представлен новый язык программирования Leaf, реализованный ..."  +/
Сообщение от myhand (ok) on 12-Ноя-13, 13:41 
>>Идеального языка не может существовать по одной простой причине: за всё нужно платить. В упомянутом вами Си отсутствие контроля памяти - серьёзная проблема, стоившая миру не одну тысячу человеко-лет, потраченных на борьбу с Segmentation Fault. Но это жертва, принесённая в угоду скорости и эффективности конечных программ. Статические анализаторы и кастомизация менеджера памяти помогает, но не на 100%.
> прямые руки откуда надо и голова чуть выше помогают в 99% случаев

Обычно заявляторы о прямых руках сами не обладают оными.  В тех самых 99%.

Такие дела.  В статистику вас ткнули носом.  А считать что вы один такой д'Артаньян...  Ну, тут уже доктора советовали.  Мания величия, все такое.  Это еще в лучшем случае.  Но боюсь, это просто глупость - и уже этот вариант, увы, не лечится.


Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

58. "Представлен новый язык программирования Leaf, реализованный ..."  +/
Сообщение от myhand (ok) on 12-Ноя-13, 13:50 
> Пусть в Си нет сборщика
> мусора и всякой чепухи

Сборщик мусора - это не чепуха.  Это причина, почему мало-мальски интересные проекты пишут на всяких лиспах, питонах, явах и проч.

А C давно остался для оптимизации, для системного программирования и т.п.  Клинические идиоты, которые на нем пишут всякие медиапроигрыватели (см. недавние новости) - не в счет.

> Имея прямые руки

Исходя из статистических данных - вы, вероятнее всего, такими руками не обладаете.

Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

59. "Представлен новый язык программирования Leaf,..."  +1 +/
Сообщение от arisu (ok) on 12-Ноя-13, 13:51 
> Вопрос — зачем нужно изобретать новое название для оператора, когда в культуре
> устоялось if?

а ты присмотрись внимательно. разницу между «устоявшимся if» и do совсем не видно? он немного более generalized, и назван — исходя из своей функции — вполне логично.

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

Ответить | Правка | ^ к родителю #56 | Наверх | Cообщить модератору

60. "Представлен новый язык программирования Leaf,..."  –1 +/
Сообщение от arisu (ok) on 12-Ноя-13, 13:53 
> отсутствие вывода типов паскаля.

э… у паскаля вывод типов? ты перегрелся, да?

Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

61. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от arisu (ok) on 12-Ноя-13, 13:58 
> Сравним с

не тупи: в твоём примере нет аннотации типов, поэтому сравнение некорректное. судя по намерениям автора, аннотации типов — strictly optional.

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

Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору

62. "Представлен новый язык программирования Leaf,..."  +1 +/
Сообщение от arisu (ok) on 12-Ноя-13, 14:10 
> Клинические идиоты, которые на нем пишут всякие медиапроигрыватели (см. недавние новости)
> — не в счет.

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

Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору

63. "Представлен новый язык программирования Leaf, реализованный ..."  +1 +/
Сообщение от Аноним (??) on 12-Ноя-13, 14:22 
>Это причина, почему мало-мальски интересные проекты пишут на всяких лиспах, питонах, явах и проч.

у вас весьма недостоверные данные.

Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору

64. "Представлен новый язык программирования Leaf, реализованный ..."  +/
Сообщение от myhand (ok) on 12-Ноя-13, 14:31 
>>Это причина, почему мало-мальски интересные проекты пишут на всяких лиспах, питонах, явах и проч.
> у вас весьма недостоверные данные.

Вы можете привести примеры?  И не коверкайте контекст, пожалуйста, если уж собрались цитировать.

Ответить | Правка | ^ к родителю #63 | Наверх | Cообщить модератору

65. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от myhand (ok) on 12-Ноя-13, 14:34 
> то есть, медиапроигрыватель сложнее ядра, и в нём никак не обойтись без
> GC? круто ты сказал.

Я сказал, что в нем глупо обходиться без GC.  Но разве запретишь обезьянам орехи микроскопом колоть?

Ответить | Правка | ^ к родителю #62 | Наверх | Cообщить модератору

66. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от arisu (ok) on 12-Ноя-13, 14:42 
>> то есть, медиапроигрыватель сложнее ядра, и в нём никак не обойтись без
>> GC? круто ты сказал.
> Я сказал, что в нем глупо обходиться без GC.

можно и не обходиться, библиотека есть. впрочем, компонентами и объектами glib/gtk управляют вполне неплохо. а остального не так много.

не идеал, конечно — но и не «ужас-ужас-ужас». если писать на gcc, то даже cleanup по выходу из области видимости есть. исключений нет, правда, и по longjmp() cleanup не делается.

Ответить | Правка | ^ к родителю #65 | Наверх | Cообщить модератору

67. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от myhand (ok) on 12-Ноя-13, 15:14 
> не идеал, конечно — но и не «ужас-ужас-ужас».

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

Ответить | Правка | ^ к родителю #66 | Наверх | Cообщить модератору

68. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от arisu (ok) on 12-Ноя-13, 15:49 
> И самое обидное, дурную репутацию хороший язык заслужил именно из-за подобных обезьян,
> пихающих C всюду, куда дотянутся шаловливые ручки студента.

ну, тут даже соглашусь — в принципе. «look ma i can into C too!» — и полетело.

то есть, «пихать си» можно, конечно. и я, в принципе, предпочту при прочих равных хорошую программу на си, а не хорошую программу на c++. но пихать тоже надо уметь. вот в данном случае си — это издевательство, конечно. потому что всё равно в итоге получается монстрик, где объекты кое-как пытаются эмулировать при помощи glib. не то, чтобы оно не получалось, но раз всё равно объекты — то и писали бы уже на Objective C, он красивей.

Ответить | Правка | ^ к родителю #67 | Наверх | Cообщить модератору

69. "Представлен новый язык программирования Leaf,..."  –1 +/
Сообщение от myhand (ok) on 12-Ноя-13, 17:45 
> я, в принципе, предпочту при
> прочих равных хорошую программу на си, а не хорошую программу на c++.

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

Впрочем, c++ занимает ту же нишу, что и с: переносимый ассемблер (в случае крестов - "на стероидах", или даже укуренный вусмерть).  Я подразумеваю, что вы хотели вместо c++ привести какой-то пример высокоуровневого языка.

Ответить | Правка | ^ к родителю #68 | Наверх | Cообщить модератору

70. "Представлен новый язык программирования Leaf,..."  +1 +/
Сообщение от arisu (ok) on 12-Ноя-13, 17:56 
> валшебная

нет, у меня феи без ошибок.

> подразумеваю, что вы хотели вместо c++ привести какой-то пример высокоуровневого языка.

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

именно поэтому я бы предпочёл программу на си. без glib, само собой — glib тоже надо уметь готовить.

Ответить | Правка | ^ к родителю #69 | Наверх | Cообщить модератору

71. "Представлен новый язык программирования Leaf, реализованный ..."  +1 +/
Сообщение от anonymous (??) on 12-Ноя-13, 18:51 
>>без сильна

граммар-наци плачет кровавыми слезами

Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

72. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от Vkni (ok) on 12-Ноя-13, 18:55 
Арису, включаем ЦНС и читаем мой коммент ещё раз. Если не понятно, скажи, я переформулирую.
Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору

73. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от Vkni (ok) on 12-Ноя-13, 18:58 
>> Сравним с
> не тупи: в твоём примере нет аннотации типов, поэтому сравнение некорректное. судя
> по намерениям автора, аннотации типов — strictly optional.

Объясни мне, на кой ляд она нужна?

> ну и да: твой код делает вовсе не то же самое, что
> код из примера.

Увы, из-за отсутствия перегрузки в OCaml'е он делает ровно то же самое.

> и не надо мне рассказывать, что «там, де,
> возможны только числа, потому что оператор '+' больше нигде не определён».

Это именно так, см. выше.

> спасибо. раньше я мог просто указать типы аргументов, а теперь я
> должен помнить, для каких же типов определён '+'.

Можешь вставить int в Caml'евский код по вкусу. Но какой смысл в этом?

Ответить | Правка | ^ к родителю #61 | Наверх | Cообщить модератору

74. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от arisu (ok) on 12-Ноя-13, 19:35 
фраза «отсутствие вывода типов паскаля» допускает двоякое толкование. можно понять и как «в паскале есть вывод типов, а тут нет». я её вполне серьёзно так и понял.
Ответить | Правка | ^ к родителю #72 | Наверх | Cообщить модератору

75. "Представлен новый язык программирования Leaf,..."  –1 +/
Сообщение от arisu (ok) on 12-Ноя-13, 19:40 
> Объясни мне, на кой ляд она нужна?

чтобы туда double не пролез, например.

> Увы, из-за отсутствия перегрузки в OCaml'е он делает ровно то же самое.

то есть, складывать вещественные числа при помощи '+' в ocaml нельзя? O_O

>> и не надо мне рассказывать, что «там, де,
>> возможны только числа, потому что оператор '+' больше нигде не определён».
> Это именно так, см. выше.

я сам окамля не знаю, но раз там нельзя при помощи '+' складывать вещественные числа, то я и рад, что не знаю.

>> спасибо. раньше я мог просто указать типы аргументов, а теперь я
>> должен помнить, для каких же типов определён '+'.
> Можешь вставить int в Caml'евский код по вкусу. Но какой смысл в
> этом?

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

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

Ответить | Правка | ^ к родителю #73 | Наверх | Cообщить модератору

76. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от Vkni (ok) on 12-Ноя-13, 19:52 
Ну, вот если бы ты не думал, что кругом одни идиоты, ты бы понял правильно.
Ответить | Правка | ^ к родителю #74 | Наверх | Cообщить модератору

77. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от Vkni (ok) on 12-Ноя-13, 20:09 
> чтобы туда double не пролез, например.

Если есть строгая статическая типизация, то не пролезет. Впрочем, можно, конечно, указать типы аргументов, но вот указывать тип результата - это абсолютно лишнее.

>> Увы, из-за отсутствия перегрузки в OCaml'е он делает ровно то же самое.
> то есть, складывать вещественные числа при помощи '+' в ocaml нельзя? O_O

Да, к сожалению, нельзя. Для сложения вещественных чисел там используется оператор '+.'. На мой взгляд, это серьезнейший недостаток языка. Однако, в F# и в Haskell'е такого недостатка нет.

> я сам окамля не знаю, но раз там нельзя при помощи '+'
> складывать вещественные числа, то я и рад, что не знаю.

Зря, кругозор никогда не вредит.

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

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

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

Посмотрим.

Ответить | Правка | ^ к родителю #75 | Наверх | Cообщить модератору

79. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от arisu (ok) on 12-Ноя-13, 20:26 
> но вот указывать тип результата - это абсолютно лишнее.

тут да, не спорю.

> Зря, кругозор никогда не вредит.

нененене, я точно передумал его изучать. меня совершенно не радует перспектива запоминать то, что для сложения вещественных чисел надо писать вот эту вот — '+.' — бредятину. а почему не '.+'? а почему не 'add_reals'? нафиг-нафиг.

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

как уже написал — не спорю, тут компилятор должен бы и сам догадаться.

Ответить | Правка | ^ к родителю #77 | Наверх | Cообщить модератору

80. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от Vkni (ok) on 12-Ноя-13, 21:58 
> надо писать вот эту вот — '+.' — бредятину. а почему не '.+'? а почему не 'add_reals'? нафиг-нафиг.

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

Однако, и к Leaf'овскому if'у применимо ровно такое же возражение. Тоже есть культура ЯП, в которой для условных выражений использовались if и cond. Более того, do, традиционно, используется для циклов.

Ответить | Правка | ^ к родителю #79 | Наверх | Cообщить модератору

81. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от all_glory_to_the_hypnotoad (ok) on 12-Ноя-13, 22:13 
ты как посмотришь, так сразу вспоминаешь своё трудное советское детство
Ответить | Правка | ^ к родителю #52 | Наверх | Cообщить модератору

82. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от arisu (ok) on 12-Ноя-13, 22:15 
> ты как посмотришь, так сразу вспоминаешь своё трудное советское детство

советское детство у меня хорошее было. а вот дальше фигня какая-то началась.

Ответить | Правка | ^ к родителю #81 | Наверх | Cообщить модератору

83. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от arisu (ok) on 12-Ноя-13, 22:17 
а я и сказал, что это чисто моя вкусовщина. извини, если не очень явно получилось.

do, кстати, не везде для циклов, но это совсем другой разговор.

Ответить | Правка | ^ к родителю #80 | Наверх | Cообщить модератору

84. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от myhand (ok) on 13-Ноя-13, 11:16 
> нененене, я точно передумал его изучать. меня совершенно не радует перспектива запоминать
> то, что для сложения вещественных чисел надо писать вот эту вот
> — '+.' — бредятину. а почему не '.+'? а почему не
> 'add_reals'? нафиг-нафиг.

Вам не нравится именно буковки для обозначения или сама идея не использовать + для сложения чисел с плавающей точкой (которые вещественными может обозвать только школьник)?

Буковки - дело соглашения.  Просто типография с только ascii - уныла, существенно лучшего выбора нету.  Зато Кнут вот использует плюсик в кружочке.  А вот сама идея не использовать обычный плюсик - имеет вполне здравые математические корни: для чисел с плавающей точкой операции "умножить" и "сложить" не сохраняют "обычных" математических свойств (напр., ассоциативность).  Это не поле, каким являются настоящие вещественные числа (или рациональные, к примеру).

Ответить | Правка | ^ к родителю #79 | Наверх | Cообщить модератору

85. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от arisu (ok) on 13-Ноя-13, 13:32 
> которые вещественными может обозвать только школьник

беседа закончена, не начавшись.

Rasch abkochen, dann Vormarsch nach Sokal.

Ответить | Правка | ^ к родителю #84 | Наверх | Cообщить модератору

86. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от myhand (ok) on 13-Ноя-13, 19:05 
>> которые вещественными может обозвать только школьник
> беседа закончена, не начавшись.

Опять что-то не нравится...  Ну пусть вы не школьник, будем считать что оговорились.

Исключая приаттаченый к замечанию эпитет - с сам замечанием согласны?

Ответить | Правка | ^ к родителю #85 | Наверх | Cообщить модератору

87. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от arisu (ok) on 13-Ноя-13, 19:15 
> с сам замечанием согласны?

сложение целых чисел тоже ограничено разрядностью (если я верно помню, у окамля нет прозрачного «выпадения» в bignum'ы), и в этом случае использование '+' для сложения целых математически неверно. пусть уж выбирают там — трусы или крестик.

Ответить | Правка | ^ к родителю #86 | Наверх | Cообщить модератору

88. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от myhand (ok) on 13-Ноя-13, 19:22 
>> с сам замечанием согласны?
> сложение целых чисел тоже ограничено разрядностью (если я верно помню, у окамля
> нет прозрачного «выпадения» в bignum'ы)

А тут все хорошо и без бигнумов.  Покуда результат *всех* операций определен (не произошло переполнения) - с их алгеброй все тип-топ.

Ответить | Правка | ^ к родителю #87 | Наверх | Cообщить модератору

89. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от arisu (ok) on 13-Ноя-13, 19:31 
что-то я не помню у целых чисел математического понятия «переполнение». поэтому '+' для целых явно отличается от такового в математике. тогда какого чёрта? '+' для плавающих тоже отличается — объединяем и не имеем себе мозг лишней ерундой.

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

Ответить | Правка | ^ к родителю #88 | Наверх | Cообщить модератору

90. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от myhand (ok) on 13-Ноя-13, 21:33 
> что-то я не помню у целых чисел математического понятия «переполнение».

Ну математическое или нет - каждый, кто считал на бумашке что-то чуть менее тривиальное чем 2x2 знаком с понятием "кончилась бумашка".  Физических ограничений никто не отменял.

Проблема с float связана не с физическими ограничениями, а с самой моделью.

> поэтому '+' для целых явно отличается от такового в математике

Абсолютно ничем.    Повторяю, физические ограничения тут не интересны.  В одном случае (int) - результат операции неопределен.  В другом (bigint) - все зависнет, программа завершится из-за нехватки памяти и т.п.  В третьем - бумашка кончилась.  И ладненько - возьмем *заранее* бумашку побольше.

> тогда какого
> чёрта? '+' для плавающих тоже отличается — объединяем и не имеем
> себе мозг лишней ерундой.

Я пробовал вам объяснить какого.  Для интов/бигинтов и т.п. - алгебраические свойства операций сохраняются полностью.  Для float - нет.

Бумашка тут не кончается и запасаться ей бесполезно: результат операции может быть определен в конкретном примере для любой пары операндов.  А вот некоторые привычные (для вещественных чисел) алгебраические свойства операций окажутся утраченными.

Так что эт вы зря.  Математики используют специальную нотацию для float, чтобы отличать от операции над ними от операций над вещественными числами.

Ответить | Правка | ^ к родителю #89 | Наверх | Cообщить модератору

91. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от arisu (ok) on 13-Ноя-13, 23:02 
всё-таки раз послал в Сокаль — надо было и не возвращать. приходи, когда в математике появится понятие «результат сложения двух определённых целых чисел неопределён». до тех пор — игнор.
Ответить | Правка | ^ к родителю #90 | Наверх | Cообщить модератору

92. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от myhand (ok) on 13-Ноя-13, 23:21 
Мда.  Мне жаль потраченного времени.

Ответить | Правка | ^ к родителю #91 | Наверх | Cообщить модератору

93. "Представлен новый язык программирования Leaf,..."  +/
Сообщение от thesame on 14-Ноя-13, 23:22 
>> и второй руби просто не нужен
> ну да: хватит уже над смолтолком издеваться, смолтолк и без этого хороший.

There's a beautiful princess, prisoner in the highest tower of a castle, guarded by a mighty dragon, and a fearless knight must rescue her…

This is how each language would manage to rescue the princess from the hands of the dragon...

Ruby - Arrives with massive fame, saying he is the best at anything and when he faces the dragon, he shows a lame motion picture of himself killing a dragon… The dragon eats him out of boredom.

Smalltalk - Arrives, analyzes the dragon and princess, turns around and leaves, they are way too inferior.

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру