Предлагаю вскрыть эту наболевшую тему, от которой зависит наше с тобой, анон, будущее.Часто в темах /pr/ вижу: "у десктопа нет перспектив, перекатился в веб, плююсь, но осваиваю"Да и вообще вокруг в статьях (на том же хабре) можно слышать: веб-веб-веб, десктоп умрёт не сегодня-завтра, кто не с нами тот под нами etcНа мой взгляд тенденция к переходу в веб имеется, однако скорость её значительно приукрашена маркетологами и разогрета всеобщим хайпом.Сужу по своим ощущениям: впервые вкатился в веб году этак в 2004, ещё зелёным сосницким, помню тогда восхитило, как легко в блокноте можно сделать НОСТОЯЩИЙ САИТ который будет виден ВСЕМУ МИРУ. Немного покодил на PHP, JSа вообще не касался, он казался кривой инопланетной технологией (забегая вперёд: в 2016 такой и остался) и оставил это дело.Писал по учёбе всякие десктопные консольные и GUI программки и был доволен.Затем второй раз вкатился в 2010, на практике в универе. В вебе явно наметились изменения: все заговорили о ФРЕЙМВОРКАХ. Пощупал их, понял что движение есть, но веб остаётся всё тем же кривым франкенштейном, "я тебя слепила из того что было", собранным по нитке со всего мира, с кучей несовместимостей и костылей. Снова выкатился.Сейчас, в 2016 поглядываю, почитываю статейки и вижу, что паровоз хайпа лишь ещё больше разогнался. Технологии меняются по годам и месяцам, льётся поток новых баззвордов, но развитие остаётся количественным, качественных же улучшений как не было так и нет.Почему, на мой взгляд, веб это не замена десктопа:1. Взаимодействие с компьютером пользователя, да и с ним самим, возможно лишь через стороннюю левую программу - браузер. Заменить браузер самописным - невозможно.Поэтому ты всегда ограничен его возможностями. Никакой интеграции с ОСью, никакого удобства. Только какие-то невнятные уведомления, которые юзер ещё должен разрешить.2. Сами браузеры - тормозные (кроме хрома), жрущие память чудовища, для одинаковой работы сайта в которых нужно предпринимать отдельные усилия, и в которых сайтовый функционал легко зафейлить, не поставь юзер нужный плагин или поставь ненужный (адблок, или что-нибудь для безопасности, режущее следилки)3. Горячие клавиши, интерфейс (правый клик мыши) в интерфейсе сайтов конфликтует с оными сочетаниями самого браузера. В том же ютубе чтобы управлять видео через кнопки J-K-L нужно чтобы ютуб был открыт на отдельной странице (не встроенный) и чтобы фокус был в окне видео. Для юзера это выглядит чужеродно (никакой интеграции со стилем операционки), и нихрена не интуитивно. 4. Для создания интерактивности на выбор предлагается лишь JavaScript - то ещё говноподелие с обширным списком "рафик, это неувозможно пониять, ето нада зопомнить"5. Хранение твоих дорогих данных "где-то там" и постоянная пересылка их по сети туда-сюда. Впрочем об этом сказано достаточно6. Загрузка-выгрузка данных из облачного сервиса (для бекапа, импорта в другую прогу) возможно только настолько, насколько её реализовали создатели сервиса. Сервис упал, закрылся, заддосен - ты соснул.В случае же десктопной программы - всегда можно либо открыть файл сторонним софтом, либо в крайнем случае попросить знакомого программера написать парсер. Структурированные данные не потеряются.Итого: при текущей скорости развития, веб не заменит десктоп ещё без малого 10-20 лет. А может и долше, т.к. этот процесс замедляется отсутствием качественных языков для разработки новых веб-браузеров, компиляторов, интерпретаторов (языков, которые придут на замену js). Перспективные D, Rust, Dart etc пока лишь на подходе и когда войдут в продакшн - неизвестно.Поэтому возникает вопрос к анону: зачем досрочно валить с десктопа, жрать веб и лишь приумножать безумный хайп непродуманности и кривости нынешнего веба?Неужто не хватает работы? На контор, пилящих на C#/Java/C++ - полно!Лично я остаюсь кодить на качественных, проверенных временем десктоп технологиях, чтобы, если уж случится чудо и на моём веку придёт настоящий, не дутый расцвет веба, преспокойно и вальяжно вкатиться на всё готовенькое. Ведь я ценю своё время.
>>768485 (OP)Это все да, но зато на мобилочках работает.
>>768500кстати про мобилочки. Лично я скептически настроен к ним. Как средство общения - они да, полезны. Ну ещё - для выполнения узкоспециализированных задач, когда работодатель предоставляет специально разработанное мобильное приложение, ты там ходишь по складу или по лугам-лесам и отмечаешь какие-нибудь товары или точки.В остальном же - для игр, создания контента, да даже полноценного сидения в интернете - персональные компьютеры с клавиатурой и мышью вне конкуренции.p.s. Говорю не просто так, был у меня одно время планшет, хороший, дорогой, от Samsung. Большую часть времени пылился. Ну тупо неудобно на маленьком тач экранчике что-либо вменяемое делать.Телефон у меня, кстати, и по сей кнопочный.
>>768512сей день
>>768485 (OP)ОП, я тебе объясню почему все постепенно перекатились в веб, хоть это и лютая параша. Причина в кряках и кейгенах. На десктопе есть вохможность сломать любой покупной софт. А на вебе у тебя нет такой возможности. В результате теперь даже 3д моделинг планируется делать в вебе. Такой-то отсос мамкиных крякеров.
>>769459>В результате теперь даже 3д моделинг планируется делать в вебе. Такой-то отсос мамкиных крякеров. С фпс 10. Такой-то отсос маминых моделлеров.
1) Браузеры начинают поддерживать WebAssembly2) Гугл и микрософт выпускают свои UI фреймворки под него.3) Все начинают пилить сайты в идешках аля Android Studio или вижуале. Те ествественно работают на любый устройствах где есть браузер, а главное нативно.4) ???5) хтмл только на википедии
>>769482Есть прон с этой шкурой?
>>769490Есть, называется "Гарри Поттер".
>>769490Да ты охуел
>>769459Хуита. Кряки и кейгены даже в этой стране существенно влияют на продажи только в бесогоновом манямире, а у них там вообще культура крэкинга неразвита, а немногие страждущие вынуждены на руборды всякие ходить за кряками. И потом, как заметил >>769469-кун - либо ты убираешь тяжелую логику в облако и получаешь нерентабельное дерьмо, когда на трех клиентов нужна дополнительная невиртуальная машина, либо ты загружаешь основной код пользователю и выполняешь в браузере, и тогда это все ломается еще легче, чем десктоп.
>>769482Дело не в языках программирования, а в API. Уже и так есть компиляторы каких угодно ЯП в JS, но от этого ничего не меняется, т.к. в конечном счёте всё упирается в DOM API.
>>769507Я и не говорил о языках, смотри 2).
>>769482ВебАссембли - это JavaScript, который заранее распарсили. Это никаким местом не ассемблер, как некоторым может показаться из названия. Ему по определению никогда не достичь скорости нативного кода. По этой и другим причинам можно уже сейчас считать, что он не взлетел.
>>769525Лолнет. WebAssembly это ассемблер, который запускается на специальном вм.
>>769583>это такой специальный ассемблер с виртуальной машиной и сборщиком мусораАхуительный ассемблер.
>>769500Но ты так и не объяснил почему же тогда мы видим то что видим - все поголовно переходят на веб-интерфейсы?
>>769654Ассемблер как ассемблер. У JVM и NET такие же. Да и SBCL не принципиально отличается
>>769669Только у jvm и .net не кричат про нативную скорость на каждом углу, о чем уж тут говорить. Тот ассемблер, который заслужили, лол.
>>769525Это байт-код тип?
>>769767У JVM заебись скорость, особенно если памяти побольше выделить и -X опции потюнить. У NET похуже, но если за трафиком в памяти следить, тоже нормально.Чего ты вообще уперся в слово виртуальная машина? У любого языка есть рантайм, и у почти любого (кроме сишечек) он ничем от виртуальной машины не отличается
>>769815У .NET должна быть выше, ибо при запуске программы он полностью компилирует ее в машинный код, а JVM лишь некоторые (часто используемые) части.
>>769820Не должно быть.У JVM дохуя продвинутый JIT, который умеет много оптимизаций что во время компиляции не сделаешь.
>>769829Какие оптимизации? Во время выполнения программы железная архитектура может меняться? Вынули процессор и вставили другой?
>>769815> заебись скоростьЗаебись не значит нативная. 64 Гб хватит всем, да.> уперся в слово виртуальная машинаПочему то, если написано assembly, многие начинают течь, думая о скорости и о том что это ассемблер для настоящего железного процессора. А там абстрактная виртуальная машина>>769820Jit как бы говорит тебе, что .net не так работает.
>>769832Ты ведь заранее знаешь целевую модель процессора?
>>769832Невежество https://en.wikipedia.org/wiki/Tracing_just-in-time_compilation>>769833Что такое нативная? Задумайся над этим вопросом.
>>769833> Почему то, если написано assembly, многие начинают течь, думая о скорости и о том что это ассемблер для настоящего железного процессора. А там абстрактная виртуальная машинаСкорость в разы выше потому что не надо парсить исходники.К примеру, в Delphi тяжелые проекты собирались максимум за несколько секунд. А в C++ сборка могла заняться на полчаса, т.к. компилятору нужно было парсить текстовые .h файлы.
>>769833> Jit как бы говорит тебе, что .net не так работает.JIT там работает один раз, во время запуска программы.>>769835Среда выполнения .NET, установленная у клиента - знает.
>>769837> https://en.wikipedia.org/wiki/Tracing_just-in-time_compilationИ к чему это?
>>769841К твоему вопросу. Это ответ на него.
>>769844Если это работает охуенно быстрее заранее скомпилированного нативного кода, то почему тогда интерпретатор жабы пишут на машинном коде, а не на байт-коде с JIT? Почему игори пишут на нативном коде?
>>769850> Почему игори пишут на нативном коде?Если вспомнишь про Unity, то встречный вопрос - почему сам движок Unity написан на нативном коде?
>>769850Не придумывай, про охуенно быстрее никто не говорил. Это зависит от многих факторов.Что касается JVM, то возможности в рантайме исполнять на ней код дает много полезных возможностей, начиная от reflection до bytecode injection в мирных целях.У каждого подхода есть свои плюсы и свои минусы.Пиздеть же про нативный код в 2016 году когда вокруг много очень хорошо оптимизированных JIT-компиляторов - неумно.
>>769525>ВебАссембли - это JavaScript, который заранее распарсилиПиздец школьник
>>768485 (OP)>тенденция к переходу в веб имеется, однако скорость её значительно приукрашена маркетологами и разогрета всеобщим хайпом.This. А хайп создается Гуглом и прочими госдеповскими конторами. У нас и так уже почта не стирается, все файлы "в облаке", осталось ещё все программы туда перевести.Однако надо знать и то и другое. Я, например, много работаю с консольными приложениями (т.е. создаю их), windows services (то же, но в профиль) и веб сервисами, то есть создание интерфейсов в вебе приходится делать не столь часто, как всё остальное. У каждого нормального вебсайта есть бэкэнд нагрузка из баз данных, утилит, сервисов, порой вообще клиентов для суппорта, т.е. веб интерфейс это только верхушка айсберга.
>>769850При предварительной компиляции нужно быть очень консервативным с оптимизацями, т.к. не дай бог из-за какой-то оптимизации наоборот всё будет медленне работать (ибо ты не знаешь, как именно будет в реальности использовать твой кусок кода)JIT компилятор может быть очень оптимистичен с оптимизациями, если что-то будет работать медленно - он эти оптимизации легко может откатить.
>>769525Это ты про asm.js говоришь, это другое.
>>769840> JIT там работает один раз, во время запуска программы.Именно поэтому это не JIT, а AOT компилятор.
>>769994правильно он всё говорит.> asm.jsа это, специальным образом оформленный JS чтобы его было легче парсить.
>>769994Хм, а https://habrahabr.ru/post/261205/ говорит что он прав (хотя бы частично)Как я вижу- они сделали свой байт-кодСразу возник вопрос, почему просто не заюзать LLVM, а у них и тут ответ есть:https://github.com/WebAssembly/design/blob/master/FAQ.md#why-not-just-use-llvm-bitcode-as-a-binary-format
>>769838Ебать дебил.Модули вместо хидеров не дадут сильного прироста скорости компиляции (посмотри на тот же раст – компилируется подольше плюсов, а ведь с модулями).Паскаль – это такой вид оберона (или наоборот, или я вообще спутал с модулой – один хуй виртовские языки на одно лицо), который в свою очередь разрабатывался как язык для обучения написания компилятора, с минималистичным AST и синтаксическими заёбами.Попробуй написать парсер паскаля, а потом хотя бы плюсов года так 98 (молчу про последние), посмотри в чём же там разница.Алсо, про говно вместо оптимизатора который тоже кушает время лучше, наверно, не вспоминать.
>>770020>>770022Семен плес.
> Итого: при текущей скорости развития, веб не заменит десктоп ещё без малого 10-20 лет. А может и долше, т.к. это никому не нужно, кроме кучке хипсторовfixed
> The Fathers of the Internet Urge Today’s Software Engineers to Reinvent the Web (spectrum.ieee.org)> https://www.reddit.com/r/programming/comments/4oyer0/the_fathers_of_the_internet_urge_todays_software/
>>775948И что это значит (этот бессодержательный потока мыслей)?
>>769482>WebAssemblyЗаведомый фейл. Браузер и так компилирует Javascript в байткод (или даже нейтивный для проца код). А теперь этот новый байткод надо на виртуальной машине гонять. И чтобы для мипсов там всяких, ARMов тоже пошло.Все это говно будет работать медленнее, чем сейчас. Выигрыш только за счет сокращения времени на компиляцию, но он незначительный. Пока ресурсы сайта грузятся, едро линупс скомпилировать можно. Байткод можно в кэше хранить, и тогда вообще выигрыша нет. Главные тормоза в браузере - это DOM.
>>775949Купи азбуку, выучи буквы, прочитай.
>>776001>А теперь этот новый байткод надо на виртуальной машине гонять.Вась, разработчики браузеров не настолько уебаны чтобы запускать любую страницу вне виртуалки, это не безопасно и текущие бровсеры так и работают.
>>776075>разработчики браузеров не настолько уебаныПосле того, как последняя версия Хрома выгружает неактивные табы из памяти и вообще нахуй, а при активации закладки заново грузит её из интернета - я уже ничему не удивлюсь.А про JS движок вот что в википедии>V8 compiles JavaScript to native machine code (IA-32, x86-64, ARM, or MIPS ISAs; has also been ported to PowerPC[7] and IBM s390[8][9] for use in servers)[3][10] before executing it, instead of more traditional techniques such as interpreting bytecode
>>776100NodeJS в моем s390
>>768485 (OP)Ты, судя по всему, ни разу про СПА не слышалтред не читал
>>770241> называть мейнстрим хипстерством
>>776001> Главные тормоза в браузере - это DOM.WebAssembly и продвигается для разработки "низкоуровневых" программ (в частности игр), а не как замена JS.Так где мегабайты кода и много вычислений (и отрисовка через WebGL), там и нужен WebAssembly.Кстати, обещают и нормальную многопоточность завезти.
>>776452> многопоточностьРаньше говнобаннеры на хтмл5 только тормозили браузер, а теперь смогут вешать комп. Прогресс, хуле.
>>776468Тормозили именно потому, что всё синхронно обрабатывается в лучшем случае 1/4 всех мощностей процессора.
>>776452>Так где мегабайты кода и много вычислений (и отрисовка через WebGL), там и нужен WebAssembly.Упаси боже, кому и зачем это говно нужно? Зачем его тащить в гипертекст? Ну придумайте вы спецификацию тонких клиентов, и пилите их отдельно, зачем поганить браузеры? Они не для этого. С самых девяностых пердолятся с ними, костыль на костыле.
>>776635>придумайте вы спецификацию тонких клиентовJava appletыУспешны с 5 века до нашей эры
>>776637Тяжелый и вечно дырявый рантайм.Высокий порог вхождения.Выглядит как говно.
>>776675>Высокий порог вхождения.Чо?
>>776675>Тяжелый и вечно дырявый рантаймТы еще про Java-апплеты или уже про современный браузер как рантайм для JS?Разницы никакой.
>>776922Ты че, даун? Какие дыры в безопасности есть в жс?
>>776942Дыры в безопасности есть в браузерах.Доступ к ним осуществляется через JS.
>>776947Мягко говоря с JS это сделать гораздо сложнее, ты физически не можешь получить доступ к опасному API (если это не IE конечно :).В Java ты можешь достаточно просто выпрыгнуть из песочницы и начать дергать системные апишки.https://www.youtube.com/watch?v=Zx49MEa7bCg (в конце два живых примера).
>>776947> Дыры в безопасности есть в браузерах.Где? > Доступ к ним осуществляется через JS.Как?
>>776959>>776963http://www.cvedetails.com/vulnerability-list/vendor_id-1224/product_id-15031/Google-Chrome.html
>>769668На волне всеобщего хайпа, который они сами и поднимают. Нужно искать причину возникновения этого хайпа. Как по мне -- так это заговор>>769490Сука, ты в зк зашёл чтобы подрочить?
>>776979Ты не различаешь dos, bypass и прямой доступ к файловой системе?
>>777035Ты не различаешь байки о дырах из 1997 года в Java-рантайме и уровень дыр современных браузеров, в латание которых уже вложено человеко-часов больше чем во все полеты на Луну?
>>777064Какие байки, даун? Какой уровень? Прочитай на что ты отвечал
>>769668>Нужно искать причину возникновения этого хайпаЭто как мода у баб, она иррациональна и непредсказуема. Просто кто-то сказал, что инпуты без рамок это круто, и теперь все так делают, хотя ни одного убедительного аргумента в пользу такого решения нет. Точно так же и с вебом. Десктоп для замшелых пердунов, планшет это стильно, молодежно и инновационно, давайте все делать на планшет.Прагматичных гиков в процентном соотношении становится все меньше, они уже не могут задавать тренды. Это печально.
>>776993промахнулся >>777250
Вот она пропаганда. Про дырявый флеш, о каждой уязвимости которого кричат на каждом углу все гуголы с эплами и мозилами, знает каждый, а про баги в браузерах (которых не меньше, на самом деле, просто все молчат, ибо кричать не выгодно) никто не слышал. Ещё и сомневаются, есть ли они.
Десктоп не умрет потому что он уже давно умер. Сейчас нет никакого смысла шквариться об кутэ и прочее говно, в плане построения гуйни хтмл дает посасать чему угодно. Если жмет песочница то достаточно обернуть вэбню в nwjs или electron.
>>777717И получить тормозное говно уровня атома.
>>777717Для сложных интерфейсов только десктоп - IDE, графические, видео- и аудио- редакторы, САПР. Если нихуя не надо - сойдет и HTML/CSS/JS.
>>777717хипсторы не знают, что существуют приложения сложнее инстаграма
>>777717Десктоп не умрёт потому что нужно где-то запускать браузер./thread
>>777772На мобильнике/планшете же. А вообще есть ChromeOS, FirefoxOS и им подобное.
>>777786>FirefoxOSRIP
>>777786> На мобильнике/планшете же.Проиграл с фантазера. А мобильник/планшет без ОСи работает?
>>778058Кто тебя к написанию ОСи допустит, программистишка?
>>778059https://www.kernel.org/doc/Documentation/SubmittingPatches
>>778062Зекачера любой мейнтейнер окунет головой в унитаз вместе с его коммитами.
>>769668Скорость разработки. Особенно если нужно нацелиться на кучу платформ. Верстать под браузеры таки проще.С другой стороны, не забывай о компаниях, пилящиее приложения под десктоп. Пусть это и обертки сайта на электроне/node-webkit. Но, внезапно, их делают ради использования нативных функций платформы, типа уведомлений, выбор звуковых устройств ввода, нормальная работа с файловой системой, етц.
>>778073Просто рынок порешал. Дешевых фронтендщиков в разы больше, чем JavaFX или Qt разработчиков, например.
>>778073QtWebEngine в продакшене не используется? Да молодой еще. Но был же еще QtWebkit. Или вот QtScript. Хоть он и deprecated но на сервер как обработчик запросов годнота.
>>778072Не буду спорить, просто теоретически есть такая возможность.
>>778076Не рынок порешал, а порог вхождения в разные технологии. Пользоваться гипертекстовой разметкой большинство людей еще в школе учат.А в Java или C# огромнейшие стандартные библиотеки. Awt, swing, swt\win forms, wpf, gtk#, офигеешь.>>778078Это все неудобно, особенно C++, особенно если нужно кроссплатформенную сборку пилить.Это ведь надо с версиями qt ебаться, с зависимостями под Linux быть знакомым, даже возможно опакетить бинарник.А так у тебя лежит в бинарном виде движок какого-нибудь электрона под все доступные платформы, который отдельно обновляется. Отдельно внутренности проекта на js+css+html, и из всей этой веб ебалы одним коротким скриптом генерятяс релиз и дебаг билды.Это так, взгляд со стороны.
Неужто не хватает работы? На контор, пилящих на C#/Java/C++ - полно!Подскажи конторы где нужен Java программист с Swing, JavaFX? Spring не знаю, в вэб не берут и не хочу сам. Текущая шарпоработа надоела.
>>778137И в андроид, это почти тоже самое
>>778137Иди в андроид, это почти тоже самое
>>778143Иди в.... звучит хорошо, вопрос именно по поиску работы, кто возьмёт чтоб пойти
Тред не читал, но похуй.Веб действительно намного мощнее в графическом плане чем десктоп. Веб кроссплатформенный (а точнее кроссбраузерный). Есть сотни тонн готовых решений.Но!Не забываем, что есть действительно проекты, которые в вебе ни в сраку совсем. (Чаще всего всё то, что много работает с файловой системой, например).Для таких вещей десктопные приложения банально удобнее.И для создания десктопных приложений без всякого геморроя на помощь приходит ElectronJS! Сама крутая хуита, вертится внутри ноды, рендерится хромиумом.Пиши десктоп на html и js! Смело, модно, молодежно!
>>778225> JS вместо языка> Гребанная куча говна вреймворков> DOM + костыли вместо контроловНахуй так жить
>>778225И тормозит сильнее трёх жявамашин вместе взятых.
>>778225Недавно после гуглдока открыл Excel 2007 года, так будто оковы спали и свежего воздуха вдохнул.
>>778233Пока ты будешь настраивать апп-сервер, деплоймент, тесты, CI и ехал бин через бин по XML, на NodeJS уже сделают еботень, выставят в энторнеты, наберут пользователей и получат венчурный лям на дальнейшее развитие.
>>778252> Table-oriented programming> https://news.ycombinator.com/item?id=11949692
>>778307Зато когда я выпущу приложение которое будет быстро работать и не требовать термоядерного реактора я получу этих пользователей себе.
>>778335Конечно получишь.Вот Гугл выпустил социальную сеть Google Plus, и получил пользователей Facebook себе.И все остальные тоже, выпустили свои соцсети и получили пользователей Facebook себе.
>>778586ну Паша Дуров СНГ себе отхватил.
>>778744Это нишевое решение, они возможны, но ты ведь говорил о том как ты переманишь себе тех кто уже пользуется аналогом, который уже давно есть.
>>778769я ничего не говорил, я проходил мимо
>>778586При чем здесь веб, дегенерат?
>>778089AWT и WinForms - огромнейшие?
нука, че тут у нас >>777777
Как ни печально Анон. Я начинаю терять веру в языки программирования, мне нравится Java. Просто нравится. Но реальность показывает, что теперь важна скорость генерации говна,меня расстраивает перспектива, того что эта реальносит не оставит мне завтра выбора, и мне придется писать код на языке под название ЖС. Sad but true.з.ы. хипсторы - пидорыз.ы.ы. развалили отрасльз.ы.ы.ы. 3310 каждому в жопу
>>781563>мне нравится Java. Просто нравитсяТут вариантов два 1. Ты обычный говноед. 2. Ты имеешь опыт программирования на десятке разных языков разных парадигм и дополнительно еще на двух-трех немного странных языках, и тебе из всех них нравится именно Java - ты очень извращенный говноед.> развалили отрасльК языкам Java и Javascript это не имеет почти никакого отношения. Внезапно выяснилось что лепить говновеб на серьезных и надежных технологиях - непозволительный перерасход ресурсов. А из серьезного бэкенда (того что за веб-бэкендом) Java никуда деваться не собирается. Только джуниоры в этом серьезном бэкенде нахуй не нужны, особенно толпы их.
>>768485 (OP)Как бальзам на душу.Только вот в вебе найти работу на порядок проще, чем в десктопе. Даже основной язык менять собрался на что-нибудь хардкорно десктоп, потому что веб-веб-веб-веб какой ты вообще кодер если не веб