Информация об изменениях

Сообщение Re[57]: MS забило на дотнет. Питону - да, сишарпу - нет? от 30.09.2021 7:43

Изменено 30.09.2021 8:11 vdimas

Re[57]: MS забило на дотнет. Питону - да, сишарпу - нет?
Здравствуйте, Sinclair, Вы писали:

V>>Какую именно МОЮ ошибку?

S>Вы перепутали два совершенно разных коннектора.

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


V>>Июль 2020.

V>>И до этого жизни в дотнете не было, судя по всему?
S>А если копнуть в 2001 год, то там и генериков-то не было.

Не прокатило.


S>Мы же говорим про сейчас, а не про тёмное прошлое.


Сейчас достоверно работает официальный.
По твоей ссылке пока мест неизвестно что.


V>>Теперь берём некий боевой новый проект и вот мелькнула мысль взять с гитхаба код этих двух чуваков...

S>Не, давайте так. Посмотрим, к примеру, на EntityFramework 6 и проект, который на три четверти написан каким-то чудиком с гитхаба.

linq2db пишется и используется, вроде бы, с 2002-го?
В его написании, тестировании, code review, обмена идеями и проч, и проч участвовали десятки если не сотни людей, и я в том числе в разные годы.
Помимо всего этого непосредственно привносили код и тесты тоже достаточно людей.
А использовали в реальных проектах многие тысячи, скорее всего, и я тоже в нескольких.
Ну и, ес-но, накопленная база тестов на порядки больше, чем по твоей ссылке.

Вот как доживёт тот проект до такого же покрытия тестами и людьми — приходи.


S>На какой сам сядешь, на какой маму посадишь?


Ты бы выплюнул, прежде чем говорить.


V>>Ничего против этой парочки не имею, конечно... но ты примерно представляешь объем тестов корректности, которые потребуется написать, чтобы принять решение — стоит рисковать брать самописный левый драйвер в боевую разработку или нет?

S>Конечно представляю. Вот они: https://github.com/mysql-net/MySqlConnector/tree/master/tests

Во-первых, вот они:
https://github.com/mysql-net/MySqlConnector/tree/master/tests/MySqlConnector.Tests

Во-вторых, в тесты ты не заглядывал.
Сравни с тестами linq2db, включая предыдущие две инкарнации, начиная с RDF.

Тестирование поделия по ссылке еще не начиналось от слова вообще, поэтому я и поставил вопрос как поставил — необходимо написать тонну тестов с 0-ля.
Потому что в отличие от тебя, я в имеющиеся "тесты" заглядывал.
Их нет.


V>>Представь, что решения принимаешь ты и отвечаешь за них тоже ты, в т.ч. возможным банкротством.

V>>Я так думаю, что ты никаких тестов писать не будешь, тихонько возьмёшь официальный драйвер, как это делают 99.99% разработчиков и забъёшь на разницу в эффективности болт.
S>Для начала: 99.99% разработчиков никаким банкротством ни за что не отвечают.

Кто не отвечает, тот и не принимает решения.
Или принимает такие решения, от последствий которых фирма не пострадает, т.е. орудует в песочнице того или иного вида.


S>Ну, вот взять хотя бы вас. Не сможете вы внести багу, которая вашу компанию к банкротству приведёт.


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

Одно но — эта бага до продакшена не дойдёт.
А в поделии по твоей ссылке до продакшена дойдёт любая бага.


S>Далее: бага может обнаружиться в любом коде. В том числе — и в оракловом.


Такого типа баги:

Unnamed parameter not supported by MySqlCommand.Prepare

Которые в процессе разработки не обнаружатся? ))

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

В деле доступа к БД трясутся над тем, чтобы данные правильно выдавались.
А прецеденты-то были.


S>Что ж вы не боитесь ответить банкротством за баги Оракла?


Ответил выше.


V>>Зато здесь ля-ля-ля разводить так удобно, потому что безопасно...

S>Пошёл уже феерический бред. Я правильно понимаю, что вам не пришло в голову то, что смена драйвера — это не самая сложная процедура?

Да нифига ты не понимаешь.
Перешёл на беспомощное блеяние, противно читать.

Я находил баги и в майкрософтном ADO.Net драйвере к MS SQL.
В дотнет Core тоже найдено и зарепорчено несколько багов.

А ты в этом плане никто и звать тебя никак.
Болтун-фантазёр, который вообразил себе будто дотнет бабочками какает, просто потому что это дотнет, а как дела обстоят на самом деле — ни сном ни духом.

Да, я помню, как ты чуть ли не громче всех орал примерно в 2005-м, что дотнет позволяет делать меньше ошибок.
Но на деле вышло наоборот — такого чудовищного кол-ва ошибок как в дотнетном коде еще поискать.
У багов в дотнетном коде гнездо by design.
Да и общее кач-во как высокоуровневого дизайна, так и конкретных воплощающих его сниппетов — отвратительное.
Такова реальность.
Плата за "низкую планку входа".

А как верищали, помнится: "Дотнет позволяет не отвлекаться на низкоуровневые подробности, но заниматься прикладными задачами!".
Оказалось ложью.
Не дотнет-среда или дотнет-языки позволяли, а тупо большой набор готовых либ в поставке.
Стоило поспеть аналогичным либам и в нейтиве примерно к 2007-2008-м годам — и дотнетный лозунг всё очевиднее стал читаться как "мозги теперь не нужны, программируйте на отгребись, оно всё-равно худо-бедно, но заработает!"

Чего далеко ходить, по твоей ссылке код каких-то конченных двух олигофренов, посмотри сам:
    public sealed class MySqlBatch 
...
    protected override async Task<DbDataReader> ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
    {
        ((ICancellableCommand) this).ResetCommandTimeout();
        using var registration = ((ICancellableCommand) this).RegisterCancel(cancellationToken);
        return await ExecuteReaderAsync(behavior, AsyncIOBehavior, cancellationToken).ConfigureAwait(false);
    }

Ничего тебя не смущает?

Приведение sealed this к интерфейсу.
В голове у авторов мусор вместо человеческих мозгов.

А лично у меня лёгкий ступор.
И от того, как много в дотнете профнепригодных дэбилов, прям гнездо.
И особенно когда этих дэбилов представляют в духе "полюбуйтесь на наших передовиков!".
Если передовики такие, какие ж остальные?
(вот-то не спеши торопиться никогда)

Ну и чуть меньший ступор от того, насколько по-скотски ты решил отстаивать своё священное право проповедовать дэбильное легкомыслие.
С гнильцой вышли оба у тебя — и форма, и содержание.


S>Ну, то есть если вдруг окажется, что нормальный драйвер вдруг уже оказался хуже, чем оракловое говно?


Хинт: чем очевидней спекуляция, тем больше тянет на зевоту.
Re[57]: MS забило на дотнет. Питону - да, сишарпу - нет?
Здравствуйте, Sinclair, Вы писали:

V>>Какую именно МОЮ ошибку?

S>Вы перепутали два совершенно разных коннектора.

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


V>>Июль 2020.

V>>И до этого жизни в дотнете не было, судя по всему?
S>А если копнуть в 2001 год, то там и генериков-то не было.

Не прокатило.


S>Мы же говорим про сейчас, а не про тёмное прошлое.


Сейчас достоверно работает официальный.
По твоей ссылке пока мест неизвестно что.


V>>Теперь берём некий боевой новый проект и вот мелькнула мысль взять с гитхаба код этих двух чуваков...

S>Не, давайте так. Посмотрим, к примеру, на EntityFramework 6 и проект, который на три четверти написан каким-то чудиком с гитхаба.

linq2db пишется и используется, вроде бы, с 2002-го?
В его написании, тестировании, code review, обмена идеями и проч, и проч участвовали десятки если не сотни людей, и я в том числе в разные годы.
Помимо всего этого непосредственно привносили код и тесты тоже достаточно людей.
А использовали в реальных проектах многие тысячи, скорее всего, и я тоже в нескольких.
Ну и, ес-но, накопленная база тестов на порядки больше, чем по твоей ссылке.

Вот как доживёт тот проект до такого же покрытия тестами и людьми — приходи.


S>На какой сам сядешь, на какой маму посадишь?


Ты бы выплюнул, прежде чем говорить.


V>>Ничего против этой парочки не имею, конечно... но ты примерно представляешь объем тестов корректности, которые потребуется написать, чтобы принять решение — стоит рисковать брать самописный левый драйвер в боевую разработку или нет?

S>Конечно представляю. Вот они: https://github.com/mysql-net/MySqlConnector/tree/master/tests

Во-первых, вот они:
https://github.com/mysql-net/MySqlConnector/tree/master/tests/MySqlConnector.Tests

Во-вторых, в тесты ты не заглядывал.
Сравни с тестами linq2db, включая предыдущие две инкарнации, начиная с RDF.

Тестирование поделия по ссылке еще не начиналось от слова вообще, поэтому я и поставил вопрос как поставил — необходимо написать тонну тестов с 0-ля.
Потому что в отличие от тебя, я в имеющиеся "тесты" заглядывал.
Их нет.


V>>Представь, что решения принимаешь ты и отвечаешь за них тоже ты, в т.ч. возможным банкротством.

V>>Я так думаю, что ты никаких тестов писать не будешь, тихонько возьмёшь официальный драйвер, как это делают 99.99% разработчиков и забъёшь на разницу в эффективности болт.
S>Для начала: 99.99% разработчиков никаким банкротством ни за что не отвечают.

Кто не отвечает, тот и не принимает решения.
Или принимает такие решения, от последствий которых фирма не пострадает, т.е. орудует в песочнице того или иного вида.


S>Ну, вот взять хотя бы вас. Не сможете вы внести багу, которая вашу компанию к банкротству приведёт.


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

Одно но — эта бага до продакшена не дойдёт.
А в поделии по твоей ссылке до продакшена дойдёт любая бага.


S>Далее: бага может обнаружиться в любом коде. В том числе — и в оракловом.


Такого типа баги:

Unnamed parameter not supported by MySqlCommand.Prepare

Которые в процессе разработки не обнаружатся? ))
В любом случае, by design этот метод имеет право делать nothing прямо согласно семантики исходного интерфейса.

А еще MS SQL ADO.Net драйвер тоже не поддерживет unnamed-параметры для обычных запросов, их подерживает только ODBC-драйвер.
Хотя MS SQL ADO.Net поддерживает ODBC-like вызовы хранимок, но Prepare для хранимок ничего не делает.
(хотя пофик, это всё ни о чём в любом случае)

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

В деле доступа к БД трясутся над тем, чтобы данные правильно выдавались, бо страшно.
И прецеденты с ошибками дров БД были.


S>Что ж вы не боитесь ответить банкротством за баги Оракла?


Ответил выше.


V>>Зато здесь ля-ля-ля разводить так удобно, потому что безопасно...

S>Пошёл уже феерический бред. Я правильно понимаю, что вам не пришло в голову то, что смена драйвера — это не самая сложная процедура?

Да нифига ты не понимаешь.
Перешёл на беспомощное блеяние, противно читать.

Я находил баги и в майкрософтном ADO.Net драйвере к MS SQL.
В дотнет Core тоже найдено и зарепорчено несколько багов.

А ты в этом плане никто и звать тебя никак.
Болтун-фантазёр, который вообразил себе будто дотнет бабочками какает, просто потому что это дотнет, а как дела обстоят на самом деле — ни сном ни духом.

Да, я помню, как ты чуть ли не громче всех орал примерно в 2005-м, что дотнет позволяет делать меньше ошибок.
Но на деле вышло наоборот — такого чудовищного кол-ва ошибок как в дотнетном коде еще поискать.
У багов в дотнетном коде гнездо by design.
Да и общее кач-во как высокоуровневого дизайна, так и конкретных воплощающих его сниппетов — отвратительное.
Такова реальность.
Плата за "низкую планку входа".

А как верищали, помнится: "Дотнет позволяет не отвлекаться на низкоуровневые подробности, но заниматься прикладными задачами!".
Оказалось ложью.
Не дотнет-среда или дотнет-языки позволяли, а тупо большой набор готовых либ в поставке.
Стоило поспеть аналогичным либам и в нейтиве примерно к 2007-2008-м годам — и дотнетный лозунг всё очевиднее стал читаться как "мозги теперь не нужны, программируйте на отгребись, оно всё-равно худо-бедно, но заработает!"

Чего далеко ходить, по твоей ссылке код каких-то конченных двух олигофренов, посмотри сам:
    public sealed class MySqlBatch 
...
    protected override async Task<DbDataReader> ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
    {
        ((ICancellableCommand) this).ResetCommandTimeout();
        using var registration = ((ICancellableCommand) this).RegisterCancel(cancellationToken);
        return await ExecuteReaderAsync(behavior, AsyncIOBehavior, cancellationToken).ConfigureAwait(false);
    }

Ничего тебя не смущает?

Приведение sealed this к интерфейсу.
В голове у авторов мусор вместо человеческих мозгов.

А лично у меня лёгкий ступор.
И от того, как много в дотнете профнепригодных дэбилов, прям гнездо.
И особенно когда этих дэбилов представляют в духе "полюбуйтесь на наших передовиков!".
Если передовики такие, какие ж остальные?
(вот-то не спеши торопиться никогда)

Ну и чуть меньший ступор от того, насколько по-скотски ты решил отстаивать своё священное право проповедовать дэбильное легкомыслие.
С гнильцой вышли оба у тебя — и форма, и содержание.


S>Ну, то есть если вдруг окажется, что нормальный драйвер вдруг уже оказался хуже, чем оракловое говно?


Хинт: чем очевидней спекуляция, тем больше тянет на зевоту.