const std = @import("std");
pub fn main() void {
var arr: [1000_000]i32 = undefined;
for (arr) |*item, i| {
item.* = @intCast(i32, i);
}
var sort = isSort(&arr);
std.debug.print("{!}\n", .{sort});
}
fn isSort(arr: []i32) bool {
var i: usize = 1;
while (i < arr.len) : (i += 1) {
if (arr[i - 1] > arr[i]) return false;
}
return true;
}
Аналог на D2(кстати в планах разрабов — д3 с аст, чтобы это не значило):
import std.stdio;
void main()
{
auto arr = new int[1000_000];
foreach (i, _; arr)
{
arr[i] = i;
}
writeln(arr[10]);
writeln("Array is ", isSort(arr) ? " sorted." : " not sorted.");
}
bool isSort(T)(T[] arr)
{
for (auto i = 1; i < arr.length; i++)
{
if (arr[i - 1] > arr[i])
return false;
}
return true;
}
Очевидно, код на ди в разы проще для восприятия. И вот интересная штука. C# конечно чуточку сложнее синтаксически.
Это удивительно, ведь авторы ди это сишник(Брайт) и плюсовик(Александреску).
Теперь к сути.
Дотнет философия — это компонентный подход к разработке. Но почему-то в крупном проекте продуктовом столкнулся с монолитным репозитарием где в транке все что нужно для жизни.
А ведь гораздо удобнее было бы использовать стабильные версии компонентов в виде dll.
С другой стороны взять ди — только сборщик мусора и исходники — малый размер бинаря(можно импортнуть из модуля только используемые функции).
Зиг и Раст это уже абсолютная категория.
Но стоит ли отказываться от сборщика мусора большой вопрос.
Экономия ресурсов сейчас даже актуальней чем в нулевых. Кол-во вычислений растет. А ди2 как раз проектировался на многопроцессорные вычисления.
По теме: чем все-таки DOTNET убивает(или убьет в ближайшем будущем) такие крутые штуки как java|go|zig|rust|c++?
Здравствуйте, Эйнсток Файр, Вы писали:
ЭФ>Вот когда bing станет самым используемым и популярным поисковиком, тогда поверю.
Облачная платформа не имеет отношения к поисковикам.
Здравствуйте, Эйнсток Файр, Вы писали:
ЭФ>Вот когда bing станет самым используемым и популярным поисковиком, тогда поверю.
Ты же сам облачные платформы упомянул, а теперь спрыгнул на поисковики
Здравствуйте, Разраб, Вы писали:
Р>Экономия ресурсов сейчас даже актуальней чем в нулевых. Кол-во вычислений растет. А ди2 как раз проектировался на многопроцессорные вычисления.
Ничем она не актуальней, это хайп
Р>По теме: чем все-таки DOTNET убивает(или убьет в ближайшем будущем) такие крутые штуки как java|go|zig|rust|c++?
EF + Linq, аналогонет
async\await, в котором не просто удобно использовать асинхронные функции, но и создавать их. еще и быстро работает, по сравнению с аналогами.
Еще в .NET тащат aot и compile-time кодогенерацию, чтобы работало быстрее, бинари были меньше.
Здравствуйте, Разраб, Вы писали:
Р>По теме: чем все-таки DOTNET убивает(или убьет в ближайшем будущем) такие крутые штуки как java|go|zig|rust|c++?
Дотнет уж лет 20 обещает всех убить в ближайшем будущем. Собственно, из перечисленного тобой, только java и c++ существовали до дотнета, остальные потом появились.
Здравствуйте, Farsight, Вы писали:
ЭФ>>Go — платформа от лидера интернета Google. Какой .Net? Microsoft с его Azure не догоняет.
F>Оффтоп, но как раз в облачной платформе MS уделывает Google.
В каком смысле, уделывает?
Для MS облака — основное направление бизнеса. А для Google — отход производства, которым они торгуют заодно, раз уж у них этого добра девать некуда.
G>async\await, в котором не просто удобно использовать асинхронные функции, но и создавать их. еще и быстро работает, по сравнению с аналогами.
вроде же уже развенчивали этот миф.
This is pretty much the Java equivalent to the ASP.NET Core MVC (aka Full) benchmark.
The interesting part is that this completely unoptimised fully fledged Java MVC framework ranks overall 12th in the Fortunes benchmark with an incredible 404k requests/sec. It is essentially more than twice as fast as the ASP.NET Core equivalent, still beats the "Micro" implementation of the ASP.NET Core benchmark (which skips all the expensive I/O operations by using a fake templating engine) and even manages to compete with the infamous /PlatformBenchmarks application which in all honesty due to its differences is not even worth a comparison.
No disrespect to ASP.NET Core (because 184k requests/sec is still an amazing result) but it doesn't come anywhere near this Java framework when it comes to performance. Credit where credit is due.
Всегда можно придумать бенч, который покажет преимущество одной системы над другой. Поэтому вопрос не столько в скорости, сколько в умении и удобстве использования. Вся асинхронщина в .NET гораздо более удобна в использовании, чем в других языках. Другие языки (как js) откровенно копируют то, что сделано в .NET\C#.
Здравствуйте, gandjustas, Вы писали:
Р>>Экономия ресурсов сейчас даже актуальней чем в нулевых. Кол-во вычислений растет. А ди2 как раз проектировался на многопроцессорные вычисления. G>Ничем она не актуальней, это хайп
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Здравствуйте, gandjustas, Вы писали:
Р>>>Экономия ресурсов сейчас даже актуальней чем в нулевых. Кол-во вычислений растет. А ди2 как раз проектировался на многопроцессорные вычисления. G>>Ничем она не актуальней, это хайп
НС>Нет, это не хайп, это облака.
Да ну, облака появились 10+ лет назад. Беспокоиться за потребляемые ресурсы начали почему-то аккурат после появления go (примерно 2015 год), а после появления rust и анонса zig вообще какая-то истерия пошла. До этого как-то не стеснялись писать ни на js, ни на пайтоне, ни на RoR (прости господи). А сейчас все соревнуются в размерах бинарника, времени старта и размерах потребляемой памяти.
Возможно этот хайп вызван микросервисами, когда 100500 экземпляров JVM\.NET\Пайтона жрут больше, чем все приложение написанное на go. Но никто же не заставляет всюду пихать микросервисы, даже в облаке.
Здравствуйте, gandjustas, Вы писали:
G>Да ну, облака появились 10+ лет назад.
И?
G> Беспокоиться за потребляемые ресурсы начали почему-то аккурат после появления go
Ну как облака начали обретать популярность, так и забеспокоились. Ты глянь на cloud native — там львиная доля проектов — Go.
G>А сейчас все соревнуются в размерах бинарника, времени старта и размерах потребляемой памяти.
Потому что, прикинь, эти параметры напрямую определяют стоимость клауда.
G>Возможно этот хайп вызван микросервисами,
Который, в свою очередь, тоже порожден облаками.
G> Но никто же не заставляет всюду пихать микросервисы, даже в облаке.
А там и без микросервисов перечисленные тобой параметры напрямую влияют на затраты.
Здравствуйте, gandjustas, Вы писали:
G>Всегда можно придумать бенч, который покажет преимущество одной системы над другой. Поэтому вопрос не столько в скорости, сколько в умении и удобстве использования. Вся асинхронщина в .NET гораздо более удобна в использовании, чем в других языках. Другие языки (как js) откровенно копируют то, что сделано в .NET\C#.
Это вот ручное таскание канцелейшн токена через параметры называется удобством?
спасибо не нада
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Здравствуйте, gandjustas, Вы писали:
G>>Да ну, облака появились 10+ лет назад. НС>И?
А беспокоиться начали позже.
G>> Беспокоиться за потребляемые ресурсы начали почему-то аккурат после появления go НС>Ну как облака начали обретать популярность, так и забеспокоились. Ты глянь на cloud native — там львиная доля проектов — Go.
Конечно нет, облака были задолго до Go
G>>А сейчас все соревнуются в размерах бинарника, времени старта и размерах потребляемой памяти. НС>Потому что, прикинь, эти параметры напрямую определяют стоимость клауда.
Внезапно нет, стоимость решения в облаке определяется в основном эффективностью работы со стореджом.
А Compute биллится по времени работы инстанса, заметные различия только на очень высокой нагрузке, когда количество инстансов можно сократить в разы переписав на другой язык.
Но как раз .NET и Java не настолько сильно отстают по быстродействию от Go, чтобы было оправдано переписывать. А в некоторых местах и превосходят (ссылка выше есть).
G>>Возможно этот хайп вызван микросервисами, НС>Который, в свою очередь, тоже порожден облаками.
Конечно нет, микросервисы — порождение нетфликса, к облакам не имело отношения изначально.
G>> Но никто же не заставляет всюду пихать микросервисы, даже в облаке. НС>А там и без микросервисов перечисленные тобой параметры напрямую влияют на затраты.
Они не настолько влияют, чтобы имело смысл об этом говорить. А вот размер рантайма реально влияет, если у тебя 100500 микросервисов вместо пары экземпляров монолита.
почему зависит ? в двое большая производительность кушает в двое больше памяти, звучит логично.
G>Всегда можно придумать бенч, который покажет преимущество одной системы над другой. Поэтому вопрос не столько в скорости, сколько в умении и удобстве использования. Вся асинхронщина в .NET гораздо более удобна в использовании, чем в других языках. Другие языки (как js) откровенно копируют то, что сделано в .NET\C#.
но тут то никто не выдумывал под жаву тест. совершенно стандартная задачка, где жава далеко не в лидерах.
по мне майкрсофт просто накидывает фичи, после чего все больше народу валит в жава, потому как все больше понимают, что async/await не не ускорит уже написанный код. я так понимаю результат .net core в TechEmpower как раз от того, что async/await добавили, а переделать весь asp фреймворк не получилось.
Здравствуйте, gandjustas, Вы писали:
НС>>Ну как облака начали обретать популярность, так и забеспокоились. Ты глянь на cloud native — там львиная доля проектов — Go. G>Конечно нет, облака были задолго до Go
Не задолго. И это нормально, когда инструменты появляются с некоторым запаздыванием.
НС>>Потому что, прикинь, эти параметры напрямую определяют стоимость клауда. G>Внезапно нет,
Внезапно да.
G> стоимость решения в облаке определяется в основном эффективностью работы со стореджом.
Смелое заявление. Вот только компьют в облаке намного дороже стораджа.
G>А Compute биллится по времени работы инстанса,
Компьют биллится по разному. Но даже так. Количество инстансов чем, по твоему, определяется?
G> заметные различия только на очень высокой нагрузке,
Ну так go решения тоже обычно про нее родимую.
G>Но как раз .NET и Java не настолько сильно отстают по быстродействию от Go, чтобы было оправдано переписывать.
Не настолько — это не речь инженера, это речь бабки на лавочке. Инженер оперирует цифрами.
G>>>Возможно этот хайп вызван микросервисами, НС>>Который, в свою очередь, тоже порожден облаками. G>Конечно нет, микросервисы — порождение нетфликса, к облакам не имело отношения изначально.
Ох уж эти теоретики.
Что требуют современные микросервисы? Правильно, оркестратор. А кто сегодня главный оркестратор? Правильно, кубер. Где сейчас в основном крутится кубер? Правильно, в облаках. А что и кем там было порождено — пофигу, речь не про историю.
Кубер, кстати, помнишь на чем написан?
НС>>А там и без микросервисов перечисленные тобой параметры напрямую влияют на затраты. G>Они не настолько влияют,
Опять бабки на лавочке.
G>А вот размер рантайма реально влияет, если у тебя 100500 микросервисов вместо пары экземпляров монолита.
Ты про автоскейлинг слышал? Чем определяется его эффективность в первую очередь знаешь?
Р>Но почему-то в крупном проекте продуктовом столкнулся с монолитным репозитарием где в транке все что нужно для жизни. Р>А ведь гораздо удобнее было бы использовать стабильные версии компонентов в виде dll.
Ну далеко не всегда это удобнее.
Во-первых, стабильность версий штука относительная. Сейчас она стабильно работает, потом понадобилось что-то другое, или наткнулись на какой-то баг в dll, который раньше не мешал, а вот теперь мешает.
Использовать прекомпилированную dll в качестве некоторого "кэша", конечно, можно. Но при этом лучше все же иметь под рукой ее исходники, чтобы всем участникам было понятно, из чего dll собрана и где ее исходники найти.
Во-вторых, внезапно по совершенно не зависящим от разработчика причинам может потребоваться дать кому-нибудь полный набор исходников проекта. Например, если надо провести какую-нибудь сертификацию и т.п.
Р>По теме: чем все-таки DOTNET убивает(или убьет в ближайшем будущем) такие крутые штуки как java|go|zig|rust|c++?
Мое ИМХО — киллер-фичу можно сформулировать одним словом: инфраструктура. У дотнета она хорошо развитая, и на многие случаи жизни на нем есть решения. Она, конечно, другие языки не убивает, у некоторых других языков это тоже есть, но в конкуренции языков это сильный козырь. А всякие вкусности типа упрощения написания кода в некоторых случаях — это, по большому счету, мелочевка.
Здравствуйте, Разраб, Вы писали:
>Кто знает киллер-фичи дотнета?
Это конечно не киллер-фичи, но у jvm в популярных вариантах(Java/Kotlin) этого нет.
a) Генерики без type-erasure
b) LINQ (eхpression trees)
Здравствуйте, novitk, Вы писали:
>>Кто знает киллер-фичи дотнета? N>Это конечно не киллер-фичи, но у jvm в популярных вариантах(Java/Kotlin) этого нет. N>a) Генерики без type-erasure N>b) LINQ (eхpression trees)
Я бы сюда добавил Source Generator, PM, кортежи ну и Visual Studio как средство разработки.
Кроме того это MAUI для кроссплатформенной разработки.
Болле плотная работа с нативов через те же Span<T>, ref struct , встроенные массивы Function Pointers
Понравились необработанные строковые литералы
Ну и AOT. Там где нужна скорость и использование памяти. Хотя GC при этом никуда не делся.
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Serginio1, Вы писали:
S>ну и Visual Studio как средство разработки.
Это кстати минус, пока они ее в линух не перенесут. Eclipse/Idea работают везде.
Р>>Но почему-то в крупном проекте продуктовом столкнулся с монолитным репозитарием где в транке все что нужно для жизни. Р>>А ведь гораздо удобнее было бы использовать стабильные версии компонентов в виде dll.
K>Ну далеко не всегда это удобнее. K>Во-первых, стабильность версий штука относительная.
Если работать с исходниками, то как следить за работоспособностью версий? не, вроде нугет позволяет уже использовать исходники(или нет?), но в любом случае это не репозиторий, мы используем стабильную версию.
Если же все зависимости в исходниках лежат в транке, то единственный способ — держать его все время в рабочем состоянии. что не сильно удобно. а случае шарпа еще и увеличение времени компиляции(на котором можно и нужно экономить).
Здравствуйте, Serginio1, Вы писали:
S>Кроме того это MAUI для кроссплатформенной разработки.
Так себе фича. Костыль поверх костылей.
Казалось бы: переделайте WPF с учётом горького опыта и уже не на DirectX, а на OpenGL, чтобы было кроссплатформенным.
В итоге нет ни одной адекватной десктопной GUI библиотеки под .NET.
По-моему в живых только направление ASP .NET осталось, а народу уже не так странно лепить десктопные приложения при помощи того же Electron или аналогов.
Р>>>Но почему-то в крупном проекте продуктовом столкнулся с монолитным репозитарием где в транке все что нужно для жизни. Р>>>А ведь гораздо удобнее было бы использовать стабильные версии компонентов в виде dll.
K>>Ну далеко не всегда это удобнее. K>>Во-первых, стабильность версий штука относительная. Р>Если работать с исходниками, то как следить за работоспособностью версий? не, вроде нугет позволяет уже использовать исходники(или нет?), но в любом случае это не репозиторий, мы используем стабильную версию.
Стабильную версию можно либо выделить в отдельную ветку исходников, либо зафиксировать метку версии в общем репозитории исходников, из которой эта версия dll была собрана (конкретно про нугет не в курсе, с ним почти не работал). Но смысл в том, что вместе с dll всегда должно быть можно откопать тот набор исходников, из которых она была собрана. Хранить в репозитории голую dll без ссылок на ее исходники — плохая идея (ну разве что годится в том случае, если dll изначально заимствованная, и ее исходников просто нет).
Здравствуйте, novitk, Вы писали:
S>>ну и Visual Studio как средство разработки. N>Это кстати минус, пока они ее в линух не перенесут. Eclipse/Idea работают везде.
А зачем если есть WSL 2. Ну и можно с помощью SSH Отладка .NET Core в Linux с помощью SSH путем присоединения к процессу
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, karbofos42, Вы писали:
K>Здравствуйте, Serginio1, Вы писали:
S>>Кроме того это MAUI для кроссплатформенной разработки.
K>Так себе фича. Костыль поверх костылей.
Тем не менее аналога ни у кого нет.
K>Казалось бы: переделайте WPF с учётом горького опыта и уже не на DirectX, а на OpenGL, чтобы было кроссплатформенным.
А зачем microsoft создавать своими руками конкурента для десктопной винды?
K>В итоге нет ни одной адекватной десктопной GUI библиотеки под .NET.
Я даже больше скажу: нет вообще ни одной адекватной десктопной GUI библиотеки для любого языка и платформы. То что есть или очень слабое, или некроссплатформенно, или выглядит максимально уродски на win и macos, или все вместе.
Здравствуйте, karbofos42, Вы писали:
S>>Кроме того это MAUI для кроссплатформенной разработки.
K>Так себе фича. Костыль поверх костылей. K>Казалось бы: переделайте WPF с учётом горького опыта и уже не на DirectX, а на OpenGL, чтобы было кроссплатформенным. K>В итоге нет ни одной адекватной десктопной GUI библиотеки под .NET. K>По-моему в живых только направление ASP .NET осталось, а народу уже не так странно лепить десктопные приложения при помощи того же Electron или аналогов.
Здравствуйте, gandjustas, Вы писали:
G>А зачем microsoft создавать своими руками конкурента для десктопной винды?
Так они и для винды ничего дельного не сделали.
Полумёртвые WinForms и WPF, никому не нужный UWP и теперь вот всякие MAUI выдумывают.
Десктопы майкрософту не так много денег приносят вроде, как серверы.
При этом почему-то ASP .NET Core они запилили под Linux и не испугались конкуренции.
Без адекватной десктопной библиотеки возникает в принципе вопрос в целесообразности использования .NET.
И Avalonia пилят и всё это какое-то странное и даже базовые шаблонные приложения отталкивают от дальнейшего использования (не все из коробки вообще собираются и запускаются).
S> Просто MAUI то вышел недавно, наследник Xamarin.Forms.
Здравствуйте, karbofos42, Вы писали:
K>Здравствуйте, gandjustas, Вы писали:
G>>А зачем microsoft создавать своими руками конкурента для десктопной винды?
K>Так они и для винды ничего дельного не сделали.
WinUI весьма достойно и нативно выглядит (для w11)
K>Полумёртвые WinForms и WPF, никому не нужный UWP и теперь вот всякие MAUI выдумывают.
Да, чехарда десктопных фрейморков порядком надоела. Последнее что придумали — WinUI3
K>Десктопы майкрософту не так много денег приносят вроде, как серверы.
Десктопы позволяют держать рынок. Не будет десктопов — упадут пролажи офиса и даже серверов, AD без десктопной винды потеряет две трети своих преимуществ.
K>При этом почему-то ASP .NET Core они запилили под Linux и не испугались конкуренции.
Потому micrsoft проиграл битву за серверы для хостинга. Даже в azure завезли виртуалки на линуксе, которые были дешевле чем на винде. А когда везде докер и кубер, то веб-хостинг на винде стал совсем экзотикой. Но ms к этому моменту же .NET Core 3.1 запилил с полноценным веб-сервером, работающим на линуксе
K>Без адекватной десктопной библиотеки возникает в принципе вопрос в целесообразности использования .NET.
Странное высказывание. Нигде нет того, что вы называете "адекватной десктопной библиотекой"
Здравствуйте, karbofos42, Вы писали:
S>> Просто MAUI то вышел недавно, наследник Xamarin.Forms.
K>В этом наследии и кроется проблема.
Ну на самом то деле хотя все и построено на XAML но вот отрисовка этого XAML может быть разной.
Все течет все меняется. Возможно и подключат SKIA или сделают опционально. https://github.com/dotnet/Microsoft.Maui.Graphics
Посмотрим.
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, gandjustas, Вы писали:
g> S>>Кроме того это MAUI для кроссплатформенной разработки.
g> K>Так себе фича. Костыль поверх костылей.
g> Тем не менее аналога ни у кого нет.
Здравствуйте, Serginio1, Вы писали:
S> Ну на самом то деле хотя все и построено на XAML но вот отрисовка этого XAML может быть разной.
Они используют XAML похоже чисто потому, что когда-то сделали, а теперь жалко выкидывать.
По факту не вижу в этом удобства и я бы за эту разметку не держался.
Уж лучше бы в десктоп затащили те же Razor-страницы.
Здравствуйте, Serginio1, Вы писали:
S>>>ну и Visual Studio как средство разработки. N>>Это кстати минус, пока они ее в линух не перенесут. Eclipse/Idea работают везде. S>А зачем если есть WSL 2. Ну и можно с помощью SSH
Иногда можно и сексом заниматься в гамаке, но не всегда и не удобно. Поэтому и Ryder.
Здравствуйте, Dym On, Вы писали:
BFE>>dotNet убивает Java. BFE>>Java убивает dotNet. DO>А зачем убивать?
А subj?
DO>Просто в какой-то момент Java.NET всех убьет
Не, это уродец под именем J# сам помер.
Да и вообще С#/.Net — это Java, в том смысле, что C# появился только потому, что Microsoft'у суд запретил разрабатывать свой диалект Java.
BFE>>>dotNet убивает Java. BFE>>>Java убивает dotNet. DO>>А зачем убивать? BFE>А subj?
DO>>Просто в какой-то момент Java.NET всех убьет BFE>Не, это уродец под именем J# сам помер.
BFE>Да и вообще С#/.Net — это Java, в том смысле, что C# появился только потому, что Microsoft'у суд запретил разрабатывать свой диалект Java.
Здравствуйте, Serginio1, Вы писали:
DO>>>Просто в какой-то момент Java.NET всех убьет BFE>>Не, это уродец под именем J# сам помер.
BFE>>Да и вообще С#/.Net — это Java, в том смысле, что C# появился только потому, что Microsoft'у суд запретил разрабатывать свой диалект Java.
S>Ты наверное имел ввиду Visual J++ S>Который был под Виртуальная машина Microsoft Java
Нет, я хочу сказать, что С# появился только потому, что Microsoft'у суд запретил разрабатывать свой диалект Java, этот самый Visual J++. Если бы не этот запрет C# вообще бы не родился.
S>J# это уже под .Net
поэтому J# не что иное, как Java.NET
DO>>>>Просто в какой-то момент Java.NET всех убьет BFE>>>Не, это уродец под именем J# сам помер.
BFE>>>Да и вообще С#/.Net — это Java, в том смысле, что C# появился только потому, что Microsoft'у суд запретил разрабатывать свой диалект Java.
S>>Ты наверное имел ввиду Visual J++ S>>Который был под Виртуальная машина Microsoft Java BFE>Нет, я хочу сказать, что С# появился только потому, что Microsoft'у суд запретил разрабатывать свой диалект Java, этот самый Visual J++. Если бы не этот запрет C# вообще бы не родился.
То есть тебя никак не смущает, что у МС была своя виртуальная машина? S>>J# это уже под .Net BFE>поэтому J# не что иное, как Java.NET
Тогда зачем ссылка на него?
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Serginio1, Вы писали:
S> То есть тебя никак не смущает, что у МС была своя виртуальная машина?
Вообще не смущает.
S>>>J# это уже под .Net BFE>>поэтому J# не что иное, как Java.NET S> Тогда зачем ссылка на него?
На кого?
И вообще, я рад, что из-за идиотской ссоры контор Microsoft и Sun ни Java ни C# не смогли победить C++. Шансы были, но теперь их уже нет.
А ведь откажись Sun от единоличного владения и вместе с MS они могли всё стандартизовать и вот тогда C++ могло бы поплохеть...
Здравствуйте, B0FEE664, Вы писали:
BFE>И вообще, я рад, что из-за идиотской ссоры контор Microsoft и Sun ни Java ни C# не смогли победить C++. Шансы были, но теперь их уже нет.
C++ в другой категории. Нечего побеждать.
BFE>А ведь откажись Sun от единоличного владения и вместе с MS они могли всё стандартизовать и вот тогда C++ могло бы поплохеть...
Как я понимаю, спор Sun был не про единоличное владение. И тогда, и сейчас существуют несколько реализаций JVM. Спор был в том, что MS делала несовместимую реализацию, привязанную к Win-платформе. Цель MS была не сотрудничество, а отхапать часть рынка и перетащить на свою платформу: https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguish
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, B0FEE664, Вы писали:
BFE>И вообще, я рад, что из-за идиотской ссоры контор Microsoft и Sun ни Java ни C# не смогли победить C++. Шансы были, но теперь их уже нет. BFE>А ведь откажись Sun от единоличного владения и вместе с MS они могли всё стандартизовать и вот тогда C++ могло бы поплохеть... Коболу не поплохело, а С++ и подавно
К 1997 году активно использовалось около 240 миллиардов строк кода на Коболе, кодом на Коболе обрабатывалось около 90 % финансовых транзакций в мире и 75 % коммерческих транзакций, общая стоимость используемого кода — 2 трлн долларов США[9].
всё хорошо. но для это надо отказаться от кучи возможностей дотнета типа рефлексии. это как better-c в ди.
graalvm появилась раньше но у нее тоже куча проблем(например jvm-яп не дружат с ней типа кложуры).
в дотнете это F# и VB у них свой компайлер и они явно будут все время болеть не совместимостью с аот.
Здравствуйте, gandjustas, Вы писали:
K>>Казалось бы: переделайте WPF с учётом горького опыта и уже не на DirectX, а на OpenGL, чтобы было кроссплатформенным. G>А зачем microsoft создавать своими руками конкурента для десктопной винды?
а зачем microsoft десктопная винда? насколько понял, с некоторых пор основной доход они получают с другого
Здравствуйте, night beast, Вы писали:
NB>Здравствуйте, gandjustas, Вы писали:
K>>>Казалось бы: переделайте WPF с учётом горького опыта и уже не на DirectX, а на OpenGL, чтобы было кроссплатформенным. G>>А зачем microsoft создавать своими руками конкурента для десктопной винды?
NB>а зачем microsoft десктопная винда? насколько понял, с некоторых пор основной доход они получают с другого
Представим что mirosoft перестал продавать десктопную винду.
1) Сразу упадут продажи офиса, в том числе который сейчас продается по облачной подписки и составляет большую часть дохода "облаков".
2) Сразу упадут продажи Enterprise Aggrement, который лицензирует пользователей, офисы и насыпает кучу серверного софта, в том числе windows server и sql server. Windows Server без Windows клиента не нужен от слова совсем. То есть выручка по всем серверным направлениям направлениям тоже упадет.
3) Как следствие п2 станет не нужной разработка под windows. Упадут продажи средств разработки и охват рынка. Разработчики начнут выбирать НЕ платформу microsoft для своих приложений
4) Последнее еще и по продажам Azure ударит
Получается что десктопная винда, которая возможно и не зарабатывает денег для ms позволяет держать рынок. Не даром еще билл гейтс ставил стратегическую цель — поставить виндовс на все десктопы, понимал что этим он почти монополизирует многие рынки. Не случиь этого тогда, то возможно сейчас и не было бы Microsoft.
Здравствуйте, Разраб, Вы писали:
Р>Здравствуйте, Serginio1, Вы писали:
S>>Image: aot-runtime-trimmed-perf-chart.png
Р>всё хорошо. но для это надо отказаться от кучи возможностей дотнета типа рефлексии.
Не отказаться, а сделать явным указание какие метаданные типов включать в образ а какие нет.
В рефлексии нет ничего супер-сложного. В каждом vtbl класса хранится ссылка на объект метаданных класса. Только в минимальном рантайме dotnet это десятки тысяч классов, а в реальном приложении сотни.
Если будет механизм частичного урезания или частичного включения метаданных в выходном образе, то будет все ок.
Тем более метаданные зачастую используются для всяких сериализаций и мэппингов, которые можно в компайл-тайм генерировать, что и делается с помощью SourceGenerator. Поэтому потребность в метеденных в рантайме не так уж велика.
Р>в дотнете это F# и VB у них свой компайлер и они явно будут все время болеть не совместимостью с аот.
У VB.NET нет своего компайлера, его копилирует тот же Roslyn. Для f# сейчас пилится компилятор подходящий для AOT. По сути для этого надо только сорсгенераторы завезти.
Здравствуйте, Разраб, Вы писали:
Р>По теме: чем все-таки DOTNET убивает(или убьет в ближайшем будущем) такие крутые штуки как java|go|zig|rust|c++?
Одна из крутейших штук дотнета, начиная с 2017-2019-х — это "второе дыхание".
Это тотальный пересмотр устоявшихся практик и "правил хорошего тона" (чего только стоит отказ от паттерна аргументов в событиях object+EventArgs), поворачивание лицом к низкому уровню.
Ну и, самое гласное — активное развитие.
Гонку выиграет не самый лучший здесь и сейчас, а самый быстро развивающийся.
Про плюсы можно сказать нечто похожее — с версии С++11 язык развивается семимильными шагами.
Здравствуйте, gandjustas, Вы писали:
NB>>а зачем microsoft десктопная винда? насколько понял, с некоторых пор основной доход они получают с другого G>Представим что mirosoft перестал продавать десктопную винду. G>1) Сразу упадут продажи офиса, в том числе который сейчас продается по облачной подписки и составляет большую часть дохода "облаков".
не в курсе механики. майкрософт продает мало виндовса, но много офиса?
как возможности разрабатывать под линукс влияют на продажи офиса?
G>2) Сразу упадут продажи Enterprise Aggrement, который лицензирует пользователей, офисы и насыпает кучу серверного софта, в том числе windows server и sql server. Windows Server без Windows клиента не нужен от слова совсем. То есть выручка по всем серверным направлениям направлениям тоже упадет.
какую долю доходов microsoft имеет от продажи windows server и sql server?
G>3) Как следствие п2 станет не нужной разработка под windows. Упадут продажи средств разработки и охват рынка. Разработчики начнут выбирать НЕ платформу microsoft для своих приложений
не хотел тебя расстраивать, но уже долгие годы мейнстимом является кроссплатформенная разработка (личное мнение)
Здравствуйте, night beast, Вы писали:
NB>не хотел тебя расстраивать, но уже долгие годы мейнстимом является кроссплатформенная разработка (личное мнение)
Долгие годы развивается мобильная разработка. Десктоп в этом плане провис. Мобильных клиентов банально больше. А вот вэб на мобилах не прижился.
Кстати например для наушников Anker Soundcore Space Q45 банально нет сетапа под Windows https://4pda.to/forum/index.php?showtopic=1057562
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, night beast, Вы писали:
NB>Здравствуйте, gandjustas, Вы писали:
NB>>>а зачем microsoft десктопная винда? насколько понял, с некоторых пор основной доход они получают с другого G>>Представим что mirosoft перестал продавать десктопную винду. G>>1) Сразу упадут продажи офиса, в том числе который сейчас продается по облачной подписки и составляет большую часть дохода "облаков".
NB>не в курсе механики. майкрософт продает мало виндовса, но много офиса?
Много виндовса и много офиса. Если будет мало виндовса, то и офиса будет мало.
NB>как возможности разрабатывать под линукс влияют на продажи офиса?
Чем лучше десктопные программы можно делать под линукс, тем меньше виндовс нужен.
G>>2) Сразу упадут продажи Enterprise Aggrement, который лицензирует пользователей, офисы и насыпает кучу серверного софта, в том числе windows server и sql server. Windows Server без Windows клиента не нужен от слова совсем. То есть выручка по всем серверным направлениям направлениям тоже упадет. NB>какую долю доходов microsoft имеет от продажи windows server и sql server?
Как сейчас не знаю, но года 4 назад SQL Server почти 25 выручки генерировал. А весь windows Server вместе с System Center меньше 10%.
G>>3) Как следствие п2 станет не нужной разработка под windows. Упадут продажи средств разработки и охват рынка. Разработчики начнут выбирать НЕ платформу microsoft для своих приложений NB>не хотел тебя расстраивать, но уже долгие годы мейнстимом является кроссплатформенная разработка (личное мнение)
Почему меня должно расстраивать твое мнение и как оно относится к тому, что я сказал?
Здравствуйте, gandjustas, Вы писали:
G>Много виндовса и много офиса. Если будет мало виндовса, то и офиса будет мало.
Либо офис можно портировать на Linux, как это сделано с Маком (даже под их ARM процессоры нативную версию сделали).
G>Чем лучше десктопные программы можно делать под линукс, тем меньше виндовс нужен.
Только на линукс они повлиять не могут, а какой-то киллерфичи по разработке GUI не предоставляют по факту.
Ну, а если процесс разработки кроссплатформы и windows-only приложений одинаков, то зачем кому-то из разработчиков будет нужна только винда?
G>Как сейчас не знаю, но года 4 назад SQL Server почти 25 выручки генерировал.
G>>Много виндовса и много офиса. Если будет мало виндовса, то и офиса будет мало.
K>Либо офис можно портировать на Linux, как это сделано с Маком (даже под их ARM процессоры нативную версию сделали).
G>>Чем лучше десктопные программы можно делать под линукс, тем меньше виндовс нужен.
K>Только на линукс они повлиять не могут, а какой-то киллерфичи по разработке GUI не предоставляют по факту. K>Ну, а если процесс разработки кроссплатформы и windows-only приложений одинаков, то зачем кому-то из разработчиков будет нужна только винда?
Приложения .NET MAUI можно создавать на ПК или Mac и компилировать в собственные пакеты приложений:
Приложения Android, созданные с помощью .NET MAUI, компилируются из C# на промежуточный язык (IL), который затем компилируется JIT в собственную сборку при запуске приложения.
Приложения iOS, созданные с помощью .NET MAUI, полностью заранее скомпилированы из C# в собственный код сборки ARM.
В приложениях macOS, созданных с помощью .NET MAUI, используется Mac Catalyst — решение apple, которое переносит приложение iOS, созданное с помощью UIKit, на рабочий стол и дополняет его дополнительными API AppKit и платформы по мере необходимости.
Приложения Windows, созданные с помощью .NET MAUI, используют библиотеку пользовательского интерфейса Windows 3 (WinUI 3) для создания собственных приложений, предназначенных для рабочего стола Windows. Дополнительные сведения о WinUI 3 см. в статье Библиотека пользовательского интерфейса Windows.
Здравствуйте, Serginio1, Вы писали:
S> Заметь линукса здесь нет. Впрочем учитывая долю десктопа на линукс, то зачем эту долю увеличивать?
А зачем мне ограничивать своё ПО, когда можно взять Avalonia или Uno от сторонних разработчиков?
Не знаю уж насколько им важен российский рынок, а у нас и вовсе нет смысла сейчас пилить ПО без поддержки Linux.
Купить Xamarin и потом забить на Linux — это гениальный ход.
С таким подходом это самое MAUI отправится куда-то к UWP, WPF, WCF, Silverlight и т.д.
S>> Заметь линукса здесь нет. Впрочем учитывая долю десктопа на линукс, то зачем эту долю увеличивать?
K>А зачем мне ограничивать своё ПО, когда можно взять Avalonia или Uno от сторонних разработчиков? K>Не знаю уж насколько им важен российский рынок, а у нас и вовсе нет смысла сейчас пилить ПО без поддержки Linux. K>Купить Xamarin и потом забить на Linux — это гениальный ход. K>С таким подходом это самое MAUI отправится куда-то к UWP, WPF, WCF, Silverlight и т.д.
Я там привел статистику. Линукс это 3%. Да можно специяально под линус взять авалонию или UNO или вэб.
Но насколько нужен линукс я не понимаю. И кто входит в эти 3%
Ну и код MAUI ты можешь использовать и для линукса, через те же авалонию или UNO или вэб
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Serginio1, Вы писали:
S> Я там привел статистику. Линукс это 3%. Да можно специяально под линус взять авалонию или UNO или вэб/
Только там в этой статистике даже не уверены 3% или 7%, а ещё есть некие Unknown на 13%.
Можно из той статистики просто взять, что почти на трети десктопов не винда.
Я сомневаюсь, что многие будут отдельно делать под винду, отдельно под мак, отдельно — линукс и т.д.
Либо Windows-only и прощаемся с третью потенциальных пользователей или кроссплатформа и привет всем пользователям всех популярных ОС.
Делать кроссплатформу без Linux — это очень странно.
S>Но насколько нужен линукс я не понимаю. И кто входит в эти 3%
В РФ эти проценты резко будут расти в ближайшие годы.
Активно наконец запустили импортозамещение и всё окологосударственное ПО заводится в Linux.
Пока вроде wine прокатывает, но это вряд ли будет надолго и придётся нормально пингвина поддерживать или не впишешься в отечественный рынок.
Меня периодически спрашивают что будем делать с нашим поделием WPF + .NET FW и по сути я не знаю ответа.
Руководство усиленно хочет всё на Java делать (другие проекты на ней и зачем плодить сущности?),
у меня пока есть только один аргумент за C# — уже есть куча кода на C# и не переписывать же его заново.
Только WPF не на что менять и по сути переделка на Uno/Avalonia/Blazor (ни одна из библиотек мне не нравится и не хочется к ним приближаться)
будет выглядеть не сильно лучше, чем переписать всё заново на устоявшейся Java.
MAUI в принципе не подходит, т.к. нет официальной поддержки Linux.
K>у меня пока есть только один аргумент за C# — уже есть куча кода на C# и не переписывать же его заново. K>Только WPF не на что менять и по сути переделка на Uno/Avalonia/Blazor (ни одна из библиотек мне не нравится и не хочется к ним приближаться) K>будет выглядеть не сильно лучше, чем переписать всё заново на устоявшейся Java. K>MAUI в принципе не подходит, т.к. нет официальной поддержки Linux.
На самом деле код это главное, а формы клепаются хоть на том же блазоре или авалонии с уно.
То есть основное для десктопа и мобильных на MAUI а для линукса по вкусу из вышеперечисленного. Или https://github.com/media-library/maui-linux
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, gandjustas, Вы писали:
NB>>не в курсе механики. майкрософт продает мало виндовса, но много офиса? G>Много виндовса и много офиса. Если будет мало виндовса, то и офиса будет мало.
а если офис будет работать и под виндовс и под линукс?
NB>>как возможности разрабатывать под линукс влияют на продажи офиса? G>Чем лучше десктопные программы можно делать под линукс, тем меньше виндовс нужен.
и? майкрософт с него один фиг практически ничего не имеет
NB>>какую долю доходов microsoft имеет от продажи windows server и sql server? G>Как сейчас не знаю, но года 4 назад SQL Server почти 25 выручки генерировал.
вот, в соседнем сообщении уже написали что он и под линукс работает
G> А весь windows Server вместе с System Center меньше 10%.
это чисто новые установки, или поддержка старых клиентов?
G>>>3) Как следствие п2 станет не нужной разработка под windows. Упадут продажи средств разработки и охват рынка. Разработчики начнут выбирать НЕ платформу microsoft для своих приложений NB>>не хотел тебя расстраивать, но уже долгие годы мейнстимом является кроссплатформенная разработка (личное мнение) G>Почему меня должно расстраивать твое мнение и как оно относится к тому, что я сказал?
очень просто, разработчики УЖЕ выбирают НЕ платформу microsoft для своих приложений (винда это только одна из опций)
Здравствуйте, night beast, Вы писали:
NB>очень просто, разработчики УЖЕ выбирают НЕ платформу microsoft для своих приложений (винда это только одна из опций)
Но ооочень большая. Если брать десктоп, то это еще и мак https://www.iphones.ru/iNotes/populyarnost-macos-stremitelno-rastyot-v-2023-godu-a-windows--padaet-07-13-2023
В период с июня 2022 по июнь 2023 года доля компьютеров с macOS выросла на 6,68%, до 21,32%, согласно данным StatCounter.
macOS сейчас является второй по популярности операционной системой в мире с 21,32%. На первом месте — Windows с долей 68,23%. При этом количество компьютеров с Windows за год сократилось на 8,1%.
Следом за macOS идут ChromeOS и Linux, которые занимают 4,15% и 3,08% рынка соответственно.
Популярность macOS резко начала расти этой весной после выхода MacBook Pro с чипами M2 Pro и M2 Max. [Appleinsider]
Вот под Вин и Мак и делаются программы. Линукс мало кому нужен
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Serginio1, Вы писали:
S>В период с июня 2022 по июнь 2023 года доля компьютеров с macOS выросла на 6,68%, до 21,32%, согласно данным StatCounter.
что-то не верится что за год более чем в 3 раза выросло количество пользователей macos.
видимо у статкаунтера что-то не то со статистикой. Какая-то аномалия
Здравствуйте, FR, Вы писали:
NB>>>ага, верю. чье ядро в андроиде используется?
CRT>>андроид — не линукс, не смотря на ядро
FR>Chrome OS зато вполне линукс так что 7% вполне уже набегает. https://ru.wikipedia.org/wiki/Chrome_OS
Тут опять же для этой оси ставка на вэб приложения и популярность за счет учебных заведений
Популярность Chrome OS в США была обусловлена прежде всего распространённостью хромбуков в учебных заведениях[42]. 2020 год сопровождался значительным ростом популярности устройств с Chrome OS главным образом из-за карантинных мер в свете пандемии COVID-19 и вынужденности многих учебных заведений перейти на дистанционной обучение. Устройства с Chrome OS рассматриваются как наиболее удобные для дистанционных курсов, особенно в США и Западной Европе. В 2020 году было продано в 4 раза больше хромбуков, чем за 2019 год, а их объём продаж составил примерно 10 % от общего мирового объёма продаж всех персональных компьютеров, проданных в 2020 году[50]. В первом квартале 2021 года стремительный рост продаж хромбуков продолжился, данный рост превысил 280 % в сравнении с тем же периодом в 2020 году[51]. Основными рынками продаж являются США, Япония и Западная Европа[52].
В июле 2022 года Google выпустил в публичный доступ операционную систему Chrome OS Flex, которая была разработана для использования на устаревших компьютерах на Windows и MacOS. ОС позволяет модернизировать устройство до 13 лет[53].
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, ·, Вы писали:
BFE>>А ведь откажись Sun от единоличного владения и вместе с MS они могли всё стандартизовать и вот тогда C++ могло бы поплохеть... ·>Как я понимаю, спор Sun был не про единоличное владение. И тогда, и сейчас существуют несколько реализаций JVM. Спор был в том, что MS делала несовместимую реализацию, привязанную к Win-платформе. Цель MS была не сотрудничество, а отхапать часть рынка и перетащить на свою платформу: https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguish
Ну и где сейчас MS со своим Internet Explorer? То же самое могло бы быть и с JVM. Ну и потом, если бы Sun протолкнула стандартизацию хотя бы на национальном уровне, то в конечном итоге MS пришлось бы с этим считаться.
Здравствуйте, B0FEE664, Вы писали:
BFE>>>А ведь откажись Sun от единоличного владения и вместе с MS они могли всё стандартизовать и вот тогда C++ могло бы поплохеть... BFE>·>Как я понимаю, спор Sun был не про единоличное владение. И тогда, и сейчас существуют несколько реализаций JVM. Спор был в том, что MS делала несовместимую реализацию, привязанную к Win-платформе. Цель MS была не сотрудничество, а отхапать часть рынка и перетащить на свою платформу: https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguish BFE>Ну и где сейчас MS со своим Internet Explorer? То же самое могло бы быть и с JVM.
Не понял твою мысль. IE умер. А jvm живёт.
BFE>Ну и потом, если бы Sun протолкнула стандартизацию хотя бы на национальном уровне, то в конечном итоге MS пришлось бы с этим считаться.
Что за национальный уровень? ISO или ECMA стандарт что-ли? А зачем? Что не так с текущим положением вещей?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, FR, Вы писали:
CRT>>ты можешь в хром ос установить и запустить приложение скомпилированное под линукс?
FR>Да вполне https://chromeos.dev/en/linux в отдельном контейнере правда.
Ну на них и Windows приложения можно запускать parallels desktop for windows
Ну и зачем писать под линукс если есть Wine
и солнце б утром не вставало, когда бы не было меня
FR>Да вполне https://chromeos.dev/en/linux в отдельном контейнере правда.
а... ну так-то и Windows-приложения можно запускать в Linux через WINE. Но от этого Linux не становится Windows.
Само название "Linux on ChromeOS" говорит о том что Linux != ChromeOS
FR>>Да вполне https://chromeos.dev/en/linux в отдельном контейнере правда. CRT>а... ну так-то и Windows-приложения можно запускать в Linux через WINE. Но от этого Linux не становится Windows.
Если бы только в песочнице работало то да, но для ChromeOS есть и альтернатива которая работает просто через chroot https://github.com/dnschneid/crouton без всяких контейнеров.
CRT>Само название "Linux on ChromeOS" говорит о том что Linux != ChromeOS
Здравствуйте, night beast, Вы писали:
NB>а давай ты откроешь википедию и почитаешь?
и что я там должен прочитать? А давай ты цитату будешь приводить, если что-то хочешь доказать, а не указывать что читать.
читаю в английской версии
ChromiumOS/ChromeOS version 69 onwards also support Linux applications, which are executed in a lightweight virtual machine[11] with a Debian environment.
Это что, линукс по твоему, если линкусовые приложения надо в виртуальной машине запускать?
На основе линукс, но не линукс. Так как не совместима с линуксом
Здравствуйте, CRT, Вы писали:
NB>>а давай ты откроешь википедию и почитаешь?
CRT>и что я там должен прочитать? А давай ты цитату будешь приводить, если что-то хочешь доказать, а не указывать что читать.
OS family Linux (Unix-like)[1]
ChromiumOS (formerly styled as Chromium OS) is a free and open-source operating system designed for running web applications and browsing the World Wide Web. It is the open-source version of ChromeOS, a Linux-based operating system made by Google.
Это вопрос терминологии.
В Википедии не сказано прямо что это линукс. Сказать что Linux-based, OS Family — это не то же самое что сказать что это Линукс.
Вот если ты почитаешь про Убунту в той же википедии, то там прямо сказано что это дистрибутив Линукса.
У нас есть дистрибутивы Линукс, то есть то что люди прямо называюте Линукс, различные ее дистрибутивы. И одновременно есть ChromeOS. И приложения для дистрибутивов Линукс ты не можешь запускать в ChromeOS. Значит Линукс и ChromeOS это не одно и то же.
Здравствуйте, CRT, Вы писали:
CRT>Это вопрос терминологии. CRT>В Википедии не сказано прямо что это линукс. Сказать что Linux-based, OS Family — это не то же самое что сказать что это Линукс. CRT>Вот если ты почитаешь про Убунту в той же википедии, то там прямо сказано что это дистрибутив Линукса.
если почитаешь русскую википедию, то там прямо сказано что это дистрибутив GNU/Linux
ну и для интереса посмотри что стоит в OS Family у андроида
Здравствуйте, karbofos42, Вы писали:
K>Здравствуйте, gandjustas, Вы писали:
G>>Много виндовса и много офиса. Если будет мало виндовса, то и офиса будет мало.
K>Либо офис можно портировать на Linux, как это сделано с Маком (даже под их ARM процессоры нативную версию сделали).
Насколько я помню офис в маке неполноценный, не весь софт из пакета там есть, в excel нет powerquery и powerpivot, не работают расширения для анализа.
G>>Чем лучше десктопные программы можно делать под линукс, тем меньше виндовс нужен. K>Только на линукс они повлиять не могут, а какой-то киллерфичи по разработке GUI не предоставляют по факту.
У вас две части предложения противоречат друг другу.
G>>Как сейчас не знаю, но года 4 назад SQL Server почти 25 выручки генерировал. K>MS SQL Server лет 5 как имеет Linux версию.
Тоже ограниченную, как и офис https://learn.microsoft.com/en-us/sql/linux/sql-server-linux-editions-and-components-2022?view=sql-server-ver16#unsupported-features-and-services
Не говоря уже о том, что в линукс версию не встроен failover
Здравствуйте, night beast, Вы писали:
NB>Здравствуйте, gandjustas, Вы писали:
NB>>>не в курсе механики. майкрософт продает мало виндовса, но много офиса? G>>Много виндовса и много офиса. Если будет мало виндовса, то и офиса будет мало.
NB>а если офис будет работать и под виндовс и под линукс?
Если будет работать одинаково, то необходимость в винде сильно упадет. Только это случится примерно никогда.
NB>>>как возможности разрабатывать под линукс влияют на продажи офиса? G>>Чем лучше десктопные программы можно делать под линукс, тем меньше виндовс нужен. NB>и? майкрософт с него один фиг практически ничего не имеет
Ну при такой логике в макдоналдс не надо бургеры продавать, он на них ничего не имеет. Основная прибыль там от продажи газировки.
NB>>>какую долю доходов microsoft имеет от продажи windows server и sql server? G>>Как сейчас не знаю, но года 4 назад SQL Server почти 25 выручки генерировал. NB>вот, в соседнем сообщении уже написали что он и под линукс работает
Ага, ага
G>> А весь windows Server вместе с System Center меньше 10%. NB>это чисто новые установки, или поддержка старых клиентов?
Это деньги ежегодно.
G>>>>3) Как следствие п2 станет не нужной разработка под windows. Упадут продажи средств разработки и охват рынка. Разработчики начнут выбирать НЕ платформу microsoft для своих приложений NB>>>не хотел тебя расстраивать, но уже долгие годы мейнстимом является кроссплатформенная разработка (личное мнение) G>>Почему меня должно расстраивать твое мнение и как оно относится к тому, что я сказал? NB>очень просто, разработчики УЖЕ выбирают НЕ платформу microsoft для своих приложений (винда это только одна из опций)
Похоже ты не понял что такое "платформа". Это когда ты выбрал (или за тебя выбрали) ms sql или dotnet, или напрмиер надо взаимодействовать с office, то внезапно все что ты делаешь удобнее разрабатывать на windows и запускать на windows server. Хотя казалось бы и dotnet кроссплатформенный, и ms sql на линухе работает, и офис на маке есть.
Здравствуйте, gandjustas, Вы писали:
NB>>а если офис будет работать и под виндовс и под линукс? G>Если будет работать одинаково, то необходимость в винде сильно упадет.
и что с того? какая разница, если майкрософт все равно с нее деньги не имеет
G> Только это случится примерно никогда.
до появления .net core, как ты оценивал вероятность появления net на линухе?
NB>>и? майкрософт с него один фиг практически ничего не имеет G>Ну при такой логике в макдоналдс не надо бургеры продавать, он на них ничего не имеет. Основная прибыль там от продажи газировки.
извини, не имею статистики по данному вопросу
G>Похоже ты не понял что такое "платформа". Это когда ты выбрал (или за тебя выбрали) ms sql или dotnet, или напрмиер надо взаимодействовать с office, то внезапно все что ты делаешь удобнее разрабатывать на windows и запускать на windows server. Хотя казалось бы и dotnet кроссплатформенный, и ms sql на линухе работает, и офис на маке есть.
или ты не понял, что такое кроссплатформа
мы когда делали приложения на коре, они работали и на винде и на линухе. причем линух был в приоритете, т.к. госсектор.
Здравствуйте, night beast, Вы писали:
NB>Здравствуйте, gandjustas, Вы писали:
NB>>>а если офис будет работать и под виндовс и под линукс? G>>Если будет работать одинаково, то необходимость в винде сильно упадет.
NB>и что с того? какая разница, если майкрософт все равно с нее деньги не имеет
G>> Только это случится примерно никогда. NB>до появления .net core, как ты оценивал вероятность появления net на линухе?
100%
NB>>>и? майкрософт с него один фиг практически ничего не имеет G>>Ну при такой логике в макдоналдс не надо бургеры продавать, он на них ничего не имеет. Основная прибыль там от продажи газировки. NB>извини, не имею статистики по данному вопросу
Оно и заметно
Здравствуйте, night beast, Вы писали:
NB>до появления .net core, как ты оценивал вероятность появления net на линухе?
Ну началось все с Windows Mobile. Был взят курс на кроссплатформенность UWP с .Net Native. А для него нужен был не монолитный Core с обрезкой итд. А там и линукс подоспел.
Потом WM похоронили и взяли курс на облака
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Serginio1, Вы писали:
NB>>до появления .net core, как ты оценивал вероятность появления net на линухе? S>Ну началось все с Windows Mobile. Был взят курс на кроссплатформенность UWP с .Net Native. А для него нужен был не монолитный Core с обрезкой итд. А там и линукс подоспел.
по логике оппонента, это все вредит распространению винды, следовательно miscrosoft никогда на создание core не пойдет.
Здравствуйте, night beast, Вы писали:
NB>>>до появления .net core, как ты оценивал вероятность появления net на линухе? S>>Ну началось все с Windows Mobile. Был взят курс на кроссплатформенность UWP с .Net Native. А для него нужен был не монолитный Core с обрезкой итд. А там и линукс подоспел.
NB>по логике оппонента, это все вредит распространению винды, следовательно miscrosoft никогда на создание core не пойдет.
Ну был взят курс на облака. А там удобнее линукс. Но линукс как десктоп МС не интересен.
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Serginio1, Вы писали:
NB>>по логике оппонента, это все вредит распространению винды, следовательно miscrosoft никогда на создание core не пойдет. S> Ну был взят курс на облака. А там удобнее линукс. Но линукс как десктоп МС не интересен.
Здравствуйте, night beast, Вы писали:
NB>если почитаешь русскую википедию, то там прямо сказано что это дистрибутив GNU/Linux
Кто-то написал свое мнение в википедии, какой-то аноним. Кто угодно мог. Да, такое мнение есть, ты не одинок. Есть и обратное. Но то что кто-то написал свое мнение в русскую часть Википедии не доказывает что это мнение правильно.
NB>ну и для интереса посмотри что стоит в OS Family у андроида
А я тебе еще раз говорю, что есть ОС которые прямо называются Линукс, а не только принадлежащие к семейству.
Сложилась практика называть Линуксом совершенно определенную вещь.
Вот пример такой практики:
Зайди на сайт Firefox в загрузки и выбери загрузить версию для Линукса
Что там видим:
Там написано просто Линукс. Не написано какой-то определенный Линукс. Потому что большинство людей понимает что́ под Linux имеется в виду, для каких систем будет работать данная загрузка Firefox. Ни в Chrome OS ни в Android оно не будет работать
Представляю:
— Установи мне Линукс, я хочу программу для Линукс установить (Firefox например)
— Устанавливает ChromeOS или Андроид (потому что "это тоже линукс")
— Заходит на сайт и скачивает версию программы "для системы Линукс".
— Хренак, не работает.
А ты видел как это работает? Там надо по сути вторую ОС в систему установить — дистрибутив Линукс (хочешь дебиан, хочешь убунту, еще что-то), а потом, да, ты можешь на нее переключаться.
Здравствуйте, CRT, Вы писали:
NB>>если почитаешь русскую википедию, то там прямо сказано что это дистрибутив GNU/Linux
CRT>Кто-то написал свое мнение в википедии, какой-то аноним. Кто угодно мог.
ага. как и в английской.
CRT>Да, такое мнение есть, ты не одинок. Есть и обратное. Но то что кто-то написал свое мнение в русскую часть Википедии не доказывает что это мнение правильно.
ну понятно, у тебя правильное. так поправь, с чем проблема?
NB>>ну и для интереса посмотри что стоит в OS Family у андроида
CRT>А я тебе еще раз говорю, что есть ОС которые прямо называются Линукс, а не только принадлежащие к семейству.
CRT>Представляю: CRT>- Установи мне Линукс, я хочу программу для Линукс установить (Firefox например) CRT>- Устанавливает ChromeOS или Андроид (потому что "это тоже линукс") CRT>- Заходит на сайт и скачивает версию программы "для системы Линукс". CRT>- Хренак, не работает.
ты попробовал? точно не работает?
CRT>Оказывается, надо было именно Линукс установить
или не надо. написано что работает через легковесную виртуализацию.
если, предположим, в KasperskyOS приложения будут запускаться в изолированном виртуальном окружении, значит ли что эти приложения сделаны не для KasperskyOS?
NB>>PS: сообщение FR
ты решил проигнорировать?
CRT>А ты видел как это работает? Там надо по сути вторую ОС в систему установить — дистрибутив Линукс (хочешь дебиан, хочешь убунту, еще что-то), а потом, да, ты можешь на нее переключаться.
CRT>>Представляю: CRT>>- Установи мне Линукс, я хочу программу для Линукс установить (Firefox например) CRT>>- Устанавливает ChromeOS или Андроид (потому что "это тоже линукс") CRT>>- Заходит на сайт и скачивает версию программы "для системы Линукс". CRT>>- Хренак, не работает.
NB>ты попробовал? точно не работает?
точно не работает.
CRT>>Оказывается, надо было именно Линукс установить
NB>или не надо. написано что работает через легковесную виртуализацию.
Через виртуализацию, значит не может в системе работать. И написано даже какая версия линукса в этой легковесной виртуальной машине будет крутиться. Debian по моему. Не ChromeOS
NB>если, предположим, в KasperskyOS приложения будут запускаться в изолированном виртуальном окружении, значит ли что эти приложения сделаны не для KasperskyOS?
Если в этом виртуальном окружение нужно установить другую ОС, отличную от KasperskyOS то да эти приложения сделаны не для KasperskyOS
CRT>>А ты видел как это работает? Там надо по сути вторую ОС в систему установить — дистрибутив Линукс (хочешь дебиан, хочешь убунту, еще что-то), а потом, да, ты можешь на нее переключаться.
NB>ты попробовал? оно точно так работает?
Здравствуйте, night beast, Вы писали:
NB>>>по логике оппонента, это все вредит распространению винды, следовательно miscrosoft никогда на создание core не пойдет. S>> Ну был взят курс на облака. А там удобнее линукс. Но линукс как десктоп МС не интересен.
NB>а что не windows server?
Ну для облаков под контейнеры удобнее линукс. Кстати и МС сама стала вкладываться в линукс и даже выпустила свою версию https://github.com/microsoft/CBL-Mariner
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, CRT, Вы писали:
CRT>>>Оказывается, надо было именно Линукс установить NB>>или не надо. написано что работает через легковесную виртуализацию. CRT>Через виртуализацию, значит не может в системе работать. И написано даже какая версия линукса в этой легковесной виртуальной машине будет крутиться. Debian по моему. Не ChromeOS
ты можешь запустить консоль?
что uname показывает?
CRT>>>А ты видел как это работает? Там надо по сути вторую ОС в систему установить — дистрибутив Линукс (хочешь дебиан, хочешь убунту, еще что-то), а потом, да, ты можешь на нее переключаться.
то есть, если установить второй системой виндовс, то можно запускать виндовые приложения?
NB>>ты попробовал? оно точно так работает? CRT>посмотри как это делается https://www.youtube.com/watch?v=QB9puwi2qTo
скачивается рут и либы/пакеты, что в принципе, логично
для запуска делать ребут или запускать виртуальную машину не требуется
Здравствуйте, CRT, Вы писали:
FR>>Да вполне https://chromeos.dev/en/linux в отдельном контейнере правда. CRT>а... ну так-то и Windows-приложения можно запускать в Linux через WINE. Но от этого Linux не становится Windows.
Программы под Ubuntu можно в большинстве случаев запускать в CentOS только в контейнере со своей FS. И наоборот точно так же.
Расхождение начинается со стиля подключения libc.
Формально они при этом оба Linux даже в твоём широком понимании.
CRT>Само название "Linux on ChromeOS" говорит о том что Linux != ChromeOS
Нет, само название говорит о том, что "вы можете запустить любую Linux-программу в контейнере" (то есть на том же ядре, но с другой FS).
Это 1) говорит, что по FS (библиотеки, конфиги) оно может быть несовместимо (а может, и совместимо — не сказано, что нельзя запустить напрямую), 2) что не требуется полная виртуализация, как при запуске, например, Windows или FreeBSD под Linux.
Я верю, что вы с этим не сталкивались, ну так слушайте тех, кто знает хотя бы как правильно формулировать вопросы.
Здравствуйте, CRT, Вы писали:
CRT>Сложилась практика называть Линуксом совершенно определенную вещь.
CRT>Вот пример такой практики: CRT>Зайди на сайт Firefox в загрузки и выбери загрузить версию для Линукса CRT>Что там видим: CRT>Image: DUjwRe2.png
CRT>Там написано просто Линукс. Не написано какой-то определенный Линукс. Потому что большинство людей понимает что́ под Linux имеется в виду, для каких систем будет работать данная загрузка Firefox.
glibc 2.17 or higher
GTK+ 3.14 or higher
libdbus-glib 0.6.0 or higher
libglib 2.42 or higher
libstdc++ 4.8.1 or higher
libxtst 1.2.3 or higher
X.Org 1.0 or higher (1.7 or higher is recommended)
Совершенно легко получить и сейчас дистрибутив или конкретную установку, где чего-то из этого не будет.
CRT> Ни в Chrome OS ни в Android оно не будет работать
Android — безусловно, там нету XWindow, тем более в виде конкретного X.Org.
ChromeOS —
CRT>А ты видел как это работает? Там надо по сути вторую ОС в систему установить — дистрибутив Линукс (хочешь дебиан, хочешь убунту, еще что-то), а потом, да, ты можешь на нее переключаться.
Здравствуйте, gandjustas, Вы писали:
G>Насколько я помню офис в маке неполноценный, не весь софт из пакета там есть, в excel нет powerquery и powerpivot, не работают расширения для анализа.
Но он есть. Могли бы не делать офис под Мак и пусть народ себе ради него винду покупает.
Или внезапно это так не работает и майкрософту выгоднее с паршивых овец хотя бы на лицензиях офиса заработать, т.к. на винду они не перейдут?
G>У вас две части предложения противоречат друг другу.
Что противоречит?
Майкрософт не влияет на возможность "лучше десктопные программы можно делать под линукс".
Они могут сделать только возможность создания крутого ПО под винду, но где их киллерфичи?
Есть какой-то набор инструментов от Майкрософт, который позволит мне легко и просто запилить десктопное приложение под винду, что аналог под линукс будет невозможен или в разы сложнее в реализации?
G>Тоже ограниченную, как и офис
Но опять же почему-то сделали.
И очевидно это было сделано для удержания покупателей MS SQL Server за счёт потери их как покупателей Windows Server.
Здравствуйте, Serginio1, Вы писали:
S> На самом деле код это главное, а формы клепаются хоть на том же блазоре или авалонии с уно.
Кроме форм в MVVM есть ещё и всякие ViewModel, конвертеры и прочая сопутствующая фигня.
Да и формы порой сложнее, чем "код", в том числе из-за особенностей конкретной GUI-библиотеки.
S> То есть основное для десктопа и мобильных на MAUI а для линукса по вкусу из вышеперечисленного. Или https://github.com/media-library/maui-linux
MAUI не даёт примерно ничего, чтобы возникало желание взять её и остаться без нормальной поддержки Linux.
Для побаловаться дома можно взять что угодно.
У нас уже предшественники вложились сначала в разработку под WinForms, потом постепенно мигрировали на WPF, т.к. это стильно, модно, молодёжно.
Сейчас опять куда-то нужно бежать и тратить огромные ресурсы.
А если бы изначально взяли условный C++ и Qt, то можно было все эти годы просто пилить проект и не переделывать одно и то же под другой GUI.
Майкрософт даёт гарантии, что их MAUI проживёт хотя бы 5 лет? Или так же в итоге забьют и потихоньку начнут закапывать очередной неудачный проект?
Здравствуйте, karbofos42, Вы писали:
K>У нас уже предшественники вложились сначала в разработку под WinForms, потом постепенно мигрировали на WPF, т.к. это стильно, модно, молодёжно. K>Сейчас опять куда-то нужно бежать и тратить огромные ресурсы. K>А если бы изначально взяли условный C++ и Qt, то можно было все эти годы просто пилить проект и не переделывать одно и то же под другой GUI. K>Майкрософт даёт гарантии, что их MAUI проживёт хотя бы 5 лет? Или так же в итоге забьют и потихоньку начнут закапывать очередной неудачный проект?
Я вот именно поэтому плюнул и переписал GUI на Qt. Под виндой был linq-провайдер и WinForms GUI. Понадобилась lin-версия и быстро. Полностью переписывать компонент работы с данными — не было ни времени, ни желания. Поэтому провайдер переехал на .Net Core (справедливости ради надо сказать, что переехал абсолютно безболезненно), а GUI, как уже сказал, на Qt. Взаимодействие через custom .NET host.
K>У нас уже предшественники вложились сначала в разработку под WinForms, потом постепенно мигрировали на WPF, т.к. это стильно, модно, молодёжно. K>Сейчас опять куда-то нужно бежать и тратить огромные ресурсы. K>А если бы изначально взяли условный C++ и Qt, то можно было все эти годы просто пилить проект и не переделывать одно и то же под другой GUI. K>Майкрософт даёт гарантии, что их MAUI проживёт хотя бы 5 лет? Или так же в итоге забьют и потихоньку начнут закапывать очередной неудачный проект?
Вот не пойму, кому этот линукс сдался. MAUI это наследник Xamarin.Forms которым больше 5 лет.
Опять же как и писал раньше. Можно брать код от MAUI а формы клепать на тех же авалонии, UNO, да и блазоре
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Serginio1, Вы писали:
S> Вот не пойму, кому этот линукс сдался.
Ну, я живу и работаю в РФ, у нас тут импортозамещение в виде Астра Линукс, Альт Линукс и т.п.
Даже если бы нашим проектам в требования к винде не добавляли и линукс, то я как разработчик не буду сегодня начинать windows-only проект.
Зачем мне добровольно отказываться пусть хоть от 3% рынка, если можно взять другие инструменты и не отгораживаться ни от каких пользователей?
S> MAUI это наследник Xamarin.Forms которым больше 5 лет.
А WinForms — это наследник VCL из Delphi.
А UWP — наследник WPF.
Только эти все наследники не содержат в себе обратной совместимости, т.е. при переходе на них нужно долго и упорно всё переделывать.
S> Опять же как и писал раньше. Можно брать код от MAUI а формы клепать на тех же авалонии, UNO, да и блазоре
А можно уже оставить как есть и допилить, чтобы нормально под Wine работало.
В старых проектах очевидно придётся какие-то костыли лепить.
Непонятно только зачем новые проекты начинать делать на чём-то из этого зоопарка, если с большой долей вероятности MAUI уйдёт в след за WinForms и WPF, а Blazor повторит судьбу Silverlight?
Из любви к .NET изучать очередные стильные, модные, современные библиотеки, а через 5 лет всё выкидывать и переделывать заново на более модных и современных?
Здравствуйте, karbofos42, Вы писали:
K>Непонятно только зачем новые проекты начинать делать на чём-то из этого зоопарка, если с большой долей вероятности MAUI уйдёт в след за WinForms и WPF, а Blazor повторит судьбу Silverlight? K>Из любви к .NET изучать очередные стильные, модные, современные библиотеки, а через 5 лет всё выкидывать и переделывать заново на более модных и современных?
Никуда ни WinForms и WPF не ушли. Silverlight это проблема браузеров, так как в 2015 году в этих браузерах была отключена по умолчанию[9] или полностью прекращена[10] поддержка плагинов формата NPAPI.
XAMl на самом деле очень удобен.
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Serginio1, Вы писали:
S>Никуда ни WinForms и WPF не ушли.
Только они не развиваются и периодически натыкаешься на баги, которым по 10 лет и никто их не собирается исправлять.
S>Silverlight это проблема браузеров, так как в 2015 году в этих браузерах была отключена по умолчанию[9] или полностью прекращена[10] поддержка плагинов формата NPAPI.
Людям, которые потратили время на изучение технологии и вложились в разработку на ней, от этого вряд ли легче.
S> XAMl на самом деле очень удобен.
Вещь субъективная. Мне не нравится.
Ни читать, ни писать это неудобно. Многословно, не логично. Ни одного плюса не вижу.
Страницы на HTML + CSS даже как-то приятнее верстать, хоть я веб и терпеть не могу.
По крайней мере тот вариант, что в WPF. Может в MAUI проделали работу над ошибками и что-то лучше сделали.
Здравствуйте, karbofos42, Вы писали:
S>>Никуда ни WinForms и WPF не ушли.
K>Только они не развиваются и периодически натыкаешься на баги, которым по 10 лет и никто их не собирается исправлять.
Ну почему же. Для Core они все таки правили. S>>Silverlight это проблема браузеров, так как в 2015 году в этих браузерах была отключена по умолчанию[9] или полностью прекращена[10] поддержка плагинов формата NPAPI.
K>Людям, которые потратили время на изучение технологии и вложились в разработку на ней, от этого вряд ли легче.
Ну это не вида MS. S>> XAMl на самом деле очень удобен.
K>Вещь субъективная. Мне не нравится. K>Ни читать, ни писать это неудобно. Многословно, не логично. Ни одного плюса не вижу. K>Страницы на HTML + CSS даже как-то приятнее верстать, хоть я веб и терпеть не могу. K>По крайней мере тот вариант, что в WPF. Может в MAUI проделали работу над ошибками и что-то лучше сделали.
К всему надо привыкать. Сейчас народ на Json предлагает формы делать.
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Serginio1, Вы писали:
S> Ну почему же. Для Core они все таки правили.
Они и портировали их на Core как-то не сразу и неохотно. Так же и баги правили, пару починили, на сотню забили.
S> К всему надо привыкать. Сейчас народ на Json предлагает формы делать.
json вроде давно уже появился в той же Qt.
Из последнего, что мне попадалось — это MVU, с прописыванием разметки в коде.
Опять вернёмся к MFC без всяких богомерзких дизайнеров и отдельных языков разметки