Вы только волновались бы об этом при хранении больших количеств перечислений. Для Java можно быть в состоянии использовать EnumSet в некоторых случаях. Это использует немного вектора внутренне, который является очень пространством, эффективным и быстрым.
http://java.sun.com/j2se/1.5.0/docs/api/java/util/EnumSet.html
Я думаю, что D - отличный язык, но люди могут воздерживаться от его использования, так это то, что он (аффайк) несовместим с библиотеками C ++. Таким образом, все библиотеки, которые вы можете использовать, должны быть написаны на C или D. Так что, если вы разработчик на C ++, переход на D не так уж и увлекателен.
Основным препятствием для широкого распространения использования D является отсутствие IDE 1-го класса (например, VS), незрелых наборов инструментов и библиотек. Проблема IDE улучшается с Descent , и ожидается / планируется, что после выхода D версии 2 две библиотеки объединятся. Проблема инструментов также улучшается, но медленнее. (IIRC в последнее время был достигнут некоторый прогресс в получении поддержки D в официальном GDB)
Я не вижу, чтобы он широко использовался во мне (научные вычисления). D может быть жизнеспособной альтернативой для многих случаев в научных вычислениях, где сейчас используется C ++. Лично меня две вещи мешают мне использовать его:
Если эти две проблемы будут решены, я серьезно рассмотрю D в будущее помимо OCaml и Haskell.
Для меня самая большая проблема D - это отсутствие сильного корпоративного спонсора или «жемчужины короны», которая его использует. На Яве было Солнце. C имел Bell Labs и рано написал на нем Unix. У C ++ была AT&T, а затем Microsoft. В C # есть Microsoft.