Причины популярности C#
От: vaa  
Дата: 27.05.22 02:44
Оценка:
Ознакомившись с доводами относительно причин популярности java
стало совсем непонятно как C# стал так популярен?
Ну меня только одна версия, простой и бесплатный компилятор(на 2001 год) с набором ado.net и Winforms, плюс IDE.
В остальном явных преимуществ не видно.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Отредактировано 27.05.2022 2:47 Разраб . Предыдущая версия .
Re: Причины популярности C#
От: 4058  
Дата: 27.05.22 06:15
Оценка: 1 (1) +5
Здравствуйте, vaa, Вы писали:

vaa>Ознакомившись с доводами относительно причин популярности java

vaa>стало совсем непонятно как C# стал так популярен?

Причина популярности C#, заключается преимущественно в популярности платформы .NET, сам по себе язык не очень интересен.
.NET в отличие от Java изначально не гнался за мультиплатформенностью, поэтому существенно выигрывал в плане производительности и обширному наличию библиотек (пускай и прибитых местами гвоздями к Windows), при этом пропагандировал мультиязыковость, в итоге много кто сначала переполз на VB.NET/J#/MC++, а потом и на C#.
Также немалый вклад для популяризации (как платформы) внёс удобный inter-оп с "внешним миром" (DllImport и т.п.)
Re[2]: Причины популярности C#
От: vaa  
Дата: 27.05.22 06:33
Оценка:
Здравствуйте, 4058, Вы писали:

4>.NET в отличие от Java изначально не гнался за мультиплатформенностью, поэтому существенно выигрывал в плане производительности и обширному наличию библиотек (


насчет производительности спорно. может в 2001 году так и было. хотя скорее это из-за печально известного гуя джавы.
он действительно был слабоват. ну и холодный старт больное место сложного приложения на джава.
ну а по кол-ву бесплатных библиотек тут джава на порядок лучше.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[2]: Причины популярности C#
От: Sinclair Россия https://github.com/evilguest/
Дата: 27.05.22 07:17
Оценка: +16
Здравствуйте, 4058, Вы писали:

4>Причина популярности C#, заключается преимущественно в популярности платформы .NET, сам по себе язык не очень интересен.

Не могу согласиться. Язык, конечно, твёрдо стоит ногами в платформе, но он интересен именно как язык.
Неспроста Java вышла из комы и начала развиваться как язык именно под влиянием C#.
И до сих пор при прочих равных Шарп как язык выигрывает у той же Java с разгромным счётом.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[3]: Причины популярности C#
От: 4058  
Дата: 27.05.22 07:35
Оценка: 1 (1) +1
Здравствуйте, vaa, Вы писали:

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


4>>.NET в отличие от Java изначально не гнался за мультиплатформенностью, поэтому существенно выигрывал в плане производительности и обширному наличию библиотек (


vaa>насчет производительности спорно. может в 2001 году так и было.

vaa>хотя скорее это из-за печально известного гуя джавы.

Не только, у Java в целом производительность была ниже (сейчас уже не знаю), т.к. изначально делалась ставка на мультиплатформенность.

vaa>он действительно был слабоват. ну и холодный старт больное место сложного приложения на джава.


Холодный старт больное место для любого крупного приложения если присутствует JIT-компиляция.

vaa>ну а по кол-ву бесплатных библиотек тут джава на порядок лучше.


Стоит учитывать не только кол-во, но и качество. Многие полезные лайбы обычно оперативно портируются с Java на .NET, например: iText -> iTextSharp, Bouncy Castle, POI -> NPOI ...

P.S. Ну и как язык, C# изначально можно было рассматривать как Java "на стеройдах".
Re[3]: Причины популярности C#
От: 4058  
Дата: 27.05.22 07:41
Оценка:
Здравствуйте, Sinclair, Вы писали:

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


4>>Причина популярности C#, заключается преимущественно в популярности платформы .NET, сам по себе язык не очень интересен.

S>Не могу согласиться. Язык, конечно, твёрдо стоит ногами в платформе, но он интересен именно как язык.
S>Неспроста Java вышла из комы и начала развиваться как язык именно под влиянием C#.

Я говорю о том, что популярность C# во многом обусловлена его платформой, если бы на старте это был просто язык, со скудным набором лайб, шансов на успех было-бы существенно меньше.

S>И до сих пор при прочих равных Шарп как язык выигрывает у той же Java с разгромным счётом.


С этим я согласен, чуть выше
Автор: 4058
Дата: 27.05.22
я охарактеризовал C# как: "Java на стеройдах".
Re[3]: Причины популярности C#
От: Философ Ад http://vk.com/id10256428
Дата: 27.05.22 08:00
Оценка: 3 (1)
Здравствуйте, vaa, Вы писали:

vaa>насчет производительности спорно. может в 2001 году так и было. хотя скорее это из-за печально известного гуя джавы.


Жаба догонит шарп по произоводительности, когда там появятся ValueType'ы — без них даже элементарынми GUID'ами куча засирается. Full GC в жабе — это боль. Собственно проблема в том, что производительность GC сильно зависит от кол-ва живых объектов. Да и отсутствие всяких Point, Vector3 и т.д. не добавляют производительности — без них всякие гуёвые задачи — грусть/тоска.
Собственно
А)
struct Point {public int X, Y}

void A(ref Point point) {}


Б)
class Point {public int X, Y}

void A(Point point) {}


А и Б — семантически почти одно и тоже, но при этом очень-очень разные вещи по производительности. На тысяче точек это слабо заметно, но если точек миллион, то жабе становится очень грустно. С гуидами тоже самое.

Ещё жабе сильно поможет добавление unsafe кода.
Всё сказанное выше — личное мнение, если не указано обратное.
Отредактировано 27.05.2022 8:02 Философ . Предыдущая версия . Еще …
Отредактировано 27.05.2022 8:01 Философ . Предыдущая версия .
Re[4]: Причины популярности C#
От: Sinclair Россия https://github.com/evilguest/
Дата: 27.05.22 08:10
Оценка: 1 (1)
Здравствуйте, Философ, Вы писали:

Ф>А и Б — семантически почти одно и тоже, но при этом очень-очень разные вещи по производительности. На тысяче точек это слабо заметно, но если точек миллион, то жабе становится очень грустно. С гуидами тоже самое.

Ну, джава гордица своим JIT и ескейп-анализом. Он, предположительно, должен спасать от просада производительности с Point.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: Причины популярности C#
От: Michael7 Россия  
Дата: 27.05.22 08:12
Оценка: 3 (1) +1
Здравствуйте, vaa, Вы писали:

vaa>Ознакомившись с доводами относительно причин популярности java

vaa>стало совсем непонятно как C# стал так популярен?
vaa>Ну меня только одна версия, простой и бесплатный компилятор(на 2001 год) с набором ado.net и Winforms, плюс IDE.
vaa>В остальном явных преимуществ не видно.

Я думаю, что из-за платформы .NET, как самый основной для нее язык. Я понимаю, что .NET вроде как мультиязычный и тем не менее, C# — это самый родной все же для нее язык, не считая своего ассемблера, конечно. При этом в .NET ниже порог вхождения (по крайней мере был ниже) по сравнению с Java. Ну и сам язык был достаточно простой и неплохо спроектированный, можно сказать даже с учетом Java, а также успеха Delphi, так как главный архитектор Хейлсберг в свое время создавал Delphi.
Re[5]: Причины популярности C#
От: Философ Ад http://vk.com/id10256428
Дата: 27.05.22 08:21
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Философ, Вы писали:


Ф>>А и Б — семантически почти одно и тоже, но при этом очень-очень разные вещи по производительности. На тысяче точек это слабо заметно, но если точек миллион, то жабе становится очень грустно. С гуидами тоже самое.

S>Ну, джава гордица своим JIT и ескейп-анализом. Он, предположительно, должен спасать от просада производительности с Point.

Имею некоторый опыт с Java 8 — не бог весь что, но другого нам не завезли (не знаю почему). Иногда ескейп-анализ работает. Добавляешь буквально несколько строк уже не работает. Да и само написание подразумевает, что у тебя где-то есть набор Point'ов, а значит в жабе они обязательно будут в куче лежать, в месте с описателем типа рядом сданными, а в шарпе они вполне могут лежать на стеке, или даже в неуправляемой памяти.
Всё сказанное выше — личное мнение, если не указано обратное.
Re[6]: Причины популярности C#
От: Ночной Смотрящий Россия  
Дата: 27.05.22 08:36
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Имею некоторый опыт с Java 8 — не бог весь что, но другого нам не завезли (не знаю почему). Иногда ескейп-анализ работает. Добавляешь буквально несколько строк уже не работает.


В дотнете схожая проблема, хоть и не в таком масштабе. Любое лишнее движение и здравствуй боксинг. Там, правда, сей факт можно отследить статически, но глазами это сделать порой совсем непросто.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re: Причины популярности C#
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 27.05.22 08:58
Оценка: 3 (1) +6
Здравствуйте, vaa, Вы писали:

vaa>Ознакомившись с доводами относительно причин популярности java

vaa>стало совсем непонятно как C# стал так популярен?
vaa>Ну меня только одна версия, простой и бесплатный компилятор(на 2001 год) с набором ado.net и Winforms, плюс IDE.
vaa>В остальном явных преимуществ не видно.

Популярность у .NET и C# появилась не сразу, а росла постепенно

1) Во времена .NET 1.0 основными драйверами популярности были: WinForms — визуальный дизайнер формочек аля делфи, и практически насильное пересаживание программистов VB на VB.NET
2) Когда вышел .NET 2.0 основным драйвером популярности стал WebForms. Microsoft активно продвигал идею, что приложения в вебе можно собирать как приложения на десктопе, и у многих это даже получалось.
3) А потом появился .NET 3.5 и C# 3.0 в котором появилось функциональное программирование Linq и C# в один момент переплюнул все существующие на тот момент языки, кроме того linq настолько упростил работу с данными, что создание корпоративных приложений стало довольно простой задачей.
4) Следующий удар — async в C# 5.0 и .NET 4.5, с этого момента преимущество C# как языка стало неоспоримым, все языки начали копировать фичи из C#, но развитие тормозилось прибитым к Windows .NET FW
5) После долгих мучений с платформой и компилятором появились .NET 3.1 и C# 8, которые стали первым по-настоящему кроссплатформенным релизом. Язык C# собрал все возможности современных языков — интерполированные строки, индексы и слайсы, паттерн-матчинг, а также получил возможности оптимизации программ за счет выделения памяти в стеке, а не в куче.

На сейчас все языки пытаются стать похожими на C#.
Re[2]: Причины популярности C#
От: Философ Ад http://vk.com/id10256428
Дата: 27.05.22 09:08
Оценка: 1 (1) +2
Здравствуйте, gandjustas, Вы писали:


G>4) Следующий удар — async в C# 5.0 и .NET 4.5, с этого момента преимущество C# как языка стало неоспоримым, все языки начали копировать фичи из C#, но развитие тормозилось прибитым к Windows .NET FW


Я немножко ревьюил код чуваков, которые к нам устраивались. Не видел ни одного человека, который бы понимал как работают async/awate. Людей мы нанимали тем ненемее а потом я правил баги и вызванивал одного чувака, чтобы рассказать что он сделал не так. Притом там категорическое непонимание того что это такое. И кстати, разбирать дампы с дедлоками после async'ов — это пипец! Оно не упрощает жизнь, оно её усложняет.
Всё сказанное выше — личное мнение, если не указано обратное.
Re[7]: Причины популярности C#
От: Философ Ад http://vk.com/id10256428
Дата: 27.05.22 09:11
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>В дотнете схожая проблема, хоть и не в таком масштабе. Любое лишнее движение и здравствуй боксинг. Там, правда, сей факт можно отследить статически, но глазами это сделать порой совсем непросто.


фишка в том, что такие места МОЖНО отследить статически.
Всё сказанное выше — личное мнение, если не указано обратное.
Re[3]: Причины популярности C#
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 27.05.22 09:31
Оценка: 2 (1) +5
Здравствуйте, Философ, Вы писали:

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



G>>4) Следующий удар — async в C# 5.0 и .NET 4.5, с этого момента преимущество C# как языка стало неоспоримым, все языки начали копировать фичи из C#, но развитие тормозилось прибитым к Windows .NET FW


Ф>Я немножко ревьюил код чуваков, которые к нам устраивались. Не видел ни одного человека, который бы понимал как работают async/awate.

Я на собеседовании спрашиваю. Кто не понимает совсем — не берем.

Ф> Оно не упрощает жизнь, оно её усложняет.


По сравнению с чем?
Я врукопашную писал state machine для IAsyncResult во времена .NET 2.0 и готов поспорить что async\await сильно упрощает жизнь.
Вообще любая асинхронщина с async\await сильно проще чем эквивалентный асинхронный код без этих операторов.
Re[4]: Причины популярности C#
От: Философ Ад http://vk.com/id10256428
Дата: 27.05.22 09:41
Оценка: -2
Здравствуйте, gandjustas, Вы писали:

G>Я на собеседовании спрашиваю. Кто не понимает совсем — не берем.


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

Ф>> Оно не упрощает жизнь, оно её усложняет.

G>По сравнению с чем?

По сравнению с рукопашной асинхронщиной.
Всё сказанное выше — личное мнение, если не указано обратное.
Re[5]: Причины популярности C#
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 27.05.22 12:41
Оценка:
Здравствуйте, Философ, Вы писали:

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


G>>Я на собеседовании спрашиваю. Кто не понимает совсем — не берем.


Ф>А смысл!? Тех кто хорошо понимает что это такое исчезающе мало, при этом среди тех кто не понимает достаточно людей способных решать задачи и разобраться в существующем.

А вы денег платите и будет достаточно.

Ф>>> Оно не упрощает жизнь, оно её усложняет.

G>>По сравнению с чем?
Ф>По сравнению с рукопашной асинхронщиной.
Видимо вы ни разу не занимались рукопашной асинхронщиной.
Re[6]: Причины популярности C#
От: Философ Ад http://vk.com/id10256428
Дата: 27.05.22 13:22
Оценка: +2
Здравствуйте, gandjustas, Вы писали:

G>>>По сравнению с чем?

Ф>>По сравнению с рукопашной асинхронщиной.
G>Видимо вы ни разу не занимались рукопашной асинхронщиной.

Скажем так, я никогда не видел ничего сложно в том, чтобы напихать задач в тредпул и подождать их завершения. С появлением TPL это стало несколько удобнее, особенно из-за того что таски стало очень удобно Join'ить между собой. У меня никогда не возникало проблем с тем чтобы одновременно забрать данные из БД и дождаться результата WebRequest'а. Даже отсутствие тасок до 4-го дотнета.
Сложности появились в дотнете 4.5 вместе со словом await. Разобраться в том, что просиходит в принесённом дампе стало крайне сложно.
Всё сказанное выше — личное мнение, если не указано обратное.
Re: Причины популярности C#
От: rudzuk  
Дата: 27.05.22 15:41
Оценка: 1 (1) :)
Здравствуйте, vaa, Вы писали:

vaa> Ознакомившись с доводами относительно причин популярности java

vaa> стало совсем непонятно как C# стал так популярен?
vaa> Ну меня только одна версия, простой и бесплатный компилятор(на 2001 год) с набором ado.net и Winforms, плюс IDE.
vaa> В остальном явных преимуществ не видно.

Все очень просто. Мода и тренды. Еще "крутость". Поясню. Сделали язык на платформе, под которую легко писать с название созвучным с языком на котором "круто" писать (да, это я про C/C++). Все.

з.ы. в подтверждение своего тезиса скажу, что даже тут уже дотнечики жалуются на падающую популярность и набирающий обороты JS (будь он проклят). В смысле, это очередная итерация — еще проще и тоже круто (ну, сайты же)
avalon/3.0.0
Re[3]: Причины популярности C#
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 28.05.22 16:35
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Я немножко ревьюил код чуваков, которые к нам устраивались. Не видел ни одного человека, который бы понимал как работают async/awate. Людей мы нанимали тем ненемее а потом я правил баги и вызванивал одного чувака, чтобы рассказать что он сделал не так. Притом там категорическое непонимание того что это такое. И кстати, разбирать дампы с дедлоками после async'ов — это пипец! Оно не упрощает жизнь, оно её усложняет.


Когда те же люди пишут без async/await, дедлоки плодятся сами собой, а порой разобраться вообще шансов нет, только переписать.
Re[4]: Причины популярности C#
От: wl. Россия  
Дата: 28.05.22 18:31
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, Философ, Вы писали:


Ф>>Я немножко ревьюил код чуваков, которые к нам устраивались. Не видел ни одного человека, который бы понимал как работают async/awate. Людей мы нанимали тем ненемее а потом я правил баги и вызванивал одного чувака, чтобы рассказать что он сделал не так. Притом там категорическое непонимание того что это такое. И кстати, разбирать дампы с дедлоками после async'ов — это пипец! Оно не упрощает жизнь, оно её усложняет.


I>Когда те же люди пишут без async/await, дедлоки плодятся сами собой, а порой разобраться вообще шансов нет, только переписать.


сколько программирую, ни разу особых проблем с асинхронностью не было. может у меня задачи слишком простые? почитал про async/await в C# — на первый взгляд ничего сложного
Re: Причины популярности C#
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 29.05.22 08:38
Оценка:
Здравствуйте, vaa, Вы писали:
В 7 ке обещают Native AOT

Обсуждение
https://github.com/dotnet/runtime/issues/61231

будут ли обрезаться только сборки, помеченные как обрезаемые по умолчанию?

Это не то, как работает NativeAOT. Компилятор NativeAOT генерирует код во время компиляции, а не во время выполнения, и в скомпилированных артефактах нет IL-кода и JIT-компилятора, поэтому даже если компилятор ничего не обрезает, вы все равно можете столкнуться с исключением из-за отсутствия кода во время выполнения. .

Например, для универсального типа Foo<T>компилятору необходимо выяснить, какие Ts заменяются, прежде чем он сможет сгенерировать для него код, поэтому приведенный ниже шаблон не приведет к созданию кода для Foo<int>:

private Type innerType;

void Boom(Type t)
{
typeof(Foo<>).MakeGenericType(new [] { t }); // no generated code for `Foo<int>`
}

void Test()
{
innerType = typeof(int);
Test(innerType);
}
Кроме того, есть много даже сложных шаблонов, которые нельзя статически проанализировать во время компиляции, поэтому компилятор может полагаться только на атрибуты обрезки и директивы времени выполнения (rd.xml), и это трудно сделать из коробки.


То есть переносят.Net Native на Core. Хотя по сути то .Net Native (UWP) и есть Core, только закрытый
и солнце б утром не вставало, когда бы не было меня
Отредактировано 29.05.2022 8:39 Serginio1 . Предыдущая версия .
Re[5]: Причины популярности C#
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 30.05.22 08:06
Оценка:
Здравствуйте, wl., Вы писали:

I>>Когда те же люди пишут без async/await, дедлоки плодятся сами собой, а порой разобраться вообще шансов нет, только переписать.


wl.>сколько программирую, ни разу особых проблем с асинхронностью не было. может у меня задачи слишком простые? почитал про async/await в C# — на первый взгляд ничего сложного


В том то и дело. А потому люди, у которых проблемы уже с async/await, без этой конструкции будут косячить много больше.
Re[7]: Причины популярности C#
От: Ночной Смотрящий Россия  
Дата: 30.05.22 13:47
Оценка: +1 :)
Здравствуйте, Философ, Вы писали:

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


Это не та аснхронщина. Та — это когда надо отпустить поток пока ты ждешь отклика от БД.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[7]: Причины популярности C#
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 30.05.22 14:51
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Скажем так, я никогда не видел ничего сложно в том, чтобы напихать задач в тредпул и подождать их завершения. С появлением TPL это стало несколько удобнее, особенно из-за того что таски стало очень удобно Join'ить между собой. У меня никогда не возникало проблем с тем чтобы одновременно забрать данные из БД и дождаться результата WebRequest'а. Даже отсутствие тасок до 4-го дотнета.

Ф>Сложности появились в дотнете 4.5 вместе со словом await. Разобраться в том, что просиходит в принесённом дампе стало крайне сложно.

Ну В итоге тебе придется писать продолжения ContinueWith, что не очень то и удобно.
В том же js завели async,await после того как TS её реализовывал через компиляцию в state mashine в JS
и солнце б утром не вставало, когда бы не было меня
Re: Причины популярности C#
От: Gt_  
Дата: 30.05.22 18:45
Оценка: 1 (1) -2 :)
Здравствуйте, vaa, Вы писали:

vaa>Ознакомившись с доводами относительно причин популярности java

vaa>стало совсем непонятно как C# стал так популярен?
vaa>Ну меня только одна версия, простой и бесплатный компилятор(на 2001 год) с набором ado.net и Winforms, плюс IDE.
vaa>В остальном явных преимуществ не видно.

причина одна — его с упорством маньяка проталкивал майкрософт. пипл в экстазе хавал рекламу, игнорируя даже то что в попытке угнаться за джавой каждые 3-4 года меняла фреймворки и требовало переписывать все с нуля. в результате никто серьезные фреймворки под .net не рискнул запускать. вся бигдата тотально на jvm, начиная с кафки заканчивая spark вся бигдата это jvm. в первую очередь из-за подхода к фичам языка.
Re[2]: Причины популярности C#
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 31.05.22 15:16
Оценка: +1
Здравствуйте, Gt_, Вы писали:

Gt_>причина одна — его с упорством маньяка проталкивал майкрософт. пипл в экстазе хавал рекламу, игнорируя даже то что в попытке угнаться за джавой каждые 3-4 года меняла фреймворки и требовало переписывать все с нуля. в результате никто серьезные фреймворки под .net не рискнул запускать. вся бигдата тотально на jvm, начиная с кафки заканчивая spark вся бигдата это jvm. в первую очередь из-за подхода к фичам языка.


А можно поподробнее про "требовало переписывать все с нуля"? Вроде как старый код то совместим с новыми фреймворками.
Нахрена переписывать. Разве, что ради ускорения. Но это уже не проблема новых фреймворков.
и солнце б утром не вставало, когда бы не было меня
Re[3]: Причины популярности C#
От: syrompe  
Дата: 01.06.22 12:54
Оценка:
S> А можно поподробнее про "требовало переписывать все с нуля"? Вроде как старый код то совместим с новыми фреймворками.
S>Нахрена переписывать. Разве, что ради ускорения. Но это уже не проблема новых фреймворков.

Winforms -> WPF -> null
ASP.NET WebForms -> ASP.NET
Remoting -> WCF -> REST API
Windows Phone -> null

Enterprise Library не очень совместим между версиями был.
EF не очень совместим с первыми версиями.

Уродца Workflow Foundation кто-нибудь еще помнит?
BizTalk

Это все мне пришлось за последние 8-10 лет перевыпиливать.
Отредактировано 01.06.2022 15:09 syrompe . Предыдущая версия .
Re[4]: Причины популярности C#
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 02.06.22 11:27
Оценка: +1
Здравствуйте, syrompe, Вы писали:

S>> А можно поподробнее про "требовало переписывать все с нуля"? Вроде как старый код то совместим с новыми фреймворками.

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

S>Winforms -> WPF -> null

Для вин все есть
S>ASP.NET WebForms -> ASP.NET
Ну они и сейчас есть. Просто не развиваются
S>Remoting -> WCF -> REST API
еще gRPC
S>Windows Phone -> null
Ну не совсем. Windows под Linux и UWP остались.
S>Enterprise Library не очень совместим между версиями был.
S>EF не очень совместим с первыми версиями.

S>Уродца Workflow Foundation кто-нибудь еще помнит?

Помню. Но не пользовался. Видел в 1С бизнес процессы
S>BizTalk

S>Это все мне пришлось за последние 8-10 лет перевыпиливать.

Зачем? Если для вин то многие до сих пор используют Winforms. А кто то и вместе с Wpf.
И WCF. Просто если старые фреймворки удовлетворяют, то зачем новые? Новые это по большей части сахар и больше наворотов. Можно прекрасно обходиться и без нововведений.
Или совмещать с новым фреймворками.
и солнце б утром не вставало, когда бы не было меня
Re[5]: Причины популярности C#
От: syrompe  
Дата: 02.06.22 12:41
Оценка: 1 (1) +1
S> Зачем? Если для вин то многие до сих пор используют Winforms. А кто то и вместе с Wpf.
S>И WCF. Просто если старые фреймворки удовлетворяют, то зачем новые? Новые это по большей части сахар и больше наворотов. Можно прекрасно обходиться и без нововведений.
S>Или совмещать с новым фреймворками.

Продукт надо поддерживать и развивать.

1. Тот же EF первых версий требовал дизайнера в студии, которого в последних студиях нету. Т.е. мне чтобы добавить колонку нужно было держать у себя студию 12. И таких мелочей копится довольно много.
2. некоторые вещи (Remoting и WCF вроде тоже) таки не поддерживаются вовсе в .Net Core, а клиенты хотят хостить сервисы в линуксах (банально дешевле).
3. у WinForms есть проблемы с лайаутом на High DPI экранах. Да лечится, но порой заставить разработчика библиотеки контролов вылечить невозможно. Симбиоз WPF и Winforms как-то очень криво реализован — я помню мы где-то полгода баги вылавливали после релиза.
4. Windows Phone умер. Совсем. А все вложенное в него время просто в /dev/null ушло.
5. Найм. Это последние пару лет очень ярко себя проявлять стало. Очень многие не хотят работать с древними технологиями.
6. частично предыдущий пункт. Постепенно начинают появляться "незаменимые" специалисты по этим древним технологиям, уход которых очень болезнен.
Re[6]: Причины популярности C#
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 02.06.22 13:16
Оценка:
Здравствуйте, syrompe, Вы писали:

S>> Зачем? Если для вин то многие до сих пор используют Winforms. А кто то и вместе с Wpf.

S>>И WCF. Просто если старые фреймворки удовлетворяют, то зачем новые? Новые это по большей части сахар и больше наворотов. Можно прекрасно обходиться и без нововведений.
S>>Или совмещать с новым фреймворками.

S>Продукт надо поддерживать и развивать.


S>1. Тот же EF первых версий требовал дизайнера в студии, которого в последних студиях нету. Т.е. мне чтобы добавить колонку нужно было держать у себя студию 12. И таких мелочей копится довольно много.

Да помню. Кстати Linq2db по функционалу интересенее и легковеснее.
S>2. некоторые вещи (Remoting и WCF вроде тоже) таки не поддерживаются вовсе в .Net Core, а клиенты хотят хостить сервисы в линуксах (банально дешевле).
Ну там не так уж и сложно переписать. Только вызовы. gRPC для разработчиков на Windows Communication Foundation (WCF)

Кстати CoreWCF надо посмотреть

Проект сообщества, цель которого — обеспечить поддержку размещения служб WCF в .NET Core и .NET 5. В настоящее время доступен предварительный выпуск, и идет работа над рабочей версией. CoreWCF поддерживает только часть функций WCF. Для успешной работы приложений .NET Framework, которые переносятся на эту платформу, потребуется внести изменения в код и провести тестирование. CoreWCF — подходящий вариант, если приложение должно сохранять совместимость с существующими клиентами, вызывающими службы WCF.

S>3. у WinForms есть проблемы с лайаутом на High DPI экранах. Да лечится, но порой заставить разработчика библиотеки контролов вылечить невозможно. Симбиоз WPF и Winforms как-то очень криво реализован — я помню мы где-то полгода баги вылавливали после релиза.
Да помню сам лечил недавно.
S>4. Windows Phone умер. Совсем. А все вложенное в него время просто в /dev/null ушло.

S>5. Найм. Это последние пару лет очень ярко себя проявлять стало. Очень многие не хотят работать с древними технологиями.

S>6. частично предыдущий пункт. Постепенно начинают появляться "незаменимые" специалисты по этим древним технологиям, уход которых очень болезнен.
и солнце б утром не вставало, когда бы не было меня
Re: Причины популярности C#
От: Артём Австралия жж
Дата: 04.06.22 07:02
Оценка: :))
Здравствуйте, vaa, Вы писали:

vaa>стало совсем непонятно как C# стал так популярен?


Популярен?! Это неуловимый джо.
Re[2]: Причины популярности C#
От: vaa  
Дата: 04.06.22 23:33
Оценка:
Здравствуйте, Артём, Вы писали:

Аё>Здравствуйте, vaa, Вы писали:


vaa>>стало совсем непонятно как C# стал так популярен?


Аё>Популярен?! Это неуловимый джо.


по всем рейтингам, включая hh, входит в 5-ку.
конечно при это сильно отстает от жавы, но все же популярнее раст`а.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[3]: Причины популярности C#
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 05.06.22 19:06
Оценка:
Здравствуйте, vaa, Вы писали:

vaa>по всем рейтингам, включая hh, входит в 5-ку.

vaa>конечно при это сильно отстает от жавы, но все же популярнее раст`а.
Если из жавы убрать андроид, то неизвестно какой популярнее. А жава для андроида сильно уре занная.
Да и по тому же stackoverflow не сильно то и отстает https://insights.stackoverflow.com/survey/2021#most-popular-technologies-language-prof
и солнце б утром не вставало, когда бы не было меня
Re: Причины популярности C#
От: IncremenTop  
Дата: 05.06.22 20:28
Оценка:
Здравствуйте, vaa, Вы писали:

vaa>стало совсем непонятно как C# стал так популярен?


Если брать как язык — то можно просто обратить внимание когда недоженерики появились в джаве и когда нормальные появились в C#. Как язык — гораздо удобнее.
Re[2]: Причины популярности C#
От: IncremenTop  
Дата: 05.06.22 20:42
Оценка: +1 :)
Здравствуйте, Gt_, Вы писали:

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


Джава как язык безнадежно отстала от C# еще эдак в 2010-м. Именно поэтому большинство знакомых джавистов уже давно на скале или котлине.
Популярна она исключительно исторически и за счет протакливания в учебные курсы всех вузов.
Re[3]: Причины популярности C#
От: Gt_  
Дата: 07.06.22 06:43
Оценка: :)
Gt_>>причина одна — его с упорством маньяка проталкивал майкрософт. пипл в экстазе хавал рекламу, игнорируя даже то что в попытке угнаться за джавой

IT>Джава как язык безнадежно отстала от C# еще эдак в 2010-м. Именно поэтому большинство знакомых джавистов уже давно на скале или котлине.

IT>Популярна она исключительно исторически и за счет протакливания в учебные курсы всех вузов.

ты видно с каких-то глухих мест пишешь, в мире jvm уже пару лет обсуждают сворачивание применения scala и возврат к java. пара крупных пользователей scala утомились искать спецов и бороться со сломанными api после мажорных релизов. java не ломает api и при этом все по настоящему принципиальные вещи из scala перенимает. что касается .net, то это просто свалка плохо подлаженных друг другу идей из мира jvm, ничего серьезного на на платформе .net так и не написали, тогда как на jvm с 2010 года наколбасили от elasticseach до кафки и spark.

у майкрософт был показательный проект DryadLINQ, ничего путного написать на платформе .net у них них не вышло, теперь по центру всяких synapsis и big data sql у них jvm и spark. натыканый в попыхах syntactic sugar c# никак не помог.

Gt_
Отредактировано 07.06.2022 6:45 Gt_ . Предыдущая версия . Еще …
Отредактировано 07.06.2022 6:43 Gt_ . Предыдущая версия .
Re[4]: Причины популярности C#
От: Философ Ад http://vk.com/id10256428
Дата: 07.06.22 08:51
Оценка:
Здравствуйте, Gt_, Вы писали:

Gt_>...что касается .net, то это просто свалка плохо подлаженных друг другу идей из мира jvm, ничего серьезного на на платформе .net так и не написали, тогда как на jvm с 2010 года наколбасили от elasticseach до кафки и spark.


Бла-бла-бла... Наколбасили потому что колбасили под Линукс, на котором раньше .net не работал. Шарп тут совсем ни при чём. Кора относительно недавно появилась — наколбасят ещё.

Gt_>у майкрософт был показательный проект DryadLINQ, ничего путного написать на платформе .net у них них не вышло, теперь по центру всяких synapsis и big data sql у них jvm и spark. натыканый в попыхах syntactic sugar c# никак не помог.


Оно не взлетело не потому что там синтаксический сахар, а потому что:
  код на картинке

Когда Expression параметризуется функцией, то это признак сверхсложной хрени, в которой будет туча проблем и вещей типа "ааа об этом мы не подумали! Вот, есть такой воркэраунд...".

Ну и не очень умно брать какой-то не взлетевший проект и доказывать его существованием несостоятельность всего стека технологий.
Всё сказанное выше — личное мнение, если не указано обратное.
Re[4]: Причины популярности C#
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 07.06.22 11:25
Оценка:
Здравствуйте, Gt_, Вы писали:


Gt_>у майкрософт был показательный проект DryadLINQ, ничего путного написать на платформе .net у них них не вышло, теперь по центру всяких synapsis и big data sql у них jvm и spark. натыканый в попыхах syntactic sugar c# никак не помог.


Взял какой то исследовательский продукт. Но есль вполне работающие EF, Linq2DB (IQueryable). Чего на жаве и нет.
А Linq To Sql оочень удобен!
и солнце б утром не вставало, когда бы не было меня
Re[4]: Причины популярности C#
От: IncremenTop  
Дата: 07.06.22 13:02
Оценка:
Здравствуйте, Gt_, Вы писали:

Gt_>ты видно с каких-то глухих мест пишешь, в мире jvm уже пару лет обсуждают сворачивание применения scala и возврат к java.


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

Gt_> ничего серьезного на на платформе .net так и не написали, тогда как на jvm с 2010 года наколбасили от elasticseach до кафки и spark.


Карго-культ во всей красе. Кто-то когда-то написал кафку, теперь все должны писать все подряд на жабе.
Аргументы приземленнее будут?


Gt_>у майкрософт был показательный проект DryadLINQ, ничего путного написать на платформе .net у них них не вышло, теперь по центру всяких synapsis и big data sql у них jvm и spark. натыканый в попыхах syntactic sugar c# никак не помог.


У майкрософт.ресерч множество проектов было, а не только этот.

Непонятно, только причем здесь C# как язык.
Re[5]: Причины популярности C#
От: Gt_  
Дата: 07.06.22 16:05
Оценка: :)
Gt_>>...что касается .net, то это просто свалка плохо подлаженных друг другу идей из мира jvm, ничего серьезного на на платформе .net так и не написали, тогда как на jvm с 2010 года наколбасили от elasticseach до кафки и spark.

Ф>Бла-бла-бла... Наколбасили потому что колбасили под Линукс, на котором раньше .net не работал. Шарп тут совсем ни при чём. Кора относительно недавно появилась — наколбасят ещё.


так МС 30 лет, не взирая на хохот, втирала, что виндовс отдично подходит серверам и тяжелым нагрузкам. чего же с таким прекрасеым языком и могучим виндовсом так ничего и не написали ?
на виндовс платформе тоже бигдата нужна была, она и сейчас азуру нужна, но как видим даже microsoft много проще ее строить на jvm.


Ф>Когда Expression параметризуется функцией, то это признак сверхсложной хрени, в которой будет туча проблем и вещей типа "ааа об этом мы не подумали! Вот, есть такой воркэраунд...".


смешно пошутил, учитывая что у парка точно так же мап и редюс лямду принимают.

Ф>Ну и не очень умно брать какой-то не взлетевший проект и доказывать его существованием несостоятельность всего стека технологий.


это самое серьезное что я слышал на .net, еще слышал про ravendb, но там само ядро c++
Re[5]: Причины популярности C#
От: Gt_  
Дата: 07.06.22 17:00
Оценка:
Gt_>>ты видно с каких-то глухих мест пишешь, в мире jvm уже пару лет обсуждают сворачивание применения scala и возврат к java.

IT>Видимо, меня мало интересует мнение ретроградов, которые утомились искать спецов. Они еще гошечку любят.


я намекал на увольнения Typesafe/Lightbend — пионеров скалы. они скалу любили, а не гошечку.

IT>Карго-культ во всей красе. Кто-то когда-то написал кафку, теперь все должны писать все подряд на жабе.

IT>Аргументы приземленнее будут?

это не карго культ, а макание в факты. вся бингдата тотально на jvm. не знаю должны ли, но серьезные масштабируемые фреймворки бигдаты написаны тотатально на jvm языках, причем большая часть именно java. и это не легаси, это все свежие проекты. и это произошло точно не от того что C# хоть в чем-то обошел, кроме метаний с api.


IT>У майкрософт.ресерч множество проектов было, а не только этот.


IT>Непонятно, только причем здесь C# как язык.


можешь назвать что-то более серьезое, что написано на C#. ?
Re: Причины популярности C#
От: vsb Казахстан  
Дата: 07.06.22 17:06
Оценка: +1
Здравствуйте, vaa, Вы писали:

vaa>Ознакомившись с доводами относительно причин популярности java

vaa>стало совсем непонятно как C# стал так популярен?
vaa>Ну меня только одна версия, простой и бесплатный компилятор(на 2001 год) с набором ado.net и Winforms, плюс IDE.
vaa>В остальном явных преимуществ не видно.

Это примерно как с Objective C. Официальный язык для Windows, вот и всё. Куча людей его поэтому и начали использовать.
Re[6]: Причины популярности C#
От: Философ Ад http://vk.com/id10256428
Дата: 07.06.22 17:24
Оценка:
Здравствуйте, Gt_, Вы писали:


Gt_>так МС 30 лет, не взирая на хохот, втирала, что виндовс отдично подходит серверам и тяжелым нагрузкам. чего же с таким прекрасеым языком и могучим виндовсом так ничего и не написали ?


Опять твои сказки про "ничего не написали". MS SQL не серверный софт разве? Может он на Windows не работает? Может и КЫВТ на линуксе работает?

Gt_>на виндовс платформе тоже бигдата нужна была, она и сейчас азуру нужна, но как видим даже microsoft много проще ее строить на jvm.


Ну вот хз насколько она там нужна и многим ли она нужна и вообще, имеет ли для мелкософта это коммерческий смысл. Однако непонятно, откуда ты взял что мелкософт свою бигдату делает на jvm. Не просветишь?

Ф>>Когда Expression параметризуется функцией, то это признак сверхсложной хрени, в которой будет туча проблем и вещей типа "ааа об этом мы не подумали! Вот, есть такой воркэраунд...".

Gt_>смешно пошутил, учитывая что у парка точно так же мап и редюс лямду принимают.

Покажи! Я таку дичь в продукте крупной компании впервые увидел, когда про DryadLINQ гуглил. Впрочем, могу ошибаться — не знаю что такое "парк" и что с ним надо делать.


Gt_>это самое серьезное что я слышал на .net, еще слышал про ravendb, но там само ядро c++


Было бы странно такие вещи писать не на c++ — и в .net и в jvm: слишком много там под катом работает, что очень нехорошо на производительности сказывается, а шестая кора совсем недавно вышла. Подобные вещи не пару месяцев делаются. Так что range check elimination туда бы ещё не завезли, и глотало бы оно пыль у любого плюсового движка, что отнюдь не способствует его успешности.

Кстати, о шестой коре!
https://github.com/ravendb/ravendb
Найди мне там плюсовый код. Хелпани! А то мне с разбегу не удалось его там найти.
Всё сказанное выше — личное мнение, если не указано обратное.
Re[7]: Причины популярности C#
От: Gt_  
Дата: 07.06.22 17:38
Оценка:
Ф>Опять твои сказки про "ничего не написали". MS SQL не серверный софт разве? Может он на Windows не работает? Может и КЫВТ на линуксе работает?

так назови что написали, не томи. sybase написал мсскл на голом c, там нет .net

Ф>Ну вот хз насколько она там нужна и многим ли она нужна и вообще, имеет ли для мелкософта это коммерческий смысл. Однако непонятно, откуда ты взял что мелкософт свою бигдату делает на jvm. Не просветишь?


в азуре у них там 3 продукта — synapse, там спарк внутри, датабрикс — опять спарк и hadoop — тоже почти все на jvm. еще у майкрософта есть big data sql, все вокруг hadoop построено.

Ф>>>Когда Expression параметризуется функцией, то это признак сверхсложной хрени, в которой будет туча проблем и вещей типа "ааа об этом мы не подумали! Вот, есть такой воркэраунд...".

Gt_>>смешно пошутил, учитывая что у парка точно так же мап и редюс лямду принимают.

Ф>Покажи! Я таку дичь в продукте крупной компании впервые увидел, когда про DryadLINQ гуглил. Впрочем, могу ошибаться — не знаю что такое "парк" и что с ним надо делать.


я имел ввиду spark

Ф>Кстати, о шестой коре!

Ф>https://github.com/ravendb/ravendb
Ф>Найди мне там плюсовый код. Хелпани! А то мне с разбегу не удалось его там найти.

https://ravendb.net/articles/unveiling-gavran-ravendb-re-written-in-c
Отредактировано 07.06.2022 18:36 Gt_ . Предыдущая версия .
Re[8]: Причины популярности C#
От: Философ Ад http://vk.com/id10256428
Дата: 07.06.22 18:35
Оценка:
Здравствуйте, Gt_, Вы писали:


Ф>>Покажи! Я таку дичь в продукте крупной компании впервые увидел, когда про DryadLINQ гуглил. Впрочем, могу ошибаться — не знаю что такое "парк" и что с ним надо делать.

Gt_>я имел ввиду spark

Пофиг — я всё равно его никогда не видел и вряд-ли когда-нибудь прикоснусь к нему. Код покажи.

Ф>>Кстати, о шестой коре!

Ф>>https://github.com/ravendb/ravendb
Ф>>Найди мне там плюсовый код. Хелпани! А то мне с разбегу не удалось его там найти.

Gt_>https://ravendb.net/articles/unveiling-gavran-ravendb-re-written-in-c


In RavenDB 4.0, we have made a lot of architectural changes. One of them was to replace some of the core functionality of RavenDB with a C library to handle core operations.


Вероятно это переводится "само ядро на c++", гм... Мне кажется, или на самом деле это маленький кусочек на C?

Due to the COVID restrictions, I found myself with some time on my hands and decided that I can spare a few weekends to re-write RavenDB from scratch in C. I considered using Rust, but that seemed like to be over the top.


Статья писалась во времена 4-й версии, сейчас на гитхабе версия 5.3 а воз и ныне там? Там — в смысле в репозитории с описанием "Experimenting with persistence in C", с последним коммитом 3 года назад....
Всё сказанное выше — личное мнение, если не указано обратное.
Re[8]: Причины популярности C#
От: Философ Ад http://vk.com/id10256428
Дата: 07.06.22 19:02
Оценка:
Здравствуйте, Gt_, Вы писали:


Ф>>Опять твои сказки про "ничего не написали". MS SQL не серверный софт разве? Может он на Windows не работает? Может и КЫВТ на линуксе работает?

Gt_>так назови что написали, не томи. sybase написал мсскл на голом c, там нет .net

Означает ли это, что он не включает в себя CLR, не интегрирован с ним и на шарпе нельзя расширенные хранимые процедуры писать? Sybase SQL писали когда никакого .net ещё не существовало даже в проекте, и это был куда более примитивный продукт нежели сейчас.

Ф>>Ну вот хз насколько она там нужна и многим ли она нужна и вообще, имеет ли для мелкософта это коммерческий смысл. Однако непонятно, откуда ты взял что мелкософт свою бигдату делает на jvm. Не просветишь?


Gt_>в азуре у них там 3 продукта — synapse, там спарк внутри, датабрикс — опять спарк и hadoop — тоже почти все на jvm. еще у майкрософта есть big data sql, все вокруг hadoop построено.


Прочитал я про это synaps и реализован он оказывается на языке Scala, первые имплементации которого действительно были для jvm и jscript, а потом сначала появились имплементации для .net, и native. При этом это широко и давно известные факты: даже на кывте есть статья, описывающая ньюансы скалы под .net
Всё сказанное выше — личное мнение, если не указано обратное.
Отредактировано 07.06.2022 19:08 Философ . Предыдущая версия . Еще …
Отредактировано 07.06.2022 19:04 Философ . Предыдущая версия .
Re[3]: Причины популярности C#
От: Артём Австралия жж
Дата: 08.06.22 05:15
Оценка: :)
Здравствуйте, vaa, Вы писали:

vaa>по всем рейтингам, включая hh, входит в 5-ку.


5 ку чего? Может быть, некоторые маленькие компании и отдельные Влады использовали пончик для веб. Крупняк держится подальше от windows server.

vaa>конечно при это сильно отстает от жавы, но все же популярнее раст`а.

Что такое раст вообще? Нечто популярнее немерле?
Re[9]: Причины популярности C#
От: Gt_  
Дата: 08.06.22 06:31
Оценка: :)
Ф>Означает ли это, что он не включает в себя CLR, не интегрирован с ним и на шарпе нельзя расширенные хранимые процедуры писать? Sybase SQL писали когда никакого .net ещё не существовало даже в проекте, и это был куда более примитивный продукт нежели сейчас.

это значит, что SQL движок, оптимизатор, управление памятью, процессы что читают файлики с данными, это все не .net
.net процедуры — малоиспользуемая из-за тормознутости пришлепка сбоку

Ф>Прочитал я про это synaps и реализован он оказывается на языке Scala, первые имплементации которого действительно были для jvm и jscript, а потом сначала появились имплементации для .net, и native. При этом это широко и давно известные факты: даже на кывте есть статья, описывающая ньюансы скалы под .net


ты наверно очень красивая если такое прочитала про azure synapse
Re[4]: Причины популярности C#
От: Farsight СССР  
Дата: 08.06.22 07:59
Оценка: +1
Здравствуйте, Артём, Вы писали:

Аё>5 ку чего? Может быть, некоторые маленькие компании и отдельные Влады использовали пончик для веб. Крупняк держится подальше от windows server.


А при чем тут windows server?
</farsight>
Re[4]: Причины популярности C#
От: vaa  
Дата: 08.06.22 08:43
Оценка:
Здравствуйте, Артём, Вы писали:
Аё> немерле?
Лучше наверно Немерл. а то как-то созвучно чему-то грустному.
— Скажите как его зовут?
— Р!
— А!
— С!
— Т!
— РАСТ!
— Па-па-пара-пам!
Впрочем немерл по-русски всяко грустно
☭ ✊ В мире нет ничего, кроме движущейся материи.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.