.NET появился в ответ на Java. Сначала майки пытались создавать свою реализацию Java, но...
Java и Microsoft
MSJVM имела существенные отличия от Sun Java, во многом ломающие основополагающую концепцию переносимости программ между разными платформами:
отсутствие поддержки программного интерфейса вызова удалённых методов (RMI);
отсутствие поддержки технологии JNI;
наличие нестандартных расширений, таких, как средства интеграции Java и DCOM, работающих только на платформе Windows.
Тесная интеграция Java с DCOM и Win32 поставила под вопрос кроссплатформенную парадигму языка. Впоследствии это явилось поводом для судебных исков со стороны Sun Microsystems к Microsoft. Суд принял сторону компании Sun Microsystems. В конечном счёте между двумя компаниями была достигнута договорённость о возможности продления срока официальной поддержки пользователей нестандартной Microsoft JVM до конца 2007 года.
В 2005 году компанией Microsoft для платформы .NET был представлен Java-подобный язык J#, не соответствующий официальной спецификации языка Java и исключённый впоследствии из стандартного инструментария разработчика Microsoft Visual Studio, начиная с Visual Studio 2008.
У майкрософт типичная тактика, купить проект с новой технологией. Они буквально с этого начали и это сработало.
MS-DOS
В 1981 году корпорация IBM разместила запрос на создание операционной системы, которая должна была использоваться в новом семействе компьютеров IBM PC. Microsoft выкупила права на операционную систему 86-DOS у Seattle Computer Products и начала работу по её модификации под требования IBM. Впоследствии IBM лицензировала MS-DOS и выпустила её в августе 1981 года под наименованием PC DOS 1.0. В дальнейшем разработка MS-DOS и PC DOS велась Microsoft и IBM совместно до 1993 года, когда были выпущены два раздельных релиза — 6.0 от Microsoft и 6.1 от IBM.
Если они не могли что-то купить, тогда они создавали не кроссплатформенного конкурента. Например, софтовую реализацию OpenGL, а если хочешь чтобы поддерживала видеокарта, то вот тебе DirectX. Потому любой нормальный человек в первую очередь ставит драйвера на видеокарту от производителя.
А я уже давно говорю, зачем вы смотрите на то, что выпускает компания на рынок. Вот зачем? Посмотрите на чём они сами пишут, и вы увидите, что это банально C или C++, зависит от того в каких парадигмах мыслят разработчики.
Ничего личного, только бизнес.
TypeScript — язык программирования, представленный Microsoft в 2012 году и позиционируемый как средство разработки веб-приложений, расширяющее возможности JavaScript.
Разработчиком языка TypeScript является Андерс Хейлсберг, создавший ранее Turbo Pascal, Delphi и C#.
Для Microsoft штампование языков программирования это обычная конвейерная практика. Их там миллион и три тележки. Но мы видишь толерантные толерасты. Да, какой-нибудь C и C++ кроссплатформенны и программы обладают хорошей производительностью и не засирают за зря оперативную память. Но надо же проявлять терпимость. Используй в программировании, что хочешь, или что "заставляет" делать работодатель.
Вопрос, конечно, ещё к работодателю откуда он берёт странные идеи. Не вот эти вот все гики, которые готовы ради прикола изучать брейнфаки, а реальный бизнес. А не секрет, что бизнес в разработке на всякой трешатине, в том числе мобильной, делается не на продаже софта, а на заказах на создание софта. Потому программисты тоже кладут болт.
Просто есть коробочный софт и заказной софт. И это принципиально две разные области деятельности. C#, Java, ещё что-то подобное, всё это заказной софт. Если люди делают коробочный софт для конечного условно тупого пользователя, которому нужно просто установить и запустить программу, то там обычно другой выбор, это C или C++.
Re[2]: Майки спрыгнули с шарпа? Чё ваще происходит?
V>Просто есть коробочный софт и заказной софт. И это принципиально две разные области деятельности. C#, Java, ещё что-то подобное, всё это заказной софт. Если люди делают коробочный софт для конечного условно тупого пользователя, которому нужно просто установить и запустить программу, то там обычно другой выбор, это C или C++.
Полно коробочного софта на C#. Да и на Java встречается.
Не говоря уже о том, что разные компоненты нетривиального софта могут быть написаны на разных языках.
Re[3]: Майки спрыгнули с шарпа? Чё ваще происходит?
Как минимум один из них, судя по его странице в github работает в подразделении связанным с automotive industry. На сколько я помню у MS были какие-то продукты (не автопилоты, вроде что-то иное) в этой области.
Думаю, что в этой области языку типа Rust есть куда больше применений, чем языкам на .Net.
Здравствуйте, пффф, Вы писали:
П>Что кроме Paint.NET?
Ну так с ходу вспоминается:
— Visual Studio (там не чистый .Net, конечно, но думаю уже 80% есть)
— на сколько я знаю, Компас 3D писался на WPF (читал такое про 17 версию, сейчас не знаю)
Из того, чем я периодически пользуюсь:
— OpenLive Writer (увы, уже не поддерживается — а был приятный инструмент для написания статей)
— Captura — утилитка для записи экрана. Увы, автор тоже прекратил развитие.
Есть несколько наших внутренних специализированных инструментов, но это вряд ли стоит считать.
П>Eclipse и производные? Более ужасного софта я не видел. Что ещё?
Я бы скорее вспомнил семейство IDE от JetBrains: Rider, WebStorm, ...
Re[4]: Майки спрыгнули с шарпа? Чё ваще происходит?
M>>Полно коробочного софта на C#.
П>Что кроме Paint.NET?
M>>Да и на Java встречается.
П>Eclipse и производные? Более ужасного софта я не видел. Что ещё?
Вот тут я отвечал в дискуссии по С#/Java на платформе MS Windows: Java/Kotlin .NET/C# GO
Один из признаков, по которым можно определить такой софт: в системных требованиях есть .NET Framework/JRE.
Re[5]: Майки спрыгнули с шарпа? Чё ваще происходит?
Здравствуйте, m2user, Вы писали:
M>Вот тут я отвечал в дискуссии по С#/Java на платформе MS Windows: Java/Kotlin .NET/C# GO M>Один из признаков, по которым можно определить такой софт: в системных требованиях есть .NET Framework/JRE.
M>Используют .NET:
M>vscode + gitgraph (gitgraph на typescript)
vscode ужасен
M>Написано на C++: M>TortoiseGit
TortoiseGit офигенен
Re[5]: Майки спрыгнули с шарпа? Чё ваще происходит?
Здравствуйте, Михаил Романов, Вы писали:
П>>Что кроме Paint.NET? МР>Ну так с ходу вспоминается: МР>- Visual Studio (там не чистый .Net, конечно, но думаю уже 80% есть)
Да, слышал об этом. Хз сколько там в процентах. Но, думаю, основное ядро как было на плюсиках, так и осталось. Но это одно из очень немногих качественных приложений, которое использует .NET
МР>- на сколько я знаю, Компас 3D писался на WPF (читал такое про 17 версию, сейчас не знаю)
Не доводилось попользоваться. Возможно, что он хорош
П>>Eclipse и производные? Более ужасного софта я не видел. Что ещё? МР>Я бы скорее вспомнил семейство IDE от JetBrains: Rider, WebStorm, ...
А, да, про них забыл. IDEA ужасна, как и CLion
Re[3]: Майки спрыгнули с шарпа? Чё ваще происходит?
Здравствуйте, m2user, Вы писали:
M>Полно коробочного софта на C#. Да и на Java встречается. M>Не говоря уже о том, что разные компоненты нетривиального софта могут быть написаны на разных языках.
Писать можно на чём угодно, я сам ещё пытался что-то делать на .NET 1.1, причём после native C+. В принципе хороший был фреймворк, но не кроссплатформенный. А рассказывать сказки про Mono или Wine можно долго и упорно. Но на практике выходит, что тот же C++ в графических интерфейсах уделал другие языки программирования. И не только в них, в битомолках, в сетях, да по сути во всём.
И вот я читаю даже этот форум. Такие темы, как перейти с Delphi на Lazarus. Как запустить C#.NET в GNU/Linux. И так далее и тому подобное. Вы можете пытаться, у вас даже что-то получится, не без глюков. А можете перейти на C++ Qt 5 или выше, и у вас мало того, что будет совместимость с проектами C/C++, ещё и кроссплатформенность включая десктопы и мобильные устройства, и серьёзных глюков несовместимости у вас тоже не будет.
А кто-то пытается использовать Flutter. Вот эти все относительно новые языки, Rust, Dart ещё что-то. Давайте на каждую платформу свой язык. Для Windows C#.NET, для Android Kotlin, для iOS предположим Swift.
Ведь чем отличается коробочный софт от заказного? Можно ведь писать коробочный и заказной софт на чём угодно. А почему нет, язык не запрещает, фреймворки много где есть. Но коробочный софт требует продажи самого софта. Не какой-то там услуги, когда продаётся не сам софт, а услуга через софт.
Да, есть коробочный софт, но Java по сравнению с C++ тормозит, я уже неоднократно с этим сталкивался. А другой софт не кроссплатформенный. А производитель коробочного софта хочет максимального покрытия аудитории, кроссплатформенности, производительности, совместимости с готовыми библиотеками алгоритмов.
Сколько уже велось этих священных компьютерных войн. Шило против мыла, молоко против мяса и так далее. И всё, мы теперь стали толерантными толерастами. Да пиши как говорится на чём хочешь. Заказчик это толстосум, не важно как лучше с точки зрения технологий. Хочешь Java, хочешь C#.NET, пожалуйста, вот тебе куча программистов, любой каприз за твои деньги.
А хочешь Rust, Dart, Kotlin, Swift, или там Go для чего-то, давай пачку денег и вперёд нанимать специалистов. Там уже появляется работа для армии hrюш. Проверяем кандидатов на профессиональную пригодность, куча фреймворков. Вон веб уже во что превратили, страница открывается по сто лет.
Откуда берётся толерастия, потому что можно бесконечно хвалить свою технологию, в смысле ту которую используешь, и ругать чужую, опять же в смысле ту которую не используешь. Проще быть толерантным толерастом, то есть терпилой. Все мы программисты, и жизнь программистов на языке ... важна.
Ты программируешь на языке ..., ты не инвалид, ты особенный программист, ты молодец. Сейчас снимем о тебе ролик как ты достигал успешного успеха. Как ты стремился к вершинам профессии и стал из джуна сначала мидлом, а потом и сеньором в компании под названием <додумать самим>.
А я ещё и ещё раз повторю инструкция для заказчиков, то есть спонсоров софта, тех кто вкладывают деньги. А не программистов, которые бывают увлекаются. Вы хотите создать софт, вложиться в него деньгами.
И вот у вас есть условные конкуренты, уже успешные работающие на рынке продукты. Просто посмотрите на чём они написаны. Зачем смотреть сколько поисковых запросов было по языку и фреймворку в этом году.
Это может быть школьники и студенты учатся новым технологиям. Или ведущая компания вроде майкрософт вложила десятки миллионов долларов в рекламу. И проплатила каждому блогеру или видеоблогеру, чтобы из каждого чайника шла скрытая реклама.
Или они начали нанимать массово программистов засрав сайты работы объявлениями. Или они сагитировали кого-то там дав им взятку с отката, и тоже пошла движуха. Но какое это отношение имеет к вам?
Есть же список требований к продукту, и потому тот же C или C++ выбирают просто банально потому, что это самый простой путь под текущие требования. Что там пишут на Java и C#.NET, я не знаю, но текущие фреймворки позволяют написать доступ к базам данных. С графикой там лучше не работать.
Но и C/C++ позволят работать с базами данных, более этого, эти базы данных будут написаны скорее всего на этих языках. Не хочешь брать C или C++, ну и не надо. Я в чужие дела не лезу, хочешь язык ... значит есть за что.
Re[6]: Майки спрыгнули с шарпа? Чё ваще происходит?
Здравствуйте, пффф, Вы писали:
П>Да, слышал об этом. Хз сколько там в процентах. Но, думаю, основное ядро как было на плюсиках, так и осталось. Но это одно из очень немногих качественных приложений, которое использует .NET
Ну "80%" это я типа так обозначил "еще не всё, но как по мне — сильно больше половины".
Я, конечно полные исходники никогда не видел, но вот так навскидку (я так предполагаю).
Нативно:
— внутренние механизмы Shell (ну там старые механизмы регистрации — те которые на базе Package, управление открытием документами, управление сервисами, старые интерфейсы типа Hierarhy, управление командами/меню, ... )
— поддержка C++ (ну и около — COM/ActiveX)
— компоненты, которым нужно взаимодействовать с нативными кодом: DebugEngine, Performance, чтение дампов — и то, там в основном тонкие прослойки, а поверх уже логика на .Net
Managed:
— почти весь UI (а может и вообще весь) — как минимум весь Shell и редакторы кода
— все механизмы связанные с редактором кода — и сам редактор (со всеми его наворотами!!!) и все плагины (расцветка, Adorners, ...)
— новая система управления проектами (которая Common Project System и на которую, сюрприз, первым заехал C++). Да, она построена на использовании старых механизмов, но это нифига не тонкая обертка — по сути они обращаются к старым методам кода только нужно построить уже готовое дерево проекта (причем UI уже .Net), а всё остальное — это managed
Ну и практически все extensions (а через них сейчас делается почти всё практически полезное):
— поддержка языков
— Git (да они та дергают git.exe, а раньше работали через gitlib, но остальное всё .Net)
— Хmake (реально, запускают в конечном счете сmake / ninja, но всё вокруг — .Net)
— работа с Linux и docker (опять же по схеме выше — в самом низу какая-то нативная библиотека или утилита, а всё поверх — managed)
— ...
П>Не доводилось попользоваться. Возможно, что он хорош
Тоже от меня далеко, но суда по тому, что контора не плохо себя чувствует — продукт вполне себе.
П>А, да, про них забыл. IDEA ужасна, как и CLion
Ну тут я спорить не буду, ибо к Rider привыкнуть не могу уже почти год.
Коллеги вот рады, а я, видимо, слишком старый.
Re[2]: Майки спрыгнули с шарпа? Чё ваще происходит?
Здравствуйте, velkin, Вы писали:
V>.NET появился в ответ на Java. Сначала майки пытались создавать свою реализацию Java, но...
вполне нормальное желание. Куча легаси на С/С++ и DCOM, который с Java работает через груду костылей. Но желание перейти на более безопасный язык есть. Причём нельзя сказать что это желание только microsoft. Была куча сторонних разработчиков со сходными проблемами. Вот и начали пилить свой С#. Заметьте, что Rust "майки" менять не собираются (или создавать аналог). Он их вполне устраивает. Другими словами C# появился не потому что microsoft такой плохой, а потому что Java имела серьёзные недостатки.
Re[6]: Майки спрыгнули с шарпа? Чё ваще происходит?
Отличная альтернатива IDE. Особенно для всяких скриптовых языков и DSL, где нет понятия проекта и есть просто куча отдельных файлов.
П>TortoiseGit офигенен
Отвратительная фигня с убогим интерфейсом.
Такое ощущение, что пытались сделать инструмент для людей, которые не хотят вникать в git, но получилось в итоге неудобно и непонятно.
TortoiseGitMerge — удобный инструмент для слияния версий файлов и разруливания конфликтов.
Re[6]: Майки спрыгнули с шарпа? Чё ваще происходит?
Здравствуйте, velkin, Вы писали:
V>У майкрософт типичная тактика, купить проект с новой технологией. Они буквально с этого начали и это сработало.
Они начали не с этого. Начали они с Basic. В те времена Basic был на персональных компьютерах вместо ОС, и они стали лидером и чуть ли не монополистом этого рынка, написав всё с нуля, причём Билл как савраска сам написал чуть не половину продукта.
Re[2]: Майки спрыгнули с шарпа? Чё ваще происходит?