Я раньше в основном занималась десктопной разработкой. Сейчас немного увлеклась веб-разработкой. И вот что сразу бросилось в глаза: пусть даже большой проект - но при компиляции его в браузере не происходит почти никаких тормозов, что очень характерно было при компиляции в среде (соответственно на др. языках). Когда я тогда писала например на том же java, все было помешано на экономии памяти, и скорости работы алгоритма.
Изучая веб-разработку же - такое чувство что тут всем начхать на экономию памяти. Ну это я громко сказала)) НО не так все зациклено на памяти.
Почему так?
С железом это никак не связано. Конечно я компилировала десктоп не на кластере, но на довольно нормальной машине, и все равно лаги возникали при избытке памяти. В вебе же компиляция в браузере совсем не зависит от железа.
Другие языки программирования и технологии
Почему компиляция веб-проекта в браузере проходит легче чем компиляция десктопного проекта в среде? (объяснения внутри)
Отличие веба и десктопа - отличие интерпретатора и компиляции.
Результат принципиально разный. Нет дополнительных этапов (создание промежуточного кода, оптимизации и пр.) даже естественная запись на ХДД исполняемого модуля в размере от полумегабайта до неск мегабайт занимает ощутимое время
Кроме того, имеет смысл сравнивать равнозначные по сложности проекты, хотя бы по числу строк
И от железа зависит, именно поэтому на сайте создаются "облегчённые", существенно сжатые мобильные версии. На десктопе с ограниченной памятью так же заметны серьёзные тормоза
Результат принципиально разный. Нет дополнительных этапов (создание промежуточного кода, оптимизации и пр.) даже естественная запись на ХДД исполняемого модуля в размере от полумегабайта до неск мегабайт занимает ощутимое время
Кроме того, имеет смысл сравнивать равнозначные по сложности проекты, хотя бы по числу строк
И от железа зависит, именно поэтому на сайте создаются "облегчённые", существенно сжатые мобильные версии. На десктопе с ограниченной памятью так же заметны серьёзные тормоза
JavaScript компилируется в памяти, никуда не сохраняется. Возможно, компилируется не весь сразу, а постепенно. Java тоже быстро компилируется (если сравнить с C++), особенно если не собирать .class в jar. Java-компилятору чтоб скомпилировать ваш код, надо подгрузить библиотеки, которые вы используете. А в JS часть "библиотек" встроены в браузер.
Оптимизация нужна не всегда. Может у вас была большая нагрузка на сервер, потому была нужна оптимизация. Сейчас есть сайты, где JS тормозит, но всем плевать: ведь он у пользователя тормозит, а не на сервере. У пользователя мощный ПК и много памяти, он не открывает по 50 страниц одновременно, потому памяти хватает.
Оптимизация нужна не всегда. Может у вас была большая нагрузка на сервер, потому была нужна оптимизация. Сейчас есть сайты, где JS тормозит, но всем плевать: ведь он у пользователя тормозит, а не на сервере. У пользователя мощный ПК и много памяти, он не открывает по 50 страниц одновременно, потому памяти хватает.
Компиляция чего, жавы, жаваскрипта, элексира, похапе или хаскелла? Жава жрет память как сука, потому там все крохоборничают. А в вебе память где? На бекенде она вообще никого не волнует, там все в СУБД упирается всегда, но никак не в память для самого веб приложения. На фронте вообще особых проблем нет у жаваскрипта с памятью.
Похожие вопросы
- Какой язык программирования выбрать для веб проекта?
- "Поехали" шрифты. Кто знает, в чем причина? (объяснение внутри)
- Как сделать, чтобы адрес сайта выглядел нормально? Объяснение внутри
- Почему никто не додумался в браузерах сделать настройку закачек? Картинки в одну папку... видео в другую и т. д
- Почему считает всего несколько раз, не проходит все елементьі последовательности от a1 до a2 с шагом dx. Ряд тейлора C++?
- С каким ЯП легче начать работать в Вебе (какой из них востребованнее в вебе)? PHP или JavaScript?
- Компиляция в Borland c++
- Lazarus. В Компиляция внутри exe
- Возможно ли обратная компиляция? Теоретически. Вернуть любую программу в исходники.
- Почему не любят PHP и веб-программистов?