Способен ли JS/Typescript полностью заменить Python?
От: _hum_ Беларусь  
Дата: 31.07.19 14:04
Оценка:
Собственно, subj. Насколько можно ожидать, что современный JS в варианте TypeScript (с дополнительной сильной типизацией) cможет заменить Python во всех областях, где тот господствует сейчас?
Просто как-то не видно принципиальных преимуществ Python перед современным JS/Typescript, что, с учетом роста распространенности JS, как раз и наводит на мысль о подобном сценарии развития событий.
Re: Способен ли JS/Typescript полностью заменить Python?
От: vmpire Россия  
Дата: 31.07.19 14:12
Оценка: +5
Здравствуйте, _hum_, Вы писали:

__>Собственно, subj. Насколько можно ожидать, что современный JS в варианте TypeScript (с дополнительной сильной типизацией) cможет заменить Python во всех областях, где тот господствует сейчас?

Не может. Под питон написано много библиотек, которых нет под js.
Говоря о замене, нужно рассматривать не просто язык, а всю его экосистему.
Re[2]: Способен ли JS/Typescript полностью заменить Python?
От: _hum_ Беларусь  
Дата: 31.07.19 15:32
Оценка:
Здравствуйте, vmpire, Вы писали:

V>Здравствуйте, _hum_, Вы писали:


__>>Собственно, subj. Насколько можно ожидать, что современный JS в варианте TypeScript (с дополнительной сильной типизацией) cможет заменить Python во всех областях, где тот господствует сейчас?

V>Не может. Под питон написано много библиотек, которых нет под js.
V>Говоря о замене, нужно рассматривать не просто язык, а всю его экосистему.

не совсем понятно, в чем принципиальная проблема написать аналогичные библиотеки под js/typescript. Ведь, насколько я знаю, и в Python постоянно появляются новые библиотеки, которые сменяют старые.
Re[3]: Способен ли JS/Typescript полностью заменить Python?
От: fmiracle  
Дата: 31.07.19 15:44
Оценка:
Здравствуйте, _hum_, Вы писали:

V>>Не может. Под питон написано много библиотек, которых нет под js.

V>>Говоря о замене, нужно рассматривать не просто язык, а всю его экосистему.
__>не совсем понятно, в чем принципиальная проблема написать аналогичные библиотеки под js/typescript. Ведь, насколько я знаю, и в Python постоянно появляются новые библиотеки, которые сменяют старые.

Принципиальных проблем нет, кроме того, что в них вложено примерно 1-2 охрениарда человеко-лет, и не понятно, зачем делать новое аналогичное уже имеющемуся проверенному старому.
Re[3]: Способен ли JS/Typescript полностью заменить Python?
От: vmpire Россия  
Дата: 31.07.19 16:11
Оценка:
Здравствуйте, _hum_, Вы писали:


__>не совсем понятно, в чем принципиальная проблема написать аналогичные библиотеки под js/typescript. Ведь, насколько я знаю, и в Python постоянно появляются новые библиотеки, которые сменяют старые.

Принципиальная проблема в том, что никто не будет платить за переписывание ради переписывания.
Re[4]: Способен ли JS/Typescript полностью заменить Python?
От: _hum_ Беларусь  
Дата: 31.07.19 17:30
Оценка: -1
Здравствуйте, vmpire, Вы писали:

V>Здравствуйте, _hum_, Вы писали:



__>>не совсем понятно, в чем принципиальная проблема написать аналогичные библиотеки под js/typescript. Ведь, насколько я знаю, и в Python постоянно появляются новые библиотеки, которые сменяют старые.

V>Принципиальная проблема в том, что никто не будет платить за переписывание ради переписывания.

не очень убедительно — большинство библиотек такого рода, насколько я знаю, опенсорсные (соответственно, сделанные энтузиастами "за идею").
Re[4]: Способен ли JS/Typescript полностью заменить Python?
От: _hum_ Беларусь  
Дата: 31.07.19 17:33
Оценка: -1
Здравствуйте, fmiracle, Вы писали:

F>Здравствуйте, _hum_, Вы писали:


V>>>Не может. Под питон написано много библиотек, которых нет под js.

V>>>Говоря о замене, нужно рассматривать не просто язык, а всю его экосистему.
__>>не совсем понятно, в чем принципиальная проблема написать аналогичные библиотеки под js/typescript. Ведь, насколько я знаю, и в Python постоянно появляются новые библиотеки, которые сменяют старые.

F>Принципиальных проблем нет, кроме того, что в них вложено примерно 1-2 охрениарда человеко-лет, и не понятно, зачем делать новое аналогичное уже имеющемуся проверенному старому.


для унификации — если один язык приспособлен к выполнению многих вещей, то вполне резонно его и использовать (например, с появлением NodeJs, JS активно стали использовать для разработки бэкэнда, то есть там, где раньше для этого использовались другие языки)
Re[3]: Способен ли JS/Typescript полностью заменить Python?
От: bnk СССР http://unmanagedvisio.com/
Дата: 31.07.19 17:40
Оценка: +3 :))
Здравствуйте, _hum_, Вы писали:

__>не совсем понятно, в чем принципиальная проблема написать аналогичные библиотеки под js/typescript. Ведь, насколько я знаю, и в Python постоянно появляются новые библиотеки, которые сменяют старые.


Теоретически разницы между теорией и практикой нет. А практически, она есть (с)
Re: Способен ли JS/Typescript полностью заменить Python?
От: novitk США  
Дата: 31.07.19 17:50
Оценка:
Здравствуйте, _hum_, Вы писали:

У питона в wasm шансов намного больше.
Re[2]: Способен ли JS/Typescript полностью заменить Python?
От: _hum_ Беларусь  
Дата: 31.07.19 20:10
Оценка:
Здравствуйте, novitk, Вы писали:

N>Здравствуйте, _hum_, Вы писали:


N>У питона в wasm шансов намного больше.


А можете развернуть ответ?
Re[3]: Способен ли JS/Typescript полностью заменить Python?
От: novitk США  
Дата: 31.07.19 20:44
Оценка:
Здравствуйте, _hum_, Вы писали:

N>>У питона в wasm шансов намного больше.

__>А можете развернуть ответ?

Интегрировать питон в браузер гораздо проще чем переписывать горы кода на другой язык. Платформа для такой интеграции есть — WebAssembly. Взлетит или нет .
Re[4]: Способен ли JS/Typescript полностью заменить Python?
От: _hum_ Беларусь  
Дата: 31.07.19 21:01
Оценка:
Здравствуйте, novitk, Вы писали:

N>Здравствуйте, _hum_, Вы писали:


N>>>У питона в wasm шансов намного больше.

__>>А можете развернуть ответ?

N>Интегрировать питон в браузер гораздо проще чем переписывать горы кода на другой язык. Платформа для такой интеграции есть — WebAssembly. Взлетит или нет .


Если с этой точки зрения (с точки зрения использования Python на фронте), то смысла большого нет, потому что пока, насколько я знаю, Webasm заточен для работы на движке браузера, но не с его DOM.
Но речь больше шла о том, зачем вообще нужен Python, если есть Typescript? Чем Python может быть принципиально лучше. Я вот, например, вижу, чем он принципиально хуже — он слабее по поддержке статической типизации (по сравнению с TypeScript) и менее гибок из-за более строгой типизации по сравнению с JS.
Re: Способен ли JS/Typescript полностью заменить Python?
От: scf  
Дата: 01.08.19 06:20
Оценка:
Здравствуйте, _hum_, Вы писали:

__>Собственно, subj. Насколько можно ожидать, что современный JS в варианте TypeScript (с дополнительной сильной типизацией) cможет заменить Python во всех областях, где тот господствует сейчас?

__>Просто как-то не видно принципиальных преимуществ Python перед современным JS/Typescript, что, с учетом роста распространенности JS, как раз и наводит на мысль о подобном сценарии развития событий.

Есть, для языка написания скриптов. Питон установлен во всех современных линуксах по умолчанию, node — нет. Питон типизирован, даже если набирать скрипт в текстовом редакторе, typescript требует установку и настройку компилятора. Питон потребляет меньше памяти и быстрее стартует.
Re: Способен ли JS/Typescript полностью заменить Python?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 01.08.19 06:44
Оценка:
Здравствуйте, _hum_, Вы писали:

__>Собственно, subj. Насколько можно ожидать, что современный JS в варианте TypeScript (с дополнительной сильной типизацией) cможет заменить Python во всех областях, где тот господствует сейчас?

__>Просто как-то не видно принципиальных преимуществ Python перед современным JS/Typescript, что, с учетом роста распространенности JS, как раз и наводит на мысль о подобном сценарии развития событий.

Представил себе весь свой пайплан и кучу интеграционных тестов написанных на Python, которые внезапно стали JS и мне что-то даже плохо стало
Re[5]: Способен ли JS/Typescript полностью заменить Python?
От: AleksandrN Россия  
Дата: 01.08.19 09:26
Оценка: +2
Здравствуйте, _hum_, Вы писали:

__>опенсорсные (соответственно, сделанные энтузиастами "за идею").


Большинство опенсорсного софта сделаны не энтузиастами за идею, а наёмными сотрудниками за зарплату. Развивается такой софт теми, кто его использует для своих нужд — либо использует библиотеки, либо предоставляет услуги и платную поддержку, либо разные модели лицензирования.
Re[5]: Способен ли JS/Typescript полностью заменить Python?
От: vmpire Россия  
Дата: 01.08.19 09:52
Оценка: +2
Здравствуйте, _hum_, Вы писали:


__>>>не совсем понятно, в чем принципиальная проблема написать аналогичные библиотеки под js/typescript. Ведь, насколько я знаю, и в Python постоянно появляются новые библиотеки, которые сменяют старые.

V>>Принципиальная проблема в том, что никто не будет платить за переписывание ради переписывания.
__>не очень убедительно — большинство библиотек такого рода, насколько я знаю, опенсорсные (соответственно, сделанные энтузиастами "за идею").
Время — это тоже ресурс. Никто не захочет его тратить просто так, чтобы просто что-то переписать.
К тому же, уже ответили, что большая часть такого софта написана вполне себе за деньги.
Re[2]: Способен ли JS/Typescript полностью заменить Python?
От: Pzz Россия https://github.com/alexpevzner
Дата: 01.08.19 15:18
Оценка:
Здравствуйте, vmpire, Вы писали:

V>Не может. Под питон написано много библиотек, которых нет под js.

V>Говоря о замене, нужно рассматривать не просто язык, а всю его экосистему.

Под JS тоже много всего понаписано...

Что-то я сомневаюсь, что есть так уж много полезных библиотек, которые есть для питона, но не для JS...
Re: Способен ли JS/Typescript полностью заменить Python?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 01.08.19 15:36
Оценка:
Здравствуйте, _hum_, Вы писали:

Скорее TS вытеснит многие языки. Кучу библиотек на JS перевели.
Ну и нужно учитывать особенности JS.
но при этом TS без перевода использует уже существующий TS.
Да и как язык TS поинтереснее питона. Лично я особо не вижу смысла.
А вот у Blazor есть такая перспектива
и солнце б утром не вставало, когда бы не было меня
Re[5]: Способен ли JS/Typescript полностью заменить Python?
От: novitk США  
Дата: 01.08.19 15:43
Оценка:
Здравствуйте, _hum_, Вы писали:

__>Если с этой точки зрения (с точки зрения использования Python на фронте), то смысла большого нет, потому что пока, насколько я знаю, Webasm заточен для работы на движке браузера, но не с его DOM.

Да, сейчас это не имеет смысла. DOM должен быть языково-независимый. Нормальной реализации Питона под wasm тоже нет.

__>Но речь больше шла о том, зачем вообще нужен Python, если есть Typescript?

__>Чем Python может быть принципиально лучше. Я вот, например, вижу, чем он принципиально хуже — он слабее по поддержке статической типизации (по сравнению с TypeScript) и менее гибок из-за более строгой типизации по сравнению с JS.
Питон лучше Typescript экосистемой, покрытием и качеством, на js она сделана из говна и палок.

И вообще зачем нужен Typescript, если есть Scala.js, которая полностью статическая с современной системой типов и реактивными библиотеками, да еще и ездит на сервере быстрее node.js на порядок?
Re[3]: Способен ли JS/Typescript полностью заменить Python?
От: novitk США  
Дата: 01.08.19 15:56
Оценка: +3
Здравствуйте, Pzz, Вы писали:

Pzz>Под JS тоже много всего понаписано...

Pzz>Что-то я сомневаюсь, что есть так уж много полезных библиотек, которые есть для питона, но не для JS...
numpy, scipy, pandas, tensorflow, sage, spark?
Это уже не говоря про наличие врапперов для всего на свете. Грубо говоря если у чего-то нет py-wrapper-a, оно просто не существует.
Re: Способен ли JS/Typescript полностью заменить Python?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 01.08.19 16:17
Оценка: +1
Здравствуйте, _hum_, Вы писали:

__>Собственно, subj. Насколько можно ожидать, что современный JS в варианте TypeScript (с дополнительной сильной типизацией) cможет заменить Python во всех областях, где тот господствует сейчас?

Python прям господствует в обработке данных, ml, datamining итд
JS\TS господствует на клиенте, некоторых девайсах.

Пересечение областей применения JS и Python крайне мало. В основном это так называемый middle-end, прослойка между бекэндом и клиентом.


__>Просто как-то не видно принципиальных преимуществ Python перед современным JS/Typescript

Видно одно — List comprehension
поэтому питон так популярен в анализе данных


Заменить Python в области анализа данных JS не сможет пока в JS не появятся удобные List comprehensions.
Да и что значит "заменить" ? Даже если предположить что напишут байндинги для всех библиотек, то существующий код, примеры и книги на новый язык не перепишут, программистов не переучат. Это значит что очередной проект, использующий tensorflow, скорее всего будет также на Python. И так будет продолжаться долго.

Так что ближайшие лет пять я бы такого не ожидал.
Re[6]: Способен ли JS/Typescript полностью заменить Python?
От: _hum_ Беларусь  
Дата: 01.08.19 20:24
Оценка: -1
Здравствуйте, novitk, Вы писали:

N>И вообще зачем нужен Typescript, если есть Scala.js, которая полностью статическая с современной системой типов и реактивными библиотеками, да еще и ездит на сервере быстрее node.js на порядок?


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


Здравствуйте, gandjustas, Вы писали:

G>Python прям господствует в обработке данных, ml, datamining итд

G>JS\TS господствует на клиенте, некоторых девайсах.

G>Пересечение областей применения JS и Python крайне мало. В основном это так называемый middle-end, прослойка между бекэндом и клиентом.


Да, но так было раньше. Теперь же JS господствует и на бэке. К тому же на нем стали появляться и библиотеки "ml, datamining итд ". (Я думаю, просто потому, что резонно все перевести на один язык, если особых преимуществ у других языков в соответствующих областях нет).

__>>Просто как-то не видно принципиальных преимуществ Python перед современным JS/Typescript

G>Видно одно — List comprehension
G>поэтому питон так популярен в анализе данных

Ага, спасибо. Буду иметь этот момент в виду (пока, действительно, в JS нет хорошей синтаксической поддержки работы со списками).

G>Да и что значит "заменить" ? Даже если предположить что напишут байндинги для всех библиотек, то существующий код, примеры и книги на новый язык не перепишут, программистов не переучат. Это значит что очередной проект, использующий tensorflow, скорее всего будет также на Python. И так будет продолжаться долго.

Ну...Тот же tensorflow, насколько я знаю, есть и на js. И, думаю, если нет принципиальных достоинств в Python перед Typescript. то со временем многие все же предпочтут не изучать новый скриптовый язык Python, а использовать уже известный JS/Typescript (а JS в настоящее время становится языком must know).
(Я кстати сам столкнулся с этим вопросом — начать для своих научно-инженерных целей изучать Python, или остановиться на JS/Typescript + Wolfram, поскольку они в перспективе покроют все, что нужно)
Re[4]: Способен ли JS/Typescript полностью заменить Python?
От: Pzz Россия https://github.com/alexpevzner
Дата: 01.08.19 20:38
Оценка:
Здравствуйте, novitk, Вы писали:

Pzz>>Под JS тоже много всего понаписано...

Pzz>>Что-то я сомневаюсь, что есть так уж много полезных библиотек, которые есть для питона, но не для JS...
N>numpy, scipy, pandas, tensorflow, sage, spark?
N>Это уже не говоря про наличие врапперов для всего на свете. Грубо говоря если у чего-то нет py-wrapper-a, оно просто не существует.

https://github.com/nicolaspanel/numjs
https://www.npmjs.com/package/scipy
https://stratodem.github.io/pandas.js-docs/#introduction

Дальше мне надоело
Re[2]: Способен ли JS/Typescript полностью заменить Python?
От: Буравчик Россия  
Дата: 01.08.19 21:23
Оценка: 5 (1) +2
Здравствуйте, gandjustas, Вы писали:

G>Видно одно — List comprehension

G>поэтому питон так популярен в анализе данных
G>Заменить Python в области анализа данных JS не сможет пока в JS не появятся удобные List comprehensions.

List comprehensions здесь ни при чем. Они почти не используются в API библиотек ML.
А вот слайсы (срезы, slice) — да, используются часто. И, кстати, слайсы отсутствуют почти во всех языках, даже динамических

Имхо, популярность питон для ML обусловлена:
— легкой интеграцией с библиотеками на С, что позволило сделать библиотеки быстрыми
— гибкостью языка (динамичность, возможность переопределения конструкций), что позволило сделать библиотеки удобным
— изначальной стандартизацией языка (не как js) и пропаганда простоты (питон-дзен), что позволило поддерживать порядок в библиотеках

JS это пока не может
Best regards, Буравчик
Re[5]: Способен ли JS/Typescript полностью заменить Python?
От: novitk США  
Дата: 01.08.19 23:32
Оценка: +3 :)))
Здравствуйте, Pzz, Вы писали:

Pzz>Дальше мне надоело


Дальше и не надо.

scipy
0.1.4 • Public • Published 5 years ago

Пользуйтесь на здоровье!
Re: Способен ли JS/Typescript полностью заменить Python?
От: Mamut Швеция http://dmitriid.com
Дата: 02.08.19 07:35
Оценка: +2
__>Собственно, subj. Насколько можно ожидать, что современный JS в варианте TypeScript (с дополнительной сильной типизацией) cможет заменить Python во всех областях, где тот господствует сейчас?
__>Просто как-то не видно принципиальных преимуществ Python перед современным JS/Typescript, что, с учетом роста распространенности JS, как раз и наводит на мысль о подобном сценарии развития событий.


«Может ли в сферовакуумных задачах сферовакуумный TS/JS вытеснпть сферовакуумный питон?» Именно так выглядит твой вопрос. То есть он уже не имеет смысла. А на фоне «не ну а чо, люди с удовольствием побегут переписывать библиотеки они же опенсорсные» он не просто бессмысленный, он еще и глупый.

Где-то может вытеснить, где -то нет. Где-то их обоих вытеснит какой-нибудь другой (третий, пятый, десятый) язык.


dmitriid.comGitHubLinkedIn
Re[7]: Способен ли JS/Typescript полностью заменить Python?
От: Буравчик Россия  
Дата: 02.08.19 11:04
Оценка: +1
Здравствуйте, _hum_, Вы писали:

__>Так Typescript хорош тем, что JS является его подмножеством, что позволят постепенно менять степень статичности типизации в своем коде от нуля (чистый JS) до полной. Тем самым достигается органическое сочетание достоинств как языков со статической, так и с динамической типизациями.


Питон, как и множество динамических языков тянется в сторону статики (также как и статические тянутся в сторону динамических).

В питоне тоже есть типы — type hints. И они также являются "надмножеством" питона. Т.е. "органическое сочетание достоинств как языков со статической, так и с динамической типизациями" есть и в питон, уже сейчас. И непонятно, почему надо предпочесть js.

__>Ну...Тот же tensorflow, насколько я знаю, есть и на js. И, думаю, если нет принципиальных достоинств в Python перед Typescript. то со временем многие все же предпочтут не изучать новый скриптовый язык Python, а использовать уже известный JS/Typescript (а JS в настоящее время становится языком must know).

__>(Я кстати сам столкнулся с этим вопросом — начать для своих научно-инженерных целей изучать Python, или остановиться на JS/Typescript + Wolfram, поскольку они в перспективе покроют все, что нужно)

Зря, для научно-инженерных изучай лучше питон. Простота питона позволила привлечь в язык "непрограммистов", в частности математиков и инженеров. Позже, именно эти люди (непрограммисты) явились инициаторами создания библиотеки для своих нужд (numpy, scipy, etc). В javascript же все иначе, в научно-инженерную сферу ее тащат не математики и инженеры, а программисты, которые хотят все делать на одном языке. Поэтому, считаю, что "научная" часть в питоне будет развиваться быстрее, чем в js, пока в js не появится что-то новое и особенно удобное для пользователей.
Best regards, Буравчик
Re[6]: Способен ли JS/Typescript полностью заменить Python?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 02.08.19 11:23
Оценка:
Здравствуйте, novitk, Вы писали:


N>И вообще зачем нужен Typescript, если есть Scala.js, которая полностью статическая с современной системой типов и реактивными библиотеками, да еще и ездит на сервере быстрее node.js на порядок?

Есть еще Dart
и солнце б утром не вставало, когда бы не было меня
Re: Способен ли JS/Typescript полностью заменить Python?
От: white_znake  
Дата: 02.08.19 11:32
Оценка: +1
Здравствуйте, _hum_, Вы писали:

__>Собственно, subj. Насколько можно ожидать, что современный JS в варианте TypeScript (с дополнительной сильной типизацией) cможет заменить Python во всех областях, где тот господствует сейчас?

__>Просто как-то не видно принципиальных преимуществ Python перед современным JS/Typescript, что, с учетом роста распространенности JS, как раз и наводит на мысль о подобном сценарии развития событий.

Твой вопрос аналогичен вопросу: "Вытеснит ли отвертка молоток?"
Re[7]: Способен ли JS/Typescript полностью заменить Python?
От: Artem Korneev США https://www.linkedin.com/in/artemkorneev/
Дата: 02.08.19 19:07
Оценка: +6
Здравствуйте, _hum_, Вы писали:

__> Теперь же JS господствует и на бэке.


Он там не господствует.
С уважением, Artem Korneev.
Re: Способен ли JS/Typescript полностью заменить Python?
От: Masterspline  
Дата: 02.08.19 21:07
Оценка:
__>Собственно, subj. Насколько можно ожидать, что современный JS в варианте TypeScript (с дополнительной сильной типизацией) cможет заменить Python во всех областях, где тот господствует сейчас?
__>Просто как-то не видно принципиальных преимуществ Python перед современным JS/Typescript, что, с учетом роста распространенности JS, как раз и наводит на мысль о подобном сценарии развития событий.

JS до стандарта 2015 был недоязыком, в котором многого не хватало. После 2015 он стал полноценным языком. В нем есть практически все, что и в Python. Более того, сейчас Python стал догоняющим. JS начинает использоваться в областях, где раньше не использовался (backend, консольные приложения, GUI приложения). IMHO, JS — это новый Python, только с обратной совместимостью и терок в команде разработчиков. Библиотеки под него создаются и дальше будут создаваться и переписываться. Постепенно JS вытеснит Python.

Насчет TypeScript не уверен. Скорее это нишевая технология, нужная немногим. Более того, ее продвижение может помешать JS, т.к. отвлечет от него ресурсы. Разработка на динамическом JS довольно сильно отличается от использования статического языка. Как дополнение к JS, дающее дополнительные гарантии в виде статической типизации, TypeScript, наверное имеет смысл в небольшой нише, но заменой Python будет скорее сам JS.
Re[2]: Способен ли JS/Typescript полностью заменить Python?
От: Masterspline  
Дата: 02.08.19 21:09
Оценка:
N>У питона в wasm шансов намного больше.

Зачем Python запихивать в wasm, если можно использовать JS, который умеет все то же, что и Python?
Re[2]: Способен ли JS/Typescript полностью заменить Python?
От: Masterspline  
Дата: 02.08.19 21:28
Оценка: -1
KP>Представил себе весь свой пайплан и кучу интеграционных тестов написанных на Python, которые внезапно стали JS и мне что-то даже плохо стало

Ты писсимизируешь.

Современный JS 2015 по сути тот же Python, даже лучше. Тут все дело в привычке. У многих представление о JS закостенело на уровне начала 2000-х. Щас уже 2019-й.

JS — новый Python, Python — новый Perl.

IMHO, современному разработчику нужно знать 3 языка:
  1. JS
  2. Kotlin (C#, если разработчик виндовый)
  3. C++
Re[3]: Способен ли JS/Typescript полностью заменить Python?
От: Буравчик Россия  
Дата: 02.08.19 22:20
Оценка:
Здравствуйте, Masterspline, Вы писали:

M>Современный JS 2015 по сути тот же Python, даже лучше.


Почему лучше?
Best regards, Буравчик
Re[3]: Способен ли JS/Typescript полностью заменить Python?
От: Буравчик Россия  
Дата: 02.08.19 22:22
Оценка:
Здравствуйте, Masterspline, Вы писали:

M>Зачем Python запихивать в wasm, если можно использовать JS, который умеет все то же, что и Python?


Зачем вообще wasm, если js и так уже все умеет?
Best regards, Буравчик
Re[4]: Способен ли JS/Typescript полностью заменить Python?
От: Masterspline  
Дата: 03.08.19 04:59
Оценка:
M>>Зачем Python запихивать в wasm, если можно использовать JS, который умеет все то же, что и Python?

Б>Зачем вообще wasm, если js и так уже все умеет?


WASM — компилируемый код, который можно сделать сильно быстрее JS, поэтому он может выполнять задачи, где нужна большая скорость вычислений. Понятно, что это нишевые задачи, потому что если хватает скорости JS, то проще на нем и сделать все что надо.
Re[4]: Способен ли JS/Typescript полностью заменить Python?
От: Masterspline  
Дата: 03.08.19 05:01
Оценка:
M>>Современный JS 2015 по сути тот же Python, даже лучше.

Б>Почему лучше?


Обратная совместимость, шире возможности для использования (Python в браузере не запустишь, а JS можно использовать везде, где есть Python).
Re[3]: Способен ли JS/Typescript полностью заменить Python?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 03.08.19 10:55
Оценка:
Здравствуйте, Masterspline, Вы писали:

M>Современный JS 2015 по сути тот же Python, даже лучше. Тут все дело в привычке. У многих представление о JS закостенело на уровне начала 2000-х. Щас уже 2019-й.

M>JS — новый Python, Python — новый Perl.

Лучше — для чего? Для написания интеграционных тестов? Для автоматизации сборки? Для анализа данных?

M>IMHO, современному разработчику нужно знать 3 языка:


M> JS


Да, полезно было бы.

M> Kotlin (C#, если разработчик виндовый)


Зачем Котлин? Почему не Скала или Кложа раз уж тут про JVM, но без Java?

M> C++


Да вообще не вперся он в современном мире, кроме как для пары увядающих ниш. Да и там без него можно обойтись часто.
Re[3]: Способен ли JS/Typescript полностью заменить Python?
От: Ватакуси Россия  
Дата: 03.08.19 14:52
Оценка:
Б>List comprehensions здесь ни при чем. Они почти не используются в API библиотек ML.
Б>А вот слайсы (срезы, slice) — да, используются часто. И, кстати, слайсы отсутствуют почти во всех языках, даже динамических
Есть конечно, просто не так круто выглядит.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice
Все будет Украина!
Re[4]: Способен ли JS/Typescript полностью заменить Python?
От: Masterspline  
Дата: 03.08.19 20:29
Оценка:
M>>Современный JS 2015 по сути тот же Python, даже лучше. Тут все дело в привычке. У многих представление о JS закостенело на уровне начала 2000-х. Щас уже 2019-й.
M>>JS — новый Python, Python — новый Perl.

KP>Лучше — для чего? Для написания интеграционных тестов? Для автоматизации сборки? Для анализа данных?


JS лучше как язык у которого более предсказуемый процесс развития. Без всяких "Ой, я устал — я ухожу" и нарушения обратной совместимости. Использование в конкретных нишах, которые ты перечислил, определяется наличием удобных библиотек. Тут где-то JS всех победил, где-то еще только на подходе.

M>>IMHO, современному разработчику нужно знать 3 языка:


M>> JS


KP>Да, полезно было бы.


M>> Kotlin (C#, если разработчик виндовый)


KP>Зачем Котлин? Почему не Скала или Кложа раз уж тут про JVM, но без Java?


Скала и кожура толком так и не стали мейнстримом. А у Котлина, разумные прагматичные разработчики и аккуратное эффективное продвижение (Kotlin объявлен основным языком для Android и Java оттуда уйдет за пару лет думаю). Также у него довольно много полезных возможностей и полная совместимость с Java (в версии JRE), хотя в энтерпрайзе и написании backend он не так широко распространен, как в Android. Например, в Котлине сделали корутины, которые позволяют довольно удобно писать асинхронный код (отправлять задачи на отдельный пул потоков, чтобы по окончанию выполнения, например, вызвать какой-то код в GUI потоке). GoLang активно используют из-за его go-рутин и удобной асинхронщины. Так вот Kotlin позволяет делать то же самое, только еще удобнее (в том числе и Native версия). Технически нет разницы, передавать данные через канал или передать корутину (данные с кодом) пулу потоков, при этом интерфейс корутин гибче (передаются не только данные в фиксированную горутину, а данные с кодом) и удобнее (интерфейс проще). Хотя, конечно, GoLang Котлину не подвинуть . И это только один пример. Также есть Kotlin (Native), в котором можно писать кроссплатформенные приложения, где не нужна мегапроизводительность и не хочется заниматься ручным управлением памятью. Разумеется Kotlin не идеален, но, IMHO, лучшее, что есть в этой сфере, как в техническом плане, так и продвижения.

M>> C++


KP>Да вообще не вперся он в современном мире, кроме как для пары увядающих ниш. Да и там без него можно обойтись часто.


Для понимания, как все устроено на низком уровне и для написания высокопроизводительного кода. А также чтобы не казалось, что я вот написал код, а дальше происходит "магия" и на выходе получается результат. И если "вообще не вперся он в современном мире", то зачем ты на нем разрабатываешь?
Re[5]: Способен ли JS/Typescript полностью заменить Python?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 04.08.19 02:48
Оценка: +1
Здравствуйте, Masterspline, Вы писали:

M>JS лучше как язык у которого более предсказуемый процесс развития. Без всяких "Ой, я устал — я ухожу" и нарушения обратной совместимости. Использование в конкретных нишах, которые ты перечислил, определяется наличием удобных библиотек. Тут где-то JS всех победил, где-то еще только на подходе.


У Python очень даже предсказуемое развитие. Какое еще "я устал — я ухожу", если 2.7 до сих пор жива?! JS — браузерный язык и очень хорош в этом деле, но зачем его тащить туда, где ему не место? Отсутствие библиотек ведь тоже не спроста, многообразие языков, отчасти, связанно с разнообразием доменных областей. Я не считаю что JS хорошо ложится на все доменные области, где сейчас царит Python.

M>Скала и кожура толком так и не стали мейнстримом. А у Котлина, разумные прагматичные разработчики и аккуратное эффективное продвижение (Kotlin объявлен основным языком для Android и Java оттуда уйдет за пару лет думаю). Также у него довольно много полезных возможностей и полная совместимость с Java (в версии JRE), хотя в энтерпрайзе и написании backend он не так широко распространен, как в Android. Например, в Котлине сделали корутины, которые позволяют довольно удобно писать асинхронный код (отправлять задачи на отдельный пул потоков, чтобы по окончанию выполнения, например, вызвать какой-то код в GUI потоке). GoLang активно используют из-за его go-рутин и удобной асинхронщины. Так вот Kotlin позволяет делать то же самое, только еще удобнее (в том числе и Native версия). Технически нет разницы, передавать данные через канал или передать корутину (данные с кодом) пулу потоков, при этом интерфейс корутин гибче (передаются не только данные в фиксированную горутину, а данные с кодом) и удобнее (интерфейс проще). Хотя, конечно, GoLang Котлину не подвинуть . И это только один пример. Также есть Kotlin (Native), в котором можно писать кроссплатформенные приложения, где не нужна мегапроизводительность и не хочется заниматься ручным управлением памятью. Разумеется Kotlin не идеален, но, IMHO, лучшее, что есть в этой сфере, как в техническом плане, так и продвижения.


Очень странно сравнивать подход Kotlin и Go, еще Erlang/Elixir не хватает. Корутины и CSP/Actors про сильно разные, по большому счету не пересекающиеся вещи, как их можно в одну кучу валить? Kotlin Native, потенциально, очень интересная штука, но, как мне кажется поздно уже, этот рынок давно и плотно поделен. А уж если говорить про JVM языки, то Clojure дает пожалуй больше преимуществ в скорости разработки и простоте решения по сравнению с остальными JVM-языками.

M>Для понимания, как все устроено на низком уровне и для написания высокопроизводительного кода. А также чтобы не казалось, что я вот написал код, а дальше происходит "магия" и на выходе получается результат. И если "вообще не вперся он в современном мире", то зачем ты на нем разрабатываешь?


Магия и результат вообще-то перпендикулярны языку, такие и у C++ разработчиков бывает, лично наблюдал. И, да, в современном мире C++ очень мало где нужен и часто, по инерции, используется там, где можно куда проще и дешевле сделать. А пишу я на нем потому (кстати, все меньше и меньше), что 18 лет опыта это довольно хорошо продаваемая штука, а компаний по инерции берущих C++ там, где он не нужен, до чертиков (хоть и количество стремительно сокращается).
Re[6]: Способен ли JS/Typescript полностью заменить Python?
От: Masterspline  
Дата: 04.08.19 04:20
Оценка:
M>>JS лучше как язык у которого более предсказуемый процесс развития. Без всяких "Ой, я устал — я ухожу" и нарушения обратной совместимости. Использование в конкретных нишах, которые ты перечислил, определяется наличием удобных библиотек. Тут где-то JS всех победил, где-то еще только на подходе.

KP>У Python очень даже предсказуемое развитие. Какое еще "я устал — я ухожу", если 2.7 до сих пор жива?! JS — браузерный язык и очень хорош в этом деле, но зачем его тащить туда, где ему не место? Отсутствие библиотек ведь тоже не спроста, многообразие языков, отчасти, связанно с разнообразием доменных областей. Я не считаю что JS хорошо ложится на все доменные области, где сейчас царит Python.


"Я устал — я ухожу", это про Гвидо, который отошел от "пожизненного диктаторства". Про совместимость — это переход 2->3. Современный JS (стандарт 2015, поддерживающий совместимость с предыдущей версией), на мой взгляд, ничем не хуже Python. Этот стандарт поддерживается повсеместно, т.е. сейчас пользоваться старым JS совсем нет смысла. До этого JS был недоязыком, недостатки которого пытался исправить Dart, например. Но сейчас в JS есть все, что есть в Python (из того, что сразу в голову приходит: полноценные переменные, модули, асинхронщина). На нем пишут GUI (такой же тормозной, как и на Python), консольные приложения, бакенд. При этом в Python постоянные терки в комитете, его вытеснили из Google и вытесняют из разных ниш, которые он занимает, а в JS все довольно стабильно и он медленно но верно занимает новые для себя ниши. Как я уже сказал, JS до сих пор для многих недоязык по привычке, но по факту — это новый Python с более стабильным фундаментом постепенно захватывающий новые ниши. У него более стабильный комитет его развивающий, фронтэнд из которого его никто не вытеснит и в котором куча разработчиков, постепенно захватывающих другие ниши (нода, консольные приложения для ноды и не только). Так что от написания скриптов для интеграции чего-либо JS останавливает то, что это никому не приходит в голову (ну, и наверняка, там не так много библиотек). Но, стоит это начать и Python постепенно подвинется (на обочину ).

Мое мнение, что "деды" переучиваться с Python не станут, а молодежь организует хайп для JS во многих сферах и Python станет новым Perl'ом. Потому что JS можно использовать почти везде, где есть Python, а наоборот не выйдет. Кроме того, у JS ниша сильно шире, поэтому при вопросе, какой язык изучать более подходящий выбор — JS. Ну, а Python будут использовать больше по привычке.
Re[7]: Способен ли JS/Typescript полностью заменить Python?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 04.08.19 12:26
Оценка:
Здравствуйте, Masterspline, Вы писали:

M>Мое мнение, что "деды" переучиваться с Python не станут, а молодежь организует хайп для JS во многих сферах и Python станет новым Perl'ом. Потому что JS можно использовать почти везде, где есть Python, а наоборот не выйдет. Кроме того, у JS ниша сильно шире, поэтому при вопросе, какой язык изучать более подходящий выбор — JS. Ну, а Python будут использовать больше по привычке.


Моё мнение, что молодёжь учит в основном Питон, он им нравится и они тащает его максимально даже туда, где он не нужен. Под него пишут всё больше и больше библиотек, Питон правит бал на серверах и в докерах в качестве логики для вычислений. Js в браузера не нужен и браузера, заменяющее собой ОС тоже не нужны.
Re[7]: Способен ли JS/Typescript полностью заменить Python?
От: student__  
Дата: 05.08.19 10:58
Оценка:
Здравствуйте, _hum_, Вы писали:
>И, думаю, если нет принципиальных достоинств в Python перед Typescript. то со временем многие все же предпочтут не изучать новый скриптовый язык Python, а использовать уже известный JS/Typescript

И, думаю, если нет принципиальных достоинств JS/Typescript перед Python. то со временем многие все же предпочтут не изучать новый скриптовый язык JS/Typescript, а использовать уже известный Python
Re[3]: Способен ли JS/Typescript полностью заменить Python?
От: novitk США  
Дата: 05.08.19 13:03
Оценка:
Здравствуйте, Masterspline, Вы писали:

N>>У питона в wasm шансов намного больше.

M>Зачем Python запихивать в wasm, если можно использовать JS, который умеет все то же, что и Python?
Нет не умеет. Библиотек нормальных нет, экосистема из говна и палок. Собственно js сейчас нужен исключительно как байткод для TS и Scala.js.
Re[2]: Способен ли JS/Typescript полностью заменить Python?
От: _hum_ Беларусь  
Дата: 06.08.19 15:21
Оценка:
Здравствуйте, Mamut, Вы писали:

__>>Собственно, subj. Насколько можно ожидать, что современный JS в варианте TypeScript (с дополнительной сильной типизацией) cможет заменить Python во всех областях, где тот господствует сейчас?

__>>Просто как-то не видно принципиальных преимуществ Python перед современным JS/Typescript, что, с учетом роста распространенности JS, как раз и наводит на мысль о подобном сценарии развития событий.


M>«Может ли в сферовакуумных задачах сферовакуумный TS/JS вытеснпть сферовакуумный питон?» Именно так выглядит твой вопрос. То есть он уже не имеет смысла. А на фоне «не ну а чо, люди с удовольствием побегут переписывать библиотеки они же опенсорсные» он не просто бессмысленный, он еще и глупый.


M>Где-то может вытеснить, где -то нет. Где-то их обоих вытеснит какой-нибудь другой (третий, пятый, десятый) язык.


Вы невнимательно читаете. Речь шла о вытеснении иp тех областей, где сейчас Python господствует (в первую очередь научсофт, обработка данных).

Здравствуйте, Буравчик, Вы писали:

Б>Здравствуйте, _hum_, Вы писали:


__>>Так Typescript хорош тем, что JS является его подмножеством, что позволят постепенно менять степень статичности типизации в своем коде от нуля (чистый JS) до полной. Тем самым достигается органическое сочетание достоинств как языков со статической, так и с динамической типизациями.


Б>Питон, как и множество динамических языков тянется в сторону статики (также как и статические тянутся в сторону динамических).


Б>В питоне тоже есть типы — type hints. И они также являются "надмножеством" питона. Т.е. "органическое сочетание достоинств как языков со статической, так и с динамической типизациями" есть и в питон, уже сейчас. И непонятно, почему надо предпочесть js.


в Python, насколько я слышал, полностью ввести естественную статическую типизацию с ходу пока не удалось (там есть свои трудности для сложных типов данных). В TS с этим как-то полегче.

__>>Ну...Тот же tensorflow, насколько я знаю, есть и на js. И, думаю, если нет принципиальных достоинств в Python перед Typescript. то со временем многие все же предпочтут не изучать новый скриптовый язык Python, а использовать уже известный JS/Typescript (а JS в настоящее время становится языком must know).

__>>(Я кстати сам столкнулся с этим вопросом — начать для своих научно-инженерных целей изучать Python, или остановиться на JS/Typescript + Wolfram, поскольку они в перспективе покроют все, что нужно)

Б>Зря, для научно-инженерных изучай лучше питон. Простота питона позволила привлечь в язык "непрограммистов", в частности математиков и инженеров. Позже, именно эти люди (непрограммисты) явились инициаторами создания библиотеки для своих нужд (numpy, scipy, etc). В javascript же все иначе, в научно-инженерную сферу ее тащат не математики и инженеры, а программисты, которые хотят все делать на одном языке. Поэтому, считаю, что "научная" часть в питоне будет развиваться быстрее, чем в js, пока в js не появится что-то новое и особенно удобное для пользователей.


так я же говорю, на своем примере (я и инженер, и математик — JS мне в любом случае пришлось бы выучить (потому что в вебе без него никуда, в свою очередь, и без вэба сейчас никуда). А начал смотреть в сторону Python для научных и инженерных приложений и вижу, что он во многих своих "плохих" качествах (отсутствие статической типизации, значительная завязка на ссылочные типы, не "классическое" ООП, медленность выполнения, невозможность контроля работы с памятью, сильная завязка на пакеты и т.п.) очень похож на JS. Пока принципиальное их отличие, которое я нашел — это, что JS — язык со слабой типизацией, а Python — с сильной. С этой точки зрения JS достигает максимума гибкости, ведь слабая типизация + динамическая = максимальная гибкость, потому он более привлекателен. С другой стороны такая гибкость чревата потерей надежности, но тут на выручку приходит TS. В итоге, получаем
динамический (+ статико-) язык со строгой типизацией (Python) vs статико-динамический язык со слабой типизацией (TS)
И не очень понятно, почему Python должен выиграть у TS. Тем более мне как перфекционисту нравится то, что JS в максимально возможной степени гибок, а TS еще и добавляет еще одну степень гибкости в возможности непрерывного перехода от динамической типизации к статической.
(Кстати, слышал, что во многом по этой причине в Python невозможно также хорошо организовать работу с функциями высших порядков и вообще функциональное программирование, как в JS)
p.s. На всякий случай — речь про современный JS (от 2016 года). Тот, который был до него, был ужасный ужас. Возможно, по этой причине, люди все еще относятся к новому JS по привычке, как к старому.

Здравствуйте, Artem Korneev, Вы писали:

AK>Здравствуйте, _hum_, Вы писали:


__>> Теперь же JS господствует и на бэке.


AK>Он там не господствует.


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

Здравствуйте, student__, Вы писали:

__>Здравствуйте, _hum_, Вы писали:

>>И, думаю, если нет принципиальных достоинств в Python перед Typescript. то со временем многие все же предпочтут не изучать новый скриптовый язык Python, а использовать уже известный JS/Typescript

__>И, думаю, если нет принципиальных достоинств JS/Typescript перед Python. то со временем многие все же предпочтут не изучать новый скриптовый язык JS/Typescript, а использовать уже известный Python


нет, такая симметрия не проходит, потому что JS в любом случае придется учить (основы его необходимы для того, чтобы работать с Web), а вот Python — на выбор (пока(?)).
Re[3]: Способен ли JS/Typescript полностью заменить Python?
От: novitk США  
Дата: 06.08.19 16:32
Оценка:
Здравствуйте, _hum_, Вы писали:

__>p.s. На всякий случай — речь про современный JS (от 2016 года). Тот, который был до него, был ужасный ужас. Возможно, по этой причине, люди все еще относятся к новому JS по

Ты о каких-то тонкостях рассуждаешь. Это все не важно.
На каком языке из двух можно быстрее разработать и удобно поддерживать модель/рассчет в вычислительной области? Ответ на питоне, js тут и рядом не садился.
Возможно ли доделать js, чтобы на нем было также? Возможно, но нужны миллионы человеко часов.
Будет ли результат сильно лучше? Нет, не будет, так как языки более менее одинаковые.

Кстати ты в курсе что для питона существует богатые вебморды, которые не требуют js? Например dash.
Отредактировано 06.08.2019 16:32 novitk . Предыдущая версия .
Re[3]: Способен ли JS/Typescript полностью заменить Python?
От: Буравчик Россия  
Дата: 06.08.19 18:11
Оценка:
Здравствуйте, _hum_, Вы писали:

>в Python, насколько я слышал, полностью ввести естественную статическую типизацию с ходу пока не удалось (там есть свои трудности для сложных типов данных). В TS с этим как-то полегче.


Не понятно, о чем речь. Что такое естественная статическая типизация? И о каких сложных типах данных идет речь, в которых в TS полегче?

>так я же говорю, на своем примере (я и инженер, и математик — JS мне в любом случае пришлось бы выучить (потому что в вебе без него никуда, в свою очередь, и без вэба сейчас никуда).


В DS можно знать питон и не знать js — это нормально.

>(Кстати, слышал, что во многом по этой причине в Python невозможно также хорошо организовать работу с функциями высших порядков и вообще функциональное программирование, как в JS)


Это вовсе не из-за типизации. Просто в питоне лямбды более ограничены по сравнению с js — для сложных случаев предлагается описывать явную функцию (def). Хорошо это или плохо — зависит от.
Best regards, Буравчик
Re[4]: Способен ли JS/Typescript полностью заменить Python?
От: _hum_ Беларусь  
Дата: 06.08.19 19:50
Оценка:
Здравствуйте, novitk, Вы писали:


N>Ты о каких-то тонкостях рассуждаешь. Это все не важно.

N>На каком языке из двух можно быстрее разработать и удобно поддерживать модель/рассчет в вычислительной области? Ответ на питоне, js тут и рядом не садился.

Я не работал в таком ключе ни на одном из них (для прототипирования своих задач использовал Wolfram, для реализации и поддержки — C++), потому ничего не могу сказать. (Кстати, разве поддержка/сопровождение программы без статической типизации не является ужасной задачей. Я к тому, что как-то слабо верится, что в Python с этим все ОК, как вы говорите.)

N>Возможно ли доделать js, чтобы на нем было также? Возможно, но нужны миллионы человеко часов.

N>Будет ли результат сильно лучше? Нет, не будет, так как языки более менее одинаковые.

Ну вот я, в частности, и пытаюсь выяснить, можно ли о них говорить, что они "более менее одинаковые" Или все-таки та же нестрогая типизация и поддержка функционального программирования станут kill-features в будущем

N>Кстати ты в курсе что для питона существует богатые вебморды, которые не требуют js? Например dash.


Сильно не влезал, но там идет работа с DOM? Если нет, то веб-мордой это назвать нельзя


Здравствуйте, Буравчик, Вы писали:

Б>Здравствуйте, _hum_, Вы писали:


>>в Python, насколько я слышал, полностью ввести естественную статическую типизацию с ходу пока не удалось (там есть свои трудности для сложных типов данных). В TS с этим как-то полегче.


Б>Не понятно, о чем речь. Что такое естественная статическая типизация? И о каких сложных типах данных идет речь, в которых в TS полегче?


"Естественная" — значит, такая же, как в мейнстрим языках со статической типизацией (то есть, не вызывающая реакции wtf). По этой теме то, что под рукой нашлось — это вот несколько минут из доклада:Типы: Python vs Typescript / Григорий Петров [Python Meetup 29.04.2016]

>>(Кстати, слышал, что во многом по этой причине в Python невозможно также хорошо организовать работу с функциями высших порядков и вообще функциональное программирование, как в JS)


Б>Это вовсе не из-за типизации. Просто в питоне лямбды более ограничены по сравнению с js — для сложных случаев предлагается описывать явную функцию (def). Хорошо это или плохо — зависит от.


Так а ограничения не из-за того ли, чтобы не войти в противоречие с сильной типизацией? В любом случае этот момент — серьезный минус в сторону Python.

В общем, если концептуально (а мы ведь, не забываем, в разделе "Философия программирования" ), то пока вопрос сводится к:

(статико-) динамический язык со строгой типизацией [Python] vs (статико-) динамический язык со слабой типизацией [TS]
в области инженерно-научных задач

Re[5]: Способен ли JS/Typescript полностью заменить Python?
От: Буравчик Россия  
Дата: 06.08.19 21:04
Оценка: +1
Здравствуйте, _hum_, Вы писали:

>"Естественная" — значит, такая же, как в мейнстрим языках со статической типизацией (то есть, не вызывающая реакции wtf). По этой теме то, что под рукой нашлось — это вот несколько минут из доклада:Типы: Python vs Typescript / Григорий Петров [Python Meetup 29.04.2016]


Все мейнстрим языки разные, и они используют разную типизацию. Что у тебя вызывает wtf в питоне по сравнению с TS на примере доклада?
На указанном тобой месте доклада в питоне показывается "естественная" типизация — номинальная, как в большинстве языков. А вот в TS — структурные (structural) типы, неестественные для менйстрима. Но (внезапно!) такие типы в питон тоже есть. См. https://www.python.org/dev/peps/pep-0544/

>Так а ограничения не из-за того ли, чтобы не войти в противоречие с сильной типизацией?


Конечно нет. Как они могут войти в противоречие?

>В любом случае этот момент — серьезный минус в сторону Python.


Не понял про какой "этот момент" ты говоришь?

>В общем, если концептуально (а мы ведь, не забываем, в разделе "Философия программирования" ), то пока вопрос сводится к:

>(статико-) динамический язык со строгой типизацией [Python] vs (статико-) динамический язык со слабой типизацией [TS]
>в области инженерно-научных задач

Тема была совсем о другом, вроде.
И, кстати, большинство ужасов про js связано с ее слабой типизацией. Поэтому может ну ее, слабую типизацию.
Best regards, Буравчик
Re[5]: Способен ли JS/Typescript полностью заменить Python?
От: novitk США  
Дата: 06.08.19 21:22
Оценка:
Здравствуйте, _hum_, Вы писали:

__>(Кстати, разве поддержка/сопровождение программы без статической типизации не является ужасной задачей. Я к тому, что как-то слабо верится, что в Python с этим все ОК, как вы говорите.)

Не является, если код нормальный и тесты есть.

__>Или все-таки та же нестрогая типизация и поддержка функционального программирования станут kill-features в будущем

Термина "нестрогая типизация" нет. Типизация бывает динамическая и статическая. Если тебе нужна статическая, то там совсем другие языки и скорость разработки. Динамическая бывает хорошая, как у Питона. и говно, как у js. Да, возможно в последней версии js починили, но обратную совместимость никто не отменял и с этим говном придется жить много лет. Поддержка FP у js/py примерно одинакова. У питона есть некоторое неудобство в создании анонимных лямбд, но это мелочь. Разница, как я уже сказал, в экосистеме. Есть ровно три платформы с нормальной экосистемой: cpython, jvm и .net. Все остальное сильно хуже.

__>Сильно не влезал, но там идет работа с DOM? Если нет, то веб-мордой это назвать нельзя

Да, в py на сервере. Латентность выше чем у реакта и т.д., для игр не подходит, но для вычислительного софта нормально.
Отредактировано 06.08.2019 21:27 novitk . Предыдущая версия .
Re[2]: Способен ли JS/Typescript полностью заменить Python?
От: Shmj Ниоткуда  
Дата: 07.08.19 07:10
Оценка:
Здравствуйте, vmpire, Вы писали:

V>Не может. Под питон написано много библиотек, которых нет под js.

V>Говоря о замене, нужно рассматривать не просто язык, а всю его экосистему.

Кстати, вот вам и бизнес-идея — сделать переводчик с языка Python на JS.
=сначала спроси у GPT=
Re[3]: Способен ли JS/Typescript полностью заменить Python?
От: Mamut Швеция http://dmitriid.com
Дата: 08.08.19 08:05
Оценка:
__>Вы невнимательно читаете. Речь шла о вытеснении их тех областей, где сейчас Python господствует (в первую очередь научсофт, обработка данных).

Тогда ответ: нет, не вытеснит. Причины описаны в этой подветке: https://rsdn.org/forum/philosophy/7507679
Автор: vmpire
Дата: 31.07.19


__>в Python, насколько я слышал, полностью ввести естественную статическую типизацию с ходу пока не удалось (там есть свои трудности для сложных типов данных). В TS с этим как-то полегче.


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

__> что он во многих своих "плохих" качествах (отсутствие статической типизации, значительная завязка на ссылочные типы, не "классическое" ООП, медленность выполнения, невозможность контроля работы с памятью, сильная завязка на пакеты и т.п.) очень похож на JS. Пока принципиальное их отличие, которое я нашел — это, что JS — язык со слабой типизацией, а Python — с сильной.


Нет. Приниципальные отличия не эти. Принципиальные отличия:

Ключевое, и максимально важное для научсофта и обработки данных:
— в Питоне достаточно легкий interop с С/C++, что позволяет легко подключить любые уже существующие высокопроизводительные библиотеки.

Дополнительно:
— стандартная библиотека Питона гораздо шире
— количество готовых и обкатанных библиотек, в том числе для научсофта и обработки данных, гораздо больше

---

ЗЫ. Здесь не плоский форум, а древовидный. Поэтому надо отвечать в соотвествующих ветках, а не в одной, но сразу нескольким людям.


dmitriid.comGitHubLinkedIn
Re[4]: Способен ли JS/Typescript полностью заменить Python?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 08.08.19 08:29
Оценка:
Здравствуйте, Mamut, Вы писали:

__>>в Python, насколько я слышал, полностью ввести естественную статическую типизацию с ходу пока не удалось (там есть свои трудности для сложных типов данных). В TS с этим как-то полегче.

M>И? Статическая типизация сама по себе — не цель. Как видно, питон господствует в научсофте и обработке данных, а он динамически типизирован. При этом статически типизированных языков — вагоны.
Почему-же не цель? По моему очень даже цель.

Почему-то все думают, что статическая типизация это как в C\С++\Java с выписыванием кучи объявлений типов переменных.
Но по факту статическая типизация это проверка типов без запуска программы. Её можно прикрутить даже к динамически типизированным языкам. Потому что для каждого выражения мы можем статически (без запуска) вычислить множество допустимых типов и проверить дальнейшие действия с этим выражением в рамках вычисленных типов.

Пример с JS это прекрасно показывает. Если вы не в курсе, то TS сейчас может проверять типы для JS-кода. И такая проверка иногда выявляет баги в старом коде, которые не были найдены сотнями пар глаз.
Re[5]: Способен ли JS/Typescript полностью заменить Python?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 08.08.19 08:39
Оценка: +2 :))
Здравствуйте, _hum_, Вы писали:

__>

__>(статико-) динамический язык со строгой типизацией [Python] vs (статико-) динамический язык со слабой типизацией [TS]
__>в области инженерно-научных задач


Один умный человек уже достаточно давно написал про строгую и слабую типизацию
https://ericlippert.com/2012/10/15/is-c-a-strongly-typed-or-a-weakly-typed-language/


Um. I don’t actually know what I mean by those terms, so perhaps that is the question I should be asking. What does it really mean for a language to be “weakly typed” or “strongly typed”?

“Weakly typed” means “this language uses a type verification system that I find distasteful“, and “strongly typed” means “this language uses a type system that I find attractive“.


Перевод

Хм, я точно не уверен что означают эти термины (строгая и слабая типизация — прим. пер.), так что возможно этот вопрос должен задавать я. Что на самом деле означает "слабая" и "строгая" типизация?

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

Re[3]: Способен ли JS/Typescript полностью заменить Python?
От: vmpire Россия  
Дата: 08.08.19 10:27
Оценка:
Здравствуйте, Shmj, Вы писали:

V>>Не может. Под питон написано много библиотек, которых нет под js.

V>>Говоря о замене, нужно рассматривать не просто язык, а всю его экосистему.

S>Кстати, вот вам и бизнес-идея — сделать переводчик с языка Python на JS.

Не вижу рынка сбыта данного продукта
Re[5]: Способен ли JS/Typescript полностью заменить Python?
От: Mamut Швеция http://dmitriid.com
Дата: 10.08.19 14:10
Оценка:
__>>>в Python, насколько я слышал, полностью ввести естественную статическую типизацию с ходу пока не удалось (там есть свои трудности для сложных типов данных). В TS с этим как-то полегче.
M>>И? Статическая типизация сама по себе — не цель. Как видно, питон господствует в научсофте и обработке данных, а он динамически типизирован. При этом статически типизированных языков — вагоны.
G>Почему-же не цель? По моему очень даже цель.

Нет. Не цель.

G>Почему-то все думают, что статическая типизация это как в C\С++\Java с выписыванием кучи объявлений типов переменных.

G>Но по факту статическая типизация это проверка типов без запуска программы.

В каком месте С/С++/Java запускаются для проверки типов?

G>Её можно прикрутить даже к динамически типизированным языкам. Потому что для каждого выражения мы можем статически (без запуска) вычислить множество допустимых типов и проверить дальнейшие действия с этим выражением в рамках вычисленных типов.


Можно. Так делают, например, в Эрланге при помощи Dialyzer'а.

G>Пример с JS это прекрасно показывает. Если вы не в курсе, то TS сейчас может проверять типы для JS-кода.


Я в курсе. И flow может. И? Дальше-то что? Кто-то из-за этого ломанется переписывать библиотеки с Питона на JS/TS?


dmitriid.comGitHubLinkedIn
Re[3]: Способен ли JS/Typescript полностью заменить Python?
От: Буравчик Россия  
Дата: 15.08.19 12:56
Оценка:
Здравствуйте, _hum_, Вы писали:

__>p.s. На всякий случай — речь про современный JS (от 2016 года). Тот, который был до него, был ужасный ужас. Возможно, по этой причине, люди все еще относятся к новому JS по привычке, как к старому.


Кстати, даже в ES2016 в JS/TS отсутствует переопределение операторов. В DS-библиотеках в питоне такое переопределение используется очень часто. Да и в других библиотеках тоже.
Best regards, Буравчик
Re: Питон не нужен
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 10.09.19 22:13
Оценка:
Здравствуйте, _hum_, Вы писали:

Вся мощь питона — это несколько встроенных функций и многочисленные готовые биндинги к сишным библиотекам.

Встроенные средства питона повторяются с нуля на современном C++ за пару дней от силы, один раз в жизни. Биндинги — это да, от них есть польза — но только за счет того, что кто-то допилил интерфейсы кучи сишных либ до единообразного состояния. Гораздо больше пользы было бы выработать стандарты для либ для использования из плюсов непосредственно, без "клея" типа питона.

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

Но — питон весьма неплох как замена башу и прочим говношелам.

ЗЫ JS — тоже не нужен
Маньяк Робокряк колесит по городу
Re[3]: Способен ли JS/Typescript полностью заменить Python?
От: student__  
Дата: 11.09.19 18:10
Оценка:
Здравствуйте, _hum_, Вы писали:
__>нет, такая симметрия не проходит, потому что JS в любом случае придется учить (основы его необходимы для того, чтобы работать с Web), а вот Python — на выбор (пока(?)).

А кто сказал "Веб"? Вот мне, например, Веб нафиг не нужен.
Re: Способен ли JS/Typescript полностью заменить Python?
От: c-smile Канада http://terrainformatica.com
Дата: 15.09.19 13:52
Оценка:
Здравствуйте, _hum_, Вы писали:

__>Просто как-то не видно принципиальных преимуществ Python перед современным JS/Typescript, что, с учетом роста распространенности JS, как раз и наводит на мысль о подобном сценарии развития событий.


Принципиально разное назначение и способ применения.

script language это клей : вызвать одну native функцию и передать её выхлоп в на вход другой native функции.
Т.е. по большому счету скрипт это средство конфигурации процесса исполнения.

И Python это именно такой язык. Если надо что-то высокопроизводимое то там просто добавляют native code — функцию или класс.
При этом отсутствие типизированности только помогает Python — короче и компактнее скрипты конфигурации. Типизированность работает внутри native расширений Python — т.е. там где оно нужно.
Пример: Numpy пакет который является эффективной native библиотекой написанной на (типизированном) C.


TypeScript же появился от безысходности на web платформе.
Ибо никаких реальных способов там добавить native code там нет.

Т.е. реальный способ написать что-то большое (т.е. где нужна типизированность) типа того же NumPy это добавлять что-то поверх JS т.е. TypeScript.
Ну и как необходимое условие: JS должен JITится. Иначе Python на Web платформе не воспроизвести вообще никак — имеется ввиду не сам язык, а весь набор библиотек без которых Python смысла особого не имеет.
Re[2]: fyi
От: Sharov Россия  
Дата: 16.09.19 09:46
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Т.е. реальный способ написать что-то большое (т.е. где нужна типизированность) типа того же NumPy это добавлять что-то поверх JS т.е. TypeScript.

CS>Ну и как необходимое условие: JS должен JITится. Иначе Python на Web платформе не воспроизвести вообще никак — имеется ввиду не сам язык, а весь набор библиотек без которых Python смысла особого не имеет.

https://www.techrepublic.com/article/jpmorgans-athena-has-35-million-lines-of-python-code-and-wont-be-updated-to-python-3-in-time/
Кодом людям нужно помогать!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.