| 1.1, Аноним (1), 10:25, 04/02/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
А как же NoSQL?! Потравили хипстеров, а сами продолжают писать SQL.
| | |
| |
| 2.5, Аноним (5), 10:53, 04/02/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
А это совершеено другая сфера применения. Иногда хочется много места чтобы хранить сотни галстуков, а иногда нужно подобрать правильный.
| | |
| 2.38, Аноним (38), 19:50, 04/02/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
NoSQL старше SQL, но очередной специалист из комментариев втавит свое важное мнение...
| | |
| |
| 3.40, Аноним (40), 20:11, 04/02/2026 [^] [^^] [^^^] [ответить]
| +/– |
nosql это все что не sql, даже простой текстовый файл в редакторе с поиском по тексту, чаще под nosql понимают документные или столбцовые базы или др, по сути просто денормализованные данные
| | |
|
|
| 1.6, Аноним (6), 11:02, 04/02/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Пробежался бегло по описанию пайпов, создалось впечатление, что они переизобретают CTE.
| | |
| 1.9, Аноним (9), 11:32, 04/02/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
зато честно...
сразу по названию, разные целевые аудитории пойдут в разные стороны:
адепты и неофиты ГуГоЛя не перепутают дверь
другие сразу будут держаться по-дальше
| | |
| |
| 2.18, Аноним (18), 13:09, 04/02/2026 [^] [^^] [^^^] [ответить]
| +/– | |
>SQL-анализатора ZetaSQL в GoogleSQL
Да это вообще прям самое лучшее).
| | |
|
| 1.12, Аноним (12), 12:35, 04/02/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Минутка теории заговоров: можно переименовывать свои продукты каждый год, чтобы натренированные LLM конкурентов путались в ответах и ничего не знали про новое имя.
| | |
| |
| 2.14, пох. (?), 12:52, 04/02/2026 [^] [^^] [^^^] [ответить]
| –1 +/– | |
Аллах с тобой, это как раз то немногое что ллмки отлично умеют.
| | |
|
| 1.13, Аноним (13), 12:35, 04/02/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
А YouTube когда в GoogleTube переименуют? Унификация под единым брендом уменьшит путаницу и упростит поиск материалов!
| | |
| |
| 2.24, kusb (?), 13:58, 04/02/2026 [^] [^^] [^^^] [ответить]
| +/– |
Переименуют в Google - единое приложение и единый интегрированный сайт для всего, включая поиск, просмотр видео, платёжную систему, общение с ИИ...
| | |
|
| 1.15, Витюшка (?), 12:54, 04/02/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– | |
А теперь берём... берём... лёгким движением руки видим что потрясающий nushell (и его язык программирования nu) - это не только "более удобная оболочка для админов".
И там идеи которые на поколения опережают эти вариации SQL.
ls | first 10 | where name = "Donny"
Ой, что это тут у нас? Язык запросов SQL с pipe и не только
| | |
| |
| 2.17, Аноним (16), 13:06, 04/02/2026 [^] [^^] [^^^] [ответить]
| +/– |
Для для тех кто не умеет в анализ пояснить это хорошо или плохо?
| | |
| |
| 3.22, Витюшка (?), 13:45, 04/02/2026 [^] [^^] [^^^] [ответить]
| –3 +/– | |
Ну если прикрутить это к движку баз данных - получится новый передовой язык запросов. Крайне удобный, строго типизированный.
То есть между ls | where... передаются данные которые тмпизированы (в отличие от bash где "всё есть строка".
А почему круто для баз данных? Потому что он работает (хоть и в памяти) с таблицами. Это и есть его основная структура.
Если в применении к обычному админству. Считай что ты пишешь те же самые SQL к базе данных в памяти. И данные одной команды полностью известны второй после оператора pipe. Это не просто "какая-то строка".
| | |
|
| 2.19, Аноним (19), 13:21, 04/02/2026 [^] [^^] [^^^] [ответить]
| +2 +/– | |
> И там идеи которые на поколения опережают эти вариации SQL.
SQL появился в 1973, если ты не в курсе. "Нп поколения", ага.
> ls | first 10 | where name = "Donny"
Гениально! Делаем листинг всей директории, чтобы откусить от него первые десять имен и найти среди них Donny.
> Ой, что это тут у нас? Язык запросов SQL с pipe
Нет, это костыльная портянка юникствых комманд для ФС, не имеющая никакого отношения к, собственно, структурированным запросам.
| | |
| |
| 3.21, Витюшка (?), 13:38, 04/02/2026 [^] [^^] [^^^] [ответить]
| +/– |
Мы же про язык сейчас говорим, синтаксис.
Конкретно в применении в движку реляционных баз данных - движок может делать всё что угодно пока сохраняется корректность результата. И ничего "последовательно" он делать не должен.
А этот запрос он логический. Он не говорит "как". Поколения - это технологически.
| | |
| 3.25, анон (?), 14:36, 04/02/2026 [^] [^^] [^^^] [ответить]
| +/– |
>> ls | first 10 | where name = "Donny"
> Гениально! Делаем листинг всей директории, чтобы откусить от него первые десять имен
> и найти среди них Donny.
Генераторы? Не, не слышали! Даже "нормальный", древний ls не будет сначала читать всю директорию и лишь затем выводить содержимое.
Т.е. вполне сработает и в классическом варианте типа
ls | head -n10|фильтр
с той разницей, что фильтр из-за "весь выхлоп - лишь строка" придется долго и вдумчиво велосипедить.
| | |
| |
| 4.32, Аноним (32), 17:29, 04/02/2026 [^] [^^] [^^^] [ответить]
| +/– | |
>с той разницей, что фильтр из-за "весь выхлоп - лишь строка" придется долго и вдумчиво велосипедить.
Революция отменяется, расходимся.
https://www.nushell.sh/commands/docs/ls.html
>input output
>nothing table
Единственное, что у них нормально расписано, так это ключи, но и то, поскольку они простые. Зачем-то приведены примеры, раскрытия glob выражений, хотя к ls glob выражения не имеют никакого отношения. Возвращаемый тип не описан.
Язык для написания факториалов^W листнга файлов.
| | |
| |
| 5.34, анон (?), 18:19, 04/02/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Возвращаемый тип не описан.
Дык, иногда таки все же желательно читать доки "с нуля", а не додумывать, как оно там на самом деле может/дóлжно быть:
[CODE]
ls | describe
table<name: string, type: string, size: filesize, modified: datetime> (stream)
ls -l |describe
table<name: string, type: string, target: nothing, readonly: bool, mode: string, num_links: int, inode: int, user: string, group: string, size: filesize, created: datetime, accessed: datetime, modified: datetime> (stream)
ls /usr/local/bin | where size < 100B and modified > ('2 months ago'|date from-human)|take 1
╭───┬─────────────────────────────────┬─────────┬──────┬─────────────╮
│ # │ name │ type │ size │ modified │
├───┼─────────────────────────────────┼─────────┼──────┼─────────────┤
│ 0 │ /usr/local/bin/androiddeployqt6 │ symlink │ 30 B │ 2 weeks ago │
╰───┴─────────────────────────────────┴─────────┴──────┴─────────────╯
[/CODE]
Не, оно конечно не без шероховатостей и так и хочется заявить, что "н.и.н.y.жна! Диды и без этого прекрасно костыляли!", но что-то в этом есть. Особенно в привязке к типам/полям.
| | |
| |
| 6.46, Аноним (32), 00:11, 05/02/2026 [^] [^^] [^^^] [ответить] | +/– | С какого нуля Вам привели предельно конкретную ссылку, по которой ничего не опи... большой текст свёрнут, показать | | |
| |
| 7.58, анон (?), 03:04, 05/02/2026 [^] [^^] [^^^] [ответить]
| +/– |
>>Дык, иногда таки все же желательно читать доки "с нуля"
> С какого нуля? Вам привели предельно конкретную ссылку, по которой ничего не описано.
https://www.nushell.sh/book/quick_tour.html#more-than-just-directories
>>ls | describe
> Я понимаю, что некоторые люди нормальной документации не видели, но вот вам
Я понимаю, что на опеннете принято додумывать "как оно там на самом деле" (и если что, быстренько скатываться к аргументу к человеку), но конкретный тип таблицы у большей части комманд зависит от входных данных. Внезапно.
[CODE]
% ls |get name|describe
list<string> (stream)
% ls|get name.0|describe
string
% ls|get size|describe
list<filesize> (stream)
% ls | select name|describe
table<name: string> (stream)
% ls | select name size|describe
table<name: string, size: filesize> (stream)
[/CODE]
> пример того, как она должна выглядеть.
Не, это пример того "как я думаю, оно должно выглядеть". В введении(quick tour) описаны базовые вещи, которые пришлось бы повторять в каждом мане.
> https://ocaml.org/p/yojson/2.0.0/doc/yojson/Yojson/Safe/index.html#type-of-the
> https://hackage.haskell.org/package/aeson-2.2.3.0/docs/Data-Aeson.html#t:Value
И как с помощью этого начать писать на хаскель/окамл?
| | |
| |
| 8.71, Аноним (32), 11:31, 05/02/2026 [^] [^^] [^^^] [ответить] | +/– | И что я тут должен увидеть Именно это мне и не нравится Я не хочу получить ещё... большой текст свёрнут, показать | | |
|
|
|
|
| 4.35, Аноним (35), 18:20, 04/02/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Даже "нормальный", древний ls не будет сначала читать всю директорию и лишь затем выводить содержимое.
Вообще-то будет, ибо там сортировка.
| | |
| |
| 5.36, анон (?), 19:31, 04/02/2026 [^] [^^] [^^^] [ответить]
| +/– |
>> Даже "нормальный", древний ls не будет сначала читать всю директорию и лишь затем выводить содержимое.
> Вообще-то будет, ибо там сортировка.
Кхе, опции -f / -U спецом для этого:
[CODE]
/* In this narrow case, print out each name right away, so
ls uses constant memory while processing the entries of
this directory. Useful when there are many (millions)
of entries in a directory. */
if (format == one_per_line && sort_type == sort_none
&& !print_block_size && !recursive)[/CODE]
Да и
ls -R /usr/src | head -n10
Добавит изначальные диры(первого уровня) в queue и будет вызывать для каждого элемента этой очереди print_dir, в котором опять таки, найденые субдиры будут добавляться в очередь вывода. Constant memory конечно не будет, но не все 100500 поддиректорий вместе с содержимым "одним куском". Т.е. после вывода первых 10 строк - усе, кино кончилось.
| | |
| |
| 6.37, Аноним (37), 19:47, 04/02/2026 [^] [^^] [^^^] [ответить]
| +/– |
>>> Даже "нормальный", древний ls не будет сначала читать всю директорию и лишь затем выводить содержимое.
>> Вообще-то будет, ибо там сортировка.
> Кхе, опции -f / -U спецом для этого
Каеф. Расскажи еще, какие там еще флажки нужно добавить, чтобы ваши башпортянки работали, как положено?
Ты, видимо, пропустил, что изначальная кривость его "ls | first 10 | where name = "Donny"" в том, что фильтрация идет после отсечения первых 10 элементов. А если делать, как он задумал, то нужно наоборот. Это во-первых. А во-вторых, при таком раскладе с твоим -f/-U у тебя будет каждый раз рандомный выхлоп (сортировки-то нет).
Вобщем, сношайтесь сами со своими кривыми велосапедами и трогайте SQL.
| | |
| |
| 7.43, анон (?), 20:27, 04/02/2026 [^] [^^] [^^^] [ответить]
| +/– |
> Ты, видимо, пропустил, что изначальная кривость его "ls | first 10 |
Я окончательно понял, что ты прискипался к семантике примера, потому что больше не к чему. И что сама идея за этим тебе не интересна, лишь унылый сра* ради непонятно чего ...
>> Кхе, опции -f / -U спецом для этого
> Каеф. Расскажи еще, какие там еще флажки нужно добавить, чтобы ваши башпортянки
> работали, как положено?
Каеф. WSLщики совсем не палятся. Флажки, как и кусок кода, из "нормальной", гну/бзд реализации ls.
А так все хорошо, прекрасная маркиза 😀
> А во-вторых, при таком раскладе с твоим -f/-U у тебя будет каждый раз рандомный выхлоп (сортировки-то нет).
Ох уж эти опеннетные теоретики:
[CODE]
# берем ченибудь с кучей файлов и дир
% /bin/ls -fR /usr/src|wc -l
138936
% repeat 10 {/bin/ls -fR /usr/src|md5}
68274692f10674eccb1080046607376c
68274692f10674eccb1080046607376c
68274692f10674eccb1080046607376c
68274692f10674eccb1080046607376c
68274692f10674eccb1080046607376c
68274692f10674eccb1080046607376c
68274692f10674eccb1080046607376c
68274692f10674eccb1080046607376c
68274692f10674eccb1080046607376c
68274692f10674eccb1080046607376c
[/CODE]
Как ты видишь, я могу тоже прискипаться к чему-нибудь. Просто это не интересно: какой-то унылый сра* ради сра*а получается.
| | |
| |
| 8.45, Аноним (37), 22:54, 04/02/2026 [^] [^^] [^^^] [ответить] | –1 +/– | Какая еще идея Лепить упоротые дедовские имена из 2-3 букв вместо читаемого SQL... большой текст свёрнут, показать | | |
| |
| |
| 10.64, Аноним (64), 09:46, 05/02/2026 [^] [^^] [^^^] [ответить] | +2 +/– | Да уж точно получше твоего НЕХ Во-первых, у твоего НЕХ вообще сугубо одна импле... большой текст свёрнут, показать | | |
|
| 9.49, Аноним (32), 00:34, 05/02/2026 [^] [^^] [^^^] [ответить] | +/– | А чем nushell принципиально отличается от coreutils Если у coreutils порядок сл... большой текст свёрнут, показать | | |
| 9.59, анон (?), 03:32, 05/02/2026 [^] [^^] [^^^] [ответить] | –2 +/– |  Да понял я, что тебе нефиг делать и ты решил прискипатья к формулировкам Не пер... текст свёрнут, показать | | |
|
|
|
|
|
|
|
| 2.29, Аноним (29), 16:02, 04/02/2026 [^] [^^] [^^^] [ответить]
| –2 +/– |
> потрясающий nushell
> ls | first 10 | where name = "Donny"
Через head и grep это делалось когда тебя ещё в проекте не было, безо всяких sql, васянских шеллов и тем более маргинальных яп.
| | |
| |
| 3.39, анон (?), 19:55, 04/02/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Через head и grep это делалось когда тебя ещё в проекте не
А теперь грепни по дате, о великий защитник скреп 🤦
> было, безо всяких sql, васянских шеллов и тем более маргинальных яп.
Во-во, деды и прадеды без теплых ватерклосетов жили и мы как нибудь перебьемся. И вообще, забеги по граблям "весь выхлоп - лишь длинная строка" укрепляют лоб 🙄 ...
| | |
| |
| 4.41, Витюшка (?), 20:14, 04/02/2026 [^] [^^] [^^^] [ответить]
| +/– |
В принципе нас к этому активно готовят. А тут люди уже сами подготовленные)
| | |
| 4.63, олег (?), 09:26, 05/02/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> А теперь грепни по дате, о великий защитник скреп
По какой из них :-)? Ты ж про find слышал?
| | |
|
|
| 2.30, Аноним (32), 17:05, 04/02/2026 [^] [^^] [^^^] [ответить]
| +/– | |
>лёгким движением руки видим что потрясающий nushell
У вас есть реальный опыт использования? Как там с интеграцией сторонних команд?
| | |
| |
| 3.42, Витюшка (?), 20:22, 04/02/2026 [^] [^^] [^^^] [ответить]
| –1 +/– | |
Там есть стандарт (протокол) - команды можно писать самому любые на Rust, можно и на Python - это вроде как оффициально. А так на любом языке.
Даже сами "системные" (поставляемые с nushell) команды так написаны, как сторонние, а не прибиты.
Смотря что иметь ввиду под этом. Я в нем постоянно работаю, это мой основной shell. Пишу на нем все скрипты, автоматизацию. Но, все таки прямо до полноценного языка не дотягивает (из-за системы типов) - в том смысле что ручки так и тянутся (иногда) к Rust.
Но именно как замена bash, sh, для скриптов (а не целые программы на нем писать) это идеальный вариант. А для серьезного всегда можно это написать в виде сторонней команды.
Сторонние команды должны реализовывать протокол взаимодействия. И он сразу и полностью встраивается в экосистему команды. Все базовые команды можно будет применять.
Ну например ты лезешь на какой-то сервер погоды, получаешь погоду столиц и возвращаешь в виде таблички. Все. Все сортировки, фильтры, манипуляции ("верни первые 10 строк") будут работать.
| | |
| |
| 4.47, Аноним (32), 00:19, 05/02/2026 [^] [^^] [^^^] [ответить]
| +/– | |
>Даже сами "системные" (поставляемые с nushell) команды так написаны, как сторонние, а не прибиты.
Значит сие поделие ещё и тормозит.
>Но именно как замена bash, sh, для скриптов (а не целые программы на нем писать) это идеальный вариант.
Почему не взять взрослый язык программирования, типа go или ocaml?
| | |
| |
| 5.50, Витюшка (?), 00:34, 05/02/2026 [^] [^^] [^^^] [ответить]
| +/– |
Ты собираешься брать взрослый язык программирования в шелле? Чтобы какой-нибудь табличку из json распарить и отфильтровать?
| | |
| |
| 6.56, Аноним (32), 00:52, 05/02/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
>Ты собираешься брать взрослый язык программирования в шелле?
Не "в", а "вместо".
>Чтобы какой-нибудь табличку из json распарить и отфильтровать?
Берёте jq https://jqlang.org/
Но, практика показывает, что если поленится написать код на взрослом языке изначально, когда он маленький, придётся переписываеть его тогда, когда он большой.
| | |
|
|
| 4.69, Аноним (67), 10:56, 05/02/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Там есть стандарт (протокол) - команды можно писать самому любые на Rust, можно и на Python
Главный вопрос тут: зачем в принципе писать на этом Nushell, а не сразу на Python?
| | |
|
|
| 2.31, Аноним (32), 17:13, 04/02/2026 [^] [^^] [^^^] [ответить]
| +/– | |
>Ой, что это тут у нас? Язык запросов SQL с pipe и не только
Здесь и близко никакого sql нет. pipe к sql не имеет абсолютно никакого отношения.
| | |
| |
| |
| 4.57, Аноним (32), 00:57, 05/02/2026 [^] [^^] [^^^] [ответить]
| +2 +/– |
Это - не sql. У sql как минимум другой синтаксис и семантика. Тот факт, что в языке есть функция с именем where, ещё не делает язык sql-ом.
| | |
| 4.70, Аноним (67), 10:59, 05/02/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Это улучшенный SQL, как его видят разработчики
Это не SQL (и уж тем более не улучшенный), а свой собственный бестолковый NIH-язычок. Что он вообще может сделать того, чего не може условный Python/Perl? Вопрос риторический, если что...
| | |
|
|
| 2.44, _ (??), 22:17, 04/02/2026 [^] [^^] [^^^] [ответить]
| +/– |
> И там идеи которые на поколения опережают эти вариации SQL.
> ls | first 10 | where name = "Donny"
> Ой, что это тут у нас? Язык запросов SQL с pipe и не только
Nope! This is freaking M$ PowerShell 8-)
| | |
| |
| 3.53, Витюшка (?), 00:41, 05/02/2026 [^] [^^] [^^^] [ответить]
| +/– | |
По моему у PowerShell уродский синтаксис, но могу ошибаться. Видел только какие-то отрывки, примеры.
Но сама идея PowerShell очень крутая. Кажется они были первыми. Это нормально,это хорошо. Здесь ребята разрабатывали с нуля и докрутили идею.
Например overlay для включения набора команд и отключения, он тебе сразу и переменные нужные выставит.
| | |
| |
| 4.60, _ (??), 06:52, 05/02/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> По моему у PowerShell уродский синтаксис,
Ну если с матами нельзя - то так :)
> но могу ошибаться.
А ты попиши на нём :)
... впрочем, некоторым даже "нра!" 8-о
| | |
|
|
|
|