Динамическая типизация - быстро пишем медленно работающий код. Потом очень долго выискиваем ошибки, возникшие из-за банальных опечаток в коде.
Статическая типизация - медленно пишем быстро работающий код. Значительная часть ошибок отлавливается компилятором и сразу же исправляется разработчиком.
Важнее быстро написать код - используем динамический язык, важнее производительность и/или надёжность кода - используем статический язык.
P.S. Статический язык никак не ограничивает гибкость и возможности. Он ограничивает только уровень говнокодинга, порождаемого бесконтрольностью динамических языков.
Другие языки программирования и технологии
Какая типизация лучше - статическая или динамическая?
Ты кого больше любишь: маму или папу?
Статическая точнее ловит ошибки на этапе компиляции, но при сложной логике работы программы может потребоваться динамическая.
Статическая точнее ловит ошибки на этапе компиляции, но при сложной логике работы программы может потребоваться динамическая.
Если бы одна из типизаций была во всём лучше другой, то другой не существовало бы)
И у той, и у другой есть как плюсы, так и минусы.
И у той, и у другой есть как плюсы, так и минусы.
Динамическая, естессно. Иначе бы не было стольких попыток ее реализовать, при том что она добавляет много сложностей - и не только в реализации, но и в использовании.
Статическая более примитивна и проста (и поэтому особо любима слабыми разработчиками), но ограничивает возможности, гибкость. Практически все современные ЯП так или иначе поддерживают динамическую типизацию - если не в основе, то через специальные вариантные типы. А такие языки как Rust, совмещают оба подхода к типизации (сохраняя преимущества обоих, и неплохо справляясь с их недостатками) - за подобными практиками будущее.
Статическая более примитивна и проста (и поэтому особо любима слабыми разработчиками), но ограничивает возможности, гибкость. Практически все современные ЯП так или иначе поддерживают динамическую типизацию - если не в основе, то через специальные вариантные типы. А такие языки как Rust, совмещают оба подхода к типизации (сохраняя преимущества обоих, и неплохо справляясь с их недостатками) - за подобными практиками будущее.
Максим Малыга
Фактически, Rust это на самом деле язык со статической типизацией, хоть и с примесью динамической (его кортежи, и Any, например). Она просто приближена к динамической, кагбэ эмуляция дин. на стат. По-другому сочетать с динамической типизацией сложно: прочие пути лежат через динамическую типизацию в основе (обратный метод: эмуляция стат. на дин.).
В ассемблере вообще нет такой проблемы
С динамической типизацией сложнее оптимизировать программы.
акашкацгрц
Похожие вопросы
- Вычислить сумму нечетных элементов в программа С++ .Через статический и динамический массив! Вот я сам написал проверьте
- Что такое статический и динамический IP адрес? В чём разница ?
- Объясните, пожалуйста, что такое статическая страница сайта и что такое динамическая страница.
- Какая разница между статическим IP-адресом и динамическим адресом?
- Объясните пожалуйста простыми словами что такое статический язык программирования а что такое динамический яп
- вопрос о динамических массивах в fortran
- динамический массив в Visual C++
- Неужели за динамическим номером IP мощные сайты могут видеть кучу информации о компе юсера?
- delphi, динамические списки
- Где размещаются статические переменные программы?