Нелюбимый язык?
-
- Уже с Приветом
- Posts: 20128
- Joined: 21 Feb 2009 22:55
- Location: Лох Онтарио
Re: Нелюбимый язык?
Ну, КОБОЛ-то есть еще. Кажется, АРАРАТ писал, что работает с legacy кодом на нем. Да и фортран, я слышал, в некоторых лабораториях еще используется...
-
- Уже с Приветом
- Posts: 1879
- Joined: 03 Dec 2003 23:13
- Location: Одесса - Новая Англия
Re: Нелюбимый язык?
Проще всго сказать, что вы на нём писать не имеете и поэтому всё написанное вами выглядит как кусок говна.OtherSide wrote:Да нет, для задач, которых он предназначен, он кусок говнаKomissar wrote:для задач, под которые он создан, он вполне приличен. Но ГУЙ на нем проблематично писать.OtherSide wrote:SQL вне конкуренции
-
- Уже с Приветом
- Posts: 297
- Joined: 30 Apr 2006 09:47
- Location: Great White North
Re: Нелюбимый язык?
powershell
-
- Уже с Приветом
- Posts: 28294
- Joined: 29 Aug 2000 09:01
- Location: SPB --> Gloucester, MA, US --> SPB --> Paris
Re: Нелюбимый язык?
+1rgx wrote:powershell
Он мощный, но тот кто его делал был обделен эстетическим чувством
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
-
- Уже с Приветом
- Posts: 15770
- Joined: 01 Mar 2008 15:14
Re: Нелюбимый язык?
Еще ближе к правде - вы теорию БД никогда не учили, и как лучше делать не знаете, от того вам и говно как карамелька.oleg lebedev wrote:Проще всго сказать, что вы на нём писать не имеете и поэтому всё написанное вами выглядит как кусок говна.OtherSide wrote:Да нет, для задач, которых он предназначен, он кусок говнаKomissar wrote:для задач, под которые он создан, он вполне приличен. Но ГУЙ на нем проблематично писать.OtherSide wrote:SQL вне конкуренции
-
- Уже с Приветом
- Posts: 1494
- Joined: 08 Mar 2002 10:01
- Location: NJ
Re: Нелюбимый язык?
Какие есть лучшие языки для работы с базами данных?OtherSide wrote:Еще ближе к правде - вы теорию БД никогда не учили, и как лучше делать не знаете, от того вам и говно как карамелька.
-
- Уже с Приветом
- Posts: 12017
- Joined: 08 Sep 2006 20:07
- Location: Силиконка
Re: Нелюбимый язык?
Вот меня наезды на SQL как-то даже озадачивают...
Ещё один аспект, кстати - SQL это пока самый успешный язык с поддержкой параллелизма. Большинство пользователей даже не задумываются об этом.
Попробуйте сравнить с pthreads, Open CL и т.д. с точки зрения порога вхождения.
Ещё один аспект, кстати - SQL это пока самый успешный язык с поддержкой параллелизма. Большинство пользователей даже не задумываются об этом.
Попробуйте сравнить с pthreads, Open CL и т.д. с точки зрения порога вхождения.
Мир Украине. Свободу России.
-
- Уже с Приветом
- Posts: 8485
- Joined: 02 Aug 2003 01:32
- Location: SPb->SFBA
Re: Нелюбимый язык?
Да, о немLazy444 wrote:Я думаю mikeG пишет о языке командных файлов для MS-DOS. Типа autoexec.bat , если кто помнит.thinker wrote:Под линуксом shell script называется.mikeG wrote:Язык, на котором .bat файлы пишут (у него и названия-то нет)
Code: Select all
for /f "tokens=1,* delims= " %%a in ("%*") do set params=%%b
-
- Уже с Приветом
- Posts: 20128
- Joined: 21 Feb 2009 22:55
- Location: Лох Онтарио
Re: Нелюбимый язык?
Ох. Можно я поменяю свой вариант? VBA по сравнению с ЭТИМ выглядит даже элегантно...
-
- Уже с Приветом
- Posts: 15770
- Joined: 01 Mar 2008 15:14
Re: Нелюбимый язык?
Теория БД связана с рельяционной алгеброй, но в самом SQL рел. алгебра никак не фигурирует.M. Ridcully wrote:Вот меня наезды на SQL как-то даже озадачивают...
Ещё один аспект, кстати - SQL это пока самый успешный язык с поддержкой параллелизма. Большинство пользователей даже не задумываются об этом.
Попробуйте сравнить с pthreads, Open CL и т.д. с точки зрения порога вхождения.
Код на нем трудно читать и поддерживать, сложно отлаживать и искать баги.
нет никаких инструментов для модульного подхода. нельзя запрос разбить на части и по частям отладить. нет пространств имен, нельзя передать таблицу как аргуемент, при написании запроса нельзя сразу задать его план ну и т.д.
плюс ко всем нестандартизирован, все субд кто во что гаразд
-
- Уже с Приветом
- Posts: 1309
- Joined: 16 Feb 2017 02:05
Re: Нелюбимый язык?
Меня тоже озадачивают наезды на SQL. Вполне нормальный язык для своих задач. А если у кого-то 5 таблиц с одинаковой структурой в базе и ему позарез надо динамически передать параметр имя таблицы - так это не в SQL, это в структуре базы проблема.M. Ridcully wrote:Вот меня наезды на SQL как-то даже озадачивают...
Ещё один аспект, кстати - SQL это пока самый успешный язык с поддержкой параллелизма.
Но еще больше озадачивает "поддержка параллелизма" и сравнение с pthreads...
Мне всегда казалось, что в SQL нет абсолютно никакой поддержки параллелизма. Нет конструкций вроде
insert into tbl ... values ... ASYNC
или
select AWAIT n from (select max(id) as n from tbl ASYNC)
Или я отстал давно?
-
- Уже с Приветом
- Posts: 12017
- Joined: 08 Sep 2006 20:07
- Location: Силиконка
Re: Нелюбимый язык?
Имелось в виду, делая обычный select вы скорее всего запускаете параллельно задачи, даже не подозревая об этом.DDoS wrote:Но еще больше озадачивает "поддержка параллелизма" и сравнение с pthreads...
Мне всегда казалось, что в SQL нет абсолютно никакой поддержки параллелизма. Нет конструкций вроде
insert into tbl ... values ... ASYNC
или
select AWAIT n from (select max(id) as n from tbl ASYNC)
Или я отстал давно?
То есть SQL, помимо всего прочего, чистый success story параллельного программирования, если измерять с точки зрения удобства использования.
Мир Украине. Свободу России.
-
- Уже с Приветом
- Posts: 1309
- Joined: 16 Feb 2017 02:05
Re: Нелюбимый язык?
В этом случае success story будет удачная имплементация SQL-сервера. В каком-нибудь Firebird Embedded старых версий (<2.5) никаких параллельных задач не было.M. Ridcully wrote:Имелось в виду, делая обычный select вы скорее всего запускаете параллельно задачи, даже не подозревая об этом.DDoS wrote:Но еще больше озадачивает "поддержка параллелизма" и сравнение с pthreads...
Мне всегда казалось, что в SQL нет абсолютно никакой поддержки параллелизма. Нет конструкций вроде
insert into tbl ... values ... ASYNC
или
select AWAIT n from (select max(id) as n from tbl ASYNC)
Или я отстал давно?
То есть SQL, помимо всего прочего, чистый success story параллельного программирования, если измерять с точки зрения удобство использования.
-
- Уже с Приветом
- Posts: 12017
- Joined: 08 Sep 2006 20:07
- Location: Силиконка
Re: Нелюбимый язык?
Имплементация тоже важна, да.DDoS wrote:В этом случае success story будет удачная имплементация SQL-сервера. В каком-нибудь Firebird Embedded старых версий (<2.5) никаких параллельных задач не было.M. Ridcully wrote:Имелось в виду, делая обычный select вы скорее всего запускаете параллельно задачи, даже не подозревая об этом.DDoS wrote:Но еще больше озадачивает "поддержка параллелизма" и сравнение с pthreads...
Мне всегда казалось, что в SQL нет абсолютно никакой поддержки параллелизма. Нет конструкций вроде
insert into tbl ... values ... ASYNC
или
select AWAIT n from (select max(id) as n from tbl ASYNC)
Или я отстал давно?
То есть SQL, помимо всего прочего, чистый success story параллельного программирования, если измерять с точки зрения удобство использования.
Но это успех и языка тоже - он на таком уровне абстракции, чтобы позволять параллелизацию на уровне имплементации с одной стороны, и при этом "параллельные программы" на нём может писать бухгалтер.
А будь в нём кое-какие фичи которые тут OtherSide хочет - явно заданный план там, и т.д. - как знать, быть может это сделало бы его менее доступным для пользователя и при этом связало руки тем, кто его имплементирует.
Мир Украине. Свободу России.
-
- Уже с Приветом
- Posts: 28294
- Joined: 29 Aug 2000 09:01
- Location: SPB --> Gloucester, MA, US --> SPB --> Paris
Re: Нелюбимый язык?
У SQL много проблем
Но представьте каков его возраст при требовании совместимости!!!
Но представьте каков его возраст при требовании совместимости!!!
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
-
- Уже с Приветом
- Posts: 15770
- Joined: 01 Mar 2008 15:14
Re: Нелюбимый язык?
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 передавать таблицу как аргуемнт нельзя
Вот пожалуйста. Почем не реализованы операции Intersect и Divide?
Почему нельзя запрос разбивать на подзапросы для большего удобства отладки
План построения запроса часто непредсказуемый, для меня например было сюрпризом, что between и два < и > работают по-разном (between использует индекс!)
В Ms sql передавать таблицу как аргуемнт нельзя
Last edited by OtherSide on 24 Feb 2017 10:51, edited 1 time in total.
-
- Уже с Приветом
- Posts: 1349
- Joined: 28 Nov 2008 17:50
Re: Нелюбимый язык?
OtherSide, вы бы про SQL чего нибудь почитали, начните с этого
http://courses.cs.vt.edu/~cs4604/Fall09 ... lgebra.pdf" onclick="window.open(this.href);return false;
и попробуйте осознать, SQL это декларативный язык, он не говорит как достать данные, он описывает, что достать. а использовать или не использовать индекс зависит от продвинутости оптимизатора конкретной субд, свежести статистики, характеристик таблиц, селективности индекса и миллиона других вещей.
в мсскл все таблицы передаются времянками, а не аргументами.
http://courses.cs.vt.edu/~cs4604/Fall09 ... lgebra.pdf" onclick="window.open(this.href);return false;
и попробуйте осознать, SQL это декларативный язык, он не говорит как достать данные, он описывает, что достать. а использовать или не использовать индекс зависит от продвинутости оптимизатора конкретной субд, свежести статистики, характеристик таблиц, селективности индекса и миллиона других вещей.
в мсскл все таблицы передаются времянками, а не аргументами.
-
- Уже с Приветом
- Posts: 15770
- Joined: 01 Mar 2008 15:14
Re: Нелюбимый язык?
Ну да типа декларативный, но на деле декларативность исполнена через жопу и реально ее нет, один и тот же результат можно получить разными запросами, с разной эффективностью.iDesperado wrote:OtherSide, вы бы про SQL чего нибудь почитали, начните с этого
http://courses.cs.vt.edu/~cs4604/Fall09 ... lgebra.pdf" onclick="window.open(this.href);return false;
и попробуйте осознать, SQL это декларативный язык, он не говорит как достать данные, он описывает, что достать. а использовать или не использовать индекс зависит от продвинутости оптимизатора конкретной субд, свежести статистики, характеристик таблиц, селективности индекса и миллиона других вещей.
в мсскл все таблицы передаются времянками, а не аргументами.
Зачем нужна такая декларативность, когда не уверен что будет отдан ожидаемый результат?
По передаче таблиц я уже писал. У меня задача - есть десяток хранимок и 4 таблицы с идентичной структурой, каждые по миллиард записей. Почему я не могу повторно использовать код, а приходится делать копипаст. Можно конечно объединить в одну и добавить поле и индекс, но ведь это забирает место на диске и замедляет время выполнения запроса.
-
- Уже с Приветом
- Posts: 1349
- Joined: 28 Nov 2008 17:50
Re: Нелюбимый язык?
что бы оптимизатор перестраивал автоматом план по мере роста данных, а не как в бигдата/MapReduce ставил перед тупыми дилемами дурачка-индуса при банальном джоине пары датасетов. когда индус зашивает способ на века и естественно никогда не угадывает оптимальный вариант.OtherSide wrote: Ну да типа декларативный, но на деле декларативность исполнена через жопу и реально ее нет, один и тот же результат можно получить разными запросами, с разной эффективностью.
Зачем нужна такая декларативность, когда не уверен что будет отдан ожидаемый результат?
индусы в родственниках есть ? там миллион вариантов, начиная с view поверх 4 таблиц, заканчивая динамическим SQL и создания синонима на ходу.OtherSide wrote: По передаче таблиц я уже писал. У меня задача - есть десяток хранимок и 4 таблицы с идентичной структурой, каждые по миллиард записей. Почему я не могу повторно использовать код, а приходится делать копипаст. Можно конечно объединить в одну и добавить поле и индекс, но ведь это забирает место на диске и замедляет время выполнения запроса.
вы явно занимаетесь не своим делом.
-
- Уже с Приветом
- Posts: 15770
- Joined: 01 Mar 2008 15:14
Re: Нелюбимый язык?
А у вас кто в родственниках? Таджики или может чукчи? Которые писатель, не читатель?iDesperado wrote: индусы в родственниках есть ? там миллион вариантов, начиная с view поверх 4 таблиц, заканчивая динамическим SQL и создания синонима на ходу.
вы явно занимаетесь не своим делом.
Я что, писал, что нет способов? Я писал о говно-языке, которые раздражает и который можно было сделать гораздо изящнее.
Если бы вы немного умели думать, то поняли бы что пляска через view
а) кривая по сути
б) с непредсказуемым планом выполнения, скорее всего неоптимальным
На ваших слайдах вы пишите аналоги операций рельяционной алгебры. Вопрос опять - нахрена? Почему бы сразу неисользовать эту алгебру вместо вереницы нечитаемых селектов и джойнов?
-
- Уже с Приветом
- Posts: 1349
- Joined: 28 Nov 2008 17:50
Re: Нелюбимый язык?
те кто вот таким индусам руки отрываетOtherSide wrote: А у вас кто в родственниках? Таджики или может чукчи? Которые писатель, не читатель?
чувак, ты классический индус, тебя с такими знаниями к субд нельзя подпускатьOtherSide wrote:Почему я не могу повторно использовать код, а приходится делать копипаст.
что бы получить читаемый код, а не еще один perlOtherSide wrote: На ваших слайдах вы пишите аналоги операций рельяционной алгебры. Вопрос опять - нахрена? Почему бы сразу неисользовать эту алгебру вместо вереницы нечитаемых селектов и джойнов?
-
- Уже с Приветом
- Posts: 15770
- Joined: 01 Mar 2008 15:14
Re: Нелюбимый язык?
Ну конечно, а ты прямо гений, раз решил несколько табличек по 120 гигабайт каждая объединять через вью, что бы делать к ним запрос. И прямо мастер изящного кода, вместо того что бы просто передавать имя таблички как параметр, ведь куда проще создать отдельную вьюху (кстати в глобальном неймспейсе), делать запрос через нее и получить непредсказуемый результат, вместо того что бы просто локально задавать имя таблицы внутри хранимки.iDesperado wrote:те кто вот таким индусам руки отрываетOtherSide wrote: А у вас кто в родственниках? Таджики или может чукчи? Которые писатель, не читатель?чувак, ты классический индус, тебя с такими знаниями к субд нельзя подпускатьOtherSide wrote:Почему я не могу повторно использовать код, а приходится делать копипаст.
что бы получить читаемый код, а не еще один perlOtherSide wrote: На ваших слайдах вы пишите аналоги операций рельяционной алгебры. Вопрос опять - нахрена? Почему бы сразу неисользовать эту алгебру вместо вереницы нечитаемых селектов и джойнов?
-
- Уже с Приветом
- Posts: 15770
- Joined: 01 Mar 2008 15:14
Re: Нелюбимый язык?
Вот это, что у нас, "не перл"?
По изяществу синтаксиса легко может конкурировать с регэкспамиwhere a = 1 and b = 2 and c between 3 and 4
-
- Уже с Приветом
- Posts: 1349
- Joined: 28 Nov 2008 17:50
Re: Нелюбимый язык?
просто я привык за такое "Почему я не могу повторно использовать код, а приходится делать копипаст. " натягивать индусам опу на глаз.OtherSide wrote: Ну конечно, а ты прямо гений, раз решил несколько табличек по 120 гигабайт каждая объединять через вью, что бы делать к ним запрос. И прямо мастер изящного кода, вместо того что бы просто передавать имя таблички как параметр, ведь куда проще создать отдельную вьюху (кстати в глобальном неймспейсе), делать запрос через нее и получить непредсказуемый результат, вместо того что бы просто локально задавать имя таблицы внутри хранимки.
чувак, займись балетом, тебе просто противопоказано писать код. ты не нашел в SQL union, не слышал про schema. ты просто индус.
-
- Уже с Приветом
- Posts: 15770
- Joined: 01 Mar 2008 15:14
Re: Нелюбимый язык?
А ты чем занимался, олеводством? Если для тебя ОК объединять через вьюху несколько табличек в сотни гигабайт?iDesperado wrote:просто я привык за такое "Почему я не могу повторно использовать код, а приходится делать копипаст. " натягивать индусам опу на глаз.OtherSide wrote: Ну конечно, а ты прямо гений, раз решил несколько табличек по 120 гигабайт каждая объединять через вью, что бы делать к ним запрос. И прямо мастер изящного кода, вместо того что бы просто передавать имя таблички как параметр, ведь куда проще создать отдельную вьюху (кстати в глобальном неймспейсе), делать запрос через нее и получить непредсказуемый результат, вместо того что бы просто локально задавать имя таблицы внутри хранимки.
чувак, займись балетом, тебе просто противопоказано писать код. ты не нашел в SQL union, не слышал про schema. ты просто индус.