Попалась тут намедни одна статья, в которой автор рьяно критикует основные постулаты ОО-парадигмы. Ну, по крайней мере, их воплощение и применение при программировании на Delphi. Я соглашусь с его первым тезисом о том, что формат комментариев слишком тесен для "развития темы", и отвечу полноценным постом. Так вот. До сего момента я полагал (возможно, наивно), что приобретя определенный опыт в программировании разработчик начинает понимать - зачем и для чего все эти концепции нужны. Ан, оказывается, нет. Поскольку мне по долгу службы со всеми этими концепциями приходится работать достаточно плотно, то возьму на себя смелость объяснить - что к чему. Начну, пожалуй, с конца.
Берлога семейного программиста
среда, 20 февраля 2013 г.
понедельник, 12 марта 2012 г.
Вот и третий пошёл.
C++: Lambda formatting issues.:
In qt-creator/qt-creator.git:master
- Commit: 4ca6c51c7fb21ed0d2e56ae3487f78f263f33f01
- Date: 2012-03-12 13:38
- Author: Flex Ferrum
- Committer: Erik Verbruggen
понедельник, 27 февраля 2012 г.
вторник, 21 февраля 2012 г.
Второй - пошёл! Add support for C++11 range-based 'for' loops
Второй коммит (поддержка range-based for loops) лёг в апстрим QtC.
C++: Add support for C++11 range-based 'for' loops:
C++: Add support for C++11 range-based 'for' loops:
In qt-creator/qt-creator.git:master
- Commit: da2aa0df72250811acbb6af51abc961b38bed77a
- Date: 2012-02-21 14:27
- Author: Flex Ferrum
- Committer: Roberto Raggi
понедельник, 20 февраля 2012 г.
C++11 и light-weight парсеры
Нда. Грамматика нового C++ стала настолько сложной, что lightweigh-парсерам с ней справиться становится всё сложнее и сложнее. Взять те же лямбды. Последовательно (без возвратов) анализируя поток токенов, получаемый от лексического анализатора, сложно (точнее, почти невозможно) надёжно отличить операцию индексирования от lambda introducer. Или тело lambda-функции от initializer list. Натолкнулся на это в процессе изучения исходников Qt Creator'а (той их части, которая отвечает за форматирование C++-текста). Форматтер опирается не на предварительно разобранную AST, а содержит в себе свою собственною стейт-машину, реализующую упрощённый вариант C++-грамматики, которая реагирует (в основном) на ключевые слова и знаки пунктуации/операций. Допилить её до состояния, чтобы нормально обрабатывались лямбды, списки инициализации (в аргументах методов) и т. п., но так, чтобы при этом не поломать уже имеющиеся кейсы - хорошая разминка для ума.
среда, 1 февраля 2012 г.
Qt Software / Параллельная компиляция Qt в Windows
Полезная статья с харбра по поводу тонкостей параллельной сборки в Qt Creator.
Qt Software / Параллельная компиляция Qt в Windows:
Параллельная компиляция Qt-проектов под Windows с использованием QtCreator — зверь загадочный и очень привередливый. В этой небольшой статье я расскажу, как же все-таки его приручить. Параллельная компиляция может быть выполнена достаточно просто в теории, на практике дела обстоят не совсем гладко, чему в подтверждение бесконечное число тем на форумах, где предлагаются всевозможные решения. Ни одно из них, к сожалению, нам не помогло.
Qt Software / Параллельная компиляция Qt в Windows:
Параллельная компиляция Qt-проектов под Windows с использованием QtCreator — зверь загадочный и очень привередливый. В этой небольшой статье я расскажу, как же все-таки его приручить. Параллельная компиляция может быть выполнена достаточно просто в теории, на практике дела обстоят не совсем гладко, чему в подтверждение бесконечное число тем на форумах, где предлагаются всевозможные решения. Ни одно из них, к сожалению, нам не помогло.
Как я контрибьютил в Qt Creator
Собственно, это наконец то свершилось. Мой фикс попал в апстрим Qt Creator'а:
C++: Type deduction for auto-declared variables implemented:
C++: Type deduction for auto-declared variables implemented:
In qt-creator/qt-creator.git:master
- Commit: c6fc0be8ae15e43abb765323d7edaf7741405878
- Date: 2012-01-31 09:03
- Author: Flex Ferrum
- Committer: Roberto Raggi
Подписаться на:
Сообщения (Atom)