Функции программирования отсутствуют в C ++ и Java - PullRequest
0 голосов
/ 08 мая 2009

Какие функции программирования отсутствуют в C ++ и Java?

Например, Вы не можете заниматься рекурсивным программированием в QBasic? Вы не можете динамически распределять память в QBasic.

Что было бы хорошо, чтобы иметь функции в C ++, Java.

Я думаю, что программисты на Лиспе смогут добавить несколько.

Ответы [ 3 ]

3 голосов
/ 08 мая 2009

Мне не хватает лямбда-выражений.

1 голос
/ 30 ноября 2009

Этот ответ касается только C ++

То, что мне не хватает в синтаксисе или стандартной библиотеке:

  1. RegExp как часть стандартной библиотеки
  2. Потоки как часть стандартной библиотеки
  3. Указатель на методы-члены (не объекты!)
  4. Свойства были бы хорошими (я видел коды, которые эмулируют это через препроцессор C ++ ... обратите внимание на красивый код).
  5. Некоторые сетевые API более низкого уровня (сокеты!) И API более высокого уровня (дайте мне этот файл с этого ftp, отправьте «это» на этот сайт через POST).

Это список вещей, которые я хотел бы увидеть, но я предполагаю, что другие люди не согласятся со мной.

  1. Память сборщика мусора хороша.
  2. Интерфейс n для инструментария GUI - пусть MSVC отобразит его на win32, а в Linux ... (хороший вопрос!)
  3. Стабильный ABI. В C это стандарт, но в C ++ нам все еще не хватает нескольких десятилетий. Я хочу также стабильный ABI между компиляторами - я хочу скомпилировать одну библиотеку в MinGW, другую с CL, и все должно работать.

Это список вещей, которые я хочу увидеть, но я знаю, что они не уйдут:

  1. Совместимость с C. Действительно, сейчас это миф. using namespace std убил его.
  2. Включить заголовки. Большая часть информации уже имеется в библиотеке DLL / so / a / "library". Нужно ли нам сохранять это плохое решение 30 лет назад? При необходимости компиляторы должны хранить информацию в двоичных файлах.
  3. Необходимость Makefiles - компилятор должен быть достаточно умен, чтобы знать, что делать с этим кодом, из самого кода. Паскаль делает это довольно хорошо. Я думаю также D.
  4. (могу ошибаться, поправьте меня пожалуйста) Официальный стандарт открыто и свободно доступен для просмотра. Почему я должен платить за официальные документы? Нужно ли делать это для HTTP? UTF8? Unicode
1 голос
/ 08 мая 2009

Я думаю, что это очень субъективный вопрос. С теоретической точки зрения в Java нет ничего «пропущенного», потому что вы можете делать все, что хотите, с точки зрения результата как приложения.

Как и в QBasic - рекурсия может быть невозможна, но это не мешает вам изменить рекурсивный алгоритм на итеративный алгоритм. Теория языка программирования говорит нам, что вы можете сделать это с любой рекурсивной проблемой. Так что здесь тоже ничего не пропало.

Я думаю, что вы имеете в виду функции, которые "приятно иметь" - и здесь каждый должен решать сам. Я бы даже сказал, что в языке есть функции, которые были бы «хороши, если бы их не было», такие как статический импорт - но опять же, это мое субъективное мнение ...

...