Хммм, а я вот осилив все три из них считаю без всякого батхёрта, что питон - это сущее издевательство. Питон и node.js в принципе похожие по своей сути и назначению в отличии от java.Я не буду там мудрствовать про производительность или удобство ситаксиса - это всё от задачи зависит.
Я считаю питон издевательством вот почему:
1. Он не совместим с самим собой. 100500 библиотек под 100500 несовместимых версий, каждая из которых недописана и недопереписана под новую версию. Хейтеры говорят, что в npm бардак, но не в таких гомерических масштабах как в pip.
2. Кросплатформенность питона - это миф (морозная свежесть). Те, кто использовал subprocess для кросплатформенной задачи меня поймут сразу. По традиции (см п.1) там 3.3 != 3.4 != 3.7 и версию надо учитывать.
3. Unicode. Я понимаю, что многим оно нужно для галочки, но почему-то в nodejs можно создать UTF-16 файл со скриптом, работать с UTF-16 строками, и обмениваться данными с ОС. Питонистам скучно, поэтому внутреннее представление у них в UTF8, чтобы была зависимость от локали UTF-8, не понимаю и не пойму никогда, наверное. Наличие его интерактивной оболочки тоже отдельно мешает жить в этой связи.
4. Асинхронность ввода вывода... появилось вон сбоку модулем вроде бы в 3.7. Подождём 100500 лет пока либы под нее перепишут. В питоне вообще так, базовые вещи в нем есть, а как только дело о чём-то сложном так сиди перемалывай 3 мёртвых недоделанных NIH-библиотеки под себя и свои нужды. В ноде там скорее наоборот, написать sleep может быть не тривиально в некоторых случаях.
И это не то чтобы не осилил, это такой rant по поводу неудобства питона. Я вот понимаю, зачем люди баш используют, но питон... видимо хотят наказать себя за что-то, возможно привычка.
Я знаю одно, как кросплатформенная объектно ориентированная оболочка он никуда не годится, его блин померщель уделает со временем для этой задачи.
А то что там он медленный... ну такое себе. На нём же высокопроизводительных программ никто не пишет. Только скриптики до обвязочки вокруг настоящих программ.