LINUX.ORG.RU

Какие преимущества я получу, перейдя с Python на C?

 ,


1

2

Вот сижу я, говнякаю на питончике одной рукой. Получается очень быстро. Но все говорят, что питон убог. А какие преимущества получу я, как питонист, если перейду на эту вашу сишку?

Ни каких! Если не знаешь для чего тебе это надо!

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

В итоге получается вот что: https://github.com/shkolnick-kun/yakf/tree/master/src

Там сами алгоритмы на Си, биндинги на Cython (рекомендую для ускорения питонячего кода, кстати), прототипы можно писать на питоне.

В итоге даже с учетом оверхеда, даваемого Cython-биндингом и т.д. такой прототип работает в 8 - 9 раз быстрее аналогичного кода на чистом питоне с использованием FilterPy.

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

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

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

За goto над указывать на дверь.

Да делайте что хотите в своём манямирке. :)

Не юзали бы в этих ваших линуксах готу, было бы меньше багов и легче было бы поддерживать код.

Мы как-нибудь сами разберёмся, что и как нам в наших линуксах использовать. А вы с вашими «мудрыми» советами либо пойдёте в далёкое пешее, либо будете жрать что дадут. Впрочем, вы в любом случае будете жрать что дадут.

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

Не юзали бы в этих ваших линуксах готу, было бы меньше багов и легче было бы поддерживать код.

можешь показать критический баг при использованием goto в Linux (ядре) ? Управляемые ресурсы c (автоматическим освобождением) в ядре есть

http://www.haifux.org/lectures/323/haifux-devres.pdf

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

Именно с управлением ресурсами (не путать с управляемыми ресурсами в том смысле что ты написал) у линукса беда-беда. Надо не просто баги фиксить, а всё переписывать. Убогие OOM-киллер и бессмертный #12309 намекают на это. А вообще, надо идти в багтрекер и смотреть на статистику багов. Что характерно, во фряхе лучше.

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

Угу, особенно на серверах. Ещё скажи что у винды и огрызка пользователей меньше, а то что я копировал вчера архив бэкапа на внешний жесткий диск и любовался 100% загрузкой проца (правда по вине ntfs драйвера, а не ядра, этот же диск я и для windows использую, так что не вариант его в другую ФС форматировать, особенно если вспомнить что он на 2 террабайта), это нормально.

peregrine ★★★★★ ()

Это всё для сфеерических программистов в вакууме. У этих языков разные ниши, поэтому придётся сменить профессию. О преимуществах нет смысла думать без конкретной задачи, будет подростковое писькомерство, не применимое к реальной жизни.

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

Кстати, вот что сам Дейкстра же писал о своей печально известной заметке:

«Please don’t fall into the trap of believing that I am terribly dogmatical about [the go to statement]. I have the uncomfortable feeling that others are making a religion out of it, as if the conceptual problems of programming could be solved by a single trick, by a simple form of coding discipline!»

Так что категоричные высказывания о goto вызывают только снисхождение. И если это пишет двадцатилетний подросток, то всё понятно, юношеских максимализм, всё такое, но взрослый человек…

anonymous ()

Самое первое преимущество: тебя перестанут называть быдлоганом.

Второе: ты сможешь писать приложения любого уровня сложности и не будешь упираться в отсутствие библиотек или быстродействие.

Третье: ты не будешь тратить уйму времени на отладку спагетти-кода, т.к. на С написать быдлокод значительно сложней, чем на пытхоне.

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

Убогие OOM-киллер и бессмертный #12309

Проблема решается элементарно.

12309 фиксится ограничением грязных байт, а киллер лечится запретом полного выселения файловых страниц при нехватке памяти: https://github.com/hakavlad/le9-patch

После небольшого тюнинга линукс имеет лучшее управление памятью чем что бы то ни было.

anonymous ()

Мне кажется, что Питон - это набор готовых кусков кода на С, обёрнутого в классы. Вместо поисков идеальной реализации строк на С просто берём и пользуемся строками, например. По крайней мере так вроде CPython устроен. А интерпретаторов Python много.

Python хорош для прототипирования (опять же мне кажется это). В связи с чем в нём по-умолчанию есть Tk - фреймворк гуя для прототипирования. Вот Matrix протокол написали на Python, теперь переписывают на Go или что-то там. Заметьте не на С++ или Java.

Короче пишешь сначала на Python чо хотел. Если понравится, пишешь на С++/Go/Rust.

anonymous ()