Нелюбимый язык?

User avatar
perasperaadastra
Уже с Приветом
Posts: 20128
Joined: 21 Feb 2009 22:55
Location: Лох Онтарио

Re: Нелюбимый язык?

Post by perasperaadastra »

Ну, КОБОЛ-то есть еще. Кажется, АРАРАТ писал, что работает с legacy кодом на нем. Да и фортран, я слышал, в некоторых лабораториях еще используется...
User avatar
oleg lebedev
Уже с Приветом
Posts: 2143
Joined: 03 Dec 2003 23:13
Location: Одесса - Новая Англия

Re: Нелюбимый язык?

Post by oleg lebedev »

OtherSide wrote:
Komissar wrote:
OtherSide wrote:SQL вне конкуренции
для задач, под которые он создан, он вполне приличен. Но ГУЙ на нем проблематично писать.
Да нет, для задач, которых он предназначен, он кусок говна
Проще всго сказать, что вы на нём писать не имеете и поэтому всё написанное вами выглядит как кусок говна.
rgx
Уже с Приветом
Posts: 297
Joined: 30 Apr 2006 09:47
Location: Great White North

Re: Нелюбимый язык?

Post by rgx »

powershell
User avatar
Dmitry67
Уже с Приветом
Posts: 28283
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Re: Нелюбимый язык?

Post by Dmitry67 »

rgx wrote:powershell
+1
Он мощный, но тот кто его делал был обделен эстетическим чувством
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
User avatar
OtherSide
Уже с Приветом
Posts: 17361
Joined: 01 Mar 2008 15:14

Re: Нелюбимый язык?

Post by OtherSide »

oleg lebedev wrote:
OtherSide wrote:
Komissar wrote:
OtherSide wrote:SQL вне конкуренции
для задач, под которые он создан, он вполне приличен. Но ГУЙ на нем проблематично писать.
Да нет, для задач, которых он предназначен, он кусок говна
Проще всго сказать, что вы на нём писать не имеете и поэтому всё написанное вами выглядит как кусок говна.
Еще ближе к правде - вы теорию БД никогда не учили, и как лучше делать не знаете, от того вам и говно как карамелька.
User avatar
ALV00
Уже с Приветом
Posts: 1491
Joined: 08 Mar 2002 10:01
Location: NJ

Re: Нелюбимый язык?

Post by ALV00 »

OtherSide wrote:Еще ближе к правде - вы теорию БД никогда не учили, и как лучше делать не знаете, от того вам и говно как карамелька.
Какие есть лучшие языки для работы с базами данных?
User avatar
M. Ridcully
Уже с Приветом
Posts: 12003
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: Нелюбимый язык?

Post by M. Ridcully »

Вот меня наезды на SQL как-то даже озадачивают...
Ещё один аспект, кстати - SQL это пока самый успешный язык с поддержкой параллелизма. Большинство пользователей даже не задумываются об этом.
Попробуйте сравнить с pthreads, Open CL и т.д. с точки зрения порога вхождения.
User avatar
mikeG
Уже с Приветом
Posts: 8470
Joined: 02 Aug 2003 01:32
Location: SPb->SFBA

Re: Нелюбимый язык?

Post by mikeG »

Lazy444 wrote:
thinker wrote:
mikeG wrote:Язык, на котором .bat файлы пишут (у него и названия-то нет)
Под линуксом shell script называется.
Я думаю mikeG пишет о языке командных файлов для MS-DOS. Типа autoexec.bat , если кто помнит.
Да, о нем

Code: Select all

for /f "tokens=1,* delims= " %%a in ("%*") do set params=%%b
:cry:
User avatar
perasperaadastra
Уже с Приветом
Posts: 20128
Joined: 21 Feb 2009 22:55
Location: Лох Онтарио

Re: Нелюбимый язык?

Post by perasperaadastra »

Ох. Можно я поменяю свой вариант? VBA по сравнению с ЭТИМ выглядит даже элегантно...
User avatar
OtherSide
Уже с Приветом
Posts: 17361
Joined: 01 Mar 2008 15:14

Re: Нелюбимый язык?

Post by OtherSide »

M. Ridcully wrote:Вот меня наезды на SQL как-то даже озадачивают...
Ещё один аспект, кстати - SQL это пока самый успешный язык с поддержкой параллелизма. Большинство пользователей даже не задумываются об этом.
Попробуйте сравнить с pthreads, Open CL и т.д. с точки зрения порога вхождения.
Теория БД связана с рельяционной алгеброй, но в самом SQL рел. алгебра никак не фигурирует.
Код на нем трудно читать и поддерживать, сложно отлаживать и искать баги.
нет никаких инструментов для модульного подхода. нельзя запрос разбить на части и по частям отладить. нет пространств имен, нельзя передать таблицу как аргуемент, при написании запроса нельзя сразу задать его план ну и т.д.
плюс ко всем нестандартизирован, все субд кто во что гаразд
DDoS
Уже с Приветом
Posts: 1309
Joined: 16 Feb 2017 02:05

Re: Нелюбимый язык?

Post by DDoS »

M. Ridcully wrote:Вот меня наезды на SQL как-то даже озадачивают...
Ещё один аспект, кстати - SQL это пока самый успешный язык с поддержкой параллелизма.
Меня тоже озадачивают наезды на SQL. Вполне нормальный язык для своих задач. А если у кого-то 5 таблиц с одинаковой структурой в базе и ему позарез надо динамически передать параметр имя таблицы - так это не в SQL, это в структуре базы проблема.

Но еще больше озадачивает "поддержка параллелизма" и сравнение с pthreads...
Мне всегда казалось, что в SQL нет абсолютно никакой поддержки параллелизма. Нет конструкций вроде
insert into tbl ... values ... ASYNC
или
select AWAIT n from (select max(id) as n from tbl ASYNC)

Или я отстал давно? :pain1:
User avatar
M. Ridcully
Уже с Приветом
Posts: 12003
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: Нелюбимый язык?

Post by M. Ridcully »

DDoS wrote:Но еще больше озадачивает "поддержка параллелизма" и сравнение с pthreads...
Мне всегда казалось, что в SQL нет абсолютно никакой поддержки параллелизма. Нет конструкций вроде
insert into tbl ... values ... ASYNC
или
select AWAIT n from (select max(id) as n from tbl ASYNC)

Или я отстал давно? :pain1:
Имелось в виду, делая обычный select вы скорее всего запускаете параллельно задачи, даже не подозревая об этом.
То есть SQL, помимо всего прочего, чистый success story параллельного программирования, если измерять с точки зрения удобства использования.
DDoS
Уже с Приветом
Posts: 1309
Joined: 16 Feb 2017 02:05

Re: Нелюбимый язык?

Post by DDoS »

M. Ridcully wrote:
DDoS wrote:Но еще больше озадачивает "поддержка параллелизма" и сравнение с pthreads...
Мне всегда казалось, что в SQL нет абсолютно никакой поддержки параллелизма. Нет конструкций вроде
insert into tbl ... values ... ASYNC
или
select AWAIT n from (select max(id) as n from tbl ASYNC)

Или я отстал давно? :pain1:
Имелось в виду, делая обычный select вы скорее всего запускаете параллельно задачи, даже не подозревая об этом.
То есть SQL, помимо всего прочего, чистый success story параллельного программирования, если измерять с точки зрения удобство использования.
В этом случае success story будет удачная имплементация SQL-сервера. В каком-нибудь Firebird Embedded старых версий (<2.5) никаких параллельных задач не было.
User avatar
M. Ridcully
Уже с Приветом
Posts: 12003
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: Нелюбимый язык?

Post by M. Ridcully »

DDoS wrote:
M. Ridcully wrote:
DDoS wrote:Но еще больше озадачивает "поддержка параллелизма" и сравнение с pthreads...
Мне всегда казалось, что в SQL нет абсолютно никакой поддержки параллелизма. Нет конструкций вроде
insert into tbl ... values ... ASYNC
или
select AWAIT n from (select max(id) as n from tbl ASYNC)

Или я отстал давно? :pain1:
Имелось в виду, делая обычный select вы скорее всего запускаете параллельно задачи, даже не подозревая об этом.
То есть SQL, помимо всего прочего, чистый success story параллельного программирования, если измерять с точки зрения удобство использования.
В этом случае success story будет удачная имплементация SQL-сервера. В каком-нибудь Firebird Embedded старых версий (<2.5) никаких параллельных задач не было.
Имплементация тоже важна, да.
Но это успех и языка тоже - он на таком уровне абстракции, чтобы позволять параллелизацию на уровне имплементации с одной стороны, и при этом "параллельные программы" на нём может писать бухгалтер.
А будь в нём кое-какие фичи которые тут OtherSide хочет - явно заданный план там, и т.д. - как знать, быть может это сделало бы его менее доступным для пользователя и при этом связало руки тем, кто его имплементирует.
User avatar
Dmitry67
Уже с Приветом
Posts: 28283
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Re: Нелюбимый язык?

Post by Dmitry67 »

У SQL много проблем
Но представьте каков его возраст при требовании совместимости!!!
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
User avatar
OtherSide
Уже с Приветом
Posts: 17361
Joined: 01 Mar 2008 15:14

Re: Нелюбимый язык?

Post by OtherSide »

https://ru.wikipedia.org/wiki/%D0%A0%D0 ... 0.B8.D0.B5" onclick="window.open(this.href);return false;

Вот пожалуйста. Почем не реализованы операции Intersect и Divide?
Почему нельзя запрос разбивать на подзапросы для большего удобства отладки

План построения запроса часто непредсказуемый, для меня например было сюрпризом, что between и два < и > работают по-разном (between использует индекс!)

В Ms sql передавать таблицу как аргуемнт нельзя
Last edited by OtherSide on 24 Feb 2017 10:51, edited 1 time in total.
iDesperado
Уже с Приветом
Posts: 1422
Joined: 28 Nov 2008 17:50

Re: Нелюбимый язык?

Post by iDesperado »

OtherSide, вы бы про SQL чего нибудь почитали, начните с этого
http://courses.cs.vt.edu/~cs4604/Fall09 ... lgebra.pdf" onclick="window.open(this.href);return false;

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

в мсскл все таблицы передаются времянками, а не аргументами.
User avatar
OtherSide
Уже с Приветом
Posts: 17361
Joined: 01 Mar 2008 15:14

Re: Нелюбимый язык?

Post by OtherSide »

iDesperado wrote:OtherSide, вы бы про SQL чего нибудь почитали, начните с этого
http://courses.cs.vt.edu/~cs4604/Fall09 ... lgebra.pdf" onclick="window.open(this.href);return false;

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

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

По передаче таблиц я уже писал. У меня задача - есть десяток хранимок и 4 таблицы с идентичной структурой, каждые по миллиард записей. Почему я не могу повторно использовать код, а приходится делать копипаст. Можно конечно объединить в одну и добавить поле и индекс, но ведь это забирает место на диске и замедляет время выполнения запроса.
iDesperado
Уже с Приветом
Posts: 1422
Joined: 28 Nov 2008 17:50

Re: Нелюбимый язык?

Post by iDesperado »

OtherSide wrote: Ну да типа декларативный, но на деле декларативность исполнена через жопу и реально ее нет, один и тот же результат можно получить разными запросами, с разной эффективностью.
Зачем нужна такая декларативность, когда не уверен что будет отдан ожидаемый результат?
что бы оптимизатор перестраивал автоматом план по мере роста данных, а не как в бигдата/MapReduce ставил перед тупыми дилемами дурачка-индуса при банальном джоине пары датасетов. когда индус зашивает способ на века и естественно никогда не угадывает оптимальный вариант.
OtherSide wrote: По передаче таблиц я уже писал. У меня задача - есть десяток хранимок и 4 таблицы с идентичной структурой, каждые по миллиард записей. Почему я не могу повторно использовать код, а приходится делать копипаст. Можно конечно объединить в одну и добавить поле и индекс, но ведь это забирает место на диске и замедляет время выполнения запроса.
индусы в родственниках есть ? там миллион вариантов, начиная с view поверх 4 таблиц, заканчивая динамическим SQL и создания синонима на ходу.
вы явно занимаетесь не своим делом.
User avatar
OtherSide
Уже с Приветом
Posts: 17361
Joined: 01 Mar 2008 15:14

Re: Нелюбимый язык?

Post by OtherSide »

iDesperado wrote: индусы в родственниках есть ? там миллион вариантов, начиная с view поверх 4 таблиц, заканчивая динамическим SQL и создания синонима на ходу.
вы явно занимаетесь не своим делом.
А у вас кто в родственниках? Таджики или может чукчи? Которые писатель, не читатель?
Я что, писал, что нет способов? Я писал о говно-языке, которые раздражает и который можно было сделать гораздо изящнее.
Если бы вы немного умели думать, то поняли бы что пляска через view
а) кривая по сути
б) с непредсказуемым планом выполнения, скорее всего неоптимальным

На ваших слайдах вы пишите аналоги операций рельяционной алгебры. Вопрос опять - нахрена? Почему бы сразу неисользовать эту алгебру вместо вереницы нечитаемых селектов и джойнов?
iDesperado
Уже с Приветом
Posts: 1422
Joined: 28 Nov 2008 17:50

Re: Нелюбимый язык?

Post by iDesperado »

OtherSide wrote: А у вас кто в родственниках? Таджики или может чукчи? Которые писатель, не читатель?
те кто вот таким индусам руки отрывает
OtherSide wrote:Почему я не могу повторно использовать код, а приходится делать копипаст.
чувак, ты классический индус, тебя с такими знаниями к субд нельзя подпускать
OtherSide wrote: На ваших слайдах вы пишите аналоги операций рельяционной алгебры. Вопрос опять - нахрена? Почему бы сразу неисользовать эту алгебру вместо вереницы нечитаемых селектов и джойнов?
что бы получить читаемый код, а не еще один perl
User avatar
OtherSide
Уже с Приветом
Posts: 17361
Joined: 01 Mar 2008 15:14

Re: Нелюбимый язык?

Post by OtherSide »

iDesperado wrote:
OtherSide wrote: А у вас кто в родственниках? Таджики или может чукчи? Которые писатель, не читатель?
те кто вот таким индусам руки отрывает
OtherSide wrote:Почему я не могу повторно использовать код, а приходится делать копипаст.
чувак, ты классический индус, тебя с такими знаниями к субд нельзя подпускать
OtherSide wrote: На ваших слайдах вы пишите аналоги операций рельяционной алгебры. Вопрос опять - нахрена? Почему бы сразу неисользовать эту алгебру вместо вереницы нечитаемых селектов и джойнов?
что бы получить читаемый код, а не еще один perl
Ну конечно, а ты прямо гений, раз решил несколько табличек по 120 гигабайт каждая объединять через вью, что бы делать к ним запрос. И прямо мастер изящного кода, вместо того что бы просто передавать имя таблички как параметр, ведь куда проще создать отдельную вьюху (кстати в глобальном неймспейсе), делать запрос через нее и получить непредсказуемый результат, вместо того что бы просто локально задавать имя таблицы внутри хранимки.
User avatar
OtherSide
Уже с Приветом
Posts: 17361
Joined: 01 Mar 2008 15:14

Re: Нелюбимый язык?

Post by OtherSide »

Вот это, что у нас, "не перл"?
where a = 1 and b = 2 and c between 3 and 4
По изяществу синтаксиса легко может конкурировать с регэкспами
iDesperado
Уже с Приветом
Posts: 1422
Joined: 28 Nov 2008 17:50

Re: Нелюбимый язык?

Post by iDesperado »

OtherSide wrote: Ну конечно, а ты прямо гений, раз решил несколько табличек по 120 гигабайт каждая объединять через вью, что бы делать к ним запрос. И прямо мастер изящного кода, вместо того что бы просто передавать имя таблички как параметр, ведь куда проще создать отдельную вьюху (кстати в глобальном неймспейсе), делать запрос через нее и получить непредсказуемый результат, вместо того что бы просто локально задавать имя таблицы внутри хранимки.
просто я привык за такое "Почему я не могу повторно использовать код, а приходится делать копипаст. " натягивать индусам опу на глаз.
чувак, займись балетом, тебе просто противопоказано писать код. ты не нашел в SQL union, не слышал про schema. ты просто индус.
User avatar
OtherSide
Уже с Приветом
Posts: 17361
Joined: 01 Mar 2008 15:14

Re: Нелюбимый язык?

Post by OtherSide »

iDesperado wrote:
OtherSide wrote: Ну конечно, а ты прямо гений, раз решил несколько табличек по 120 гигабайт каждая объединять через вью, что бы делать к ним запрос. И прямо мастер изящного кода, вместо того что бы просто передавать имя таблички как параметр, ведь куда проще создать отдельную вьюху (кстати в глобальном неймспейсе), делать запрос через нее и получить непредсказуемый результат, вместо того что бы просто локально задавать имя таблицы внутри хранимки.
просто я привык за такое "Почему я не могу повторно использовать код, а приходится делать копипаст. " натягивать индусам опу на глаз.
чувак, займись балетом, тебе просто противопоказано писать код. ты не нашел в SQL union, не слышал про schema. ты просто индус.
А ты чем занимался, олеводством? Если для тебя ОК объединять через вьюху несколько табличек в сотни гигабайт?

Return to “Вопросы и новости IT”