Основная проблема любых сериализаций (и рефлексии на С++ как таковой) это необходимость описывать поля еще раз, отдельно от самой структуры данных. Решения со встроенным описанием (на boost.preprocessor) слишком громоздки и не все хотят с ними связываться.
Но если уж описывать отдельно — то хотя-бы один раз. У вас описано три раза (в Serialization, Deserialization и CalculateSize). Есть интересные решения на шаблонах, когда данные описываются один раз, а дополнительным агрументом передается некий объект-обработчик, который делает то что нужно: сериализует и десериализует (причем разные обработчики могут писать/читать в любые форматы — binary, xml, json...), загружает в GUI для унифицированного отображения и т.д.
Я занимаюсь проектированием собственного языка программирования, и могу сказать, что в языке кроме sizeof() должен быть оператор cardof() — для определения количества элементов любой агрегатной сущности (не только массива, но и структуры и т.п.). В С++ тоже не мешало бы такое ввести, только увы — не введут… так и будут использовать всякие хаки на шаблонах, которые в одном месте компилируются а в другом — нет.
Да, древние хвосты вылезают и будут вылезать вечно… очевидная ошибка при проектировании языка — эквивалентность имени объекта массива и указателя на первый элемент массива (имя объекта структуры ведь не эквивалентно указателю на первый элемент… да это и невозможно).
При чем тут квантовая механика макромира? Устройство любых систем имеет много общего и подчиняется одни и тем же законам логики и математики. Это и теория вероятностей, и вообще как таковая «структурированность» мира на всех уровнях… на любом уровне можно выделить что-то, что будет однозначно и стабильно отличаться от окружения. Элементарные частицы, молекулы, объекты макромира, живые организмы, социальные явления, информационные системы…
Можно ли соотнести тот факт, что в нашем мире объекты и явления имеют реальные и конкретные границы, например с законами квантования энергетических уровней электрона? Думаю, скорее и то и другое можно соотнести с каким-то общим принципом, частными случаями которого является и квантование. Если бы квантования не было — мы бы не соотнесли его, или если бы вместо квантования было что-то другое — соотнести с каким-то другим фундаментальным принципом.
У вас наверное и в системе стоит темная тема (меню, заголовок окна). Кроме того, на скриншоте не показаны различные окна «проекты», «обзор классов» и т.п. Если в системе тема светлая, а в creator'е какая-нибудь темная, то эти окна все равно остаются со светлым фоном (по крайней мере у меня так, qt creator 3.2.1 на windows7)
А табы у вас откуда?
Qt Creator одна из самых быстрых IDE, некоторые вещи вообще делает мгновенно. Значительно быстрее Студии и тем более любых java-IDE. Только вот интерфейс непривычный, мне категорически не нравится отсутствие классических настраиваемых тулбаров и табов. Видимо считается что все на хоткеях, а я вот люблю чтобы и мышкой можно было.
Хотя, надо сказать, нормальную (drag & drop) настройку тулбаров в Студии еще в 2010 версии сломали. Не осилили что-ли…
Проекция 4d-многогранника (и любого с большим количеством размерностей) на трехмерное пространство неизбежно будет иметь области высокой плотности в середине и области низкой плотности с краев.
Главное что не «андройд»:) А вообще это хорошо, когда в языке для специальных понятий выделяются специальные термины, отличающиеся от общеупотребительных. В этом смысле мне жалко англоязычных, которые используют одни и те же слова для огромного количества значений. И программируют тоже на родном языке… это должно быть ужасно, когда код может восприниматься как исковерканный текст на естественном языке, и любой язык программирования похож на 1С :(
Может существовать еще одно фундаментальное взаимодействие, еще более слабое чем гравитация, и проявляющееся на еще больших масштабах. Но — в отличие от гравитации — отталкивающее. Возможно это и есть «темная энергия».
Но для выяснения этого нужно понять что вообще это такое — фундаментальные взаимодействия, и попытаться не просто связать существующие в «теорию всего», но и понять принцип, который определяет их количество и характеристики.
ОК, но код точно был на Objective C. Значит, в Windows будет какой-то рантайм, аналогичный оригинальному рантайму ObjC? Иначе как реализовать отправку сообщений, селекторы и прочие фишки ObjC?
Кстати если так, то еще интереснее. В MS взяли какой-то существующий рантайм (GNUStep, Cocotron) или разработали что-то свое?
Возможно эта пена — результат действия гравитации на расширяющемся пространстве. Если бы гравитации не было, Вселенная была бы заполнена веществом равномерно — но гравитация заставляет вещество группироваться в стены, нити и скопления. Компьютерное моделирование бы это показало.
Я помню в какой-то презентации показывали код на Objective C компилировался прямо в Студии, и запускался на эмуляторе Айфона.
Это есть в новой Студии, и если есть то где?
Со страничками в web такое дело — там кроме программинга нужен еще дизайн. Или делать в олдскульном стиле 80-х, без всякого css… или дизайн, а я ни разу не дизайнер, у меня вообще мозг не работает в этом направлении. GUI в десктопных приложениях все-же более-менее стандартизирован — стандартные меню, стандартные тулбары, стандартные диалоги… конечно если кому-то хочется сделать «не как у всех» то можно пользоваться специальными GUI-библиотеками, но меня всегда устраивал стандартный GUI, встроенный в ОС. Более того, я вижу в этом преимущество — не нужно каждый раз привыкать к новому виду кнопок, полей ввода и прочих элементов (и поэтому я также отрицательно/настороженно отношусь к десктопным программам с сильно нестандартным GUI)
Кстати были у меня железные проекты с ethernet на борту и настройкой через web-интерфейс. Так что выплевывал таки странички в web — прямо из железки.
Но если уж описывать отдельно — то хотя-бы один раз. У вас описано три раза (в Serialization, Deserialization и CalculateSize). Есть интересные решения на шаблонах, когда данные описываются один раз, а дополнительным агрументом передается некий объект-обработчик, который делает то что нужно: сериализует и десериализует (причем разные обработчики могут писать/читать в любые форматы — binary, xml, json...), загружает в GUI для унифицированного отображения и т.д.
Можно ли соотнести тот факт, что в нашем мире объекты и явления имеют реальные и конкретные границы, например с законами квантования энергетических уровней электрона? Думаю, скорее и то и другое можно соотнести с каким-то общим принципом, частными случаями которого является и квантование. Если бы квантования не было — мы бы не соотнесли его, или если бы вместо квантования было что-то другое — соотнести с каким-то другим фундаментальным принципом.
А табы у вас откуда?
Хотя, надо сказать, нормальную (drag & drop) настройку тулбаров в Студии еще в 2010 версии сломали. Не осилили что-ли…
Но для выяснения этого нужно понять что вообще это такое — фундаментальные взаимодействия, и попытаться не просто связать существующие в «теорию всего», но и понять принцип, который определяет их количество и характеристики.
Кстати если так, то еще интереснее. В MS взяли какой-то существующий рантайм (GNUStep, Cocotron) или разработали что-то свое?
Это есть в новой Студии, и если есть то где?
А я даже и не знал:) На хабре еще вроде нет обзора фич новой Студии?
Кстати были у меня железные проекты с ethernet на борту и настройкой через web-интерфейс. Так что выплевывал таки странички в web — прямо из железки.