LINUX.ORG.RU

А числодробилки на Python пишут?

 


1

3

Не пинайте сильно, опять нубские вопросы

  1. Если мне нужно написать такую с веб интерфейсом, то я могу взять flask/django?

  2. Там где не хватит скорости придется потом на си переписывать?

  3. Вариант с ASP NET Core будет быстрее или С# умирающий язык?

А числодробилки на Python пишут?

Да, их в основном на python сейчас и пишут. Само собой, используя специальные оптимизированные библиотеки, а не чистый питон.

Если мне нужно написать такую с веб интерфейсом, то я могу взять flask/django?

Какая связь между веб-интерфейсом и вычислительным модулем? Пиши интерфейс на чем угодно.

Там где не хватит скорости придется потом на си переписывать?

Зависит от твоей задачи, но вероятнее всего нет. Все базовые операции уже реализованы в быстрых библиотеках на C/C++/Fortran.

Ты бы описал вычислительную задачу в общих чертах.

aquadon ★★★★★
()
Последнее исправление: aquadon (всего исправлений: 1)

На первые два уже развернуто ответили, так что выскажусь по поводу третьего.

Вариант с ASP NET Core будет быстрее или С# умирающий язык?

Нет, не умирающий, а наоборот, активно набирающий обороты. Тем не менее, писать на нём что-то серверное — позор и зашквар. Если ты не ведёшь строго виндовозную коммерческую разработку, то лучше руками к этому не прикасаться. Для линуксов это вещь инородная, пропитанная вендообезьяньей культурой.

WitcherGeralt ★★
()

Даже не знаю зачем изобретать велосипед, когда есть Jupyter Notebook.

Artamudo ★★★★
()
Последнее исправление: Artamudo (всего исправлений: 1)
Ответ на: комментарий от jurgens

Для начала, джанга омерзительна, так что это ложное противопоставление.

А возможность что-то запустить не делает это что-то приголным для использования.

Для линуксов это вещь инородная, пропитанная вендообезьяньей культурой

WitcherGeralt ★★
()
Ответ на: комментарий от WitcherGeralt

Я тут начитался всякого, что Python медленный. Теперь сомнения в его выборе. Не столкнусь ли я в будущем с проблемами из-за этого. Вот и думаю, это же вроде правится переписыванием некоторых частей на си, да и вообще наверное это редкий случай - нехватка скорости. Вот и думаю: заменить Python чем-то другим или остаться. Хочу услышать мнения других, т.к я совсем зеленый.

jurgens
() автор топика
Ответ на: комментарий от Ford_Focus

Не вводи в заблуждение некорректным рейтингом.

  1. Большая часть веба на PHP.
  2. Рейтинг не учитывает размеры проектов.
  3. Энтерпрайз пишет на спринге.

Первый нагуглившийся уже более нагляден: https://www.similartech.com/categories/framework

WitcherGeralt ★★
()
Ответ на: комментарий от WitcherGeralt

Большая часть веба на PHP.

в первую очередь за счёт wordpress, во вторую за счёт joomla и drupal

в плане фрэймвоков не всё так просто

Ford_Focus ★★★★★
()
Последнее исправление: Ford_Focus (всего исправлений: 1)

Если вам нужна скорость с вебинтерфейсом, то у rust, dlang, go, есть веб фреймворки

Если же питон то там есть ядреная numba, которая умеет даже вычисления на видеокартах

ism ★★★
()
Последнее исправление: ism (всего исправлений: 2)
Ответ на: комментарий от jurgens

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

За пределами веба проблем больше из-за невозможности полноценно пользоваться потоками чем из-за скорости. И тут уже начинаются пляски с костылями: мультипроцессинг, воркеры, дополнительная сериализация/десериализация данных и лишний слой RPC, брокеры сообщений, разделяемая память.

Но это ладно, это всё тоже решаемо. Есть более насущные проблемы:

А) Действительно ли ты хочешь начинать на таком высокоуровневом языке? Скорее всего, ты так сразу закопаешь свой потенциал стать крутым программистом, если он у тебя есть. Начиная с более низкоуровневого языка, ты глубже погрузишься в предмет.
Б) Динамическая типизация. Проект на языках с динамикой сложно поддерживать и они гораздо хуже поддаются рефакторингу. А разрабы, которые не умеют в статику, — сплошь обезьяны, ибо динамика заметно снижает требования к читоте кода. Статика застявляет писать более структурированный код и задумываться над данными с которыми работаешь. Ты попросту не можешь передавать/возвращать произвольные данные куда попало, хранить их как попало и работать с ними как попало, всё должно быть проработано и задекларировано. Код получается более правильным и надёжным.
В) В питоне сейчас всё, что можно ,пересаживают на asyncio (и это хорошо), сейчас пограничная стадия. Та же джанга (ORM) синхронная, а большинство асинхронных библиотек до сих пор сырые и даже не релизнули версии 1.0. Но использовать синхронные, значит сразу писать легаси.

WitcherGeralt ★★
()
Последнее исправление: WitcherGeralt (всего исправлений: 2)
Ответ на: комментарий от Ford_Focus

Не так принципиальны фреймворки как понимание рынка.

В каком-то смысле сам по себе PHP — уже веб-фреймворк. Это же html-шаблонизатор изначально, язык полностью заточен на веб.

WitcherGeralt ★★
()
Ответ на: комментарий от WitcherGeralt

Я начал с Python недавно и меня интересует только веб(бекенд). Продолжать, или выбрать что-то иное, выше писали о rust, dlang, go. Цель моя не просто для себя веб приложения писать а найти работу.

jurgens
() автор топика
Ответ на: комментарий от jurgens

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

Если же говорить о работе, то в Москве, с одной стороны, на питоне работы достаточно, с другой высокая конкуренция. На PHP работы полно в любом регионе, а с Laravel порог входа околнулевой.

WitcherGeralt ★★
()
Последнее исправление: WitcherGeralt (всего исправлений: 1)
Ответ на: комментарий от WitcherGeralt

Проекты на numba не знаю, но она серьезно пилится. Документация тоже интересна.

Там есть jit, самое то для вычислений

ism ★★★
()
Ответ на: комментарий от WitcherGeralt

Наука на ней сидит крепко. Но науке до лампочки стабильность.

t184256 ★★★★★
()

А мне приснился срач про гуи на питоне.

bread
()
Ответ на: комментарий от WitcherGeralt

А разрабы, которые не умеют в статику, — сплошь обезьяны

Да уж, то ли дело жабакодеры с дотнетчиками. Все как на подбор полубоги.

bread
()

Если мне нужно написать такую с веб интерфейсом, то я могу взять flask/django?

Можешь, но именно для числодробилки jupyter notebook (jupyter lab) сделали. Если не надо извращение какое-то писать, то хватит с головой.

Там где не хватит скорости придется потом на си переписывать?

Может на си, может на ассемблер, завёрнутый в си, может на c++, а может на CUDA/OpenCL. С шарпом аналогично. Но скорее всего ты такое не встретишь.

Вариант с ASP NET Core будет быстрее или С# умирающий язык?

Быстрее в плане чего? В плане разработки новой числодробилки - медленнее на пару порядков.

peregrine ★★★★★
()
Ответ на: комментарий от bread

Там своя специфика. Большие конторы, много разрабов, хорошо поставленный процесс, у большинства разрабов маленькие задачи, знай греби, голову включать не требуется.

Поди найди Assembly-макаку или C-макаку.

WitcherGeralt ★★
()
Последнее исправление: WitcherGeralt (всего исправлений: 1)

Дебилы на пхытоне даже числодробилки пишут, да.

anonymous
()
Ответ на: комментарий от WitcherGeralt

Да, зарабатываю, правда не считаю себя каким-то спецом.В основном это интерфейсы к БД для автоматизации задач пользователей. Пишу на чистом PHP + MVC, из СУБД чаще всего MySQL, опыта фреймворков нет. На frontend же тоже все просто bootstrap + jquery. А Python для меня как еще один(возможный) вариант зароботка.

jurgens
() автор топика
Ответ на: комментарий от anonymous

Только на асме или брейнфаке. А особо продвинутые на машинных кодах сразу... Таблички не хватает.

peregrine ★★★★★
()
Ответ на: комментарий от jurgens

Я тут начитался всякого, что Python медленный. Теперь сомнения в его выборе. Не столкнусь ли я в будущем с проблемами из-за этого.

Столкнёшься, как все.

Вот и думаю: заменить Python чем-то другим или остаться.

Жульку попробуй

yvv ★★☆
()
Ответ на: комментарий от WitcherGeralt

У Google даже есть кладбище своих проектов. Станет ли Golang еще одним среди них вопрос. Из-за этого я отношусь к Go скептически.

jurgens
() автор топика
Ответ на: комментарий от jurgens

На Go критически важная инфраструктура написана, он с нами всерьёз и надолго.

Докер, кубер, классные штуки типа CockroachDB, и вообще вот: Исправления безопасности в языке Go (комментарий)

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

WitcherGeralt ★★
()
Ответ на: комментарий от WitcherGeralt

Большая часть веба на PHP.

Ага, но это стандартные решения типа landing page, блог на wordpress или говносайт на joomla. Ниша Python - это скоростная разработка чего-то нестандартного и тестирование.

tz4678 ★★
()
  1. Для веб-морды можешь брать что удобнее, саму числодробилку на питоне — зачем? Ну если она не укладывается в юзкейс numpy.

  2. Зависит от задачи. Вообще, почему ты считаешь, что числодробилка должна быть неотделима от вебморды? Она может быть сделана на чём угодно и болтать с вебмордой через, например, amqp. Или kinesis.

  3. Вообще пофиг на чём писать вебморду.

Или твоя числодробилка собирается дробить твои числа синхронно в хандлере http-запроса?

x3al ★★★★★
()

Если мне нужно написать такую с веб интерфейсом, то я могу взять flask/django?

Да вообще никакой разницы, на чем. Главное, дроби числа (если там действительно есть что дробить) асинхронно, а не в том же WEB запросе.

Там где не хватит скорости придется потом на си переписывать?

Лучше всего скомпилированную библиотеку под задачу взять. К слову, совсем не факт, что твой код на C будет быстрее работать чем у хорошего знатока алгоритмов и паралелизации на Pyton. :)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.