Здравствуйте, gandjustas, Вы писали:
S>>Если посмотреть на TS и C#, то по мне так C# не особо то и сильно проигрывает. G>C# хорош для серверного кода и мобилок (xamarin), JS для клиентского кода . Проблема в том, что все интересное на сервере уже давно написано. И большая часть разработки приложений сводится к клиентскому коду.
А откуда ты знаешь где тебе этот C# код потребуется? Вот сегодня ты написал что-то более менее размерное на сервере, а потом получил латентность, а перенести на клиент нельзя, "патроны то не той системы". После чего к начальству приходит хипстер с NodeJS и говорит "а y нас один и тот же код работает везде" и будет в общем прав. Вот и отправиться C# на помоечку. Это собственно единственная причина NodeJS существование, вся его "асинхронность" и прочая лабуда нафиг не сдалась так как присутствует сейчас чуть менее чем везде.
Здравствуйте, gandjustas, Вы писали:
G>Читабельность у JS не хуже других С-подобных языков. Для нахождения ошибок рекомендую TS.
TS имеет весьма ограниченные возможности отслеживания ошибок в JS. И более-менее хорошо работает лишь с тем кодом, который изначально писался с прицелом на TS.
G>Проблема в JS или в конкретном товарище, который писать не умеет?
Это чисто субъективное.
За много лет работы я видел много разных программеров. Из всех из них я могу припомнить, от силы, двух человек, кто умел писать нормальный, легко поддерживаемый код на JS. Я упомянул Microsoft просто чтобы отбросить мысли о тупости конкретного товарища. Таких товарищей, которые пишут хороший код на других языках, но не могут нормально писать на JavaScript, довольно много. Из чего я бы сделал вывод, что JS слишком уж легко позволяет накосячить в коде.
Яркий пример для JavaScript — "this", там жешь не поймёшь, когда куда оно ссылается.
AK>>UI, по очевидным причинам, в 30 строк не влезет. Он и в JS не влезет — он просто не является частью самого языка, он является частью платформы, на которой JS запускается. AK>>Тот ваш замечательный 30-строчный excel, скорее всего, не будет работать под Visual Studio Code, ибо оно не предоставляет того же рантайма, что и браузер. А язык тот же, JS. G>Ну то есть на .net этого нельзя сделать.
Табличку с UI? В 30 строк? Без понятия. Может и нельзя.
А зачем? Что оно показывает-то? То, что JS тесно интегрирован с UI? Ну и? А многопоточный перебор коллекции в две строчки вы на JS сделаете? В C# легко.
Вы зацепились за один пример приложения, написанного на JS. Да шут с ним, речь-то идёт о программировании реальных приложений, а не примеров из книжки. Я помню, был какой-то язык, в котором программа, печатающая свой код, занимала толи одну, толи две строчки. Собственно, это и было единственным достоинством этого языка. Примитивная табличка в 30 строчек — ни разу не достоинство.
G>То есть то что МС не поддерживает разработку гугла это проблема языка?
Вы не поняли.
adal-angular это простая обёртка над adal.js
Развалилась сама adal.js, не хочет работать с теми версиями библиотек, которые используются с Angular2. Т.е., проще говоря, оно скоро везде отвалится, если обновиться до тех же версий библиотек. Просто в проекте типа "myexceltable" вы можете эти библиотеки не обновлять, а оставить версии годовой давности, а с Angular2 так не получится, там они нужны чтоб сам Angular заработал.
Вот Microsoft устал поддерживать свою разработку под JS. Они там новый велосипед обещают — MSAL, но версия для JS там ещё не готова и когда будет готова — никто не знает.
AK>>Таким образом, вот вам пример проблемы, с которой JS-девелоперы не могут разобраться. G>А при чем тут JS? То же самое на других языка видел неоднократно.
Можете привести какой-нибудь пример, чтоб было понятнее?
Здесь, повторюсь, сам сервис не менялся. Код библиотеки не менялся. Версия языка не менялась. Обновились другие (вполне себе базовые) библиотеки, в результате всё развалилось настолько, что Microsoft не хочет в этом разбираться.
Здравствуйте, gandjustas, Вы писали:
N>>ИМХО, несмотря на все бабло Гугла, Питон до сих пор лучше языком, библиотеками, тулчейнами и рантаймом, но дело даже не в этом. Я хочу выбирать язык, а не подстраиваться под, пусть и очень важную, платформу. G>А я хочу денег зарабатывать. И если надо подстраиваться — буду подстраиваться, тебе желаю того же самого.
Много не заработаешь. Освоить JS много проще чем даже Яву. Тут даже техникум не нужен, буквально школота справится. Энергозатраты потраченные на детальное знание очередного "СуперДуперАнгуляр 12.0" малоэффективны, так как он устаревает быстрее бабочки.
Здравствуйте, fddima, Вы писали:
F> Ох. Одни борятся не только за скорость старта приложений, но и за скорость их закрытия, а другие усиленно хотят, что бы они закрывались на подобии студии — нажал на крестик и оно педалит там что-то (не важно — по делу или нет), но ещё и зависнуть может. F> Вот на кой здались эти финализаторы — провоцировать писать код с непонятно какими характеристиками потребления ресурсов (в том числе и памяти)? ОС закроет все хэндлы за тебя всё равно, память всю вернет, не переживай. Браузер типа хрома, если видит, что рендерер более не нужен — не то, что финализаторы не вызовет — он вообще не позовёт никакие другие события. Он делает банально (в псевдокоде)
CloseCommunicationChannel(); SelfProcessKill();
.
Э, нет, по-умолчанию хром перед выходом еще зовет CreateGarbageBackgroundProcess(), который тоже "педалит там что-то".
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, Ops, Вы писали:
Ops>Э, нет, по-умолчанию хром перед выходом еще зовет CreateGarbageBackgroundProcess(), который тоже "педалит там что-то".
Это такой тонкий юмор?
Здравствуйте, fddima, Вы писали:
F> Это такой тонкий юмор?
Нет, этот мусор висит в фоне реально, и это не смешно. Якобы должен обновлять хром и сообщать тебе про почту, плюс крутить новомодные ServiceWorker, если тебя угораздило на них подписаться.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, Ops, Вы писали:
F>> Это такой тонкий юмор? Ops>Нет, этот мусор висит в фоне реально, и это не смешно. Якобы должен обновлять хром и сообщать тебе про почту, плюс крутить новомодные ServiceWorker, если тебя угораздило на них подписаться.
Т.е. с моим мообщением ничего общего не имеет.
А мусор этот — отключи. В контекстном меню прямо на иконочке в трее. Я кстати отключаю.
Здравствуйте, fddima, Вы писали:
F> Т.е. с моим мообщением ничего общего не имеет.
Ну как же не имеет? Это даже не работа при выходе, это работа все время. Пусть лучше долю секунды после нажатия на крестик поработает прибиваемый процесс, чем фоновый мусор постоянно. F> А мусор этот — отключи. В контекстном меню прямо на иконочке в трее. Я кстати отключаю.
Ага, и еще через Autoruns в десятке мест. Но по-умолчанию оно включено и чего-то делает.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, novitk, Вы писали:
N>Здравствуйте, gandjustas, Вы писали:
S>>>Если посмотреть на TS и C#, то по мне так C# не особо то и сильно проигрывает. G>>C# хорош для серверного кода и мобилок (xamarin), JS для клиентского кода . Проблема в том, что все интересное на сервере уже давно написано. И большая часть разработки приложений сводится к клиентскому коду.
N>А откуда ты знаешь где тебе этот C# код потребуется? Вот сегодня ты написал что-то более менее размерное на сервере, а потом получил латентность, а перенести на клиент нельзя, "патроны то не той системы". После чего к начальству приходит хипстер с NodeJS и говорит "а y нас один и тот же код работает везде" и будет в общем прав. Вот и отправиться C# на помоечку. Это собственно единственная причина NodeJS существование, вся его "асинхронность" и прочая лабуда нафиг не сдалась так как присутствует сейчас чуть менее чем везде.
У меня таких проблем нет. Я сам директор и набираю программистов. Они у меня пишут на всем что требует конкретная задача и, внезапно, js требуется сильно чаще всего остального.
К финализаторам — не имеет. Фоновые задачи — это норм. Куча программ используется в фоне, навроде почтого агента. Да, сейчас веб внезапно получил и худо-бедную интеграцию с десктопом. Но новогодней ёлки на подобии стартового меню виндовс 10 — там и близко нет.
Насчет того на кой городить сервисы занимающиеся просто автообновлением... это не совсем ко мне, но все почему-то делают именно так. Возможно есть объективные причины, но сомневаюсь. Но насчет хрома и просто автообновлением — есть подозрение, что не только. Мож телеметрию шлёт, но тут — не знаю.
В остальном — просто отключаешь галку и по закрытия браузера — нет никаких фоновых процессов. И дефолт такой ясный — иначе не ты бы спрашивал, нафига оно — а пол интернета спрашивало — почему у меня на сайте Х не работает Х.
Здравствуйте, Artem Korneev, Вы писали:
AK>Здравствуйте, gandjustas, Вы писали:
G>>Читабельность у JS не хуже других С-подобных языков. Для нахождения ошибок рекомендую TS.
AK>TS имеет весьма ограниченные возможности отслеживания ошибок в JS. И более-менее хорошо работает лишь с тем кодом, который изначально писался с прицелом на TS.
Это бред. Я не одной из презентаций качал чисто js приложение (node+клиент) и за 10 минут превращал его в типизрованное на TS без единого any.
G>>Проблема в JS или в конкретном товарище, который писать не умеет? AK>Это чисто субъективное. AK>За много лет работы я видел много разных программеров. Из всех из них я могу припомнить, от силы, двух человек, кто умел писать нормальный, легко поддерживаемый код на JS. Я упомянул Microsoft просто чтобы отбросить мысли о тупости конкретного товарища. Таких товарищей, которые пишут хороший код на других языках, но не могут нормально писать на JavaScript, довольно много. Из чего я бы сделал вывод, что JS слишком уж легко позволяет накосячить в коде.
Это потому что на JS пытаются писать как "на других языках". Я видел такое очень часто на C++ и C#. Когда C# только пошел в массы куча программистов? изучавших C++? пытались писать на C# как на C++.
AK>Яркий пример для JavaScript — "this", там жешь не поймёшь, когда куда оно ссылается.
Очень даже поймешь, особенно если знаешь. Другое дело если ты никогда не изучал куда на самом деле ссылается this и пытаешься писать на JS используя знания java\c++\c#.
AK>А многопоточный перебор коллекции в две строчки вы на JS сделаете? В C# легко.
В JS все работает в одном потоке и это прекрасно. Хренову тучу ошибок убирает.
Кстати в продакшене за все время всего один раз parallel foreach использовал.
AK>Вы зацепились за один пример приложения, написанного на JS. Да шут с ним, речь-то идёт о программировании реальных приложений, а не примеров из книжки. Я помню, был какой-то язык, в котором программа, печатающая свой код, занимала толи одну, толи две строчки. Собственно, это и было единственным достоинством этого языка. Примитивная табличка в 30 строчек — ни разу не достоинство.
Ну ок, можешь так считать.
AK>adal-angular это простая обёртка над adal.js AK>Развалилась сама adal.js, не хочет работать с теми версиями библиотек, которые используются с Angular2. Т.е., проще говоря, оно скоро везде отвалится, если обновиться до тех же версий библиотек. Просто в проекте типа "myexceltable" вы можете эти библиотеки не обновлять, а оставить версии годовой давности, а с Angular2 так не получится, там они нужны чтоб сам Angular заработал. AK>Вот Microsoft устал поддерживать свою разработку под JS. Они там новый велосипед обещают — MSAL, но версия для JS там ещё не готова и когда будет готова — никто не знает.
Еще раз — это опенсорс, в нем тебе никто не обязан поддерживать работоспособность. И это нормально, привыкай. Сделай фикс и все.
Для .net будет тоже самое когда .NET Core пойдет в массы.
AK>>>Таким образом, вот вам пример проблемы, с которой JS-девелоперы не могут разобраться. G>>А при чем тут JS? То же самое на других языка видел неоднократно. AK>Можете привести какой-нибудь пример, чтоб было понятнее? AK>Здесь, повторюсь, сам сервис не менялся. Код библиотеки не менялся. Версия языка не менялась. Обновились другие (вполне себе базовые) библиотеки, в результате всё развалилось настолько, что Microsoft не хочет в этом разбираться.
Я уже приводил.
Здравствуйте, novitk, Вы писали:
N>Здравствуйте, gandjustas, Вы писали:
N>>>ИМХО, несмотря на все бабло Гугла, Питон до сих пор лучше языком, библиотеками, тулчейнами и рантаймом, но дело даже не в этом. Я хочу выбирать язык, а не подстраиваться под, пусть и очень важную, платформу. G>>А я хочу денег зарабатывать. И если надо подстраиваться — буду подстраиваться, тебе желаю того же самого.
N>Много не заработаешь. Освоить JS много проще чем даже Яву. Тут даже техникум не нужен, буквально школота справится. Энергозатраты потраченные на детальное знание очередного "СуперДуперАнгуляр 12.0" малоэффективны, так как он устаревает быстрее бабочки.
Не поверишь сколько я заработал на проектах, в которых кроме JS ничего не было.
Здравствуйте, AlexRK, Вы писали:
ARK>Здравствуйте, gandjustas, Вы писали:
G>>>>При этом JS очень мощный язык. ARK>>>И очень убогий. G>>А конкретнее? ARK>Конкретнее — в нем чуть менее, чем всё, сделано per rectum. Много подробностей есть в гугле.
Это все равно твое отношение, которое не интересно вообще никому.
Приводи факты.
Здравствуйте, turbocode, Вы писали: T>На что то более вменяемое типа C# с хорошей стандартной библиотекой? Сколько можно тянуть этот JS легаси из 90-х годов?
А помните VBScript и Internet Explorer. И кого в итоге заменили? Тот же Internet Explorer превратился в приложение для загрузки браузера. Что там ещё было? Может быть ASP, потом ASP.NET.
Не майкрософт выбирает за вас технологии. Кто отдаст "команду" на замену? Да, мы можем поговорить в стиле, а вот это может то и это, у него такие невероятные возможности. Но найдутся другие и они скажут "Какая гадость эта ваша заливная рыба". Но самое главное в том, чьи приложения останутся на рынке.
Вот вы говорите C# хорош, и я могу сказать, что он довольно не плох. Да, что уж там говорить, .NET ведь тоже воплощает в себе многие передовые идеи, отличная платформа. Но всегда есть но, например, её нет в GNU/Linux. И кто-то скажет, да пошёл ты со своим GNU/Linux, тебя там полтора процента на десктопе.
доля операционных систем на десктопах
Согласен, меня 1.56%, более того, я пока не оказываю практически никакого влияния на индустрию программирования. И предположим программистов в той же России 150 тысяч при 143 млн. населении, а это практически 0.1%.
распределение по профессиям в России
Думаете почему на серверах винда не смогла победить. Начнём хотя бы с того, что чиновников в России более 1.5 млн, это на порядок больше программистов. В демократическом обществе это меньшинство даже имеющее правило голоса абсолютно ни на что не влияющее.
Но когда речь заходит об установке операционной системы, выбора языка программирования, библиотек алгоритмов и прочего, то ситуация несколько иная. Если кому-то охота использовать C#, так и пожалуйста. А если мне кто-то скажет "эй, пацанчик, давай используй C#", то я скажу, что уж лучше буду есть кроссплатформенные пирожные на C++. А если мне будет нужен скрипт, то первыми кандидатами станут JavaScript, Python, Lua.
Мои языки программирования улыбаются, глядя на меня, мелкософты. А ваши — улыбаются вам?
В общем если кратко, язык программирования каждый выбирает сам, а потом с ним живёт.
Здравствуйте, gandjustas, Вы писали:
G>>>Читабельность у JS не хуже других С-подобных языков. Для нахождения ошибок рекомендую TS. AK>>TS имеет весьма ограниченные возможности отслеживания ошибок в JS. И более-менее хорошо работает лишь с тем кодом, который изначально писался с прицелом на TS. G>Это бред. Я не одной из презентаций качал чисто js приложение (node+клиент)
Ага. Я для презентаций тоже подбираю те примеры, которые я могу сделать за 10 минут.
G>за 10 минут превращал его в типизрованное на TS без единого any.
Я даже не знаю, что тут сказать. Это бред.
Или благородный дон уверяет, что он способен произвести рефакторинг любого проекта за 10 минут, сделав его вдруг типизированным в терминах TypeScript? Количество строк кода никак не влияет, да?
Тут с любым типизированным языком, бывает, загрузишь солюшн с 50 проектами и видишь портянку на 40000 ворнингов.
AK>>За много лет работы я видел много разных программеров. Из всех из них я могу припомнить, от силы, двух человек, кто умел писать нормальный, легко поддерживаемый код на JS. G>Это потому что на JS пытаются писать как "на других языках".
Может быть.
Но проблема остаётся — найти грамотного программера, не пишущего лапшу на JS, можно не везде. Вот отсюда и идут попытки пере-изобрести язык для браузера. И dart и webassembly и разные костыли поверх JavaScript. Было бы всё столь прекрасно с JS, никто бы не искал замену.
G>В JS все работает в одном потоке и это прекрасно. Хренову тучу ошибок убирает.
Ну да. Чем меньше возможностей, тем меньше ошибок. Если ещё поддержку сети выкинуть, то ошибки работы с сетью тоже как класс пропадают.
G>Кстати в продакшене за все время всего один раз parallel foreach использовал.
Ага. "Нам не надо, значит никому не надо".
То-то всякие web workers вводят в стандарт. Наверное, никому не надо, вот и вводят.
AK>>Вот Microsoft устал поддерживать свою разработку под JS. G>Еще раз — это опенсорс, в нем тебе никто не обязан поддерживать работоспособность.
Да при чём здесь опенсорсность-то?
Библиотеку разрабатывал Microsoft. От того, что они выложили исходники в опенсорс, ничего не поменялось. Забросили они эту библиотеку вовсе не потому, что она опенсорс. И починить её толком никто не может вовсе не потому, что она опенсорс.
G>Для .net будет тоже самое когда .NET Core пойдет в массы.
Т.е. в момент, когда исходники рантайма публикуются, всё начинает ломаться?
Вон, gcc уже сколько лет как опен-сорс. Что ж там ничего не сломалось-то?
G>>>А при чем тут JS? То же самое на других языка видел неоднократно. AK>>Можете привести какой-нибудь пример, чтоб было понятнее? G>Я уже приводил.
Здравствуйте, Artem Korneev, Вы писали:
AK>Здравствуйте, gandjustas, Вы писали:
G>>>>Читабельность у JS не хуже других С-подобных языков. Для нахождения ошибок рекомендую TS. AK>>>TS имеет весьма ограниченные возможности отслеживания ошибок в JS. И более-менее хорошо работает лишь с тем кодом, который изначально писался с прицелом на TS. G>>Это бред. Я не одной из презентаций качал чисто js приложение (node+клиент)
AK>Ага. Я для презентаций тоже подбираю те примеры, которые я могу сделать за 10 минут.
Для подготовки потребовалось не сильно больше.
G>>за 10 минут превращал его в типизрованное на TS без единого any.
AK>Я даже не знаю, что тут сказать. Это бред. AK>Или благородный дон уверяет, что он способен произвести рефакторинг любого проекта за 10 минут, сделав его вдруг типизированным в терминах TypeScript? Количество строк кода никак не влияет, да?
Влияет, пример был порядка 400 строк js.
AK>Тут с любым типизированным языком, бывает, загрузишь солюшн с 50 проектами и видишь портянку на 40000 ворнингов.
Чем меньше возможностей, тем меньше ошибок (с)
AK>Но проблема остаётся — найти грамотного программера, не пишущего лапшу на JS, можно не везде. Вот отсюда и идут попытки пере-изобрести язык для браузера. И dart и webassembly и разные костыли поверх JavaScript. Было бы всё столь прекрасно с JS, никто бы не искал замену.
Во-первых далеко не все ищут замену и JS успешно заменяет серверный код на других языках.
Во-вторых среди ищущих замену подавляющее большинство тех, кто JS не знает.
В-третьих найти грамотного программиста — проблема не зависимо от языка.
G>>В JS все работает в одном потоке и это прекрасно. Хренову тучу ошибок убирает. AK> AK>Ну да. Чем меньше возможностей, тем меньше ошибок. Если ещё поддержку сети выкинуть, то ошибки работы с сетью тоже как класс пропадают.
Но тогда допустимое множество программ снизится, а без многопоточности внезапно можно жить.
G>>Кстати в продакшене за все время всего один раз parallel foreach использовал. AK>Ага. "Нам не надо, значит никому не надо". AK>То-то всякие web workers вводят в стандарт. Наверное, никому не надо, вот и вводят.
Воркеры не применяются массово.
AK>>>Вот Microsoft устал поддерживать свою разработку под JS. G>>Еще раз — это опенсорс, в нем тебе никто не обязан поддерживать работоспособность.
AK>Да при чём здесь опенсорсность-то?
При том что в опенсорсе такие правила игры. В рамках .net такой практики не наблюдается, потому что он до сих пор не open source в полной мере.
AK>Библиотеку разрабатывал Microsoft. От того, что они выложили исходники в опенсорс, ничего не поменялось. Забросили они эту библиотеку вовсе не потому, что она опенсорс. И починить её толком никто не может вовсе не потому, что она опенсорс.
Опенсорс это когда разработчики сами (по своему желанию) выкладывают свои наработки в сеть, а сообщество делает пуллреквесты. Если компания просто выложила исходники на гитхаб это еще не опенсорс.
G>>Для .net будет тоже самое когда .NET Core пойдет в массы. AK>Т.е. в момент, когда исходники рантайма публикуются, всё начинает ломаться?
Нет, когда появялся массово опенсорс пакеты.
AK>Вон, gcc уже сколько лет как опен-сорс. Что ж там ничего не сломалось-то?
Он никак не связан со сборкой приложения из опенсорс пакетов.
Здравствуйте, turbocode, Вы писали:
T>На что то более вменяемое типа C# с хорошей стандартной библиотекой? Сколько можно тянуть этот JS легаси из 90-х годов? T>что мешает
Мешает то, что Ватсон уже привык к трубке. И свидетельства этого мы видим в треде.
Здравствуйте, velkin, Вы писали:
V>Вот вы говорите C# хорош, и я могу сказать, что он довольно не плох. Да, что уж там говорить, .NET ведь тоже воплощает в себе многие передовые идеи, отличная платформа. Но всегда есть но, например, её нет в GNU/Linux.
Да почему нет-то?
.net core уже нормально поддерживает Linux, а уж mono вообще сто лет в обед.
.net core появился сравнительно недавно, но его дальнейшее развитие уже обещает нормальную поддержку и Linux и MacOS. Уже вышли и asp.net core и entity framework core. Всё остальное понемногу подтягивается.
wpf core пока не обещают, но оно и понятно. Основная ниша core, я так понимаю — серверный хостинг web-приложений.
Здравствуйте, Artem Korneev, Вы писали:
AK>Да почему нет-то? AK>.net core уже нормально поддерживает Linux, а уж mono вообще сто лет в обед. AK>.net core появился сравнительно недавно, но его дальнейшее развитие уже обещает нормальную поддержку и Linux и MacOS. Уже вышли и asp.net core и entity framework core. Всё остальное понемногу подтягивается.
Это личные наблюдения или показания с чужих слов? Майкрософт живёт на обещаниях, у них такая политика. Ещё чуть чуть, ещё немного, и будет вам счастье. И вот вы едете на инвалидной коляске, а рядом проносятся скоростные болиды C++. Мой опыт говорит, что .NET это windows only, а любая попытка запустить его в GNU/Linux оборачивается такими проблемами, что проще перейти на что-то другое.
Так то понятно, что майкрософт переманивает разработчиков на свою сторону. Но давайте не будем обманывать программистов про кроссплатформенность .NET. Тот же Qt гарантирует стабильную работу на разных операционках, для этого не нужно что-то там дописывать, выявлять различие и отсутствие функций. А .NET всего этого не делает и не будет делать, не для этого он был создан.
Приведите пример успешного использования .NET на базе операционных систем GNU/Linux. Сидишь себе в Visual Studio на винде, всё работает, всё отлично, потом пытаешься запустить это в Mono и ... запускаешь, переделав всё приложение сверху донизу. WTF? Нет уж, спасибо, на собственном опыте доказано, что почём, пусть маркетологи лучше дурят молодёж с хабра.
И после этого ещё идут разговоры о том, почему все не перешли на C#. А если я не хочу писать только для винды, или мне не хватает готовых библиотек алгоритмов. Потому и говорю, да, платформа .NET в каком-то смысле хороша, правильные идеи, язык C# тоже выглядит не плохо, но эти продукты созданы исключительно для продвижения майкрософт, а значит винды, всё остальное остаётся за бортом.