для java есть hibernate - удобно, есть порт для .net - nHibernate, в некоторых случаях удобно, особенно если fluent.
http://javastudy.ru/...te-quick-start/ вместо LINQ - HQL
from Cat as cat
join cat.mate as mate
left join cat.kittens as kitten
типа того в общем.
mysql поддерживается EF и нет проблем юзать linq
"Visual Basic" - проекты в мире пишут до сих пор, но не у нас.
"зато типа разработали Xamarin" нет, изначально это опенсорцный проект Мигеля Иказы, изначально - MonoProject.
"у меня сложилось впечатление, что MS слизал всё для asp net mvc у Symfony и у Doctrine" нет, Ruby on Rails вдохновил МС на разработку своего фреймворка. а так MVC это всего лишь шаблон - реализация на разных языках похожа. это ведь ООП - разве классы питона создаются каким то экзотическим способом отличающимся от всех других языков?
"Но имхо для веб-сайтов - новостников, соц сетей и тд, asp.net сейчас топовое решение." не только, инфраструктура огромна на самом деле, это web api, signalr, windows services, linux daemons, сокеты и тд, а также реактивные расширения, громадная либа для параллелизации задач TPL, расширение TPL DataFlow, синтаксический сахар типа async await и тд - есть много чего о чем вы тут еще не писали на самом деле. много функций самой винды написаны на самом же дотнет, причем на PowerShell можно написать свой веб сервер обращаясь напрямую к фреймворку - https://gallery.tech...server-74dcf466
https://www.wintelle...et-core-part-1/
"Ведь самая крутая фишка в Entity Framework это то что, когда спомощью join соеденяются допустим две таблицы, и превращаются в какой-то новый класс" это не самая крутая фишка ) самое крутое в EF - это ядро LINQ, которое само по себе функционально и от источника данных не зависит, например linq2objects, linq2database, linq2xml, можно написать свой Expression провайдер для любого источника данных. а так кроме джоина есть агрегирующие функции, фильтрация, преобразование перечисления в словарь данных. поддержка транзакций, поддержка логирования, еще в Entity Framework использует механизм из области функционального программирования - именно Lazy Loading, например если не нужно грузить сущность полностью - без связей - короче это слишком обширная тема. по Linq лучше всего читать Албахари.
а так лучше читать что такое OWIN - и почему вообще стал возможен переход на linux, как самая такая крупная причина это отвязка от виндового файла http.sys. старые версии сильно привязаны к ней, к сожалению.
также большой плюс asp.net core - встроенный DI IoC (как часть SOLID), общая библиотека логгирования, подключение собственного middleware - тоже большая тема.
"и потом данные загружаются в массив объектов" - здесь не совсем так, все же, возвращается перечислитель, данные появляются только при явном обращении (как раз в foreach) к перечислителю. можно конечно получить список объектов (материализация списка) сразу, без foreach - к примеру если к подключению к БД уже нет необходимости, это приведёт к немедленному обращению к СУБД - например если мы грузим данные в кэш (причем можно использовать кэш уже входящий в фреймворк - system.runtime.caching.objectcache, так и множество уже существующих, типа редис, мемкэшед и так далее).
"После VS2008, VS очень сильно вниз скатился... " - наоборот, возможностей и улучшений стало больше. прямая поддержка git, без танцев с бубном в консоли, статический анализатор кода (но решарпер лучше) поддержка написания тестов, даже нагрузочных (в экспресс версии не видел)
"А старую Framework идет слух, что хотят выпилить." - только если напишут что то быстрее, типа dapper или nhibernate. но это фантастика.
"Единственно, enterprise пока неохотно пересаживается в .net" - неправда ) очень активно на самом деле enterprise работает с ним.
.Net изначально был спроектирован Хейлсбергом - изначально он проектировал Delphi, который куда то пропал, хотя вроде версии XE от Embarcadero как то выходят.
Сообщение отредактировал hes: 11.01.2019, 19:10:23