Плюсы и минусы слабой и сильной типизации

Я делаю переход с Java на PHP/Javascript и раскрываю все практические аспекты использования слабо типизированного языка.

Поскольку я в состоянии полностью сравнить два, я хотел бы знать плюсы и минусы каждого подхода. Кроме того, есть ли другие формы печатания там?

4 ответа

Решение

Слабодинамически типизированный язык программирования (например, PHP) приводил к тому, что ошибки программиста проявляются как некогерентные поведения (например, программа будет отображать глупую информацию).

При использовании языка со строгой динамической типизацией (например, Python) ошибки программирования вызывают сообщение об ошибке. Это облегчает выявление и диагностику ошибок, но в целом программа стала непригодной для использования после отображения сообщения.

Наконец, с языком со строгой статической типизацией (таким как Java, Ada, OCaml, Haskell, ...) некоторые ошибки могут быть обнаружены во время компиляции и, следовательно, снижают риск создания программы с ошибками. (но релиз происходит позже)

Да. Python использует динамическую типизацию.

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

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

Что касается вашего последнего вопроса, Mathematica называется "без типа".

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

PHP/javascript можно использовать для разработки интерфейса, который выглядит лучше, чем Java. PHP будет иметь меньше ограничений и будет легче учиться и выполняться, чем Java.

Другие вопросы по тегам