SlideShare a Scribd company logo
Проект X2C
Дмитрий Нестерук
Что это?
• Плагин для Microsoft Excel который превращает Excel в де-факто IDE
для разработки
• Вычислений
• Пользовательского интерфейса
• Веб-сервисов
• … (возможности безграничны)
Зачем?
• Excel идеален для моделирования
• Быстрый ввод и манипуляция данными
• Автоматический пересчет значений
• Не требует навыков программирования
• Excel не идеален для внедрения
• Низкая производительность
• Трудность интеграции с другими системами
Как это работает?
• Плагин для Excel 2010/13
• Делаем разметку клеток
• Данные: поле, функция, структура, вектор, матрица
• Интерфейс: лейбл, кнопка, поле ввода
• Генерируем готовый к компиляции код
• C++,C#, … (готовый проект)
• UI, веб-сервисы, XSD и т.п.
Что создается?
• Для данных
• Структуры (классы)
• Поля, функции, массивы, матрицы
• Точное представление Excel формул
• Для UI
• Определение интерфейса
• Data bindings на нужные структуры данных
Кто потенциальные клиенты?
• Предприятия, которые используют Excel и хотят внедрять расчёты
• Финансовая математика
• Инженерные науки
• Бухгалтерия
• … и множество других дисциплин
Состояние на 2013г
• ~10 пользователей (физика/aerospace, structural eng., quant finance)
• Поддержка data mapping для C++
• Генерируется валидный, компилируемый код
• В разработке:C# и поддержка простогоUI
Вопросы?
• Скринкаст того, как это выглядит/работает:
http://bit.ly/ZGRnep
• dmitrinesteruk@gmail.com
• skype: dmitri.nesteruk
• @dnesteruk

More Related Content

Similar to Проект X2C

Microsoft Office
Microsoft OfficeMicrosoft Office
Microsoft Officekievmebel
 
«Строим собственную BI в Excel на данных из Яндекс.Метрики и Google Analytics...
«Строим собственную BI в Excel на данных из Яндекс.Метрики и Google Analytics...«Строим собственную BI в Excel на данных из Яндекс.Метрики и Google Analytics...
«Строим собственную BI в Excel на данных из Яндекс.Метрики и Google Analytics...
it-people
 
Строим собственную BI в MS Excel на данных из Яндекс.Метрики и Google Analitycs
Строим собственную BI в MS Excel на данных из Яндекс.Метрики и Google AnalitycsСтроим собственную BI в MS Excel на данных из Яндекс.Метрики и Google Analitycs
Строим собственную BI в MS Excel на данных из Яндекс.Метрики и Google Analitycs
Maxim Uvarov
 
Бизнес-аналитика – не роскошь, а средство для принятия решений:
Бизнес-аналитика – не роскошь, а средство для принятия решений:Бизнес-аналитика – не роскошь, а средство для принятия решений:
Бизнес-аналитика – не роскошь, а средство для принятия решений:
TechExpert
 
Vladimir Unev
Vladimir UnevVladimir Unev
Vladimir Unev
ArchiOFF
 
Как использовать Rapid SQL для ускорения разработки SQL и другого кода для СУБД
Как использовать Rapid SQL для ускорения разработки SQL и другого кода для СУБДКак использовать Rapid SQL для ускорения разработки SQL и другого кода для СУБД
Как использовать Rapid SQL для ускорения разработки SQL и другого кода для СУБД
Andrew Sovtsov
 
раубичи ронд
раубичи рондраубичи ронд
раубичи ронд
zolik
 
Windows Phone School HSE Lecture 1
Windows Phone School HSE Lecture 1Windows Phone School HSE Lecture 1
Windows Phone School HSE Lecture 1
Dmitry Gridnev
 
Access 08
Access 08Access 08
Access 08
Alexander Babich
 
Обзор Unified Contact Center Enterprise
Обзор Unified Contact Center EnterpriseОбзор Unified Contact Center Enterprise
Обзор Unified Contact Center Enterprise
Cisco Russia
 
Microsoft office
Microsoft officeMicrosoft office
Microsoft officeifhvtkm12f
 
Sql Server Data Services
Sql Server Data ServicesSql Server Data Services
Sql Server Data ServicesMedia Gorod
 
Цифровая обработка сигналов
Цифровая обработка сигналовЦифровая обработка сигналов
Цифровая обработка сигналов
MATLAB
 
макросы
макросымакросы
макросыTatyana
 
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только одинSECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
SECON
 
SECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только один
SECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только одинSECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только один
SECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только один
SECON
 
Ios workshop-fs
Ios workshop-fsIos workshop-fs
Ios workshop-fsivgeniya
 
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
HappyDev
 
SharePoint Introduction
SharePoint IntroductionSharePoint Introduction
SharePoint Introduction
Vitaly Baum
 

Similar to Проект X2C (20)

Microsoft Office
Microsoft OfficeMicrosoft Office
Microsoft Office
 
«Строим собственную BI в Excel на данных из Яндекс.Метрики и Google Analytics...
«Строим собственную BI в Excel на данных из Яндекс.Метрики и Google Analytics...«Строим собственную BI в Excel на данных из Яндекс.Метрики и Google Analytics...
«Строим собственную BI в Excel на данных из Яндекс.Метрики и Google Analytics...
 
Строим собственную BI в MS Excel на данных из Яндекс.Метрики и Google Analitycs
Строим собственную BI в MS Excel на данных из Яндекс.Метрики и Google AnalitycsСтроим собственную BI в MS Excel на данных из Яндекс.Метрики и Google Analitycs
Строим собственную BI в MS Excel на данных из Яндекс.Метрики и Google Analitycs
 
Бизнес-аналитика – не роскошь, а средство для принятия решений:
Бизнес-аналитика – не роскошь, а средство для принятия решений:Бизнес-аналитика – не роскошь, а средство для принятия решений:
Бизнес-аналитика – не роскошь, а средство для принятия решений:
 
Vladimir Unev
Vladimir UnevVladimir Unev
Vladimir Unev
 
Как использовать Rapid SQL для ускорения разработки SQL и другого кода для СУБД
Как использовать Rapid SQL для ускорения разработки SQL и другого кода для СУБДКак использовать Rapid SQL для ускорения разработки SQL и другого кода для СУБД
Как использовать Rapid SQL для ускорения разработки SQL и другого кода для СУБД
 
раубичи ронд
раубичи рондраубичи ронд
раубичи ронд
 
Windows Phone School HSE Lecture 1
Windows Phone School HSE Lecture 1Windows Phone School HSE Lecture 1
Windows Phone School HSE Lecture 1
 
Access 08
Access 08Access 08
Access 08
 
Обзор Unified Contact Center Enterprise
Обзор Unified Contact Center EnterpriseОбзор Unified Contact Center Enterprise
Обзор Unified Contact Center Enterprise
 
Microsoft office
Microsoft officeMicrosoft office
Microsoft office
 
Sql Server Data Services
Sql Server Data ServicesSql Server Data Services
Sql Server Data Services
 
Цифровая обработка сигналов
Цифровая обработка сигналовЦифровая обработка сигналов
Цифровая обработка сигналов
 
макросы
макросымакросы
макросы
 
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только одинSECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
 
SECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только один
SECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только одинSECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только один
SECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только один
 
Лекция 9
Лекция 9Лекция 9
Лекция 9
 
Ios workshop-fs
Ios workshop-fsIos workshop-fs
Ios workshop-fs
 
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
 
SharePoint Introduction
SharePoint IntroductionSharePoint Introduction
SharePoint Introduction
 

More from Dmitri Nesteruk

Good Ideas in Programming Languages
Good Ideas in Programming LanguagesGood Ideas in Programming Languages
Good Ideas in Programming Languages
Dmitri Nesteruk
 
Design Pattern Observations
Design Pattern ObservationsDesign Pattern Observations
Design Pattern Observations
Dmitri Nesteruk
 
Design Patterns in Modern C++
Design Patterns in Modern C++Design Patterns in Modern C++
Design Patterns in Modern C++
Dmitri Nesteruk
 
Introduction to Programming Bots
Introduction to Programming BotsIntroduction to Programming Bots
Introduction to Programming Bots
Dmitri Nesteruk
 
Converting Managed Languages to C++
Converting Managed Languages to C++Converting Managed Languages to C++
Converting Managed Languages to C++Dmitri Nesteruk
 
Monte Carlo C++
Monte Carlo C++Monte Carlo C++
Monte Carlo C++
Dmitri Nesteruk
 
Tpl DataFlow
Tpl DataFlowTpl DataFlow
Tpl DataFlow
Dmitri Nesteruk
 
YouTrack: Not Just an Issue Tracker
YouTrack: Not Just an Issue TrackerYouTrack: Not Just an Issue Tracker
YouTrack: Not Just an Issue Tracker
Dmitri Nesteruk
 
Victor CG Erofeev - Metro UI
Victor CG Erofeev - Metro UIVictor CG Erofeev - Metro UI
Victor CG Erofeev - Metro UI
Dmitri Nesteruk
 
Distributed Development
Distributed DevelopmentDistributed Development
Distributed Development
Dmitri Nesteruk
 
Dynamics CRM Data Integration
Dynamics CRM Data IntegrationDynamics CRM Data Integration
Dynamics CRM Data IntegrationDmitri Nesteruk
 
ReSharper Presentation for NUGs
ReSharper Presentation for NUGsReSharper Presentation for NUGs
ReSharper Presentation for NUGs
Dmitri Nesteruk
 
ReSharper Architecture & Extensions
ReSharper Architecture & ExtensionsReSharper Architecture & Extensions
ReSharper Architecture & ExtensionsDmitri Nesteruk
 
Web mining
Web miningWeb mining
Web mining
Dmitri Nesteruk
 
Data mapping tutorial
Data mapping tutorialData mapping tutorial
Data mapping tutorial
Dmitri Nesteruk
 
Reactive Extensions
Reactive ExtensionsReactive Extensions
Reactive Extensions
Dmitri Nesteruk
 
Metaprogramming
MetaprogrammingMetaprogramming
Metaprogramming
Dmitri Nesteruk
 

More from Dmitri Nesteruk (20)

Good Ideas in Programming Languages
Good Ideas in Programming LanguagesGood Ideas in Programming Languages
Good Ideas in Programming Languages
 
Design Pattern Observations
Design Pattern ObservationsDesign Pattern Observations
Design Pattern Observations
 
Design Patterns in Modern C++
Design Patterns in Modern C++Design Patterns in Modern C++
Design Patterns in Modern C++
 
Introduction to Programming Bots
Introduction to Programming BotsIntroduction to Programming Bots
Introduction to Programming Bots
 
Converting Managed Languages to C++
Converting Managed Languages to C++Converting Managed Languages to C++
Converting Managed Languages to C++
 
Monte Carlo C++
Monte Carlo C++Monte Carlo C++
Monte Carlo C++
 
Tpl DataFlow
Tpl DataFlowTpl DataFlow
Tpl DataFlow
 
YouTrack: Not Just an Issue Tracker
YouTrack: Not Just an Issue TrackerYouTrack: Not Just an Issue Tracker
YouTrack: Not Just an Issue Tracker
 
Domain Transformations
Domain TransformationsDomain Transformations
Domain Transformations
 
Victor CG Erofeev - Metro UI
Victor CG Erofeev - Metro UIVictor CG Erofeev - Metro UI
Victor CG Erofeev - Metro UI
 
Developer Efficiency
Developer EfficiencyDeveloper Efficiency
Developer Efficiency
 
Distributed Development
Distributed DevelopmentDistributed Development
Distributed Development
 
Dynamics CRM Data Integration
Dynamics CRM Data IntegrationDynamics CRM Data Integration
Dynamics CRM Data Integration
 
ReSharper Presentation for NUGs
ReSharper Presentation for NUGsReSharper Presentation for NUGs
ReSharper Presentation for NUGs
 
ReSharper Architecture & Extensions
ReSharper Architecture & ExtensionsReSharper Architecture & Extensions
ReSharper Architecture & Extensions
 
Web mining
Web miningWeb mining
Web mining
 
Data mapping tutorial
Data mapping tutorialData mapping tutorial
Data mapping tutorial
 
Reactive Extensions
Reactive ExtensionsReactive Extensions
Reactive Extensions
 
Design Patterns in .Net
Design Patterns in .NetDesign Patterns in .Net
Design Patterns in .Net
 
Metaprogramming
MetaprogrammingMetaprogramming
Metaprogramming
 

Проект X2C

  • 2. Что это? • Плагин для Microsoft Excel который превращает Excel в де-факто IDE для разработки • Вычислений • Пользовательского интерфейса • Веб-сервисов • … (возможности безграничны)
  • 3. Зачем? • Excel идеален для моделирования • Быстрый ввод и манипуляция данными • Автоматический пересчет значений • Не требует навыков программирования • Excel не идеален для внедрения • Низкая производительность • Трудность интеграции с другими системами
  • 4. Как это работает? • Плагин для Excel 2010/13 • Делаем разметку клеток • Данные: поле, функция, структура, вектор, матрица • Интерфейс: лейбл, кнопка, поле ввода • Генерируем готовый к компиляции код • C++,C#, … (готовый проект) • UI, веб-сервисы, XSD и т.п.
  • 5. Что создается? • Для данных • Структуры (классы) • Поля, функции, массивы, матрицы • Точное представление Excel формул • Для UI • Определение интерфейса • Data bindings на нужные структуры данных
  • 6. Кто потенциальные клиенты? • Предприятия, которые используют Excel и хотят внедрять расчёты • Финансовая математика • Инженерные науки • Бухгалтерия • … и множество других дисциплин
  • 7. Состояние на 2013г • ~10 пользователей (физика/aerospace, structural eng., quant finance) • Поддержка data mapping для C++ • Генерируется валидный, компилируемый код • В разработке:C# и поддержка простогоUI
  • 8. Вопросы? • Скринкаст того, как это выглядит/работает: http://bit.ly/ZGRnep • dmitrinesteruk@gmail.com • skype: dmitri.nesteruk • @dnesteruk