Cистема модулей C++ уже доступна в Visual Studio 2015

Первое обновление Update 1 к Visual Studio 2015 принесло новую экспериментальную возможность для C++. Долгожданная Система модулей C++, которая возможно войдет в стандарт C++ 17.

Любой, кто разрабатывал большой проект на C++, знаком с проблемами, связанными с необходимостью связывать компоненты через заголовочные файлы. Дупликация между заголовочными файлами и исходным кодом, необходимость использовать идиому PIMPL, не говоря уже об огромных накладных расходах на вычитывание с диска бесконечных цепочек маленьких заголовочных файлов при компиляции

Итак, чтобы попробовать новые возможности, необходимо:

  • Создать исходный файл модуля с расширением ixx (почему-то для cpp файлов это не работает) и использовать ключи компилятора /experimental:module
// file: MyModule.ixx
module M;

export int f(int x)
{
    return 2 + x;
}
export double g(double y, int z)
{
    return y * z;
}
 
    • В файле, куда подключается модуль использовать ключи компилятора /experimental:module /module:reference ../Modules/M.ifc
// file: main.cpp
#include "stdafx.h"
#include <iostream>

import M;

int main()
{
    std::cout<<f(5)<<std::endl;
    std::cout<<g(0.0, 1);
    return 0;
}
 

При компиляции модуля помимо обычного OBJ файла появляется файл IFC, содержащий метаданные об интерфейсе модуля. Представление этого файла основано на работе Gabriel Dos Reis and Bjarne Stroustrup под названием «Внутреннее представление программы», реализацию можно найти на GitHub.

Следует отметить, что пока Visual Studio не предлагает встроенных средств для просмотра интерфейсов модулей, как это сделано, к примеру, для .NET сборок. Ожидаем, что полная поддержка модулей принесет с собой и удобные вспомогательные инструменты для работы с ними

Полный исходный код можно найти на BitBucket

Парижский Диснейленд — маркетинговые успехи и ошибки

По книге Marketing mistakes and successes

C большими ожиданиями Евро-Диснейленд был открыт рядом с Парижем в апреле 1992 года. Успехом были встречены Диснейленды во Флориде, Калифорнии и Японии. Но большие ожидания стали лишь несбыточными иллюзиями. Какие ошибки были сделаны?

Несколько предзнаменований могли заставить задуматься. Между 1987 и 1991 годом во Франции были открыты три парка стоимостью 150 миллионов долларов. После 1991 года два из них обанкротились. Компания Уолт Дисней  решается открыть свой первый европейский Диснейленд в 1992. Более двух тысяч гектар и вложений на 4.4 миллиарда долларов в тридцати километрах к востоку от Парижа. Первоначальная задумка включала шесть отелей с 5200 комнатами (это больше, чем во всех Каннах), эта цифра должна была утроиться по мере работы парка, чтобы посетители задерживались на больший срок.

Также Дисней рассчитывал построить бизнес-центр, лишь немногим меньший, чем La Defense.  Торговые моллы, гостиницы, курсы гольфа и гостевые коттеджи. У руководителей Диснея не было ни малейшего беспокойства по поводу такого огромного предприятия, которое покроет площадь, равную пятой части Парижа. Единственное, что их беспокоило, – парк может оказаться не достаточно большим, чтобы вместить всех желающих.

“Мое самое большое опасение – мы будем  слишком успешны»

“Не думаю, что можем ошибиться. Они мастера маркетинга. Когда парк откроется, он будет идеальным. Они знают, как заставить людей улыбаться – даже французов.»

Менеджеры компании предсказывали, что 11 миллионов европейцев  посетят парк в первый год.  Ведь по меньшей мере 2.7 миллионов европейцев посещали американские Диснейленды и оставляли в них 1.6 миллиарда долларов. Столь близкий парк привлечет еще больше. Парки Диснея в США (с населением 250 миллионов) привлекали 41 миллион посетителей в год, Евро-Диснейленд в той же пропорции может достичь 60 миллионов посещений из Западной Европы (370 миллионов людей). Добавлял оптимизма тот факт, что у европейцев существенно длиннее отпуска, чем у жителей США. К примеру, стандартная практика для Франции и Германии– 5 недель, тогда как в США  3 недели.

Провал трех предыдущих французских парков считался нерелевантным. Robert Fitzpatrick, председатель: “Мы потратим 22 миллиарда французских франков перед тем, как открыть свои двери, на другие парки тратили по 700 миллионов. Мы можем потратить бесконечно больше, чтобы уделить больше внимания детям: на костюмы, отели, магазины, даже  мусорные корзины».

Тем не менее, были несколько редких сигналов  о том, что не все счастливы приходу Диснея. Демонстранты встречали директоров компании  яйцами, кетчупом и знаками “Микки Мауз – уходи домой». Некоторые французские интеллектуалы осуждали культурное загрязнение страны приходом американской культуры.

Выбор места.

При поисках места для Евро-Диснейленда кандидатами были 200 локаций в Европе. Одним из финалистов стала испанская Барселона. Преимуществом Барселоны была более теплая погода, но транспортная система была не так хороша по сравнению с окрестностями Парижа, к тому же возле Барселоны не было земельных участков достаточного размера. Ключевым фактором выбора Парижа стало его более центральное положение.

Свекольные поля Marne-la-Vallee стали итогом выбора. Париж сам по себе притягивал большое число туристов. У Франции был шанс понизить безработицу и повысить свою роль в качестве туристического центра Европы. Правительство Франции ожидало, что проект создаст по меньшей мере 30 000 работ и принесет 1 миллиард в год от иностранных туристов.

Читать далее Парижский Диснейленд — маркетинговые успехи и ошибки