В Питоне вполне есть ООП, но как уже правильно тут сказали, оно совсем не для всего подходит.
> Неужели объектно-ориентированное программирвание устаревает? Как единственная парадигма - да. Сейчас вообще популярны мульти-парадигменные языки, с тенденцией к функциональному программированию. И виртуальной многопоточности в том или ином виде: elixir, go, node.js, akka... Есть ещё Rust развивующий идею чистой мощи Си, но с кучей гарантий со стороны компилятора на безопасную работу с памятью.
> Неужели на рынке стало так много "математических" задач, > что уже выгодно создавать под них языки программирования? Ну вообще кроме специально созданного под статистику R других особо популярных нет.
Питон вовсе не всегда быстр (например), но удобен. Если честно, я вообще не понимаю, почему его так активно любять использовать в data science. То ли они используют Pypy, то ли в Python легко использовать существующие бинарные библиотеки и большая часть вычислений делается в них...
Насчёт того что, программирование принципиально изменилось: Я встречался с этим ещё в институте, но тогда подумал, что это совсем уж редкий случай. Оказывается, нет. Есть как минимум ещё один вид программистов - алгоритмисты. Им совершенно не нужно ООП и вообще производство кирпичиков для конструктора. Алгоритмы дают гораздо больший размер гранулярности - уровень целой библиотеки.
Но прикладные программисты у которых главная проблема - это грамотно структурировать код, никуда не делись.
Комментировать буду только то, с чем лично пришлось как следует столкнуться, пробегусь тезисно.
Про node.js - это конкретная модель асинхронной обработки, однопоточной. Никакой виртуальной многопоточности там нет. (Правда есть некий несвободный клон где и node.js запилили невиртуально многопоточной, непонятно зачем).
Виртуальная многопоточность - это когда используются user-space треды со всеми вытекающими, либо как в Питоне - global interpreter lock. Многопоточность как бы есть, но и её нет.
Кроме R - уже давно и очень широко используется Matlab (и его GNU клон Octave - замечательная штука, 95% моего Matlab кода там заработало сразу, причем со специфичными си-биндингами для работы с магнитнорезнансным томографом - всё скомпилялось, собралось и запустилось).
Ну и если о статистике - то не стоит забывать о SPSS (на мою бытность, удивительная вещь с 2 языками внутри - императивным и декларативным, просто праздник какой-то).
Если говорить про Rust - то и про D стоит вспомнить. :)
Питон - очень любят био-информатики, в обработке последовательностей DNA, sequence alignment, MDS и другое. Горячую любовь ученых в целом к Питону не подмечал.
Спасибо, что отметили алгоритмистов, было приятно. :)
Субьективно, я ООП воспринимаю как методологию для более-менее вменяемого прикладного "продуктового" программирования. Одни языки оказывают большую поддержку этой методологии - другие меньшую. При желании можно и на Си писать вполне объектно-ориентированно, только не удобно.
Я знаю, что nodejs однопоточная по CPU, но это не мешает ей работать с кучей сетевых потоков. Это как Akka, которая на обычном сервере с парой десятков ядер держит миллион виртуальных потоков.
Про «виртуальную многопоточность» - я там немного в кучу всё свалил, спасибо за прояснения. Что-то из этого я и сам знал (global interpreter lock, например).
> Питон - очень любят био-информатики У меня знакомый занимается анализом данных в финансах, сейчас переходит из просто аналитиков в программисты (но с фокусом в той же области). Говорит, что самый востребованный язык там Питон. Сейчас вырисовывается такая профессия как "Data Scientist". И таких вакансий гораздо больше, чем на малоизвестных Rust или D. И вот они используют Python.
> Зато писать на нем быстро и библиотеки удобные > На ++ бессмысленно писать я буду дольше программировать чем аналитикой заниматься
>Сейчас вырисовывается такая профессия как "Data Scientist" У меня после изучения рынка сложилось ощущение, что это такая сформировавшаяся профессия, которая скоро начнет устаревать.
Забавно насколько по-разному выглядит ситуация изнутри и снаружи.
> Неужели объектно-ориентированное программирвание устаревает?
Как единственная парадигма - да. Сейчас вообще популярны мульти-парадигменные языки, с тенденцией к функциональному программированию.
И виртуальной многопоточности в том или ином виде: elixir, go, node.js, akka...
Есть ещё Rust развивующий идею чистой мощи Си, но с кучей гарантий со стороны компилятора на безопасную работу с памятью.
> Неужели на рынке стало так много "математических" задач,
> что уже выгодно создавать под них языки программирования?
Ну вообще кроме специально созданного под статистику R других особо популярных нет.
Питон вовсе не всегда быстр (например), но удобен.
Если честно, я вообще не понимаю, почему его так активно любять использовать в data science.
То ли они используют Pypy, то ли в Python легко использовать существующие бинарные библиотеки и большая часть вычислений делается в них...
Насчёт того что, программирование принципиально изменилось:
Я встречался с этим ещё в институте, но тогда подумал, что это совсем уж редкий случай.
Оказывается, нет. Есть как минимум ещё один вид программистов - алгоритмисты.
Им совершенно не нужно ООП и вообще производство кирпичиков для конструктора.
Алгоритмы дают гораздо больший размер гранулярности - уровень целой библиотеки.
Но прикладные программисты у которых главная проблема - это грамотно структурировать код, никуда не делись.
Reply
Комментировать буду только то, с чем лично пришлось как следует столкнуться, пробегусь тезисно.
Про node.js - это конкретная модель асинхронной обработки, однопоточной. Никакой виртуальной многопоточности там нет. (Правда есть некий несвободный клон где и node.js запилили невиртуально многопоточной, непонятно зачем).
Виртуальная многопоточность - это когда используются user-space треды со всеми вытекающими, либо как в Питоне - global interpreter lock. Многопоточность как бы есть, но и её нет.
Кроме R - уже давно и очень широко используется Matlab (и его GNU клон Octave - замечательная штука, 95% моего Matlab кода там заработало сразу, причем со специфичными си-биндингами для работы с магнитнорезнансным томографом - всё скомпилялось, собралось и запустилось).
Ну и если о статистике - то не стоит забывать о SPSS (на мою бытность, удивительная вещь с 2 языками внутри - императивным и декларативным, просто праздник какой-то).
Если говорить про Rust - то и про D стоит вспомнить. :)
Питон - очень любят био-информатики, в обработке последовательностей DNA, sequence alignment, MDS и другое. Горячую любовь ученых в целом к Питону не подмечал.
Спасибо, что отметили алгоритмистов, было приятно. :)
Субьективно, я ООП воспринимаю как методологию для более-менее вменяемого прикладного "продуктового" программирования. Одни языки оказывают большую поддержку этой методологии - другие меньшую. При желании можно и на Си писать вполне объектно-ориентированно, только не удобно.
Спасибо! :)
Reply
Все-таки -- это правильно, когда их мало -- напромного роще переиспользовать человеческое знание.
Reply
Это как Akka, которая на обычном сервере с парой десятков ядер держит миллион виртуальных потоков.
Про «виртуальную многопоточность» - я там немного в кучу всё свалил, спасибо за прояснения. Что-то из этого я и сам знал (global interpreter lock, например).
> Питон - очень любят био-информатики
У меня знакомый занимается анализом данных в финансах, сейчас переходит из просто аналитиков в программисты (но с фокусом в той же области). Говорит, что самый востребованный язык там Питон.
Сейчас вырисовывается такая профессия как "Data Scientist". И таких вакансий гораздо больше, чем на малоизвестных Rust или D. И вот они используют Python.
> Зато писать на нем быстро и библиотеки удобные
> На ++ бессмысленно писать я буду дольше программировать чем аналитикой заниматься
Reply
У меня после изучения рынка сложилось ощущение, что это такая сформировавшаяся профессия,
которая скоро начнет устаревать.
Забавно насколько по-разному выглядит ситуация изнутри и снаружи.
Reply
Возможно, у нас разные критерии устаревания =)
Предлагаю использовать https://en.wikipedia.org/wiki/Hype_cycle как систему отсчёта.
Reply
Reply
Reply
Reply
Leave a comment