- 1
http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-835T
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+160
http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-835T
Часовая презентация Герб Саттера о будущем C++.
От себя хочется добавить: "Где здесь С++, Герб Саттер?"
I used IE. (
>IE
Не угадал.
To download, right click the file type you would like and pick “Save target as…” or “Save link as…”
Что это? MS Flash?
C will dominate in the Linux
или... вы хотели сказать/хотите сказать что еще живут/продаются кросс компиляторы помимо GCC - и ими кто-то пользуется??
Да, например у нас. :(
http://osdev.ru/viewtopic.php?f=6&t=433
когда я последний раз на С++ под motorola 86k и ppc программировал, коммерческие компиляторы делали отличный код - только пару раз в неделю были либо ICE (internal compiler error) или выскакивали проблемы что то что компилировалось под моторолу не компилировалось под ибм (или наоборот).
когда перешли на GCC, чистая производительность упала на процентов ~20, но зато появилась возможность вычистить почти весь мусор совместимости компиляторов. когда перешли на 4й GCC, ICE или несовместимостей вообще больше никто не видел - не смотря на то что код компилируется под три платформы.
это и binutils - и были основными причинами перехода.
C++11 и сейчас нигде не реализован полностью. Часть фич просто сахар (auto, новый for) — удобно нетрудно (наверное) в реализации, нулевой оверхед. Часть библиотечных классов функций и так были в бусте. Атомики и т.п. — просто стандартизированные расширения компиляторов. Регэкспы в контроллерах не нужны. Кое-где уточнены формулировки, даны новые гарантии (они и так были де-факто).
Всё реализовывать и не нужно, только то, что имеет смысл и удобно.
Вот так стандарт...
1. MS выдвигает тезис: "Go native! Go C++!"
Что мы слышим в этой фразе?
Я, как и многие С++ программисты ожидал, что MS сделают клевую реализацию стандарта C++11, сделают клевые инструменты для разработки/отладки/профилирования.
2. Нам показывают эту презентацию, суть такова:
Мы забили на C++11;
зато, мы сделали generics, property, partial classes, interfaces. (А зачем???)
У windows8 будет новый API, плотно завязанный на вышеупомянутых возможностях( т.е. он будет не совместим с C++ )
у мелкософта, по слухам, привязка чего либо к релизу версии виндов это почти как проклятие: либо ничего из этого не выйдет или если выйдет то будет убито при начале разработки новой версии виндов.
Боян.
>interfaces
По моему тоже боян.
С++/CX( так оно называется ) основан на C++/CLI, но компилируется в нативный код.
я хочу управлять временем жизни объектов, а не заниматься джавакрестоблядством
Так вот, что вас удивляет? Если Мелкософт добивается стабильности своей оси, зачем им равняться на отсталость других осей и компиляторов?
[color=grey]ой щас заминусуют линупсоиды и яблофилы...[/color]
Ну и как ту не минусовать?
inb4:припекло
>стабильность
ISHYGDTS
Ставленник майкрософта не размывает бренд.
Посмотрим, что получится из WinRT, нового API и нового C++. Надеюсь, всё это скажется положительно.
Во всех исходниках С++ гуи для winrt есть переменная mainpage, что нам какбе намикает
З.Ы. компилятор в мсвц8 - кал
про мсвц10 ничего плохого пока сказать не могу, ибо недавно стал пользоваться
Лично меня ничего не удивляет, а лишь просто разочаровывает.
> Если Мелкософт добивается стабильности своей оси, зачем им равняться на отсталость других осей и компиляторов?
Мда? Единственная цель Microsoft - это всеми путями получить больше денег, а не сделать свою ОС стабильнее, в отличие как раз от "других осей". Естественно, microsoft-у будет выгодно, если у неё будет качественаня ОС, т.к. будет проще её проталкивать, но тем ни менее, их основной целью является именно втюхивать свой товар, а не делать его качественее. Вот хороший пример их политики - http://www.opennet.ru/opennews/art.shtml?num=31810 .
А вообще, я бы сказал тонну слов о некроссплатформенности, неприменимости .NET в высоконагруженных или критических программах, патенты и многое другое, но не хотелось бы разжигать холивар(
> я бы сказал тонну слов о некроссплатформенности, неприменимости .NET в высоконагруженных или критических программах
фэйспалм.жпг
А мужики-то не знают!
> патенты
см. Apple
> не хотелось бы разжигать холивар
Ok, не будем.
Продукцию Apple я и без вас ненавижу и никогда не куплю :)
> А мужики-то не знают!
Помню в каком-то фильме друг за другом было две фразы "Я знаю, что они обивают людей, но ведь все жерты - преступники!" и "Я знаю что все жертвы - преступники, но ведь они убивают людей!". В фразах одни и те же тезисы, но от манеры изложения мысл меняется на противоположный. Если вспомнить всю кучу дерьма, которая связана с .NET, то я вообще не понимаю, как можно вообще даже задумываться о том, чтобы его хоть где-то применять.
> см. Apple
По мне, Apple ничем не лучше Microsoft. Более хитрый и гибкий, но тем ни менее :)
правда?
appstore +
http://www.macports.org/ +
vmware || parallèles +
bootcamp
etc
поскольку Mac OS X является полноценным UNIX, для яблофилов открыт путь в безграничный мир OpenSource. Есть даже умельцы, которые прикрутили к маку gentoo-репозитории.
И никаких супер-систем не нужно.
С
Сисники всегда гонят на дельфи. Хотят покарать неверных.
Представляю, как кучи макак с C# и С++/CLI, привыкшие к сборке мусора ломануться на С++/CX и огребут нехилые утечки памяти из-за циклических ссылок, тк сборки мусора в нем нет.
Там используется обычный подсчет ссылок.
Не нравится шарп - не пишите на нём. И не пишите ничего о нём.
C# в частности и платформа .NET в целом живут и здравстуют. Framework 4.5 и C#5 на подходе. MS от них не отказывается и продолжает развивать. Судя по последним новостям, происходит наоборот некоторый отказ от нативного C++ - его делают более управляемым.
Лолчто? Видео смотрели? По ссылке ходили? Ну хорошо управляемым и полностью подконтрольным программисту С++ был всегда. А вот C++/CLI они решили заменить на полностью нативный unmanaged С++/CX с поддержкой на уровне стандарта языка новой версии COM-интерфейсов и объектов. И GC там совсем нет.
По сути ничего нового в язык не добавляется - просто стандартизированный на уровне стандарта ABI, ECMA и в соглашении с комитетом стандартизации С++: расширение языка, поддерживающее интерфейс взаимодействия между модулями.
Управля́емый код (англ. managed code) — термин, введённый Microsoft для обозначения кода программы, исполняемой под «управлением» виртуальной машины .NET — Common Language Runtime. При этом обычный машинный код называется неуправля́емым кодом (англ. unmanaged code).
Плохая новость: GDI не будет в вин8. Остальные врапперы для апи вроде поддерживаются пока...
DLLhell:
Когда программа работает лишь с одной версией библиотеки. Пытаешься ставить более новую или более старую - начинает работать одна программа, а другая перестаёт. И с этим ничего не поделать. Приходится придумывать всякие режимы совместимости для программ и тд. С COM эта проблема легко решаема.
Да, это была неудачная шутка. Термина такого нет, COM избавился от наиболее одиозных проблем DLL (ценой громоздкости и распухания), но на более высоком уровне конфликты возможны.
Я уже сказал, что гуид у новой реализации тоже поменялся. Поэтому старая программа использует не старую не изменившуюся реализацию со старым гуидом, а новая только скомпилированная прога - новую реализацию с новым гуидом.
Поэтому никаких ошибок быть не может, кроме кривых рук разработчиков или осдевелоперов.
а прогид остался таким же как и был :-Р
в принципе никто не мешает вам прямо щас сделать COM-wrapper для winapi и представлять, что это WinRT.
но маркетологи уже окрестили это революцией и прорывом... очередной vendor-lock in же, чтобы покупали новую ось, так как старые WinRT не поддерживают.
тут они как бы подводят к тому, чтобы не документировать всякие ZwXXX и RtlXXX, а получить свободу их изменять
про писательство драйверов правда ничё сказать не могу, может там и действительно напрямую ссылаются в те функции
вообще я насколько понял, единственный плюс WinRT -- это повышение скорости .NET, потому что теперь вызов к ядру будет не через тяжеловесный P/invoke, а напрямую
Как будто кто-то заставляет пользоваться всем этим.
Забейте болт.
Ну а вообще что каждый год Майкрософт изобретает новый язык/инструмент, забрасывая предудыщие, как-то начинает заёбывать.
а вот это действительно выбешивает
они просто не включили GDI в WinRT, который есть просто стандартазированная COM-обёртка вокруг winapi.
winapi всё равно присутствует в win8, в том числе и GDI.
ведь до сих пор даже Windows 7 эмулирует MSDOS программы. они сильно заботятся о backward compatibility. не говоря уже о более позднем GDI. никуда его не денут.
просто их маркетологи запутали всех.