Функции за програмиране липсват в C++ и Java

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

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

Какво би било добре да има функции в C++, Java.

Мисля, че програмистите на Lisp ще могат да добавят няколко.


person Geek    schedule 08.05.2009    source източник


Отговори (3)


Този отговор се занимава само с C++

Неща, които ми липсват от синтаксиса или стандартната библиотека:

  1. RegExp като част от стандартната библиотека
  2. Нишки като част от стандартната библиотека
  3. Указател към членове методи (не обекти!)
  4. Свойствата биха били добри (виждал съм кодове, които емулират това чрез C++ препроцесор... обърнете внимание на добре изглеждащ код).
  5. Някои мрежови API от по-ниско ниво (сокети!) и API от по-високо ниво (дайте ми този файл от този ftp, изпратете „това“ на този сайт чрез POST).

Това е списъкът с неща, които бих искал да видя, но предполагам, че други хора няма да са съгласни с мен.

  1. Memory garbage collector е хубав.
  2. Интерфейс за GUI инструментариум - нека MSVC го преобразува в win32 и на Linux... (добър въпрос!)
  3. Стабилен ABI. В C това е стандарт - но в C++ все още ни липсват няколко десетилетия. Искам също стабилен ABI между компилаторите - искам да компилирам една библиотека в MinGW, другата с CL и всичко трябва да работи.

Това е списъкът с неща, които искам да видя, но знам, че няма да ми избягат:

  1. Съвместимост с C. Наистина, в момента това е мит. using namespace std го уби.
  2. Включете, заглавки. По-голямата част от информацията вече е налична в DLL/so/a/"library", наистина ли трябва да запазим това лошо решение отпреди 30 години? Ако е необходимо, компилаторите трябва да съхраняват информация в двоичните файлове.
  3. Необходимостта от Makefiles - компилаторът трябва да е достатъчно умен, за да знае какво да прави с този код, от самия код. Паскал го прави доста добре. Мисля, че също Д.
  4. (Може да греша, моля, поправете ме) Официалният стандарт е открито и свободно достъпен за гледане. Защо трябва да плащам за официални документи? Трябва ли да го направя за HTTP? UTF8? Уникод?
person elcuco    schedule 30.11.2009

Липсват ми ламбда изрази.

person Jonas Elfström    schedule 08.05.2009
comment
C++ Boos lib осигурява ламбда функционалност, вижте boost.org/doc/ libs/1_39_0/doc/html/lambda.html - person tuergeist; 08.05.2009

Мисля, че това е много субективен въпрос. От теоретична гледна точка няма нищо "липсващо" в Java, защото можете да правите всичко, което искате от гледна точка на резултата като приложение.

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

Мисля, че това, което имате предвид, са характеристики, които е "хубаво да има" - и тук всеки трябва да реши сам. Дори бих казал, че има функции в езика, които би било „хубаво да няма“, като например статични импорти - но отново това е моето субективно мнение...

person B.E.    schedule 08.05.2009