Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Т.е. улучшение покрытия стандарта не считается? А что тогда ты вообще ждешь от VC++? Очередного C++/CX?
Какого стандарта? Если C++98, то он как бы к концу 2000-ых уже несколько устарел... А если про что-то новое, то до 2010-го года никаких намёков даже не было.
НС>Отставание в чем?
Достаточно посмотреть в каком году в gcc и в vc появились auto, rvalue, лямбды, инициализация, for и т.п. Части этого в vc кстати до сих пор нет. И это я говорю только о том что лично меня интересовало, а там ещё куча других новшеств есть.
НС>Что все? Вот студию, ее как, тоже надо распилить на части для псевдоконкуренции? Или надо вообще несколько студий выпустить? Для дотнета на дотнете, для С++ на С++, для HTML+JS на HTML+JS? Ну что за ерунда? Конкуренция внутри корпорации приведет только к дикому перерасходу ресурсов на разработку. В МС, конечно же, этого нет. Там есть генеральная линия партии, и все выстраивается вокруг нее.
В данном случае как раз выгоднее поддерживать больше разных технологий, что бы охватить большее число разработчиков. Да и нет тут прямой конкуренции. Борьба между c++, .net, html+javascript это же приблизительно как конкуренция в автоконцерне между подразделениями производящими премиум авто, ширпотреб и электромобили. )
НС>Это не предмет для обсуждения, это факт. На поддержку WinRT ушла масса ресурсов. Причем, что обидно, впустую — компиляторы и языковые пакеты для C#/VB идут прямиком в корзину, вместе со всем правленным под WinRT кодом, в следующей студии будет совсем другой продукт.
Это откуда такие данные?
НС>Видишь ли, мне, как разработчику, совершенно плевать на "равные права". Мне важно развитие и направление этого развития. Если МС начнет распылять усилия по всем направлениям — это окончится очень печально.
Для кого печально? Например для C++ разработчиков сейчас только сплошной позитив пошёл. Вот даже обещают в самое ближайшее время апдейт для компилятора включающий много вкусностей из нового стандарта. А раньше даже с выходом новой студии не факт что и было бы такое. Ну а про html разработчиков я вообще молчу. Раньше они и не мечтали иметь возможность разрабатывать полноценные приложения.
Здравствуйте, vdimas, Вы писали:
A>>Когда у меня в арче что-нибудь отваливалось чуть ли не после каждого обновления. V>Это баги, а не принципиально ломающие изменения.
Это баги при обновлении, т.е. они ломают совместимость чего-то с чем-то.
V>Не предугадал. Увы, в линухах многое делается бесплатно или условно бесплатно, поэтому возможно всякое.
В коммерческом софте тоже самое. Тем более линукс пишется не энтузиастами, а программистами, сидящими на з/п в корпорации.
V>Я пользуюсь не гномом/kde, а приложениями.
Здравствуйте, Евгений Акиньшин, Вы писали:
ЕА>Сейчас ты мне расскажешь, что без всего этого можно спокойно жить
Да ты вообще там в своем ДытНоте опупел
Мы раньше, блин, месаги слали, блин, сэндмессадж, блин, гетпарент, блин, никаких этих ваших РилайтивСоурс, блин. Программирование вырождается. Новый API спасение. Учите С++, блин. ТекстИнпут не могут, блин. Да раньше, блин, я его одной левой. СетВиндоуЛонг, понял!
Здравствуйте, vdimas, Вы писали:
V>Сказал человек, прямо скажем, не потрудившийся ничего проверить лично до сих пор. Несколько лет назад он вообще был пойман на том, что плохо представлял происходящее в процессе рендеринга в WPF. Ну и когда-то под своим основным ником он был одним из самых заметных представителей/защитников дотнета на этом сайте (последние годы попустился малость), так что случай не так чтобы беспристрастный.
Во-первых, вы меня с кем-то путаете, ник у меня ровно один — этот. Во-вторых, зачем так откровенно хамить? Типа если собеседник/автор статьи дурак — то ты 100% умнее?
V>OK, как, по-твоему, рисуются эллипсы в OpenGL? Предположи для самопроверки, никуда не заглядывая...
Примерно то же самое, только всей толпой сразу.
V>И далее есть еще одна приведенная им картинка с линиями по контуру. Т.е. CPU выдаёт в GPU массив точек, но кол-во этих точек (42 точки на рисунке) и сам характер вычислений более чем скромный, в сравнении со случаем сглаженного рисования эллипса полностью на CPU.
Проблема не в размере массива точек, проблема в скармливании GPU всей сцены по одному элементу за раз.
V>В чем он прав — что каждая сцена рисуется с 0-ля.
И в этом тоже.
V>Но рисование каждой сцены с 0-ля — это вынужденная мера, т.к. для реализации инкрементальных изменений необходимо было связывать дотнетные объекты с объектами DirectX, то бишь для схемы дух потоков потребовался бы двусторонний обмен данными
Вообще-то в WPF все графические ресурсы — freezable. Так что мимо
V>Это происходит только при изменении сцены, т.е. автор врет или сам не знает.
Или рассматривал только сценарии, когда рендер активно задействован — при анимации/ресайзе формы и т.п. Кто его знает?)
V>И да, когда говорят о тормозах в WPF, то речь не о 60 кадрах в секунду, а об видимых задержках в сотню и более ms
Чтобы так забить рендер — это сильно постараться надо. Делитесь, как добились? Что говорит perforator?
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Так вот как раз Синофский-то и обеспечивал то самое развитие и что гораздо важнее — направление развития. Не ты ли сам говорил ровно год назад
Здравствуйте, vdimas, Вы писали:
V>>>Была бы возможность сделать быстрый WPF, за 7 лет был бы сделан. НС>>Докажи. V>Это надо понимать так, что ты бы дал еще 7 лет???
Это надо понимать, что твои заявления, как обычно, высосаны из пальца.
НС>If you have an iPad you're probably familiar with the random 'crash' every now and then.
НС>
Ты путаешь решение и частоту возникновения проблемы. Наличие решения в первой же ссылке гугла ни о чем не говорит, потмоу что гугл умеет хорошо искать.
Покажи хоть чтото, по чем можно оценить частоту возникновения проблемы.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Я — не противоречу. Я нигде про роль дотнета вообще в этом топике утверждений не делал.
Ну хорошо, это я поспешно. Но как бы то ни было, развитие выглядит согласованным, с какой стороны ни посмотри. Даже выкидывание WPF и SL можно объяснить тем, что им найдена замена и не где-нибудь, а аж на уровне базовых API. Не хрен собачий, заметь. Откуда тогда разговоры о распылении усилий? Или это из-за того, что теперь кто-то придумал новый велосипед, которым срочно будут заменять WinRT?
И — да, я так понял, что высказывание о конкуренции внутри MS у тебя возражений не вызвало?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Ночной Смотрящий, Вы писали:
V>>>>Была бы возможность сделать быстрый WPF, за 7 лет был бы сделан. НС>>>Докажи. V>>Это надо понимать так, что ты бы дал еще 7 лет???
НС>Это надо понимать, что твои заявления, как обычно, высосаны из пальца.
Здравствуйте, IT, Вы писали:
IT>Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>>Я тут подумал, а какой смысл держаться за технологию, которую надо рихтовать под каждый новый браузер? Это ж ахиллесова пята, а не технология, разве нет? В противовес SL тот же JS поддерживают более или менее все, вне зависимости от их лояльности курсу MS.
IT>Кто тебе сказал, что JS не надо допиливать под каждый новый браузер? Ты в курсе сколько кода для совместимости написано в том же jQuery. А SL работает везде ожидаемо одинаково.
То есть нигде не работает? А то я уже задолбался... чуть что — "Ля-ля тополя, нужен сервелат." Его че, как открываешь страничку где используется SL нужно каждый раз устанавливать?
Здравствуйте, michae1, Вы писали:
M>А в чем собственно hell?
M>Технология успешно используется уже второй десяток лет, документирована, обкатана в реальных приложениях, у нее есть неплохой фрейм для с++ — ATL, а главное она последовательна и логична.
В этом?
// wrl-consume-component.cpp
// compile with: runtimeobject.lib#include <Windows.Foundation.h>
#include <wrl\wrappers\corewrappers.h>
#include <wrl\client.h>
#include <stdio.h>
using namespace ABI::Windows::Foundation;
using namespace Microsoft::WRL;
using namespace Microsoft::WRL::Wrappers;
// Prints an error string for the provided source code line and HRESULT
// value and returns the HRESULT value as an int. int PrintError(unsigned int line, HRESULT hr)
{
wprintf_s(L"ERROR: Line:%d HRESULT: 0x%X\n", line, hr);
return hr;
}
int wmain()
{
// Initialize the Windows Runtime.
RoInitializeWrapper initialize(RO_INIT_MULTITHREADED);
if (FAILED(initialize))
{
return PrintError(__LINE__, initialize);
}
// Get the activation factory for the IUriRuntimeClass interface.
ComPtr<IUriRuntimeClassFactory> uriFactory;
HRESULT hr = GetActivationFactory(HStringReference(RuntimeClass_Windows_Foundation_Uri).Get(), &uriFactory);
if (FAILED(hr))
{
return PrintError(__LINE__, hr);
}
// Create a string that represents a URI.
HString uriHString;
hr = uriHString.Set(L"http://www.microsoft.com");
if (FAILED(hr))
{
return PrintError(__LINE__, hr);
}
// Create the IUriRuntimeClass object.
ComPtr<IUriRuntimeClass> uri;
hr = uriFactory->CreateUri(uriHString.Get(), &uri);
if (FAILED(hr))
{
return PrintError(__LINE__, hr);
}
// Get the domain part of the URI.
HString domainName;
hr = uri->get_Domain(domainName.GetAddressOf());
if (FAILED(hr))
{
return PrintError(__LINE__, hr);
}
// Print the domain name and return.
wprintf_s(L"Domain name: %s\n", domainName.GetRawBuffer(nullptr));
// All smart pointers and RAII objects go out of scope here.
}
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
Здравствуйте, drewet, Вы писали:
IT>>Кто тебе сказал, что JS не надо допиливать под каждый новый браузер? Ты в курсе сколько кода для совместимости написано в том же jQuery. А SL работает везде ожидаемо одинаково. D>То есть нигде не работает? А то я уже задолбался... чуть что — "Ля-ля тополя, нужен сервелат." Его че, как открываешь страничку где используется SL нужно каждый раз устанавливать?
Давай обойдёмся без вот этого тупого тролинга. У меня вообще ни разу не было проблем с "как открываешь страничку где используется SL нужно каждый раз". Просто никогда. Речь идёт о большой финансовой компании и моим юзером может быть практически любой из десятков тысяч её работников по всему миру. То, что у тебя такие проблемы лично мне говорит прежде всего о кривых ручках ваших админов.
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, Ikemefula, Вы писали:
I>Здравствуйте, michae1, Вы писали:
M>>(В использоваии MTA модели не больше сложности, чем в любой многопоточной программе.) I>И часто у тебя встречается маршалинг в любых многопоточных программах ?
Ну попробуй написать потокобезопасный локальный сервер (без COM), который будет данные, скажем, через pipe гонять и обмениваться управляющими командами с клиентами, вот и посмотрим насколько это будет "легче" сделать без COM.
I>Если бы работало. А так большая часть глюков в нынешнем софте это кривые комовские компоненты...
Глюки есть, с этим я и не спорю, но чтобы быть честными, нужно добавить, что и сложность решаемых задач досточно высокая, ну и как бы ошибки есть везде вопрос в том наскольок их легко\слодно локализовать.
M>>Черт, а в MS об этом не знают видимо там сборище суициидальных маньяков
I>Знают. Дотнет появился как из за того, что ком зашел в тупик.
Я бы так не сказал, .Net — это совершенно другое направление, которое имеет много точек сопроикосновения с COM. Ну и к тому же .Net не покрывает всех возможностей COM технологии.
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>, с какой стороны ни посмотри. Даже выкидывание WPF и SL можно объяснить тем, что им найдена замена и не где-нибудь, а аж на уровне базовых API.
Нет им никакой замены. WinRT UI жестко ограничен рамками метро, с WPF и SL он не пересекается.
ГВ>Откуда тогда разговоры о распылении усилий?
Оттуда, что задача декларативного метроподобного UI уже была решена в рамках Windows Phone. При этом, что характерно, совместимость с SL там обеспечена максимальная, в отличие от WinRT.
ГВ> Или это из-за того, что теперь кто-то придумал новый велосипед, которым срочно будут заменять WinRT?
M>>>(В использоваии MTA модели не больше сложности, чем в любой многопоточной программе.) I>>И часто у тебя встречается маршалинг в любых многопоточных программах ?
M>Ну попробуй написать потокобезопасный локальный сервер (без COM), который будет данные, скажем, через pipe гонять и обмениваться управляющими командами с клиентами, вот и посмотрим насколько это будет "легче" сделать без COM.
Здравствуйте, michae1, Вы писали:
M>Ну попробуй написать потокобезопасный локальный сервер (без COM), который будет данные, скажем, через pipe гонять и обмениваться управляющими командами с клиентами, вот и посмотрим насколько это будет "легче" сделать без COM.
Ээээ... Это всё прекрасно делается без COM. Причём обычно лучше и проще.
M>>>(В использоваии MTA модели не больше сложности, чем в любой многопоточной программе.) I>>И часто у тебя встречается маршалинг в любых многопоточных программах ?
M>Ну попробуй написать потокобезопасный локальный сервер (без COM), который будет данные, скажем, через pipe гонять и обмениваться управляющими командами с клиентами, вот и посмотрим насколько это будет "легче" сделать без COM.
Есть классная вещь для этого, WCF называется. Легко и просто.
I>>Если бы работало. А так большая часть глюков в нынешнем софте это кривые комовские компоненты...
M>Глюки есть, с этим я и не спорю, но чтобы быть честными, нужно добавить, что и сложность решаемых задач досточно высокая, ну и как бы ошибки есть везде вопрос в том наскольок их легко\слодно локализовать.
Сложность в основном искусственная — надо продираться черз нагромождения мусора.
Здравствуйте, IT, Вы писали:
IT>Давай обойдёмся без вот этого тупого тролинга. У меня вообще ни разу не было проблем с "как открываешь страничку где используется SL нужно каждый раз". Просто никогда. Речь идёт о большой финансовой компании и моим юзером может быть практически любой из десятков тысяч её работников по всему миру. То, что у тебя такие проблемы лично мне говорит прежде всего о кривых ручках ваших админов.
А почему эти же самые руки не мешают работать другим технологиям ? Странно, да ? А может это фича такая — зависимость от ЧФ ?
Здравствуйте, Ikemefula, Вы писали:
I>Здравствуйте, michae1, Вы писали:
I>А ты я вижу специалист. Олевью врет потому что кривая инфа в бинарниках. Реестр кривой по этой же причине. Вопрос = откуда берутся кривые бинарники ? Ты вообще в курсе про idl ?
Смешно, улыбнул. Можешь привести пример при каких условиях OleView соврет, очень мне интересно поглядеть.
M>>Возврат кода ошибки ничем не хуже бросания ексепшена — это две равноправных идеологии.
I>Чушь. Код ошибки надо обрабатывать самому и всегда, в противном случае ошибки будут глотаться, что вобщем то норма для кома.
Что чушь? Что существует две идеологии информировании об ошибке? COM-объект возвращает HRESULT а уже как с ним работать — на твое усмотрение, хочешь ставь проверки, хочешь кидай ексепшн (_com_ptr позволяет это автоматизировать)
>>Вообще, для сведения, _com_ptr_t обертка генерирует _com_error эксепшн но ты можешь юзать CComPtr и работать с кодами ошибок. I>Ты в курсе, что это костыль и он не покрывает всех сценариев ?
Нет, я не в курсе что это костыль прекросно работает. Напиши свой ну и ради интереса что ж он не покрывает?