Pull to refresh
@Scfread⁠-⁠only

User

10
Subscribers
Send message

Судя по последним изменениям в js скриптах вконтакта, они сменили разработчиков. Или, как минимум, архитектора.

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

Две основные причины:


  • быстродействие
  • использование нативных библиотек. Всё переписывать на яваскрипт не всегда хорошая идея

Не спорю, что это не возможно для больших приложений, но мало кто из нас пишет действительно большие приложения. А для типичного shareware в условиях очень жесткой конкуренции между десятком похожих программ время старта — очень важное преимущество.


Типичный пример — просмотрщик фотографий. Люди до сих пор любят ACDSee3 именно за очень быстрый старт.


И, кстати, я был бы очень рад, если бы смог запустить firefox за доли секунды, открыть новую вкладку и начать работу. А предыдущие пускай грузит где-то в фоне.

Три человека, которым нравится секундная задержка между кликом по ярлыку и появлением окна приложения?

некоторые модули, которые ставятся через npm, содержат нативный код
https://github.com/nodejs/node-gyp

Есть же QString из QT. Или хотя бы с Java слизать API по работе с юникодом. Оба варианта существуют больше 10 лет.

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

$ time java Hello
Hello, World!

real    0m0.075s
user    0m0.072s
sys 0m0.000s

И про память вы неправы — джава, во всяком случае, java8, умеет отдавать обратно неиспользуемую память. Другой вопрос, что если приложение написано криво и течет по памяти.

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

Автор и правда немного передергивает факты.


  • Java требует много памяти. Ну, в 2017 году может это уже и не так много, но совершающий полезную работу java процесс легче 300Мб RAM найти непросто
  • Java приложения медленно стартуют и выходят на пиковое быстродействие не сразу
  • Если вы измеряете время отклика java приложения в долях миллисекунд, придется оптимизировать настройки JVM

НО:


  • "разогретое" приложение на Java порвет большинство конкурентов по параметру "кол-во обработанных запросов в секунду". Избыток памяти используется для экономии CPU.
  • приложение — это файл или каталог с файлами. Из внешних зависимостей требуется только JRE
  • переход на новую версию java почти всегда беспроблемный

Т.е. получаем идеальное решение для сервера, если есть память. И не очень хорошее решение для гуев.

В других языках проблема c документацией решена: javadoc

Ох уж это мощное прототипное наследование… четыре способа сделать наследование в яваскрипте

Известная тема еще по менеджменту разработки ПО. Можно создавать функциональные команды, которые специализируются на конкретных видах работ (дешевле), а можно проектные команды (дороже, но эффективнее).


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

Имхо, как-то дико хвастаться пробелами в школьных знаниях. Во всяком случае, мне в 90х в обычной школе далеко в тундре рассказывали про деревья, двоичный поиск, сортировку пузырьком и вставками.


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


К примеру, заезженный вопрос по джаве "какие есть методы у класса Object". Интервьювер ожидает не заучивание явадока, а список методов, которые кандидат использовал настолько интенсивно, что они намертво застряли у него в памяти.

В хорошем смысле этого слова

Именно! В этом и смысл облака — что балансер тоже может упасть, поэтому балансеров должно быть два, а поиск балансеров должен работать через другую отказоустойчивую систему… DNS к примеру.

Это для серверных приложений — Представьте себе n машин, на которых периодически жестко падают процессы, а перед ними — балансер, который умеет делать перезапрос при ошибке.

Information

Rating
Does not participate
Registered
Activity