Re[51]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: vdimas Россия  
Дата: 30.08.21 18:47
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>>>Ну то есть фронт таки использует TS, не так ли?

V>>Сам с собой решил поспорить?
НС>Нет, с тобой.

Не вижу возражений моим тезисам.
Вижу спор с голосами в голове.


V>>Ты пока что продолжаешь косячить — споришь не с моими тезисами, а с голосами в голове.

НС>КОсячишь пока тут только ты, выдавая раз за разом бред, и прикрывая свои просеры личными нападками.

Да задолбала твоя демагогия. ))
Степень упоротости можно было и контроллировать...


V>>>>А взять сайты и embedded сниппеты от того же гугла — там вообще непонятно, то ли с Dart этот автогенерённый код, то ли с TS, то ли еще с чего.

НС>>>Зато с ангуляром гугловым все понятно.
V>>Ангулар — это не готовое приложение, а лишь ср-во для построения оного.
НС>И что?

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

Упоминаемый всуе "детсад" на этом ресурсе — это именно оно, отсутствие базовых навыков спора.
Будешь злостно продолжать в том же духе, будешь записан в разряд шимжи и прочих упоротых.


V>>И даже применение Ангулара не требует применения TS в целевом проекте, аналогично с Vue.

НС>Одно время требовало. Сейчас очень рекомендуется.
V>>Но главное — мне (и не только) скучно спорить со слабым собеседником
НС>И опять прикрываешь свой просер манерами бомжа. У тебя все собеседники, как я погляжу, херовые. Один ты стоишь весь в белом красивый.

Не все, а два с половиной тут, вы одни и те же уже скоро лет 20.
Раньше вас было на двоих-троих больше, но они отсохли уже.

Собсно, характерный для RSDN "стиль", обстёбанный даже в Лурке, когда-то не без твоего участия был сформирован.
Да чего уж там преуменьшать — ты активнейший спорщик все года, даром что второй ник завёл.
Хотя, понимаю, светить упоротостью на весь интернет — то еще позорище.

Вот тебе еще для помедитировать данные:



V>>Image: cec2b007d6f062695f3fd0b8a7df66ec.png

НС>Ссылка на исследование где? Откуда эти данные, как и когда получены?

Очередное ЧТД.
"- Где ссылки???!!!111"
"- например, вот..."
"- а почему я должен верить этим ссылкам???!!!1111"

Уфф...
Человек позиционирует себя за грамотного, но с поиском картинки не справляется.
Но "все понимают" (С), что не в поиске картинок загвоздка.

Это тупо демагогические приёмы.
Тупо срач и упоротость, ради самого срача и упоротости. ))
Отредактировано 30.08.2021 20:10 vdimas . Предыдущая версия .
Re[38]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 30.08.21 18:50
Оценка:
Здравствуйте, vdimas, Вы писали:



V>И да, сейчас получить указатель непосредственным образом можно только на статические методы.

V>Ниже в сырцах можно подсмотреть, как получить указатель на экземплярный метод и как вызывать затем.

Нет не надо.

Кроссплатформенное использование классов .Net из неуправляемого кода. Или аналог IDispatch на Linux
CEF, ES6, Angular 2, TypeScript использование классов .Net Core. Создание кроссплатформенного GUI для .Net с помощью CEF
CEF, Angular 2 использование событий классов .Net Core
1. Хранилище для объектов .Net. Мы не можем передать ссылку на объект .Net так как объекты .Net подвергаются дефрагментации. Плюс нужно держать ссылку на них, для предотваращения их от сборки мусора; (Можно и GCHandle применить, но это излишняя нагрузка на GC)

Хранилище в итоге представляет массив элементов

List<ЭлементХранилища> Элементы= new List<ЭлементХранилища>();
int FirstDeleted = -1;

public struct ЭлементХранилища
    {
        internal AutoWrap Объект;
        internal int Next;
}


Next нужен для для удаленных элементов. Некий простейший менеджер памяти.

Кстати вызов из натива можно напрямую через https://docs.microsoft.com/ru-ru/dotnet/core/tutorials/netcore-hosting

Предпочтительный способ для размещения среды выполнения .NET Core в .NET Core 3.0 и более поздних версиях — это библиотеки API nethost и hostfxr. Эти точки входа решают все сложности по поиску и настройке среды выполнения для инициализации, а также поддерживают как запуск управляемого приложения, так и вызов статического управляемого метода.


А что касается упрощения вызовов можно через Source Generator нагенерить методов типа

static T WrapClassMethod(int i,param1,param2,...)
и солнце б утром не вставало, когда бы не было меня
Re[32]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 30.08.21 19:01
Оценка:
Здравствуйте, vdimas, Вы писали:


V>Просто на Си (даже не С++) инструментарий обыгрывания различий удобнее из-за макропроцесора.

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

Ну условная компиляция тоже напрополую применяется в том же C# для Андроид, Windows, Linux и не поверишь даже для WinCE
и солнце б утром не вставало, когда бы не было меня
Re[52]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: Ночной Смотрящий Россия  
Дата: 30.08.21 19:07
Оценка:
Здравствуйте, vdimas, Вы писали:

НС>>Нет, с тобой.

V>Не вижу возражений моим тезисам.

Я возражаю не тезисам, а приводимому тобой "факту".

V>Да задолбала твоя демагогия. ))


А что ты ожидал в ответ на постоянные личные наезды? Типа ты тут срешь другим на головы, а остальные должны общаться с тобой конструктивно?

V>Степень упоротости можно было и контроллировать...


Ну так контролируй, чего ты распускаешься аки папоротник на Купалу?

V>>>Ангулар — это не готовое приложение, а лишь ср-во для построения оного.

НС>>И что?
V>Ты допустил широкое толкование в пользу любой из противоположных точек зрения на исходный тезис.

Опять нужна ссылка на видео. Я не допускаю ничего, я прямо опровергаю твою ложь об отсутствии TS на фронте фактами.

V>Т.е. опять накосячил с аргументацией.


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

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


Тебе это уже не грозит, угу.

V>Хотя, понимаю, светить упоротостью на весь интернет — то еще позорище.


Ну так не свети, побереги байтики.

V>>>Image: cec2b007d6f062695f3fd0b8a7df66ec.png

НС>>Ссылка на исследование где? Откуда эти данные, как и когда получены?

V>Очередное ЧТД.

V>"- Где ссылки???!!!111"

Так где?

V>Это тупо демагогические приёмы.


Нет, демагогические приемы это вброс непонятно откуда взятых данных.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[50]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 30.08.21 19:13
Оценка:
Здравствуйте, vdimas, Вы писали:

V>В лидерах чистый jQuery.


V>Из остальных заметных:

V>- Asp.Net, Spring, Django, Flask, Lavarel, Drupal, RoR — дотнет/джава/питон/питон/PHP/PHP/ruby
V>- Vue — чистый JS;
V>- Express — чистый JS;

Ну ангулар это в основном TS. Asp.Net для фронта это больше TS.
Vue тоже TS использует https://ru.vuejs.org/v2/guide/typescript.html
Просто TypeScript удобен как для интеллисенса и поиском сиснтаксических ошибок на этапе компиляции, а значит и ускорения разработки
и солнце б утром не вставало, когда бы не было меня
Re[51]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: vdimas Россия  
Дата: 30.08.21 19:26
Оценка:
Здравствуйте, Serginio1, Вы писали:

S>Ну ангулар это в основном TS.


И популярность его не просто не самая большая, а тупо падает.
https://habr.com/ru/company/ruvds/blog/516306/


S>Просто TypeScript удобен как для интеллисенса и поиском сиснтаксических ошибок на этапе компиляции, а значит и ускорения разработки


Я не пытался спорить о преимуществах или недостатках TS, тем более, сам голосую за типизированные языки.
Речь шла о том, насколько быстро, начиная с 2012-го (годы выхода TS) он вытесняет чистый JS.

И насчёт "ускорения разработки":
https://hackernoon.com/why-i-no-longer-use-typescript-with-react-and-why-you-shouldnt-either-e744d27452b4
Re[52]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 30.08.21 19:36
Оценка:
Здравствуйте, vdimas, Вы писали:

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


S>>Ну ангулар это в основном TS.


V>И популярность его не просто не самая большая, а тупо падает.

V>https://habr.com/ru/company/ruvds/blog/516306/
А где динамика, что бы понять, что падает. А так он на уровне реакта. JQury это просто обертка. Ему далеко до

S>>Просто TypeScript удобен как для интеллисенса и поиском сиснтаксических ошибок на этапе компиляции, а значит и ускорения разработки


V>Я не пытался спорить о преимуществах или недостатках TS, тем более, сам голосую за типизированные языки.

V>Речь шла о том, насколько быстро, начиная с 2012-го (годы выхода TS) он вытесняет чистый JS.
Ну динамика то быстрая особенно по сравнению с Dart
https://habr.com/ru/post/543346/
Круче всех!

Заметь Dart обошел C# в мобильной разработке!!

А вот в бэке всего в 2 раза уступает JS и на фронте в 2.5.
V>И насчёт "ускорения разработки":
V>https://hackernoon.com/why-i-no-longer-use-typescript-with-react-and-why-you-shouldnt-either-e744d27452b4
Ну статья то не новая. За это время многое изменилось

Тьфу ты это же DOU.UA . Но все равно показатель!

Вот статистика со stackoverflow
https://insights.stackoverflow.com/survey/2021?_ga=2.9716663.340558351.1628714498-2066421306.1628167975#most-loved-dreaded-and-wanted-language-love-dread
и солнце б утром не вставало, когда бы не было меня
Отредактировано 30.08.2021 19:56 Serginio1 . Предыдущая версия . Еще …
Отредактировано 30.08.2021 19:50 Serginio1 . Предыдущая версия .
Отредактировано 30.08.2021 19:47 Serginio1 . Предыдущая версия .
Отредактировано 30.08.2021 19:40 Serginio1 . Предыдущая версия .
Отредактировано 30.08.2021 19:37 Serginio1 . Предыдущая версия .
Re[40]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 30.08.21 19:41
Оценка: +1
Здравствуйте, Ikemefula, Вы писали:

I>>>Если тренировать вкус, то рано или поздно начнешь чувствовать оттенки.

N>>Оттенки я чувствую. Но зачем это вообще, если, повторюсь, единственная польза — чтобы не уснуть когда надо продержаться?
I>Я пью кофе не шоб штырило, а для удовольствия. Т.е. вопрос "не уснуть" как правило не стоит. Поэтому хватает с утра две-три чашки за завтраком.

"Хватает" 2-3 чашки за завтраком?
Не, ну есть коллега, которому 6 чашек надо чтобы проснуться, но у него какая-то дикая ВСД (да, я знаю, что это не научный термин). Но по-моему 2-3 за один завтрак это уже лёгкая наркомания.

I>Раньше разгонялся кофием, но отошел от этого году в 14м.


Если 2-3, то не отошёл. Разве что слегка слез с иглы.

I>А вот чтоб не уснуть, здесь лучше работает физическая активность, упражнения, прогулка итд.


Гм, представляю себе это посреди лекции...
The God is real, unless declared integer.
Re[41]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: vdimas Россия  
Дата: 30.08.21 19:56
Оценка:
Здравствуйте, Serginio1, Вы писали:

V>>На один кадр могут быть миллионы вызовов, в нейтиве это быстро — на миллион вызовов будет что-то 350 микросекунд расходов, а в твойм случае 16 миллисекунд только стоимость самих вызовов, это 60 FPS ограничение сверху еще безо-всякой полезной работы, в нейтиве ограничение на той же сцене будет под 3 тыс FPS.

S> Нахрена тогда манагед код? Манагед как ты говоришь это скрипты, а тут он пополам с нативным кодом работает

Это в продолжении разговора, почему managed-код не используется для графических движков.
По моему ИМХО — из-за дорогого вызова нейтивных вещей.
Даже из обычного VB нейтивные ф-ии вызывались мгновенно.


V>>Открой Visual Studio Installer и установи тулчейн под Андроид.

V>>Вот какой пустой проект генерится:
S>И где там .NetStandard? там есть TargetFrameworkVersion>v11.0</TargetFrameworkVersion>
S>а он поддерживает .Net Standard 2.1

ОК, проверил — поддерживает.
Но продукт портировали на .Net Core пару лет назад.
Думается, ранее выхода очередной LTS-версии смысла дергаться нет.


V>>Почему я должен что-то признавать, если наш продукт, например, поставляемый в виде либы, на Андроиде заведомо не заведётся?

V>>Пока что только винды, линуха и макось.
V>>С Андроидом пока некоторая борьба.
S> Потому что платформозависимый? Или все таки сделанный под .NetStandard 2.1?

Конечно, платфрменнозависимый.
С другой стороны, там под капотом обычные линуха, поэтому, вполне возможно, что Андроид будет окучен.
Тем более, что рядом подсказали, что .Net 6.0 должен заменить собой моно-рантайм Хamarin-а.
(надо будет проверить при выходе)


V>>Зачем же тогда нужен Xamarin, если тогда можно было бы пользовать WPF? ))

S>Нет поэтому и помечаются как платформозависимые. Часть можно сделать через условную компиляцию.

ЧТД.
Через условную компиляцию ты будешь транзитивно порождать платформенно-зависимые бинари, прощай обещанная "чистая кроссплатформенность". ))

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


S>Поэтому и развивают Xamarin.Forms где тот же гуй один для всех, а реализация для каждой платформы своя.


Тебя самого не смущает, что ровно с этой же целью был разработан Silverlight, WPF и прочие?
Или вот MAUI вышел.
Глаза не разбегаются от родственных технологий? ))


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

V>>А целевых прикладных — тут до нейтива как до Европы раком еще.
S> Да любые библиотеки начиная от xml,json заканчивая EntityFramework и прочими тяжеловесными продуктами.

))


V>>Т.е., завернуть, приготовить, упаковать и отправить в некую "черную дыру" (по вашим представлениям), где всё полезное и происходит, собсно.

S>Там есть апи, и довольно жидкое. А вот EntityFramework там и генерация кода в рантайме и тот же любимый сишниками Sourcecode Generator.

Ну, в C++ изначально маппинг прост, поэтому, выделенные ORM непопулярны.
Да и банальный шаблон Фасад ничего не стоит в рантайме, т.е. штрафа за абстракцию нет.

Что касается общения с БД — в плюсах принято вручную контроллировать ресурсы, например, самим управлять пулом соединений, самим решать, как именно посылать запросы к базе (синхронно, безблокировочно или асинхронно), как ожидать ответ и т.д. В дотнете же это всё "даётся сверху" без малейшей возможности настроить под себя. Просто тебе дан некий "наиболее общий сценарий", скажи спасибо и за это.

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

В общем, практики резко другие.
Тиков проца потребляется в разы меньше.
Особенно когда речь идёт о локальных in-proc базах-хранилищах и непосредственного использования их низкоуровневого АПИ, там и вовсе эффективность на порядки выше.

В последних дотнетах тоже есть возможность переписать драйверы общения с БД на похожий манер (через упомянутую сборку Unsafe), но вряд ли это сделают, бо легаси такое легаси...

И да, в плюсах полно реализаций "самого общего сценария"
https://oatpp.io/docs/components/orm/
(с полутыка найдёшь еще несколько)
Но как-то явного лидера не выявилось, по всем перечисленным причинам.

В общем, не та область, которая требует тщательного предварительного окучивания.
В нейтиве выгодней делать DAL прямо на уровне DB-провайдера, а не абстрагировать ORM от DB-провайдера, как это сделано в дотнете и ссылке выше на плюсовый проект.
Это тоже важная причина, ИМХО, потому что позволяет написать наиболее эффективный код под каждого провайдера.

Абстрагировать выгодней россыпь хелперов в DDD-стиле, причём, через compile-time абстракции, т.е. через шаблонный код, где хелперы переиспользуются в конкретных реализациях DAL.
Отредактировано 30.08.2021 20:00 vdimas . Предыдущая версия . Еще …
Отредактировано 30.08.2021 19:59 vdimas . Предыдущая версия .
Отредактировано 30.08.2021 19:57 vdimas . Предыдущая версия .
Re[53]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: vdimas Россия  
Дата: 30.08.21 20:17
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>>>Нет, с тобой.

V>>Не вижу возражений моим тезисам.
НС>Я возражаю не тезисам, а приводимому тобой "факту".

Даже сейчас продолжаешь косячить. ))
Ну и как тебя воспринимать всерьёз?


V>>Да задолбала твоя демагогия. ))

НС>А что ты ожидал в ответ на постоянные личные наезды?

"Ты написал бред", "твои технологии г-но" — это, конечно, не личные наезды.

Хотя, мне вообще плевать на "личные" и не "личные".
Имеет значение только только хамство vs порядочность.

У вас с Синклером устоялась манера общения на форуме в виде наездов, просьба хотя бы быть мужиками и не спрашивать "а нас-то за что?".
Млин, устал на это морщиться...
И опять испытывать то самое чувство, когда стыдно за другого человека.


НС>Нет, демагогические приемы это вброс непонятно откуда взятых данных.


При желании понятно.
Нет желания — сразу досвидан, ты здесь не за истиной.
Re[53]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: vdimas Россия  
Дата: 30.08.21 20:47
Оценка:
Здравствуйте, Serginio1, Вы писали:

V>>И популярность его не просто не самая большая, а тупо падает.

V>>https://habr.com/ru/company/ruvds/blog/516306/
S>А где динамика, что бы понять, что падает. А так он на уровне реакта. JQury это просто обертка. Ему далеко до

Там же на диаграммах:
35.8% ранее использовавших Ангулар не собираются использовать его вновь.

ИМХО, самым вменяемым является реакт (в общении с Ikemefula подробно объяснял — почему).

Ну и этот простенький Vue — там всё понятно, это простой шаблонизатор с "низкой планкой входа", но он заточен под обычный JS, под самый беспроблемный конфиг окружения.

Но реакт у больших ресурсов не очень популярен, бо слишком жрет тики проца на клиенте.
Но самый вменяемый архитектурно...
Но требовательный к ресурсам...
В общем, я когда смотрю на современное состояние веба — жесть...

Сейчас происходит то самое "смутное время", т.е. разгребать итоги стоит не ранее, чем лет через 10.
А пока слишком много метаний.
"35.8% использовали, но больше не хотят" — об одной из 3-х самых популярных всокоровневых технологий.
И на первом месте чистый jQuery...
Да это эталонный северный пушной зверёк. ))


V>>Я не пытался спорить о преимуществах или недостатках TS, тем более, сам голосую за типизированные языки.

V>>Речь шла о том, насколько быстро, начиная с 2012-го (годы выхода TS) он вытесняет чистый JS.
S> Ну динамика то быстрая особенно по сравнению с Dart

По сравнению с Dart разве что.
Но Dart неплохо потеснил react-native в Андроиде.


S>https://habr.com/ru/post/543346/

S> Круче всех!

Учу читать:

примерно половина разработчиков — это бэкенд 52%

А речь шла о применении TS во фронтенде.

Сейчас на большинство популярных ресурсов заходят по большей части с мобилы.


S>Image: 8395c49a7eef244ef72276f77b5d3bf5.png

S> Заметь Dart обошел C# в мобильной разработке!!

Лично мне неудивительно.
А еще обрати внимание на долю TS в мобильной разработке — в 2.7 раза ниже, чем у Dart.


S> А вот в бэке всего в 2 раза уступает JS и на фронте в 2.5.


Отож.
А прошло уже 9 лет, на минуточку, а это уже можно делать выводы.
Например, C# отгрыз себе за 9 лет развития примерно ту долю, в которой обитает и сейчас.

Жаль, что они не проводили многомерные опросы в прошлом — теперь стоит ждать год-другой повторения опросов, чтобы понять динамику.
Но что-то мне подсказывает, что роста в 3% в год для TS не будет, что он уже в стадии насыщения.

О чем я и высказался, что "TS вытесняет обычный JS весьма неспешно".


V>>И насчёт "ускорения разработки":

V>>https://hackernoon.com/why-i-no-longer-use-typescript-with-react-and-why-you-shouldnt-either-e744d27452b4
S>Ну статья то не новая. За это время многое изменилось

TypeScript с тех пор практически не изменился.


S> Тьфу ты это же DOU.UA . Но все равно показатель!


Чего??

Hacker Noon — американское медиа, которое фокусируется на новостях о технологиях, стартапах, искусственном интеллекте, разработке программного обеспечения и блокчейн-технологии.

Аудитория медиа — в основном, читатели из США, Индии, Великобритании, Канады и Германии. Медиа базируется на пользовательском контенте: любой пользователь может зарегистрироваться на ресурсе и предложить статью для публикации.

...
Ресурс HackerNoon был основан в 2016 году, а к 2020 достиг 4 млн посещений в месяц без платных методов продвижения. Команда разработала CMS (систему управления контентом, на которой работает HackerNoon.com) и программное решение для голосования пользователей (на котором работает платформа с наградами Noonies.Tech). У компании также есть подкаст и платформа для публикаций вакансий от технологических компаний в Америке. Hacker Noon зарабатывает от рекламы на ресурсах.

...
Во второй четверти 2020 на ресурсе публиковалось до 30 статей в день.



S>Вот статистика со stackoverflow

S>https://insights.stackoverflow.com/survey/2021?_ga=2.9716663.340558351.1628714498-2066421306.1628167975#most-loved-dreaded-and-wanted-language-love-dread

Мы уже обсуждали эту "статистику".
Это опрос "а вот что вам интересно?"
Интересно обычно то, что на слуху, но что сам еще не трогал.

Rust интересен даже мне, если что.
Но я его уже потрогал, поэтому мой интерес не столь высок.

Увы, это не "серебрянная пуля", это жесткая система ограничений, т.е. избалованные вседозволенностью JS-программисты взвоют на первых же сниппетах в Rust, где компилятор будет ругаться на каждый чих, например, при попытке просто выполнить a = b.
Не выполнится в 90% случаев, если не понимать, в чём прикол. ))
Отредактировано 30.08.2021 20:49 vdimas . Предыдущая версия .
Re[6]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: vfedosov  
Дата: 30.08.21 21:53
Оценка: :))
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Здравствуйте, vfedosov, Вы писали:


V>>Если проект в одно рыло пишешь, то пайтон делает шарп в разы по скорости разработки.


НС>Можно пример именно логики, которую в разы быстрее на пайтоне?


Ну вот к примеру +- типичная задача: нужно развернуть индекс: есть индекс по одному ключу, надо построить по другому. В пайтоне решается так:
names2data = {"name1": (1, 3, "str1"), "name2": (2, 4, "str2")}
data2names = {data[1]: name for name, data in names2data.items()}

я не в курсе, может последние версии шарпа позволяют коротко эту задачу решить — уж лет 6-7 не работаю с шарпом, но пайтон и 10 лет назад это поддерживал. Насколько кратко можно проинициализировать сложную структуру данных и насколько легко с ней работать! Кстати работает мега быстро в отличии от довольно медленного Linq.

Или обработка массивов float — работает почти как на плюсах по скорости. Имеем двумерный numpy массив — картинку (яркости пикселей нормированы к 1.0), надо сделать ярче в 1.5 раза, но значения не должны быть больше 1.0:

array_2d = np.min(array_2d * 1.5, 1.0)

Может слегка с синтаксисом в примерах накосячил (влом проверять) — но суть такая.
Представь чего на шарпе придется нагородить для этого и сколько это работать будет по времени. Работа с массивами в numpy вообще впечатляет — очень элегантно. Занимаясь имадж процессингом, я понял, что плюсы не нужны почти нигде — все можно сделать на пайтоне — и не будет тормозить! На шарпе это невозможно.
Отредактировано 30.08.2021 22:25 vfedosov . Предыдущая версия .
Re[6]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: vfedosov  
Дата: 30.08.21 22:10
Оценка:
Здравствуйте, Marty, Вы писали:

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


Б>>>>На питоне приятно писать — быстро и удобно.


M>>>А вот тут я бы поспорил


V>>Работал и на шарпе и на пайтоне. Пайтон впечатлил в плане скорости реализации логики. Если проект в одно рыло пишешь, то пайтон делает шарп в разы по скорости разработки. При командной разработке есть нюансы. Например, пайтон располагает к использованию tupple, которые по сути помойка с данными и разбираясь в чужем коде, сложно понять чего там конкретно лежит. Ну и прочие минусы отсутствия строгой типизации начинают вылазить. Думаю, что для коммандного проекта средней сложности, выгода от использования пайтона не так очевидна. А при высокой сложности, сопровождение может стать проблемой. Но это в комманде. А когда работаешь один — наслаждаешься эффективностью.


M>После тыщи-двух строк кода, даже своего, любой проект на питоне скатывается в лютое гавно, в котором хрен разберёшься. Годен только как замена башу или bat-файлам


Да ладно — текущий проектик у меня уже 5 тыс строк — это только начало. Особых проблем нет. Ввожу больше типизации сейчас, чтобы не скатываться. Заменяю tupple на dataclass, как тут коллега советовал. Все не так плохо, если структуировать код. Я сразу начал с построения архитектуры. У меня эти 5 тыс строк раскиданы по где-то 25-30 файлам — есть иерархии классов, слои, Dependency Injection и т.д. Говнякать можно на любом языке. Но на Пайтоне можно и сопровождаемый код писать — все для этого есть.
Re[41]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 31.08.21 05:05
Оценка:
Здравствуйте, netch80, Вы писали:

I>>Я пью кофе не шоб штырило, а для удовольствия. Т.е. вопрос "не уснуть" как правило не стоит. Поэтому хватает с утра две-три чашки за завтраком.


N>"Хватает" 2-3 чашки за завтраком?


Это же эспрессо, проция 30мл Я еще прошу пролив покороче делать, что бы меньше кофеина было.

Вот,тебе сюда:
https://coffeenews.by/kofejni/speciality-coffee-guide-to-kiev.html
Отредактировано 31.08.2021 5:26 Pauel . Предыдущая версия .
Re[44]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: Sinclair Россия https://github.com/evilguest/
Дата: 31.08.21 05:11
Оценка: :)
Здравствуйте, vdimas, Вы писали:
V>Это одна из практик проектирования ПО, только здесь в области деплоя.
V>То бишь, конечные библиотеки и программы не должны самостоятельно заботиться о своём обновлении.
Это и так понятно.
V>Понятно, что в Windows это десятилетиями было не так, отсюда у тебя сложности с пониманием пресловутого unix way.
И в виндах это всю жизнь так. Windows way отличается от unix way в этом месте только тем, что апдейтер отделён от инсталлятора, и что апдейтер тащит каждая программа с собой.
При этом сама программа, естественно, ничего не знает об апдейтере. Исключений — единицы. Вроде торрент-клиентов, которые свои апдейты вытаскивают через торрент
V>В виндовых классических Win32 API программах часто сидит собственный/уникальный менеджер пакета, связанный с некоей личной точкой деплоя в сети.
Он сидит не в программе, а рядом.
S>>То есть именно он является результатом труда разработчика. Сборка пакета является частью билд-системы, за которую отвечает собсно исходный автор.

V>Не всегда, вернее, почти никогда.

Первое, что попалось — MongoDB:
https://github.com/mongodb/mongo/blob/ccae51b66b6c1fb5ae852b4faca5396d18833a2a/buildscripts/packager.py
Комментарии разработчика (https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/):

The mongodb package provided by Ubuntu is not maintained by MongoDB Inc. and conflicts with the official mongodb-org package. If you have already installed the mongodb package on your Ubuntu system, you must first uninstall the mongodb package before proceeding with these instructions.


V>Ментейнеры линухов собирают свои сборки из многих тысяч программ/библиотек.

V>И тот факт, что программы "не знают" о пакетах как раз позволяет это делать.
В основном им позволяет это делать лицензия на эти программы. На винде Хром обновляется при помощи процесса Google Update, на линухе — через package manager.
Java на винде обновляется через java update, а на линухе — через package manager.\
Microsoft Office на винде обновляется через Windows Update, а на линухе — никак.
Как видим, дело не в мифическом windows/unix way, а в лицензии.
V>Это мейнстримовый случай в никсах чуть ли не от рождения.
Исходно — да. Сейчас пакеты для основных дистрибутивов и докерные имаджи для всего более-менее нормального софта маинтейнят производители.
Потому что нет ни малейшего желания зависеть от воли и ресурсов меинтейнеров дистрибутивов.

V>Что-то мне подсказывает, что будь у тебя желание, ты бы мог сам найти произвольное кол-во ссылок на эти темы.

Вопрос у вас какой? Что непонятно?

V>Тебе разве в детстве не говорили, что Деда Мороза не существует?

V>Вот, говорю.
Зачем мне Дед Мороз? Можно же на гитхаб сходить, посмотреть, как что устроено.

V>Еще раз (в третий) — в описанной Алексом системе каждая программа/либа тащит с собой свои зависимости.

V>Неважно, статически или динамически линкованные, в последнем случае тащит их как файлы, копируемые в некую личную для программы директорию.
Алекс изначально описывал bazel, который ничего подобного не требует. То, что он предлагает тащить с собой мини-окружение для каждой программы, было репликой в сторону.
И да — такое решение позволяет избежать решения потенциально несовместной системы уравнений на версии пакетов; и да — тот же докер (а, точнее, сама идея контейнерной виртуализации) позволяет как раз не раздувать в терабайты расход дискового пространства и RAM. В отличие, естественно, от честного копирования реплик всех бинарей на файлуху.
V>В классическом unix way зависимости повторно не тащат, поэтому на выходе сумма.
V>Доходчиво на пальцах объяснил?
Это было и так понятно. Я вообще про вот эту тему ничего не говорил, а обсуждал исключительно ветку про зависимости вида Requires xxx >= X.Y.0 (невозможность которых вы критиковали в базеле) и про воспроизводимость билдов
V>Вдогонку — и да, в одной системе могут сосуществовать одни и те же либы разных своих версий.
Ещё можете про SxS в винде почитать
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[45]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 31.08.21 05:23
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Debugging и Profiling API в дотнете это тоже для отладки. И вывод в лог должен быть не разовой операцией, а постоянной настраиваемой через конфиги фичей. Слышал, к примеру, про open telemetry?


Кто кому должен? Я же не собираюсь прерывать отладку, пересобирать все, если мне понадобилась новая утилита прямо по ходу отладки. А потом, через полчаса еще одна. И так, пока баг не найдется.

I>>Это слабенько


НС>Что слабенько? Слабенько это закат солнца вручную, который ты продемонстрировал.


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

I>>, нужно иметь заготовки на все случаи жизни.


НС>Какие такие заготовки? О чем ты?


Чтобы вызвать код, он где то должен быть написан до момента вызова. Или в заготовке, или в репл.
Где мне взять код утилиты, которая мне вот только что понадобилась, а именно — выводит в консоль кое что из запроса.
Re[32]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: Sinclair Россия https://github.com/evilguest/
Дата: 31.08.21 05:30
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Именно так.

V>Под каждую такую задачку — отдельная мини-борьба с кроссплатформенностью.
Ну вы же это подаёте так, как будто у вас там прямо разное приложение под каждую платформу. А не 95% единой кодовой базы, с тщательно изолированными платформенно-специфичными 5%.
V>Это был просто один из примеров, который дотнет еще не покрыл.
V>Я не сомневаюсь, что рано или поздно донет покроет последние дыры, как грится, это просто пример того, что "кроссплатформенность" в своей сути — это умение обыгрывать различия платформ на некоем уровне, давая возможность приложению в целевом уровне оставаться одинаковым для большого кол-ва платформ.
А то.

V>Просто на Си (даже не С++) инструментарий обыгрывания различий удобнее из-за макропроцесора.

V>"Удобнее" означает меньше трудозатрат в пересчёте на каждое такое обыгрывание.
Да вы смеётесь? Как вы обыграете отсутствие eventfd на винде при помощи "макропроцессора"?
У вас будет ровно то же самое — слой абстракции, который реализован сильно по-разному под винду и под линукс. Максимум, чего можно получить макропроцессором — это автоматического выбора нужного названия класса или семейства функций в месте их вызова.
То есть то, что в дотнете мы будем решать или при помощи DllImport, который стреляет в .dll / .so, или при помощи отдельной менеджед библиотеки, которая собирается из разных исходников в зависимости от target, из исходников с #ifdef.

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

Если задачи решены — то вопросов нет.

V>Вот здесь на входе три массива:

V>https://docs.microsoft.com/ru-ru/dotnet/api/system.net.sockets.socket.select?view=net-5.0
Так кто вам мешает написать свою функцию Select?
Там кода — полстранички. Делаете её Select<T> where T: IList<Socket>, и она сохраняет совместимость со старой версией. При этом она будет уметь принимать не только массивы сокетов, но и Span-ы, и при этом благодаря рантайм-специализации уйдет почти вся косвенность вместе с нагрузкой на GC.

V>ОК, сейчас проверю опять.

V>О да, сейчас до 64 элементов создают через stackalloc:
V>https://github.com/dotnet/runtime/blob/57bfe474518ab5b7cfe6bf7424a79ce3af9d6657/src/libraries/System.Net.Sockets/src/System/Net/Sockets/SocketPal.Windows.cs#L914
V>Глядишь, к моей пенсии всем этим можно будет пользоваться...
Пользоваться можно и сейчас. Менеджед код писать очень легко. Это в JIT контрибутить трудно, и если он чего-то не умеет — то упс.
V>А какие мы были молодые, когда всё это только начиналось? ))
Начиналось оно, прямо скажем, бледно. Первый дотнет был — обнять и плакать. И самое, конечно, поганое — в том, что его следы до сих пор сохраняются в дотнете.
Вот это вот наследование IEnumerable<T> от IEnumerable, или вот ваш же пример с IList (!) в качестве аргументов...
В общем, понятно, что передать дотнет в опенсорс надо было на десять лет раньше.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[46]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: Ночной Смотрящий Россия  
Дата: 31.08.21 05:53
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Кто кому должен? Я же не собираюсь прерывать отладку, пересобирать все, если мне понадобилась новая утилита прямо по ходу отладки. А потом, через полчаса еще одна. И так, пока баг не найдется.


1) Для debugging и profiling api не нужно ничего пересобирать, подключаешься к работающему процессу.
2) Нормальное логирование и метрики — обязательное требование к production коду.
3) Любое выражение можно вычислить в отладчике в процессе отладки, не правя при этом код.


I>>>, нужно иметь заготовки на все случаи жизни.

НС>>Какие такие заготовки? О чем ты?
I>Чтобы вызвать код, он где то должен быть написан до момента вызова.

Совсем не обязательно.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[54]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: Ночной Смотрящий Россия  
Дата: 31.08.21 05:57
Оценка: :)
Здравствуйте, vdimas, Вы писали:

V>>>Да задолбала твоя демагогия. ))

НС>>А что ты ожидал в ответ на постоянные личные наезды?
V>"Ты написал бред",

Это уже в ответ на твою манеру тут общаться.

V>"твои технологии г-но" — это, конечно, не личные наезды.


Я не писал что твои технологии гавно. И нет, эпитеты по отношению к С++ это, конечно же, не личные наезды.

V>Хотя, мне вообще плевать на "личные" и не "личные".


Ну так а чего ты тогда удивляешься ответной реакции?

V>Имеет значение только только хамство vs порядочность.


Ну вот ты тут главный хам, и этого, похоже, даже не стесняешься.

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


А за себя, что характерно, не стыдно, хотя казалось бы.

НС>>Нет, демагогические приемы это вброс непонятно откуда взятых данных.

V>При желании понятно.
V>Нет желания — сразу досвидан, ты здесь не за истиной.

Ну то есть можно окончательно констатировать — аргументы в споре ты привести не в состоянии, и окончательно поскипал весь конструктив, полностью переключившись на личности.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[54]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: Ночной Смотрящий Россия  
Дата: 31.08.21 06:01
Оценка: :)
Здравствуйте, vdimas, Вы писали:

V>О чем я и высказался, что "TS вытесняет обычный JS весьма неспешно".


никак не вытесняет




V>>>https://hackernoon.com/why-i-no-longer-use-typescript-with-react-and-why-you-shouldnt-either-e744d27452b4

S>>Ну статья то не новая. За это время многое изменилось
V>TypeScript с тех пор практически не изменился.

... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.