qw1 2013-05-14 22-46
Кто вам сказал, что доля C++ падает? Те языки, которые вы названи, держатся засчёт энтерпрайза (где все зажаты сроками), инди-разработчиков-хипстеров 2D-платформеров «в стиле 80-х» (отличный пример того, что люди, развивающие эти языки, тянут прогресс назад) и веб-разработчиков (там можно и потормозить). C++ всё ещё очень широко используется. Source, CryEngine, Unreal Engine, Frostbite, Windows, многие мобильные игры (даже совсем не требовательные, такие как Jetpack Joyride) написаны на C++.
Компиляторы — да, улучшились, но Intel C Compiler компилирует Си ahead-of-time в нативный код, поэтому и может применять всевозможные оптимизации в кучу проходов. Такое в каком-нибудь JavaScript сделать просто нереально из-за того, что компиляция с тщательной оптимизацией — долгий процесс, а значит каждую загрузку скрипта и каждый eval вам придется ждать несколько секунд. Поэтому либо невыносимо медленная интерпретация, либо почти никак не оптимизирующий JIT. Да и комментарий мой был про превосходство нативного кода над байткодом, а не ассемблера над Си.
>> qw1 2013-05-13 22-54
Managed-среды — это не будущее, а огромный прыжок назад.
Писать-то с ними гораздо проще, но пользователям всё равно, строили ли вы свой код из готовых блоков или выкладывали самодельные кирпичики. Им главное, чтобы работало нормально, а это включает в себя и высокую скорость. Сами же говорите, что "[.NET-версия] разочаровала всех своей тормозявостью".
Торрент-клиенты и записочки — это не будущее, а мелкие программки. Будущее — это фотореалистичный рендеринг в реальном времени, высокоточные симуляции и т. п.
Ведь не просто так же рендереры Wolfenstein 3D, Descent и Quake были написаны на ассемблере. Как говорит Кармак в readme к исходному коду Quake, даже на Си без ассемблера игра теряла почти половину своей скорости. О каком уж там managed-коде может идти и речь, если такая, казалось бы, маленькая вещь, как перестановка инструкций (многие managed-программисты наверняка даже и не догадываются, что такое инструкции процессора) разных частей процессора, чтобы они запускались параллельно и не тратили несколько лишних циклов, является основой производительности всего движка?
Это сейчас 3D везде и повсюду, а в то время это было действительно будущим.
>> reactos 2013-05-12 18-41
Да, Metro улучшать надо. Но я ведь и не говорил «копировать», я сказал «на основе».
Лично мне кажется, что всё-таки лучше использовать Aero, нежели чем Metro. Под Metro разнообразить иконки нормально невозможно. В desktop-режиме Windows 8 повсюду используются блестящие и отражающие иконки из Windows 7, которые ну никак не вписываются в плоский стиль Windows 8, а вот как сделать их все двухцветными, даже и представить себе не могу.
Но и Aero тоже подкорректировать не помешало бы. Например, на рабочем столе (а точнее в папке «Рабочий стол») на 2 иконки — «Библиотеки» и «Панель управления» — взгляд падает спереди, в то время как на остальные — сбоку. Но если иконка «Панели управления» выглядит нормально (она небольшая, и там имеется в виду абстрактная «панель управления» как окно в GUI, а не физический объект), то плоские «Библиотеки» совсем не вписываются, так как на иконке изображён набор папок на подставке, реальный трехмерный объект, а в других местах в системе папки изображены сбоку, к тому же, значок очень громоздкий.
Для панели задач такая иконка вполне сгодится, учитывая то, что иконки большинства программ изображены именно спереди, а вот для фактически папки в проводнике, по-моему, нет.
Я бы вам посоветовал сделать какой-нибудь отличительный дизайн (с возможностью выбора классической темы, если кто-то привык уже). Может быть — на основе Metro, может быть — на основе Aero, а может быть и на основе Luna, хоть он и староват немного, но лучше придумать свой.
Копировать дизайн Windows 95-2000 в 2013 году — это печально. Тот дизайн разрабатывался под производительность компьютеров тех лет: blitting вместо alpha blending (FPU в середине 1990-х были медленные и далеко не на всех компьютерах), один цвет вместо изображений, простые шрифтовые кнопки, 8- и 16-битные иконки. Сейчас просто нет смысла этого делать.
Android хоть и тоже был одно время игрой в догонялки с iOS, но догонять он начал намного раньше, чем ReactOS: если первый смартфон на Android появился через год после выхода iPhone, то первая еле-еле работающая сборка ReactOS появилась аж в 2004 году, через 3 года после выхода Windows XP.
И развивается ReactOS гораздо медленнее: уже 9 лет прошло, а всё никак даже более-менее современный GUI не сделают, несмотря на то, что первая публичная сборка появилась позже Windows XP, а Android уже через 3 года приобрёл полную самостоятельность и стал обгонять iOS.
В то время как под Windows уже .NET 4.5 и Windows Runtime, ReactOS не может нормально запускать программы для Windows 2000.
Финансирование — это, конечно, хорошо, но процессоры всё-таки инструкции выполняют, а не деньги. Поэтому лучше было бы разработчикам пачку хорошего кода дать.
Кто вам сказал, что доля C++ падает? Те языки, которые вы названи, держатся засчёт энтерпрайза (где все зажаты сроками), инди-разработчиков-хипстеров 2D-платформеров «в стиле 80-х» (отличный пример того, что люди, развивающие эти языки, тянут прогресс назад) и веб-разработчиков (там можно и потормозить). C++ всё ещё очень широко используется. Source, CryEngine, Unreal Engine, Frostbite, Windows, многие мобильные игры (даже совсем не требовательные, такие как Jetpack Joyride) написаны на C++.
Компиляторы — да, улучшились, но Intel C Compiler компилирует Си ahead-of-time в нативный код, поэтому и может применять всевозможные оптимизации в кучу проходов. Такое в каком-нибудь JavaScript сделать просто нереально из-за того, что компиляция с тщательной оптимизацией — долгий процесс, а значит каждую загрузку скрипта и каждый eval вам придется ждать несколько секунд. Поэтому либо невыносимо медленная интерпретация, либо почти никак не оптимизирующий JIT. Да и комментарий мой был про превосходство нативного кода над байткодом, а не ассемблера над Си.
Managed-среды — это не будущее, а огромный прыжок назад.
Писать-то с ними гораздо проще, но пользователям всё равно, строили ли вы свой код из готовых блоков или выкладывали самодельные кирпичики. Им главное, чтобы работало нормально, а это включает в себя и высокую скорость. Сами же говорите, что "[.NET-версия] разочаровала всех своей тормозявостью".
Торрент-клиенты и записочки — это не будущее, а мелкие программки. Будущее — это фотореалистичный рендеринг в реальном времени, высокоточные симуляции и т. п.
Ведь не просто так же рендереры Wolfenstein 3D, Descent и Quake были написаны на ассемблере. Как говорит Кармак в readme к исходному коду Quake, даже на Си без ассемблера игра теряла почти половину своей скорости. О каком уж там managed-коде может идти и речь, если такая, казалось бы, маленькая вещь, как перестановка инструкций (многие managed-программисты наверняка даже и не догадываются, что такое инструкции процессора) разных частей процессора, чтобы они запускались параллельно и не тратили несколько лишних циклов, является основой производительности всего движка?
Это сейчас 3D везде и повсюду, а в то время это было действительно будущим.
Да, Metro улучшать надо. Но я ведь и не говорил «копировать», я сказал «на основе».
Лично мне кажется, что всё-таки лучше использовать Aero, нежели чем Metro. Под Metro разнообразить иконки нормально невозможно. В desktop-режиме Windows 8 повсюду используются блестящие и отражающие иконки из Windows 7, которые ну никак не вписываются в плоский стиль Windows 8, а вот как сделать их все двухцветными, даже и представить себе не могу.
Но и Aero тоже подкорректировать не помешало бы. Например, на рабочем столе (а точнее в папке «Рабочий стол») на 2 иконки — «Библиотеки» и «Панель управления» — взгляд падает спереди, в то время как на остальные — сбоку. Но если иконка «Панели управления» выглядит нормально (она небольшая, и там имеется в виду абстрактная «панель управления» как окно в GUI, а не физический объект), то плоские «Библиотеки» совсем не вписываются, так как на иконке изображён набор папок на подставке, реальный трехмерный объект, а в других местах в системе папки изображены сбоку, к тому же, значок очень громоздкий.
Для панели задач такая иконка вполне сгодится, учитывая то, что иконки большинства программ изображены именно спереди, а вот для фактически папки в проводнике, по-моему, нет.
О, координатор в топике!
Я бы вам посоветовал сделать какой-нибудь отличительный дизайн (с возможностью выбора классической темы, если кто-то привык уже). Может быть — на основе Metro, может быть — на основе Aero, а может быть и на основе Luna, хоть он и староват немного, но лучше придумать свой.
Копировать дизайн Windows 95-2000 в 2013 году — это печально. Тот дизайн разрабатывался под производительность компьютеров тех лет: blitting вместо alpha blending (FPU в середине 1990-х были медленные и далеко не на всех компьютерах), один цвет вместо изображений, простые шрифтовые кнопки, 8- и 16-битные иконки. Сейчас просто нет смысла этого делать.
Вот именно, шансов нет никаких.
Android хоть и тоже был одно время игрой в догонялки с iOS, но догонять он начал намного раньше, чем ReactOS: если первый смартфон на Android появился через год после выхода iPhone, то первая еле-еле работающая сборка ReactOS появилась аж в 2004 году, через 3 года после выхода Windows XP.
И развивается ReactOS гораздо медленнее: уже 9 лет прошло, а всё никак даже более-менее современный GUI не сделают, несмотря на то, что первая публичная сборка появилась позже Windows XP, а Android уже через 3 года приобрёл полную самостоятельность и стал обгонять iOS.
В то время как под Windows уже .NET 4.5 и Windows Runtime, ReactOS не может нормально запускать программы для Windows 2000.