The OpenNET Project / Index page

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



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

"Google опубликовал язык логического программирования Logica"  +/
Сообщение от opennews (??), 13-Апр-21, 13:54 
Компания Google представила новый декларативный язык логического программирования Logica, предназначенный для манипулирования данными и транслирующий программы в язык SQL.  Новый язык ориентирован на тех, кто хочет использовать синтаксис логического программирования при  написании запросов к БД.  В настоящее время результирующий SQL-код может выполняться в хранилище Google BigQuery  или в СУБД PostgreSQL и SQLite, поддержка которых пока является экспериментальной. В будущем планируется расширить число поддерживаемых SQL-диалектов. Код проекта написан на языке Python и опубликован под лицензией Apache 2.0...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=54960

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

Оглавление

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

1. Сообщение от Аноним (1), 13-Апр-21, 13:54   +3 +/
Ни тепло, ни холодно.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #3, #22

2. Сообщение от Аноним (2), 13-Апр-21, 13:57   +11 +/
Хоть он и Евгений Скворцов, но синтаксис языка получился как у сумрачного гения.... Слишком сурово для екатеринбуржца....
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #8

3. Сообщение от Аноним (3), 13-Апр-21, 13:57   +4 +/
Спасибо за ваше экспертное мнение
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #13

5. Сообщение от Аноним (5), 13-Апр-21, 13:57   +10 +/
В чем логика, большой брат?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #41

7. Сообщение от Аноним (7), 13-Апр-21, 14:01   +9 +/
SQL понятнее.
Вообще все открытые гуглом коды такие - не понятно ни черта.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #72

8. Сообщение от Аноним (8), 13-Апр-21, 14:01   –4 +/
Синтаксис раст напоминает. Раз раст все любят, то и тут найдутся пользователи.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #18, #60

9. Сообщение от danonimous (?), 13-Апр-21, 14:06   –1 +/
Персоной Лос-Анжелеса интересовались больше, чем Путиным. Либо это баг в программе, либо заговор.
Ответить | Правка | Наверх | Cообщить модератору

10. Сообщение от Аноним (10), 13-Апр-21, 14:15   +4 +/
Какое наглое покушение на логику. Теперь у всех в головах будет каша из языка и реальной логики. Поднагадили так поднагадили.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #17, #27

11. Сообщение от DIO (?), 13-Апр-21, 14:23   +/
prolog попытка номер два?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #39

12. Сообщение от mos87 (ok), 13-Апр-21, 14:40   +/
гугель и логика? ноувей)

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #14, #89

13. Сообщение от КО (?), 13-Апр-21, 14:44   +7 +/
У! У! Я тоже могу! Я ничего не понял, но вроде говно!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #20

14. Сообщение от Аноним (14), 13-Апр-21, 14:44   +/
К твоим услугам куча опенсорсных орм, если чего-то не хватает - добавь, исправь.
Да, мне тоже лень
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #15, #46

15. Сообщение от mos87 (ok), 13-Апр-21, 14:45   –3 +/
прослойка под названием скуль тогда зачем
лучший ОРМ это свой есессно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14

16. Сообщение от Аноним (17), 13-Апр-21, 14:48   +1 +/
>> Написание сложных запросов на SQL приводит к необходимости написания громоздких многострочных цепочек

А может оставить как есть, потому что так надо?
Код или короткий или быстрый.
Просто "оптимизаторы" иногда проигрывают в 20 раз ручному запросу.
Хочешь быстро - пиши руками.
Хочешь коротко - возьми Пролог.

А тут "в чём смысл, где логика".

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #28

17. Сообщение от Аноним (17), 13-Апр-21, 14:50   +/
Они ещё радугу отфидорили
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

18. Сообщение от Аноним84701 (ok), 13-Апр-21, 14:58   +/
> Синтаксис раст напоминает.


> Here is an example of a simple aggregation counting employees per role.

Employee(name: "Alice", role: "Product Manager", office: "SEA");
Employee(name: "Bob", role: "Engineer", office: "SEA");
Employee(name: "Caroline", role: "Engineer", office: "LAX");
Employee(name: "David", role: "Data Scientist", office: "LAX");
Employee(name: "Eve", role: "Data Scientist", office: "SEA");

ByRoleCount(role:, count? += 1) distinct :- Employee(role:);
...
    role     count
0     Product Manager     1
1     Engineer            2
2     Data Scientist      2


Угу. Буквы очень похожи.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #29, #33

19. Сообщение от Скульщик со стажем (?), 13-Апр-21, 14:59   +3 +/
Тут наоборот сложнее читать, синтаксис задом наперед, а все равно перечислять все условия. И сложные аналитические запросы, которые порой только с хинтами можно вытащить, тут как...
Ответить | Правка | Наверх | Cообщить модератору

20. Сообщение от VladSh (?), 13-Апр-21, 15:01   –1 +/
Всё верно, только не вроде.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #24, #66

21. Сообщение от ptr128 (?), 13-Апр-21, 15:10   +1 +/
> невозможно передать функции функцию

А динамический SQL на что? В случае же PostgreSQL, передать функции на PL/Perl (Python, R и т.п.) имя функции в параметрах - вообще проблем не представляет

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #23, #35

22. Сообщение от Nuzhnyemail (?), 13-Апр-21, 15:10   +/
Это про погоду в Питере. А по новости есть что?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

23. Сообщение от Аноним (23), 13-Апр-21, 15:19   +5 +/
То не ими сделано.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

24. Сообщение от Аноним (-), 13-Апр-21, 15:24   +/
не вроде - это про вас
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20

25. Сообщение от Аноним (25), 13-Апр-21, 15:24   +2 +/
По крайней мере теперь понятно, на какую логику опирается гугл в своих решениях.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #36

27. Сообщение от Аноним (-), 13-Апр-21, 15:27   +1 +/
> Теперь у всех в головах будет каша

и только иксперты опеннет не заметят никаких изменений

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #90

28. Сообщение от Додо (?), 13-Апр-21, 15:30   –3 +/
Если коротко, то тогда уж KBD+/Q. И быстро заодно. Разве что код нечитаем :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #40

29. Сообщение от Аноним (8), 13-Апр-21, 15:32   +/
К чему эта портянка? В расте нельзя такие портянки писать?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #58

31. Сообщение от Аноним (25), 13-Апр-21, 15:45   +1 +/
Ждем первых новостей "В Logica гугла было найдено несколько уязвимостей".
Ответить | Правка | Наверх | Cообщить модератору

32. Сообщение от Док (?), 13-Апр-21, 15:46   –1 +/
Хрен редьки не слаще
Ответить | Правка | Наверх | Cообщить модератору

33. Сообщение от Аноним (33), 13-Апр-21, 15:50   +6 +/
слишком много смайликов:

:, ? += :- :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

35. Сообщение от Аноним (35), 13-Апр-21, 16:04   +2 +/
Тот же sqlite элементарно расширяется сторонними функциями.
Я так в одном проекте прикрутил к нему функции на лиспе (так надо было).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #70

36. Сообщение от Аноним (36), 13-Апр-21, 16:12   +/
Чтобы только они разбирались и пилили, и их спецы. Столько спецсимволов жесть.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25

38. Сообщение от Аноним (38), 13-Апр-21, 16:27   –1 +/
Нафиг питон. Даешь нативную поддержку в постгрю!
Ответить | Правка | Наверх | Cообщить модератору

39. Сообщение от Аноним (39), 13-Апр-21, 16:31   +1 +/
Нет, это другое
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11

40. Сообщение от Аноним (17), 13-Апр-21, 16:44   +/
Одни и те же данные можно выбрать разными запросами
При чем тут платформа?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

41. Сообщение от Леголасemail (ok), 13-Апр-21, 16:47   –1 +/
Python, Python everywhere...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

43. Сообщение от Аноним Анонимович Анонимов (?), 13-Апр-21, 17:52   +6 +/
> Написание сложных запросов на SQL приводит к необходимости написания громоздких многострочных цепочек

Вместо SQL можно подставить любую аббревиатуру. За то деньги и получают. Остальные же подрбные вещи именуют синтаксическим сахаром.

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

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #44, #71, #85

44. Сообщение от Аноним (7), 13-Апр-21, 18:00   +2 +/
Тогда программисты программировали на ассемблере и си, менеджеры тоже были другие. А сейчас гендерно-нейтральный менеджмент и программисты, которых учили на питоне, считающие, что это язык общего назначения.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43 Ответы: #45

45. Сообщение от Аноним Анонимович Анонимов (?), 13-Апр-21, 18:33   +3 +/
Самое забавное, что наиграются, посмотрят, что не взлетает и заявят: ну, пожалуй да, лишняя абстракция ни к чему.

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

Добрались до SQL. Не ровен час и до математических операторов доберутся. С этими символами: +*/- явно что-то не так, странно выглядят и не совсем логичные действия выполняют.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44 Ответы: #61

46. Сообщение от Аноним (46), 13-Апр-21, 18:34   +2 +/
Хватит уже путать орм с кверибилдерами.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14

47. Сообщение от Маняним (?), 13-Апр-21, 18:37   +2 +/
А если заменить :- на ->, то получится новый декларативный язык функционального программирования.
Ответить | Правка | Наверх | Cообщить модератору

50. Сообщение от kissmyass (?), 13-Апр-21, 19:21   +2 +/
> Написание сложных запросов на SQL приводит к необходимости написания громоздких многострочных цепочек, не очевидных для восприятия,

@OrderBy(Mentions, "mentions desc");
   @Limit(Mentions, 10);
   Mentions(person:, mentions? += 1) distinct :-
     gdelt-bq.gdeltv2.gkg(persons:, date:),
     Substr(ToString(date), 0, 4) == "2020",
     the_persons == Split(persons, ";"),
     person in the_persons;

А вот это все прям очевидно, да?
Никаких улучшений нет, очередной синтаксис, требующий изучения.

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

53. Сообщение от Аноним (53), 13-Апр-21, 20:29   +3 +/
sql не логичный для восприятия лишь тем, кто с ним толком не работал.
Ответить | Правка | Наверх | Cообщить модератору

54. Сообщение от Урри (ok), 13-Апр-21, 20:30   +1 +/
Просто очередной неосилятор решил сделать свой метаязык, чтобы не осиливать.

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

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

55. Сообщение от Аноним (55), 13-Апр-21, 21:55   –1 +/
Синтаксис SQL то ещё днище, но автор сабжего поделия умудрился сделать ещё хуже.
Ответить | Правка | Наверх | Cообщить модератору

56. Сообщение от Аноним (56), 13-Апр-21, 22:10   +1 +/
Откуда взялось имя колонки "mentions_count"?
В запросе его нет.
Едалог такой едалог.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #63

58. Сообщение от Аноним84701 (ok), 13-Апр-21, 22:26   +2 +/
> К чему эта портянка?

Это для умеющих читать не только твиты (при этом еще и понимая прочитанное) и хотя бы краем глаза видевших rust.
В общем, похоже получилась опять  дискриминация бедных анонимов по интеллектуальному признаку. Увы.

> Синтаксис раст напоминает
> В расте нельзя такие портянки писать?

А разве аноним не должен сам знать, раз уж он так смело и так уверенно заявил, что "Синтаксис раст напоминает"?  

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

60. Сообщение от погромизд (?), 14-Апр-21, 00:08   +/
Пролог же
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

61. Сообщение от Аноним (61), 14-Апр-21, 00:17   –3 +/
> Самое забавное, что наиграются, посмотрят, что не взлетает и заявят: ну, пожалуй да, лишняя абстракция ни к чему

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

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

62. Сообщение от kai3341 (ok), 14-Апр-21, 00:32   +1 +/
> Написание сложных запросов на SQL приводит к необходимости написания громоздких многострочных цепочек, не очевидных для восприятия, мешающих повторному использованию частей запроса и затрудняющих сопровождение.

Когда-нибудь автор этих строк откроет для себя SQLAlchemy

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

63. Сообщение от Аноним (33), 14-Апр-21, 01:05   +/
подозреваю, собака где-то здесь:

(person:, mentions? += 1)

именно тут: += 1

А вот за такое: Substr(ToString(date), 0, 4) == "2020" надо все руки повырывать.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56 Ответы: #64

64. Сообщение от Дмитрийemail (??), 14-Апр-21, 06:29   +/
Не надо.
Потом они позовут меня для оптимизации, я оптимизирую не напрягаясь и все счастливы. :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63

65. Сообщение от Аноним (-), 14-Апр-21, 06:52   +/
>   | los angeles    |        1078412 |

У Славы Кпсс появился наконец достойный конкурент :)

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

66. Сообщение от Аноним (66), 14-Апр-21, 07:07   +1 +/
зависть


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

67. Сообщение от Анимус (?), 14-Апр-21, 07:38   +1 +/
Google просто коллекционер языков какой-то.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #82

68. Сообщение от Аноним (70), 14-Апр-21, 07:42   +/
т.е. вместо SQLя который практически дословно русский язык, предлагается вот такое

@OrderBy(Mentions, "mentions desc");
   @Limit(Mentions, 10);
   Mentions(person:, mentions? += 1) distinct :-
     gdelt-bq.gdeltv2.gkg(persons:, date:),
     Substr(ToString(date), 0, 4) == "2020",
     the_persons == Split(persons, ";"),
     person in the_persons;

???

Я гугль перестал уважать после протобуфа. А последующие Дарты, Го и пр. лишь подтвердили мой личный вывод

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

69. Сообщение от Аноним (70), 14-Апр-21, 07:44   +2 +/
кстати, видно что пытаются переизобрести Datalog. Хуже программистов чем в гугле - нигде не найдешь. После божественного 365 сижу на их документах - такого г--на никогда не видел
Ответить | Правка | Наверх | Cообщить модератору

70. Сообщение от Аноним (70), 14-Апр-21, 09:53   +2 +/
Тим лид: зачем ты прикрутил к нему функции на Лиспе?!!
Я: (так надо было)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #80

71. Сообщение от Аноним (70), 14-Апр-21, 09:54   +/
и не только. Столбят и захватывают территорию, как плесень.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43

72. Сообщение от Аноним (72), 14-Апр-21, 11:57   +1 +/
Конечно понятнее. Ты же его уже выучил, а этот язык ты не знаешь.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

73. Сообщение от lockywolf (ok), 14-Апр-21, 12:35   –1 +/
Что бы им просто miniKanren не взять?
Ответить | Правка | Наверх | Cообщить модератору

75. Сообщение от Аноним (8), 14-Апр-21, 13:57   +/
Ну а ты с ходу начал тешить своё чсв (было бы чем) и перешёл к ad hominem. Если где-то есть дно то ты его пробиваешь ещё до того как сказал первое слово. И это не ответ, закорючки никуда не делись.
Ответить | Правка | Наверх | Cообщить модератору

76. Сообщение от Anon1111nn (?), 14-Апр-21, 16:01   +/
Самая удобная прокладка по sql имхо, linq.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #78

77. Сообщение от Аноним (77), 14-Апр-21, 16:10   +1 +/
А чем протобуф-то чем плох?
Разве что, конечно, часто его пихают туда, где он явно избыточен
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68

78. Сообщение от Аноним (53), 14-Апр-21, 17:37   +/
То ты мало работал с базами. По факту приходишь к тому что все запросы хранятся в STP, а вызывать их лучше всего из максимально легковесной прокладки типа Dapper. Уж поверь.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #76

79. Сообщение от Аноним (79), 14-Апр-21, 18:12   +/
Плохие новости. Я не могу сделать лексер для Logica к Sublime, к CudaText, потому что в репо языка нету файлов на языке. Там есть файлы ipynb в некоем json которые видимо для PythonNotebook, и там есть включения на Логика, но фалов Логика не нашел.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #81, #83

80. Сообщение от Аноним (80), 14-Апр-21, 21:29   +/
(так (надо (было)))
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #70 Ответы: #86

81. Сообщение от Аноним (81), 14-Апр-21, 23:51   +/
моя твоя не понимать
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #79

82. Сообщение от Аноним (33), 15-Апр-21, 02:29   +/
Сидят "умные" манагеры и думают: "Вот сменим язык - и заживём!".
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67

83. Сообщение от Евгений (??), 15-Апр-21, 04:34   +/
Файлы на языке есть тут:
https://github.com/EvgSkv/logica/tree/main/integration_tests
Это файлы с расширением ".l"

Если будут ещё какие-то вопросы, милости просим в Дискуссии:
https://github.com/EvgSkv/logica/discussions

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

84. Сообщение от Гость 82 (?), 15-Апр-21, 07:54   +/
> SQLAlchemy

Пионерское говно. До того же гибернейта/доктрины ему как до Китая раком.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #62 Ответы: #88

85. Сообщение от Ordu (ok), 15-Апр-21, 11:13   +/
> Что забавно, sql ведь разработали специально для менеджеров.

Ну дык а logica, явно не для менеджеров, а для исследователей, чтобы тем было удобнее ковыряться в big data, которую собрал на тебя гугл.

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

86. Сообщение от Аноним (86), 15-Апр-21, 12:36   +/
(было (надо так))
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #80

87. Сообщение от PetrG (ok), 15-Апр-21, 14:21   +/
Я удивился что в тексте новости Datalog вообще не упоминается.
Хотя в описании по ссылке это есть "Logica is a language of the Datalog family."
Ответить | Правка | Наверх | Cообщить модератору

88. Сообщение от kai3341 (ok), 15-Апр-21, 14:42   +/
>> SQLAlchemy
> Пионерское говно. До того же гибернейта/доктрины ему как до Китая раком.

https://stackoverflow.com/questions/48735927/jpa-hibernate-p...
Пнятно. Raw SQL можно и без ORM

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

89. Сообщение от adolfus (ok), 16-Апр-21, 14:15   +/
SQL не процедурный, а декларативный. Процедурный -- это то, что поддерживает операции add, del, set, next, prev, get, put, del.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

90. Сообщение от Аноним (90), 17-Апр-21, 00:23   +/
Звучит как преимущество.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27


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

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




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

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