Что люди находят настолько привлекательными о динамических языках? [закрытый]

Как выделить смежный многомерный массив в GNU C ++? Существует расширение GNU, которое позволяет использовать «стандартный» синтаксис.

Кажется, проблема исходит от оператора new []. Убедитесь, что вместо этого вы используете новый оператор:

double (* in)[n][n] = new (double[m][n][n]);  // GNU extension

И это все: вы получаете C-совместимый многомерный массив ...

81
задан 11 revs, 8 users 84% 5 October 2011 в 02:51
поделиться

32 ответа

Теоретически языки со статической типизацией могут иметь преимущества динамических языков, и теоретически также возможно, что динамические языки отстой и вызовут больше головной боли, чем удовольствия.

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

Да, теоретически язык c-стиля может предоставлять аналогичные функции (D пытается, с auto type discovery и dmdr , который компилирует модули и запускает их на лету, как если бы они были скриптами),

Так что да, скептики правы, в том, что быть динамичным не обязательно ] означает более простой / чистый код.

но , на практике, Python> Java

Попробуйте w = "моя строка здесь".split () [1] на C или даже на Java.

0
ответ дан 24 November 2019 в 09:21
поделиться

Для меня это вопрос ситуации. Я трачу много времени на написание кода Perl для веб-сайтов и C ++ для графических движков. Две совершенно разные области программирования с двумя очень разными языками.

Динамические языки, в любом случае, для меня работать быстрее, поскольку я трачу меньше времени на то, чтобы убедиться, что структура на месте, и больше на реальную проблему.

Однако статические языки предлагают более точный контроль, который может быть необходим в некоторых приложениях, таких как рендеринг графики в реальном времени. Я могу делать на C ++ вещи, которые работают намного эффективнее и быстрее, чем то, что я написал бы для Perl, но для размера большинства скриптов Perl потеря эффективности незначительна.

В конце концов, все сводится к формулировке проблемы. и каковы ваши целевые цели. Если у вас есть много простых дел, когда скорость и эффективность памяти не имеют большого значения, используйте динамический язык. Если у вас есть мегалитический проект, который должен выжать каждый последний цикл из вашей системы, переходите в статический режим.

0
ответ дан 24 November 2019 в 09:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: