Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

User avatar
Flash-04
Уже с Приветом
Posts: 63430
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by Flash-04 »

zVlad wrote: 10 Sep 2021 17:01
Flash-04 wrote: 10 Sep 2021 16:53 Ы? А что, другие книги не канают, нет?
Эта книга классика. По ней учились не только и не столько те кто работал с DB2 (у IBM документация достаточно хороша), но больше те кто работал с Oracle. Еще в 90-е годы.
Я не знаю книг лучше, no xуже встречались. Да и из высказываний здешних, которые явно не по "A Guide to DB2" знают SQL видно чтO они читали.
я не читал эту конкретную, но прежде чем работать с БД пару книжек с теорией по БД таки читал. Давно это было :)
Not everyone believes what I believe but my beliefs do not require them to.
zVlad
Уже с Приветом
Posts: 15420
Joined: 30 Apr 2003 16:43
Has thanked: 1 time

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by zVlad »

Flash-04 wrote: 10 Sep 2021 18:58
zVlad wrote: 10 Sep 2021 17:01
Flash-04 wrote: 10 Sep 2021 16:53 Ы? А что, другие книги не канают, нет?
Эта книга классика. По ней учились не только и не столько те кто работал с DB2 (у IBM документация достаточно хороша), но больше те кто работал с Oracle. Еще в 90-е годы.
Я не знаю книг лучше, no xуже встречались. Да и из высказываний здешних, которые явно не по "A Guide to DB2" знают SQL видно чтO они читали.
я не читал эту конкретную, но прежде чем работать с БД пару книжек с теорией по БД таки читал. Давно это было :)
Интересно когда, какие?
User avatar
Flash-04
Уже с Приветом
Posts: 63430
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by Flash-04 »

уже не помню, увы. Одна была по теории БД вообще. Там рассматривались разные БД, в том числе иерархические, вторая была по dBase IV.
Not everyone believes what I believe but my beliefs do not require them to.
zVlad
Уже с Приветом
Posts: 15420
Joined: 30 Apr 2003 16:43
Has thanked: 1 time

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by zVlad »

Flash-04 wrote: 10 Sep 2021 19:52 уже не помню, увы. Одна была по теории БД вообще. Там рассматривались разные БД, в том числе иерархические, вторая была по dBase IV.
А что Вы хотели достичь читая те книжки?
dBase IV - псевдореляционная база.
KinDzaDza
Уже с Приветом
Posts: 2273
Joined: 29 Jul 2005 17:39
Location: Калифорнийский Мухосранск

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by KinDzaDza »

zVlad wrote: 10 Sep 2021 17:45 Не Вы "ставили задачу", и не Вам подводить итоги.

И еще раз, для самых непонятливых, здесь не обсуждаются персоналитис и не дается оценка им (я не знаю так уж правила, но не удивлюсь что ими это не приветствуется), здесь обсуждаются мысли, высказывания, дела (по их описаниям). Вы выпадаете из этого простого регламента. Как выпадает, например, грыжа.
Я ещё раз могу Вам напомнить, что Вы закусили удила после того, как Вам сказали что Вы не знаете многого что есть в современном ИТ, просто потому что никогда с этим не встречались, работая последние 20+ лет в одной компании на МФ. Я не совсем понимаю, почему констатация такого простого факта Вас так сильно задела?

Вопрос по SQL был интересен тем, что заставляет задуматься а как можно использовать реляционную модель данных для получения такого результата. Кто хоть как-нибудь использовал SQL может сразу вспомнить, что когда делаешь SELECT из более чем одной таблицы и ошибаешься с условиями связи в JOIN / WHERE то часто получаешь несколько дубликатов на каждую ожидаемую единственную запись в результирующей выборке. Вот тут-то и приходит озарение, что надо просто выбрать данные из этой таблицы и любой другой с ровно N записями без всяких условий связи. Ну и остаётся только придумать откуда можно взять N записей для другой таблицы в этом JOIN.

Причём тут уникальные индексы, детские сады и прочие экскурсы в историю написания книжек именно для DB2 остаётся непонятным.
Как можно работать ДБА и не использовать SQL практически каждый день - для меня загадка. Возможно это норма для мира МФ, но что-то я сильно сомневаюсь. У меня нет опыта работы ДБА на МФ, но есть опыт ДБА с Ораклом со всякими сертификатами и прочей лабудой. Кроме того из известных БД я много работал с MSSQL но уже не как ДБА, a с MySQL переодически работаю до сих пор. Про менее известные БД с которыми мне тоже довелось поработать Вы, скорее всего, просто никогда не слышали. При этом я даже и не пытаюсь учить Вас или кого-либо еще как и что делать на МФ или в DB2. Почувствуйте разницу.
User avatar
Flash-04
Уже с Приветом
Posts: 63430
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by Flash-04 »

zVlad wrote:
Flash-04 wrote: 10 Sep 2021 19:52 уже не помню, увы. Одна была по теории БД вообще. Там рассматривались разные БД, в том числе иерархические, вторая была по dBase IV.
А что Вы хотели достичь читая те книжки?
dBase IV - псевдореляционная база.
Как чего? Чтобы, понять принцип работы. Кстати сильно помогло. Как резултат переделал с нуля БД которая была в конторе где я тогда работал и операции с ней стали намного быстрее.
Not everyone believes what I believe but my beliefs do not require them to.
zVlad
Уже с Приветом
Posts: 15420
Joined: 30 Apr 2003 16:43
Has thanked: 1 time

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by zVlad »

KinDzaDza wrote: 10 Sep 2021 20:39
zVlad wrote: 10 Sep 2021 17:45 Не Вы "ставили задачу", и не Вам подводить итоги.

И еще раз, для самых непонятливых, здесь не обсуждаются персоналитис и не дается оценка им (я не знаю так уж правила, но не удивлюсь что ими это не приветствуется), здесь обсуждаются мысли, высказывания, дела (по их описаниям). Вы выпадаете из этого простого регламента. Как выпадает, например, грыжа.
Я ещё раз могу Вам напомнить, что Вы закусили удила после того, как Вам сказали что Вы не знаете многого что есть в современном ИТ, просто потому что никогда с этим не встречались, работая последние 20+ лет в одной компании на МФ. Я не совсем понимаю, почему констатация такого простого факта Вас так сильно задела?

Вопрос по SQL был интересен тем, что заставляет задуматься а как можно использовать реляционную модель данных для получения такого результата. Кто хоть как-нибудь использовал SQL может сразу вспомнить, что когда делаешь SELECT из более чем одной таблицы и ошибаешься с условиями связи в JOIN / WHERE то часто получаешь несколько дубликатов на каждую ожидаемую единственную запись в результирующей выборке. Вот тут-то и приходит озарение, что надо просто выбрать данные из этой таблицы и любой другой с ровно N записями без всяких условий связи. Ну и остаётся только придумать откуда можно взять N записей для другой таблицы в этом JOIN.

Причём тут уникальные индексы, детские сады и прочие экскурсы в историю написания книжек именно для DB2 остаётся непонятным.
Как можно работать ДБА и не использовать SQL практически каждый день - для меня загадка. Возможно это норма для мира МФ, но что-то я сильно сомневаюсь. У меня нет опыта работы ДБА на МФ, но есть опыт ДБА с Ораклом со всякими сертификатами и прочей лабудой. Кроме того из известных БД я много работал с MSSQL но уже не как ДБА, a с MySQL переодически работаю до сих пор. Про менее известные БД с которыми мне тоже довелось поработать Вы, скорее всего, просто никогда не слышали. При этом я даже и не пытаюсь учить Вас или кого-либо еще как и что делать на МФ или в DB2. Почувствуйте разницу.
Спасиби за обстоятельный рассказ. По крайней мере становится понятней что Вы имели в виду умалчивая одно и упирая на другое.

Ну во-первых, я много раз писал о том что даже за последние 20 лет я занимался не только МФ (хоты и этого было бы вполне достачно), но и многим другим. Поэтому и утверждаю что мне известны многие технологии ИТ, кроме каких-нибудь экзотически. Да и на самом МФ многие технологие есть, есть с чем работать что бы не скучать. Так что факт, который Вы констатируете, просто не имеет места быть.
Во-вторых, запросы надо писать без "ошибок с условиями связи в JOIN / WHERE", их надо отлаживать,
В-третьих есть волшебное слово DISTINCT.
В-четвертых, так случилось что я работаю на стыке DB2, Oracle and MS SQL. Репликация и не только. У меня сложились хорошие деловые связи с нашим ДБА (из Москвы) на Оракл, и МС. Я часто ему подсказываю и он часто говорит мне спасибо за подсказки. Он рассказывает мне о своих проблемах в Оракл, и МС и я ему помогаю с ними разбираться. РАссказываю ему прп ДБ2 и он соглашается с тем что многое в ДБ2 сделано лучше чем в Оракл и МС. Но это, как говорится, в пользу бедных. Есть еще один ДБА (англоговорящий) ему что не скажешь - как об стенку горох. Любимая фраза у него "I did manually...".
Да, есть много разных баз данных. Вы слыхали что-нибудь про Adabas? Дисод? IDMS? IMS? SQL/DS? DB2/2? Просто любопытно, ничего другого. Но реляционных баз данных для серьезных применений есть три, Они перечисленны выше. Я считаю себя специалистом только по реляционным. Другие мне не интересны, тем более что БД для меня не являются основой моей ролью на МФ с 2006 года. Правда с 2016 когда ушал на пенсию наша ДБ2 ДБА, ДБ2 вернулось обратно ко мне, с довеском - IDMS, которого я никогда не изучал. Тем менее считается что и это саппортаю, что и в самом деле удается как то.

По теме SQL я готов о многом говорить и помогать разбираться в сколь угодно сложных ситуациях. Но конкретно, а не тонкими намеками на толстые обстоятельства. С кодом в руках. И я не "как-нибудь использовал SQL", а постоянно имею с ним деле с 1993-го года. Включае формальный перерыв с 2006 по 2016 когда использовал ДБ2 и SQL в работе с совершенно другими областями ИТ на МФ.

Пожалуйста, прекратите делать домыслы обо мне. Вам это очень плохо удается. Лучше рассказывайте о Ваших проблемах с SQL, а я Вам с радостью помогу.
sp123
Уже с Приветом
Posts: 1962
Joined: 24 Feb 2001 10:01
Location: Челябинск -> Everett, WA

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by sp123 »

Насчет дубликатов. Вообще-то там был смайлик. Хотя да, это один из расхожих вопросов на интервью. Из серии того, как джавистов заставляют инвертировать бинарные деревья, хотя в реальной жизни это никому не надо.

Что до уникальных ключей и правильных дизайнов… Всё это хорошо, но возможно далеко не всегда. Примеров много. В распределенных базах есть индексы, но они локальные, а таблица раскидана на множество баз по хэш коду. Или вот пример - внутри одной базы таблица partitioned с условием ежедневного drop старой partition; в этом случае глобальный индекс строить нежелательно. Также есть базы или просто распределенные файловые хранилища, где индексов вообще нет в принципе, а SQL есть. Да и в традиционной небольшой RDBMS на одном сервере может возникать проблема чистки мусора, почему нет? Мало ли, ну ошибся кто-то вначале, надо исправить, передизайнить и привести в порядок. Или, к примеру, какая-нибудь staging таблица, куда валятся сырые данные из какой-нибудь кафки - там дубликаты по дизайну в порядке вещей по специфическим причинам. И что, сразу вставать и уходить?


Sent from my iPhone using Tapatalk Pro
zVlad
Уже с Приветом
Posts: 15420
Joined: 30 Apr 2003 16:43
Has thanked: 1 time

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by zVlad »

sp123 wrote: 10 Sep 2021 21:29 Насчет дубликатов. Вообще-то там был смайлик. Хотя да, это один из расхожих вопросов на интервью. Из серии того, как джавистов заставляют инвертировать бинарные деревья, хотя в реальной жизни это никому не надо.

Что до уникальных ключей и правильных дизайнов… Всё это хорошо, но возможно далеко не всегда. Примеров много. В распределенных базах есть индексы, но они локальные, а таблица раскидана на множество баз по хэш коду. Или вот пример - внутри одной базы таблица partitioned с условием ежедневного drop старой partition; в этом случае глобальный индекс строить нежелательно. Также есть базы или просто распределенные файловые хранилища, где индексов вообще нет в принципе, а SQL есть. Да и в традиционной небольшой RDBMS на одном сервере может возникать проблема чистки мусора, почему нет? Мало ли, ну ошибся кто-то вначале, надо исправить, передизайнить и привести в порядок. Или, к примеру, какая-нибудь staging таблица, куда валятся сырые данные из какой-нибудь кафки - там дубликаты по дизайну в порядке вещей по специфическим причинам. И что, сразу вставать и уходить?


Sent from my iPhone using Tapatalk Pro
Хорошо. Ну и какие проблемы чтобы почистить даннысе, убрать дубликаты. Это можно делать как на SQL так и другими способами.
В SQL для этого используется GROUP BY .... HAVING COUNT(*) > 1
zVlad
Уже с Приветом
Posts: 15420
Joined: 30 Apr 2003 16:43
Has thanked: 1 time

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by zVlad »

Flash-04 wrote: 10 Sep 2021 20:57
zVlad wrote:
Flash-04 wrote: 10 Sep 2021 19:52 уже не помню, увы. Одна была по теории БД вообще. Там рассматривались разные БД, в том числе иерархические, вторая была по dBase IV.
А что Вы хотели достичь читая те книжки?
dBase IV - псевдореляционная база.
Как чего? Чтобы, понять принцип работы. Кстати сильно помогло. Как резултат переделал с нуля БД которая была в конторе где я тогда работал и операции с ней стали намного быстрее.
Интересно. А можно поподробнее. Правда интересно, хоть в общих чертах.
zVlad
Уже с Приветом
Posts: 15420
Joined: 30 Apr 2003 16:43
Has thanked: 1 time

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by zVlad »

sp123 wrote: 09 Sep 2021 22:31
KinDzaDza wrote: В реальной же жизни как правило стоит прямо противоположная задача - с какого перепуга у нас тут появляются дубликаты и как их убрать. Но задачка для интервью неплохая.
Тут сразу же напрашивается классический вопрос для интервью - как удалить дубликаты одним sql стейтментом Image


Sent from my iPhone using Tapatalk Pro
Ну и как?
dama123
Уже с Приветом
Posts: 742
Joined: 08 Apr 2021 01:54

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by dama123 »

zVlad wrote: 10 Sep 2021 18:13 Еще раз, для непонятливых.
Я не просил задавать мне задачи по ИТ (хоть я и не против этого, но в другом контексте.
Все началось вот с этого:
dama123 wrote: 05 Sep 2021 05:09
zVlad wrote: 04 Sep 2021 20:10 В обоих случаях, приведенных Вами, я кое-что знаю.
Ну напрягитесь еще. Может получится.
Логично. Народ называет технологию, а zVlad с умным видом: О! Это я знаю
Интересная игра
...
Никому не интересно проверять что Вы( или кто-то другой) не знаете. Тем более вы уже все показали рассказами про то, как в AWS требуются недели чтобы создать VM с Linux/Oracle. Ну и про то, что не знали что instance можно stop/start в любой момент.

Даже на интервью имеет смысл разгоаривать с человеком только про то, что знает, а не про то, что он не знает.
zVlad
Уже с Приветом
Posts: 15420
Joined: 30 Apr 2003 16:43
Has thanked: 1 time

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by zVlad »

dama123 wrote: 11 Sep 2021 01:33 ..... Тем более вы уже все показали рассказами про то, как в AWS требуются недели чтобы создать VM с Linux/Oracle. ...
Не в AWS, а в Azure. Дальше разговаривать не о чем.
dama123
Уже с Приветом
Posts: 742
Joined: 08 Apr 2021 01:54

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by dama123 »

zVlad wrote: 11 Sep 2021 01:40
dama123 wrote: 11 Sep 2021 01:33 ..... Тем более вы уже все показали рассказами про то, как в AWS требуются недели чтобы создать VM с Linux/Oracle. ...
Не в AWS, а в Azure. Дальше разговаривать не о чем.
Хорошо что Вы наконец это поняли

https://docs.microsoft.com/en-us/azure/ ... ick-create
sp123
Уже с Приветом
Posts: 1962
Joined: 24 Feb 2001 10:01
Location: Челябинск -> Everett, WA

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by sp123 »

zVlad wrote: 10 Sep 2021 22:38
sp123 wrote: 09 Sep 2021 22:31
KinDzaDza wrote: В реальной же жизни как правило стоит прямо противоположная задача - с какого перепуга у нас тут появляются дубликаты и как их убрать. Но задачка для интервью неплохая.
Тут сразу же напрашивается классический вопрос для интервью - как удалить дубликаты одним sql стейтментом Image


Sent from my iPhone using Tapatalk Pro
Ну и как?

create table my_table (fld1 varchar(10));

insert into my_table (fld1) values ('aaa'), ('aaa'), ('bbb'), ('aaa'), ('bbb'), ('ccc');

delete from my_table a where ctid > (select min(ctid) from my_table b where a.fld1 = b.fld1);

Это ситаксис Postgres. Для Oracle все то же самое, только вместо CTID использовать ROWID. Какой аналог внутренненго уникального идентификатора записи в DB2 я не в курсе, но можно поиграться с row_number() over ().

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