Python vs C#
От: Разраб  
Дата: 20.04.24 06:53
Оценка: +1 -2 :))) :))) :))
Вопрос к апологетам шарпа.
Если он такой классный, почему к нему так мало батареек?
Говорят питон медленный. Нет! Пробовал запустить небольщую настолку.
ракета. даже нет смысла сравнивать с шарпами. причем и фазы компиляции нет,
и все равно быстрее)) Ну, а если нужны готовые компоненты то тут вообще
и кол-во и качество сильно меньше чем в питоне.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: Python vs C#
От: Osaka  
Дата: 20.04.24 11:14
Оценка: :))
>Вопрос к апологетам шарпа.
>Если он такой классный, почему к нему так мало батареек?
Мало чего?
>Говорят питон медленный. Нет! Пробовал запустить небольщую настолку.
Запустить накуда?
Апологеты шарпа не знают зумерского жаргона и не понимают о чём вообще речь.
Re: Python vs C#
От: imh0  
Дата: 20.04.24 11:17
Оценка: -2 :)
Здравствуйте, Разраб, Вы писали:

Р>Говорят питон медленный. Нет! Пробовал запустить небольщую настолку.


на Питоне вообще мало кто умеет писать — то что вижу из написанного, выглядит как написанное на СИ или C# ))

Питон это язык для манипулирования массивами.
Если видишь в питонячем коде иф или цикл, то автора надо в биореактор )
Re: Python vs C#
От: CreatorCray  
Дата: 20.04.24 13:10
Оценка: +2 :)
Здравствуйте, Разраб, Вы писали:

Р>почему к нему так мало батареек?

Шта?

Р>Пробовал запустить небольщую настолку.

Что пробовал запустить?

Р>ракета

Бобр!

Несвязуха какая то!
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[2]: Python vs C#
От: kov_serg Россия  
Дата: 20.04.24 20:22
Оценка: 3 (1) +4
Здравствуйте, imh0, Вы писали:

I>на Питоне вообще мало кто умеет писать — то что вижу из написанного, выглядит как написанное на СИ или C# ))

Так питон и нужен что бы х%%як-х%%к и в продакшен. Это язык склейки уже готовых библиотек. Писать на нём конечно-же можно, но не опускаясь до деталей.

I>Питон это язык для манипулирования массивами.

Нет он позволяет просто и быстро использовать накопленный другими опыт.
Re[2]: Python vs C#
От: student__  
Дата: 21.04.24 14:42
Оценка:
Здравствуйте, imh0, Вы писали:
I>Если видишь в питонячем коде иф или цикл, то автора надо в биореактор )

а Гвидо, который добавил for в Питон расстрелять по месту жительства?
Re[3]: Python vs C#
От: Буравчик Россия  
Дата: 21.04.24 17:34
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>Так питон и нужен что бы х%%як-х%%к и в продакшен. Это язык склейки уже готовых библиотек. Писать на нём конечно-же можно, но не опускаясь до деталей.


Это отличный язык для любых IO-bound задач.
Используется в куче серьезных систем, включая высоконагруженные.
Best regards, Буравчик
Re[4]: Python vs C#
От: CreatorCray  
Дата: 21.04.24 21:45
Оценка:
Здравствуйте, Буравчик, Вы писали:

Б>Это отличный язык для любых IO-bound задач.

Т.е. очень медленный.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[5]: Python vs C#
От: Буравчик Россия  
Дата: 22.04.24 10:44
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Т.е. очень медленный.


Т.е. очень удобный.
Для io-bound задач не сильно важна скорость языка.
Best regards, Буравчик
Re[6]: Python vs C#
От: pagid_ Россия  
Дата: 22.04.24 12:20
Оценка: +1
Здравствуйте, Буравчик, Вы писали:

Б>Т.е. очень удобный.

Может и не очень важна, но как из этого следует "очень удобный"?
Б>Для io-bound задач не сильно важна скорость языка.
Re[7]: Python vs C#
От: Буравчик Россия  
Дата: 22.04.24 14:12
Оценка:
Здравствуйте, pagid_, Вы писали:

_>Может и не очень важна, но как из этого следует "очень удобный"?


Почему ты решил, что одно следует из другого?
Best regards, Буравчик
Re[8]: Python vs C#
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 22.04.24 14:29
Оценка:
Здравствуйте, Буравчик, Вы писали:

_>>Может и не очень важна, но как из этого следует "очень удобный"?


Б>Почему ты решил, что одно следует из другого?

Кстати а какой питон чаще используется с аннотацией типа TS или без аннотаций типа JS
и солнце б утром не вставало, когда бы не было меня
Re[9]: Python vs C#
От: Буравчик Россия  
Дата: 22.04.24 16:07
Оценка: 2 (2) +1
Здравствуйте, Serginio1, Вы писали:

S>Кстати а какой питон чаще используется с аннотацией типа TS или без аннотаций типа JS


Имхо, современный питон весь с аннотациями. Свежие версии библиотек также имеют аннотации
В целом, чем крупнее проект, тем чаще используются аннотации. Без аннотаций пишут совсем что-то простое.
Best regards, Буравчик
Re: Python vs C#
От: Pzz Россия https://github.com/alexpevzner
Дата: 22.04.24 17:10
Оценка: +2 :))) :)))
Здравствуйте, Разраб, Вы писали:

Р>Вопрос к апологетам шарпа.

Р>Если он такой классный, почему к нему так мало батареек?

У питона проблема та, что батарейка, которую ты использовал, после минорного обновления может без предупреждения поменять полярность.
Re[10]: Python vs C#
От: _NN_ www.nemerleweb.com
Дата: 22.04.24 20:30
Оценка: 2 (2)
Здравствуйте, Буравчик, Вы писали:

Б>Здравствуйте, Serginio1, Вы писали:


S>>Кстати а какой питон чаще используется с аннотацией типа TS или без аннотаций типа JS


Б>Имхо, современный питон весь с аннотациями. Свежие версии библиотек также имеют аннотации

Б>В целом, чем крупнее проект, тем чаще используются аннотации. Без аннотаций пишут совсем что-то простое.

Увы состояние аннотаций в Python довольно уныло.
Да есть, да используется, но по сравнению с TypeScript небо и земля.
Я не говорю даже про саму систему аннотаций, которая не такая выразительная.
Обычно когда пишут на Python аннотации это последнее о чём думают.
Разве, что в проект приходят любители статической типизации и легкоподдерживаемого кода.
По моему опыту серьёзных пайтонщиков очень нелегко убедить в необходимости аннотировать.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[2]: Python vs C#
От: Буравчик Россия  
Дата: 23.04.24 10:14
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>У питона проблема та, что батарейка, которую ты использовал, после минорного обновления может без предупреждения поменять полярность.


Пример в студию
Best regards, Буравчик
Re[11]: Python vs C#
От: Буравчик Россия  
Дата: 23.04.24 10:21
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>Да есть, да используется, но по сравнению с TypeScript небо и земля.

_NN>Я не говорю даже про саму систему аннотаций, которая не такая выразительная.

Пример есть?
Best regards, Буравчик
Re[3]: Python vs C#
От: Pzz Россия https://github.com/alexpevzner
Дата: 23.04.24 13:55
Оценка:
Здравствуйте, Буравчик, Вы писали:

Pzz>>У питона проблема та, что батарейка, которую ты использовал, после минорного обновления может без предупреждения поменять полярность.


Б>Пример в студию


Ну извини. Глазами такое вокруг себя много раз видел, но полицейский протокол не составлял.
Re[4]: Python vs C#
От: Буравчик Россия  
Дата: 23.04.24 16:10
Оценка: 1 (1)
Здравствуйте, Pzz, Вы писали:

Pzz>>>У питона проблема та, что батарейка, которую ты использовал, после минорного обновления может без предупреждения поменять полярность.

Pzz>Ну извини. Глазами такое вокруг себя много раз видел, но полицейский протокол не составлял.

Потому что такой проблемы нет, по крайней мере массово.

Большинство библиотек поддерживают правила версионирования и не ломают совместимость.
В библиотеках питона порядка намного больше, чем в том же js
Best regards, Буравчик
Отредактировано 23.04.2024 17:03 Буравчик . Предыдущая версия .
Re[5]: Python vs C#
От: peer  
Дата: 24.04.24 05:20
Оценка:
Здравствуйте, Буравчик, Вы писали:

Б>Здравствуйте, Pzz, Вы писали:


Pzz>>>>У питона проблема та, что батарейка, которую ты использовал, после минорного обновления может без предупреждения поменять полярность.

Pzz>>Ну извини. Глазами такое вокруг себя много раз видел, но полицейский протокол не составлял.

Б>Потому что такой проблемы нет, по крайней мере массово.


Б>Большинство библиотек поддерживают правила версионирования и не ломают совместимость.

Б>В библиотеках питона порядка намного больше, чем в том же js

ну я питон не использую, но всё равно знаю, что там была ломающая версия 2-3 вроде. Я так понимаю, что переписывать приложение надо было чтобы в новой версии питона заработало?
Re[4]: Python vs C#
От: peer  
Дата: 24.04.24 06:16
Оценка:
Здравствуйте, Буравчик, Вы писали:

Б>Используется в куче серьезных систем, включая высоконагруженные.


а мне всегда было интересно почему тормозной питон используется в высоконагруженных системах?
то что есть готовые либы и можно легко подцепить? но ведь нам там важна скорость и, возможно, лучше написать своё на плюсах, чтобы не было узкого горлышка в виде питона
Re[6]: Python vs C#
От: Буравчик Россия  
Дата: 24.04.24 07:09
Оценка:
Здравствуйте, peer, Вы писали:

P>ну я питон не использую, но всё равно знаю, что там была ломающая версия 2-3 вроде


Во-первых, речь была про библиотеки. И тезис был о том, что минорная версия меняет совместимость. Но изменение питон 2-3 это не минорная версия.

Во-вторых, даже при появлении питона 3, предыдущая версия 2 поддерживалась несколько лет! Поэтому все плавно (!) переходили на питон 3.

Сйчас, в питоне 3, все хорошо с совместимостью. И в части языка, и в части библиотек

P>Я так понимаю, что переписывать приложение надо было чтобы в новой версии питона заработало?


Да, переписывать код было надо. Точнее портировать, полностью переписывать не надо.
В большинство случаев переход мог быть сделан с помощью автоматических конвертаторов типа 2to3.
Также была возможность писать код так, чтобы он работал в обеих версиях питона.

Но вопросы тестирования кода с библиотеками оставались. Т.к. для нового питона часто выпускали новые (мажорные) версии библиотек.
Больше напряга было для разработчиков библиотек, т.к. им приходилось поддерживать библиотеки для обеих версий сразу.

https://habr.com/ru/companies/nmg/articles/762702/
Best regards, Буравчик
Re[5]: Python vs C#
От: Буравчик Россия  
Дата: 24.04.24 07:11
Оценка:
Здравствуйте, peer, Вы писали:

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

P>то что есть готовые либы и можно легко подцепить? но ведь нам там важна скорость и, возможно, лучше написать своё на плюсах, чтобы не было узкого горлышка в виде питона

Потому что в io-bound системах нет "узкого горлышка в виде питона". Там узкое место сеть и БД. А скорость и удобство разработки на питоне выше.
Best regards, Буравчик
Re[12]: Python vs C#
От: _NN_ www.nemerleweb.com
Дата: 24.04.24 19:05
Оценка: 2 (1)
Здравствуйте, Буравчик, Вы писали:

Б>Здравствуйте, _NN_, Вы писали:


_NN>>Да есть, да используется, но по сравнению с TypeScript небо и земля.

_NN>>Я не говорю даже про саму систему аннотаций, которая не такая выразительная.

Б>Пример есть?

Вот например, MyPy вышел только сегодня MyPy с поддержкой TypeIs.
При чём пришлось создать новый тип в замену TypeGuard.

Здорово, что наконец добавили, но занимает уж очень много времени пока необходимая функциональность подходит.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[13]: Python vs C#
От: Буравчик Россия  
Дата: 24.04.24 21:31
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>Вот например, MyPy вышел только сегодня MyPy с поддержкой TypeIs.

_NN>При чём пришлось создать новый тип в замену TypeGuard.
_NN>Здорово, что наконец добавили, но занимает уж очень много времени пока необходимая функциональность подходит.

Но добавили же, т.е. выразительность сравнялась.

Есть пример по-свежее, где python действительно менее выразителен (на данный момент)?
Best regards, Буравчик
Re[13]: Python vs C#
От: Буравчик Россия  
Дата: 24.04.24 21:41
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>Вот например, MyPy вышел только сегодня MyPy с поддержкой TypeIs.

_NN>При чём пришлось создать новый тип в замену TypeGuard.
_NN>Здорово, что наконец добавили, но занимает уж очень много времени пока необходимая функциональность подходит.

А вот C# умеет такое в своей системе типов?
Best regards, Буравчик
Re: Python vs C#
От: Teolog  
Дата: 25.04.24 07:37
Оценка: 1 (1)
C# в производительности умудряется конкурировать с C++ за счет более удобной многопоточности и развитой библиотеки.
Он предназначен для написания корпоративного софта и средне и низко нагруженного кода.
Потому что писать на нем быстро и надежно.

Питон — язык автоматизации, софт на нем писать нельзя — переписывать придется.
Производительность родного питонистого кода отсутсвует как класс и она ему и не нужна.
Re: Python vs C#
От: Maniacal Россия  
Дата: 25.04.24 08:13
Оценка:
Здравствуйте, Разраб, Вы писали:

Р>Вопрос к апологетам шарпа.

Р>Если он такой классный, почему к нему так мало батареек?
Тебе .NET мало или WinForms, WPF?
Re[14]: Python vs C#
От: hardcase Пират http://nemerle.org
Дата: 25.04.24 10:19
Оценка:
Здравствуйте, Буравчик, Вы писали:

Б>А вот C# умеет такое в своей системе типов?


Объединения типов (int | float) от рождения в .NET невозможны, вместо этого применяются перегрузки методов. Можно конечно изобрести надстройки из собственных классов, но как правило объединение простых типов за каким-то обобщенным фасадом перекладывается на плечи разработчиков библиотек. В подавляющем же большинстве случаев, если либа умеет работать с параметром int и float, то она умеет вообще во все простые типы и потому используется object.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[14]: Python vs C#
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 25.04.24 10:50
Оценка: +1
Здравствуйте, Буравчик, Вы писали:

Б>Здравствуйте, _NN_, Вы писали:


_NN>>Вот например, MyPy вышел только сегодня MyPy с поддержкой TypeIs.

_NN>>При чём пришлось создать новый тип в замену TypeGuard.
_NN>>Здорово, что наконец добавили, но занимает уж очень много времени пока необходимая функциональность подходит.

Б>А вот C# умеет такое в своей системе типов?

В шарпе есть дженерики с ограничениями, есть Арифметические операторы в универсальных типах.
Есть перегрузки методов
Есть Сопоставление шаблонов — is выражения и switch операторы and, or а также not в шаблонах

Аналога TS ограничения object нет. Там проще перегрузку методов использовать.
и солнце б утром не вставало, когда бы не было меня
Re[2]: Python vs C#
От: Разраб  
Дата: 27.04.24 11:56
Оценка:
Здравствуйте, Maniacal, Вы писали:

M>Здравствуйте, Разраб, Вы писали:


Р>>Вопрос к апологетам шарпа.

Р>>Если он такой классный, почему к нему так мало батареек?
M>Тебе .NET мало или WinForms, WPF?
Да
Из реальных обломов.
1. Криптопро в корке
2. тг-клиент поддерживающий профиль офклиента
3. ну и вообще, если даже с явой сравнить кол-во компонентов сильно меньше для решения прикладных задач(я не фанат своих велосипедов)
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[3]: Python vs C#
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 27.04.24 13:29
Оценка: +2
Здравствуйте, Разраб, Вы писали:

Р>>>Вопрос к апологетам шарпа.

Р>>>Если он такой классный, почему к нему так мало батареек?
M>>Тебе .NET мало или WinForms, WPF?
Р>Да
Р>Из реальных обломов.
Р>1. Криптопро в корке
Р>2. тг-клиент поддерживающий профиль офклиента
Р>3. ну и вообще, если даже с явой сравнить кол-во компонентов сильно меньше для решения прикладных задач(я не фанат своих велосипедов)

Питон использует тот же интероп, что и .Net
Тот же Xamarin использует Java и для совместимости библиотек можно делать биндинги.
Ну и используй питон, раз он тебе нужны фичи которых нет в C#.
Тем кто использует C# не нужен. Нельзя объять необъятное.
А вот батареек в C# с каждым годом все больше и больше. Когда появился .Net Core тут кричали не взлетит. Однако летит и взлетает еще выше.
и солнце б утром не вставало, когда бы не было меня
Re[4]: Python vs C#
От: Буравчик Россия  
Дата: 28.04.24 09:31
Оценка: :))
Здравствуйте, Serginio1, Вы писали:

S> А вот батареек в C# с каждым годом все больше и больше. Когда появился .Net Core тут кричали не взлетит. Однако летит и взлетает еще выше.


Скоро появится еще какой-нибудь .Net Super Puper Mega от микрософта с супер-фичами и все начнут переписывать на него.

А в питоне/js/java для поддержки этих фич просто добавится еще пара библиотек/фреймворков.
Best regards, Буравчик
Re[14]: Python vs C#
От: _NN_ www.nemerleweb.com
Дата: 28.04.24 13:12
Оценка:
Здравствуйте, Буравчик, Вы писали:

Б>Здравствуйте, _NN_, Вы писали:


_NN>>Вот например, MyPy вышел только сегодня MyPy с поддержкой TypeIs.

_NN>>При чём пришлось создать новый тип в замену TypeGuard.
_NN>>Здорово, что наконец добавили, но занимает уж очень много времени пока необходимая функциональность подходит.

Б>Но добавили же, т.е. выразительность сравнялась.


Б>Есть пример по-свежее, где python действительно менее выразителен (на данный момент)?


С getattr вот были проблемы решил через Any.
Может подскажете решение заодно.

T = TypeVar("T")

class Comparison(NamedTuple):
    comparer: Callable[[Any, Any], bool]
    default: Any


def compare(old: T, new: T, comparison: dict[str, Comparison]) -> bool:
    for field, (comparer, default) in comparison.items():
        if comparer(getattr(old, field, default), getattr(new, field, default)):
            return True

    return False
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[15]: Python vs C#
От: Буравчик Россия  
Дата: 28.04.24 17:54
Оценка: 2 (1)
Здравствуйте, _NN_, Вы писали:

_NN>С getattr вот были проблемы решил через Any.

_NN>Может подскажете решение заодно.

Я что-то не понял, в чем была проблема. Можно онлайн-пример?
Вроде, все работает в strict-режиме

https://mypy-play.net/?mypy=latest&amp;python=3.12&amp;gist=94349d6abee3dfe2636d0a39bc32519a&amp;flags=strict
Best regards, Буравчик
Re[16]: Python vs C#
От: _NN_ www.nemerleweb.com
Дата: 29.04.24 07:16
Оценка:
Здравствуйте, Буравчик, Вы писали:

Б>Здравствуйте, _NN_, Вы писали:


_NN>>С getattr вот были проблемы решил через Any.

_NN>>Может подскажете решение заодно.

Б>Я что-то не понял, в чем была проблема. Можно онлайн-пример?

Б>Вроде, все работает в strict-режиме

Б>https://mypy-play.net/?mypy=latest&amp;python=3.12&amp;gist=94349d6abee3dfe2636d0a39bc32519a&amp;flags=strict


Да, работает.
Не помню почему у меня здесь не получилось тогда.
Как найду другие примеры отпишусь.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[16]: Python vs C#
От: _NN_ www.nemerleweb.com
Дата: 29.04.24 07:51
Оценка: 3 (1) +1
Здравствуйте, Буравчик, Вы писали:

Б>Здравствуйте, _NN_, Вы писали:


_NN>>С getattr вот были проблемы решил через Any.

_NN>>Может подскажете решение заодно.

Б>Я что-то не понял, в чем была проблема. Можно онлайн-пример?

Б>Вроде, все работает в strict-режиме

Вот, что останавливало:

https://onlinegdb.com/ODB2VhaI-

Traceback (most recent call last):
File "/home/main.py", line 7, in <module>
class Comparison(NamedTuple, Generic[T]):
File "/usr/lib/python3.10/typing.py", line 2330, in _namedtuple_mro_entries
raise TypeError("Multiple inheritance with NamedTuple is not supported")
TypeError: Multiple inheritance with NamedTuple is not supported

http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[17]: Python vs C#
От: Буравчик Россия  
Дата: 29.04.24 20:09
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>Вот, что останавливало:


_NN>https://onlinegdb.com/ODB2VhaI-


_NN>

_NN>TypeError: Multiple inheritance with NamedTuple is not supported


Да, действительно.
Можно (стоит всегда) использовать датаклассы, с ними таких проблем нету.
Best regards, Буравчик
Re[18]: Python vs C#
От: _NN_ www.nemerleweb.com
Дата: 01.05.24 08:02
Оценка: 3 (1)
Здравствуйте, Буравчик, Вы писали:

Б>Здравствуйте, _NN_, Вы писали:


_NN>>Вот, что останавливало:


_NN>>https://onlinegdb.com/ODB2VhaI-


_NN>>

_NN>>TypeError: Multiple inheritance with NamedTuple is not supported


Б>Да, действительно.

Б>Можно (стоит всегда) использовать датаклассы, с ними таких проблем нету.
Можно использовать датаклассы, но тогда деструктуризации нет из коробки.

Как я понимаю было предложение на синтаксис A[T] в PEP-695, тогда не нужно было бы наследование.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[19]: Python vs C#
От: Буравчик Россия  
Дата: 01.05.24 21:49
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>Можно использовать датаклассы, но тогда деструктуризации нет из коробки.


unpacking из коробки есть, но не такой красивый — через astuple.

Ну и необходимость в нем уменьшается, т.к. можно обращаться по имени.
По-крайней мере в представленном примере будет выглядеть нормально
Best regards, Буравчик
Re: Python vs C#
От: Артём Австралия жж
Дата: 01.05.24 23:16
Оценка:
Здравствуйте, Разраб, Вы писали:

Р>Вопрос к апологетам шарпа.

Р>Если он такой классный, почему к нему так мало батареек?

Потому, что он нишевый. Питон же используется как клей к сильно оптимизированним C-м числодробилкам, там и на C++ чтоб угнаться за numpy — нужно заморочится с оптимизациями.
Re[4]: Python vs C#
От: SkyDance Земля  
Дата: 02.05.24 01:31
Оценка: 1 (1)
Б>Используется в куче серьезных систем, включая высоконагруженные.

В высоконагруженных системах он работает ВОПРЕКИ, а не благодаря. Сервер Инстаграма, например, который тянет 100 (сто!) клиентов, — весьма серьезная машина с кучей памяти и CPU.
Re[5]: Python vs C#
От: SkyDance Земля  
Дата: 02.05.24 01:33
Оценка: +1
P>а мне всегда было интересно почему тормозной питон используется в высоконагруженных системах?

Потому что на начальном этапе нужно уяк-уяк-в-продакшн, а когда ВНЕЗАПНО продукт взлетел, переписать на что-то менее ужасное уже нет ни времени, ни бюджета, ни разработчиков.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.