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


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