URL: https://ssl.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 119692
[ Назад ]

Исходное сообщение
"Inlinec - новый способ использования Си-кода в Python-скриптах"

Отправлено opennews , 03-Фев-20 22:36 
Проектом inlinec предложен новый способ inline-интеграции кода на языке Си в скрипты на языке Python. Функции на языке Си определяются непосредственно в одном файле с кодом на языке Python, выделяясь атрибутом "@inlinec". Сводный скрипт выполняется как есть интерпретатором сpython и разбирается с использованием предоставляемого в Python механизма кодеков, дающего возможность подключить парсер для преобразования скрипта перед его разбором интерпретатором (как правило, модуль codecs применяется для прозрачной перекодировки текста, но позволяет и произвольным образом трансформировать содержимое скрипта)...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=52306


Содержание

Сообщения в этом обсуждении
"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено лысый бубен , 03-Фев-20 22:36 
Наконец в питон добавили фигурные скобки)

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 08:25 
Если еще все остальное выкинуть и сделать компилируемым... :)))

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 11:33 
Т.е. оставить одни фигурные скобки? Получится что-то отдалённо напоминающее Брейнфак.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 15:46 
Это будет фигурный Lisp.)

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Глеб Кузьмин , 04-Фев-20 14:31 
Так фигурные скобки всегда там были. Просто их можно не использовать.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 22:07 
Че ты несешь?

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено онаным , 06-Фев-20 14:34 
#{
  print("Hello world!")
#}

вы просто не знали как их использовать


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 06-Фев-20 16:51 
Какой же это си? Как максимум яваскрипт какой-то.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено анонимно , 05-Фев-20 12:00 
В пайтоне есть фигурные скобки.
Это множества и словари.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено blzz , 07-Фев-20 11:48 
import bython
и пользуйся фигурными операторными скобками сколько влезет

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено даконечно , 03-Фев-20 22:39 
зачем пытаются оживлять питон ?
дайте ему уйти на покой!

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 03-Фев-20 22:45 
Что за отраву ты там куришь? Один из самых популярных языков программирования он на покой отправляет. :D

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 03-Фев-20 22:40 
Выглядит впечатляюще, и код довольно симпатично будет смотреться. А то писать биндинги к C не всегда так уж просто. Жду такое в стандартном CPython 3.10 с кэшированием и -O3 :)

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено RomanCh , 04-Фев-20 12:20 
Да изучите наконец уже GoLang. Он же специально для пыхтонистов продвигается как замена. В нём на С можно нативно писать прямо в файле с Go кодом. И это давно уже не в стадии экспериментов, и без ограничений вида "низя передать указатели"

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 13:17 
lol no generics

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 14:12 
А что, в python они есть?
В любом случае, когда из него GIL выпилят, тогда и приходи лолкать.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 22:31 
зачем его выпиливать? про gil в python любят рассуждать те, кто не понимает, зачем он нужен, не говоря уже о том, зачем он не нужен

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Глеб Кузьмин , 04-Фев-20 14:33 
Golang к python относится никак.
Это вообще разные языки для разных задач.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено RomanCh , 04-Фев-20 14:50 
Согласен, на GoLang можно нормальный код писать не надрывая мозг и машину.

А на пыхтоне только тормозные жрущие поделия на костылях заложенных by design в структуру языка.

Но таки вы почитайте, что GoLang форсился в своё время именно как ЯП, на который можно пересадить пострадавших мозгом от пыхтона.


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Анонимкос , 04-Фев-20 17:51 
Мощнейшая аргументация. Вы так говорите, как будто Го сам код генерит за разраба. Бред полнейший, точно также надо писать приседать, отлаживать, преодолевать Гоупроблемы. Очередная сферическая серебрянная пуля от анонимных адептов.

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


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено RomanCh , 04-Фев-20 18:58 
> Вы так говорите, как будто Го сам код генерит за разраба.

Нет, он просто не позволяет так ловко стрелять себе сразу в обе ноги, как это делает пыхтон. Ну и ещё приятная мелочь - работает на порядки быстрее и экономичней. И в конце концов - на Це можно писать прямо внутри.

> Вот прям все сидят питон разрабы(и не только) и плачут от мук,

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


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 21:45 
> Нее, дорогой мой аноним. Страдают не пыхтон-пострадавшие, у них-то мозг уже отдавлен и потому не болит. Страдают те, кто их поделия на проде вынуждены использовать и/или поддерживать.

давай пример, трепло


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено RomanCh , 04-Фев-20 22:46 
> давай пример, трепло

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


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 05-Фев-20 07:22 
как и ожидалось, ни один свой высер не можешь подтвердить.
> Больше таких как вы - больше спроса на тех кто поумнее

это ты про себя, что ли трепло тупое?


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Анонимко , 04-Фев-20 22:15 
Если ты себе отстрелил 2 ноги на Питоне, то к Си лучше не прикасаться.

Все твои фразы говорят лишь о твоем, похоже, невысоком техническом уровне.

Го можно сравнивать с нодой, но никак не с Питоном у которого сфера применения гораздо шире.


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено RomanCh , 04-Фев-20 22:44 
>  Если ты себе отстрелил 2 ноги на Питоне, то к Си лучше не прикасаться.

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

Правда, страшный язык це, в отличии от "безопасного", "интуитивно понятного" и "страхующего от ошибок" пыхтона, не позволяет объявлять глобальные переменные из функций-замыканий, не позволяет запускать код который 100% не сможет работать, не позволяет городить синтаксически и логически бессмысленные конструкции не выводя при этом никаких предупреждений, а количество пробельчиков в начале строчки там обычно никак не влияет на логику кода. И кроме прочего, ужасный це имеет обратную совместимость с кодом которому десятки лет.

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

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


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Анонимкос , 05-Фев-20 13:55 
Знатно тебя бомбит.

Языки я сравнивал по сфере применения, Го в основном это вебня и сервисы, как и нода.
То что он компилируемый, внезапно, является и недостатком одновременно.

Го не нужен, без него хватает других решений, просто разрабы Го сделали вид, что их нет и создали свой велосипед с присказкой "любой идиот освоит за 5 минут". Видать идут в Го те, кто не осилил норм ЯП и потом они же засирают треды новостей про раст, яву, питон и т.д. навязывая никому не нужный велосипед.


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено RomanCh , 05-Фев-20 14:44 
> Знатно тебя бомбит.

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

По большому счёту, мне решительно пофигу кто на чём пишет, если оно нормально работает в итоге. Например, наш продный софт написан на Java, и претензий у меня к нему никаких. Во всяком случае, если с пыхтоном сравнивать, на котором только обвязка (кстати ынтыпрайз за деньги). Но дело конечно, не в одном только конкретном примере. Дело в том, что достаточно обширная практика показывает, что пихтонические поделки нормально работают где-то в 1 случае из ... Даже не знаю какое сюда число писать, но оно больше 10.

> Языки я сравнивал по сфере применения, Го в основном это вебня и
> сервисы, как и нода.

Бгг, 15-20 лет назад тогдашние веб-макаки так говорили про Perl.
То что анонимчик не знает что на нём можно очень успешно решать задачи совершенно не связанные с вебнёй и сервисами (какими?), говорит только лишь об анонимчике, но не о ЯП.

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

> Го не нужен, без него хватает других решений, просто разрабы Го сделали
> вид, что их нет и создали свой велосипед с присказкой "любой
> идиот освоит за 5 минут".

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

> Видать идут в Го те, кто не осилил норм ЯП и потом они же засирают треды новостей
> про раст, яву, питон и т.д. навязывая никому не нужный велосипед.

Видать идут в пыхтон те, кто не осилил норм ЯП, С, С++, Perl (мир его праху), Java, разновидности асмов... Навязывая никому не нужный гвидобасик.

(кстати, скажите например гуголю, что он k8s написал на никому не нужном велосипеде, без вашего экспертного мнения он там загинается совсем)


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 05-Фев-20 15:00 
> Знатно тебя бомбит.
> Дело в том, что достаточно обширная практика показывает, что пихтонические поделки нормально работают где-то в 1 случае из ... Даже не знаю какое сюда число писать, но оно больше 10.

"имя, сестра, имя!". то есть примеры, пожалуйста, трепло, у меня опыт ровно обратный

> пыхтонисты
> пихтонические

за одно употребление подобных слов тебе нужно ржавый гвоздь в мошенку вбить


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено RomanCh , 05-Фев-20 15:11 
> за одно употребление подобных слов тебе нужно ржавый гвоздь в мошенку вбить

Мощно!
Так как метод "убедить вас не получится, потому сразу перейду к оскорблениям", результата не дал, то пришлось перейти к угрозам членовредительством?

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


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 05-Фев-20 15:17 
> Так как метод "убедить вас не получится, потому сразу перейду к оскорблениям", результата не дал, то пришлось перейти к угрозам членовредительством?

кому ты нужен, ничтожество?

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


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Анонимкос , 05-Фев-20 23:05 
Есть типичная статья на Хабре(https://habr.com/ru/post/282588/) гошника, начавшаяся с того, что "жаба тормозит" и тп потому я выбрал Го!

В комментариях этого писателя разнесли впух и прах за ложь по отношению к жаве и указали гражданину на его тех. безграмотность. В общем все свелось к неосиляторству.

Здесь ровно та же картина, только нападение на Питон.


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено анонимно , 05-Фев-20 12:04 
Питонистам не подходит Golang им во первых тяжело в статической типизации. Ну а во вторых пайтон поддерживает полный ООП, а в Golang ООП очень урезанный.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено RomanCh , 05-Фев-20 12:50 
> Питонистам не подходит Golang им во первых тяжело в статической типизации.

Да, думать приходится как код писать, а не "хренак-хренак и в продакшн! Как-нибудь заведётся!" Да ещё и компилятор постоянно за тобой скрытые ошибки ловит и не даёт код собрать/запустить. То-ли дело в пыхтончике, как бы ты не навертел (кроме священных отступов) - всё запустится! Правда эффект будет непредсказуемым, но это уже не наши проблемы!

> Ну а во вторых пайтон поддерживает полный ООП

Ну да, ну да. Особо хорошо там с инкапсуляцией приватных членов.

> а в Golang ООП очень урезанный.

А там вообще нет ООП в классическом смысле. Зато там есть интерфейсы, которые деле для многих задач хороши возможно не менее чем оно, а где-то даже более. Вопрос в общем, очень дискуссионный.

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

Но конечно, старый старый мопед на карданном вале и с паровым двигателем, он приятней и привычней, понимаю вас :)


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 05-Фев-20 14:35 
> Ну да, ну да. Особо хорошо там с инкапсуляцией приватных членов.

так-так, и какие проблемы с приватными членами, трепло?


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено user90 , 03-Фев-20 22:42 
"Это уже было в Perl", бгг!

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Доброжелатель , 04-Фев-20 03:17 
Ваше Х плохое! Давайте сделаем У! Через некоторое время получается У подобное Х ...
И так будет с каждым.
Нужно улучшать имеющееся, а не тратить время на изобретение(людям хочется Си подобного синтаксиса! и вот он блин ...)

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено btmn , 03-Фев-20 22:49 
присобачьте еще несколько языков. Си будет одиноко

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено SkyNet , 03-Фев-20 22:51 
Круто! А теперь уберём обёртку из питона и будет всем счастье!

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 11:39 
Не будет, в C нет классов. Ну разве что ещё и C++ прикрутить.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 12:54 
В C есть структуры, это те же классы, но без пространств имён внутри.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Урри , 04-Фев-20 13:27 
пространства имен внутри при желании легко симулируются макросами.
хотя на самом деле они банально не нужны.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 03-Фев-20 23:00 
Пихон и его стремление "ускориться" и "воспользоваться преимуществами си" -- это как девушка "с широкой костью", которая отчаянно пытается похудеть, но ничего не выходит. Да что там, если продолжать аналогию и вспомнить про то, что даже сам создатель пихона, работая в дропбоксе, так и не сумел "ускорить" свое детище, то в случае с девушкой получится, что создавший ее Господь Бог тоже сдался и прекратил всякие попытки ее прохудить.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 03-Фев-20 23:07 
Зря вы так. Девушки "с широкой костью" очень даже худеют. Причём выглядит всё довольно забавно. Например, если широкая кость тазовая и при этом весь жир сожжён в бёдрах и в талии, то так прикольно - ставишь такую рачком бабёнцию, а реально попы нет, а по бокам как будто кости торчат, хватаешь их, входишь в неё, и как будто со скелетом занимаешься любовью. Нет, уж лучше жирок помять чем вот так вот. Одно расстройство. Если меня читают девушки, то не бойтесь жирком нарасти, только особо не увлекайтесь, а то от крайности в крайность...

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Анонимун , 04-Фев-20 05:54 
Никогда не знаешь в какой новости найдешь лулзы.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Тот самый Аноним , 03-Фев-20 23:09 
Вот объясни это тем, кто использует питон для высокнагруженных систем, например разработчикам нейросетей. Может если вам не хватает производительности питона, то вы что то неправильно делаете? Нет, ну не пиксели же или биты переставляете в двоичных массивах на самом деле. Если же я ошибаюсь и вы используете питон для битовых масок и копирования байтов в оперативной памяти, то вам не кукарекать на каждом углу что "питон отстой", "питон тормознутый" и прочее КоКоко, а вам нужно к врачу срочной.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено user90 , 03-Фев-20 23:20 
> например разработчикам нейросетей

"Образ выпуклый но решительно неаппетитный"
Ах извините, чо я встреваю в самом деле, продолжайте пжалуста.


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Led , 04-Фев-20 00:13 
> Вот объясни это тем, кто использует питон для высокнагруженных систем,

Так гвидобейсик и делает их высоконагруженными.


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 09:04 
в данной ветке собрался весь цвет опеннетовских икспертов в области машинного обучения

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 09:47 
Этот эксперт таки был майнтайнером glibc помнится... :)

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 11:13 
тяжело представить тему, в которой данные организмы не были бы икспертами

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 06-Фев-20 16:54 
> тяжело представить тему, в которой данные организмы не были бы икспертами

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


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено asdasd , 04-Фев-20 09:17 
> кто использует питон для высокнагруженных систем

Которые поголовно утыкаются в производительность / расширяемость и переписывают свои сервисы на Go?

> например разработчикам нейросетей

Это у тех, у которых весь код написан на C/C++?


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 10:54 
>> например разработчикам нейросетей
>Это у тех, у которых весь код написан на C/C++?

Нет. У них там ещё есть lua


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 09:11 
некоторым недалеким (такими себя не считающими, разумеется) икспертам кажется, что им удаются аналогии вообще и уместные в частности

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Анонимкос , 04-Фев-20 18:13 
Это говорит лишь о том, что Питон является востребованным языком и у разрабов есть задача точечно повышать производительность. Ваш лирический текст носит капитанский смысл.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 03-Фев-20 23:02 
Это явное misuse кодеков и костыль.

Вместо извращений нужна возможность расширять синтаксис питона питоном.


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено puntos , 03-Фев-20 23:10 
Теперь от си можно избавляться, так как в питоне есть встроенный си. Что ещё нужно для счастья?

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено nelson , 04-Фев-20 00:44 
>> Теперь от си можно избавляться

Казалось бы, причём здесь реформа образования...


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 02:40 
Мы знаем о вашей любви к программированию, поэтому встроили вам язык программирования в язык программирования, чтобы вы могли программировать, пока программируете.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 03:17 
Слушайте, а ведь так можно и SQL и CSS в код встраивать?

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 11:46 
Ну так CSS, наверное, ценен тем, что его можно менять не трогая код?

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 07:39 
Для счастья нужно выбросить питон.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Тот самый Аноним , 03-Фев-20 23:17 
Из новости не понятно, исполняется код скомпилированный в родные инструкции процессора, или это по сути встроенный интерпритотор Си? К стати, проблема передачи указателей из питона в си и обратно, не тривиальная, например я не осилил как из питона вызвать функцию получающую указатель на массив указателей, котороый после вызова меняется. Вот только решение которое я нашёл, например в оффициальной питон обёртке к ГТК, там просто написали Си функцию которорая вызывает требуемую, и возвращает в питон данные в простом формате. Поэтому не удивительно что с указателями у авторов предмета, есть только простые Си-строки.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 00:17 
Из вашего комментария видно что вы не умеете читать ?

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 03:23 
А что там можно понять при прочтении? Читателю, незнакомому с питоном, термины кодек и ctypes ничего не говорят, новость написана для питонистов. Не-питонист попросил пояснения - Вы ему нахамили.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 09:59 
Вот это "сохранение промежуточных *.so, *.o и *.c файлов в текущем каталоге" не-питонисту тоже ничего неговорит ?

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 13:15 
И где там написано, что эти промежуточные .o и .so получены именно компиляцией именно тех фрагментов на C? Тем более, что если необходимость запускать gcc -E - это уж прямо такая большая недоработка, то запуск gcc для компиляции - это для создателей декоратора @inlinec, надо понимать, вообще что-то запредельно нежелательное.
Кроме того, формулировки "выполняется как есть интерпретатором", "парсер для преобразования скрипта перед его разбором интерпретатором" и "Python получает уже корректный преобразованный исходный текст скрипта"  дают основания полагать, что всё-таки код на C заменяется на какой-то код на Питоне.
Так или иначе, нигде в тексте новости ясно и недвусмысленно не сказано, что внедрённый в скрипт C-код компилируется в двоичный исполняемый машинный код - говорится только о каких-то заменах, преобразованиях и подстановках.
У человека возникли сомнения и он попытался прояснить вопрос для себя. В ответ вместо "да" или "нет" получил комментарий о неумении читать.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Главный Ананим , 04-Фев-20 22:06 
Спасибо тебе, добрый человек!

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Урри , 04-Фев-20 13:31 
В C# это решается с помощью "pinned objects". Можешь посмотреть туда.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 03-Фев-20 23:48 
Скоро все языки будут встраиваться во все, и всё у нас будет в ШоКоЛаДе.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Led , 04-Фев-20 00:16 
> всё у нас будет в ШоКоЛаДе.

Шёл бы ты на свой iПарад...


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено nelson , 04-Фев-20 00:31 
Оно и видно, что этим вашим "шоколадом" в вебе настолько всё обмазано, что разит за триста вёрст.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено GentooBoy , 03-Фев-20 23:49 
Забавно думал это давно было. Ruby так умел еще в году этак 2008, а может и раньше. https://github.com/seattlerb/rubyinline

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 00:39 
А ежели я захочу в одном питонячем скрипте и си и хтмл?

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 03:18 
Ждите from inlinehtml import inlinehtml

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 00:39 
Хорошая новость для Сишников. Теперь можно программулину на С обернуть в несколько строк на Пайтон и считатся модным молодежным кодером. Фиг же кто оспорит.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено axredneck , 04-Фев-20 01:22 
Теперь можно в одной программулине оба языка использовать. Иногда такое надо.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено имя_ , 04-Фев-20 02:31 
man ffi

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Анонимус2 , 04-Фев-20 10:05 
С этим вашим ffi приходится ещё тащить всякое уродство в виде мейкфайлов, configure и прочего. То что люди показывают что без всего этого можно обойтись - очень хорошо.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено CrazyAlex , 04-Фев-20 11:09 
С одной стороны да, а с другой - это "уродство" не просто так придумали, а для борьбы с несовместимостями платформ, конфигурирования, подключения библиотек и так далее. Что всё равно понадобится, скорее всего. Но для проствх случаев - отличный подход.

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


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено axredneck , 04-Фев-20 01:21 
Отлично! Теперь буду скрипты на сях писать.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 09:49 
А что раньше то мешало? Tcc даже пример приводил как это делать. Без всяких пихонов :)

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 03:19 
Не совсем разобрался, а вызовы из Python происходят из основного потока или используется какой-то вариант ThreadPool? Не возникнет ли проблем с реентерабельностью и потокобезопастность в данных C подкладках?

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 05:06 
А в чём проблема? Питон однопоточный же в любом случае. Если отключишь гил, делай как захочешь, но это придётся в сишном коде реализовывать.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено анононимс , 04-Фев-20 07:28 
Пихон поддерживает экспериментально subinterpreters

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Анончик , 04-Фев-20 05:34 
Судя по комментариям либо программисты на питоне обладают специфический чувством юмора либо большая часть из них не ту профессию выбрала.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 07:01 
код разделённый отступами притягивает особенных

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 07:00 
есть более лучший способ:
# ln -sf /usr/bin/gcc /usr/bin/python

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 11:53 
# ln -sf /usr/bin/g++ /usr/bin/python ближе к телу Python

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 07:26 
Если мне не изменяет память, то пайтон является основным инструментом для непрограммистов.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 08:08 
У непрограммистов основные инструменты - Word и Excel

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 09:50 
Ну так их vbscript как раз для примерно той же аудитории что и питон.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено nox. , 04-Фев-20 10:45 
> Ну так их vbscript как раз для примерно той же аудитории что и питон.

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


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Сишник , 04-Фев-20 19:10 
Ты нормальный?

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 08:49 
> Если мне не изменяет память

память вам ещё как изменяет...

https://www.opennet.ru/openforum/vsluhforumID3/118875.html#23


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 09:51 
Гвидо просто сделал несколько опечаток в слове "вебмакака". Ну и он допрограмился до того что сбежал с должности BDFL. Видимо, настолько ускорился что превысил скорость света, не иначе.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 10:38 
> вебмакака

Вебмакака - термин, который не привязан к конкретному языку. Это "состояние души". Например, в российских конторах полно макак, которые пишут отвратительный код на C или Java.


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 06-Фев-20 16:57 
На си писать отвратительный код - неудобно и чревато. А на питоне отвратительный код повсеместно. Вон там в соседней новости какие-то тела размахивают чудом где код и конфигурация вперемешку. Найти сишника который бы так же делал наверное трудно даже в РФ.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 11:35 
Сколько ошибок в слове "1С"

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено corvuscor , 04-Фев-20 08:09 
ИМХО, малополезная вещь, синтаксический сахарок.
Не вижу никакой проблемы писать, юзая ctypes.

Самая мякотка здесь в преобразовании типов, которое между си и питоном делается ручками по принципу выдалбливания пещеры зубочисткой.
Что сводит все профиты на нет.


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 08:23 
Извращенцы
Чем не угодил цВитон

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 08:23 
Ждём inlinerust

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 20:45 
Нет, не ждем.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено ACCA , 04-Фев-20 08:44 
Гвидобэйсик дорос до Inline::C. А там есть ещё Inline::Java и Inline::Python. Есть куда расти.

В своё время с помощью Inline::C ускорил ETL в 30000 раз. Упёрся в 12Gbps SAS и забил на дальнейшую оптимизанцию.

Вот спрашивается, на что они потратили 30 лет?


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Печаль , 04-Фев-20 09:29 
На нормальную документацию на разных языках и библиотеки. Оттуда и популярность.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Crazy Alex , 04-Фев-20 13:18 
Ты хотя бы примерно видел объём перловых библиотек? CPAN многие годы совершенно чудовищен в этом плане.

Что до документации - тоже чепуха. Camel book и наследники прекрасны и спокойно позволяют въехать в язык нуля.

Основная проблема перла - он делался умным для умных, и его гибкость и анархичность оказались чрезмерными для обывателя, в отличие от питоновского орднунга с его pep8. Второстепенные - в нём некоторое время был бардак с юникодом (хотя в основном - это, опять же, бардак в головах на тему что такое кодировки и как ими пользоваться) и странные заголовки функций.


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено имя_ , 04-Фев-20 13:24 
>делался умным для умных

ой, кто это тут у нас: неужели илитка?


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Урри , 04-Фев-20 13:26 
Нет, он просто умный. И я тоже умный. Это позволяет нам, умным, хорошо видеть дураков.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено имя_ , 04-Фев-20 13:53 
Поражаюсь вашей выдержке: так трудно оставаться аристократом, когда воркуг одно быдло неразумное.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено илитчик , 04-Фев-20 17:32 
Завидуешь умным? Попробуй читать больше грамотных книг, расширяй кругозор. Развивай критическое мышление, ищи всякие упражнения для мозга. Научишься хоть язвить остроумно.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено имя_ , 04-Фев-20 18:19 
ну, что вы, ваше блаародие, куда мне до господ...

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 05-Фев-20 15:05 
все перечисленное не делает умным, непонимание этого прекрасно показывает какой ты "умный" на самом деле

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Анонимкос , 05-Фев-20 23:25 
Забивание чердака чужими готовыми решениями и идеями не делает тебя умным. Также умные люди, как правило, тяготеют к скромности, т.к. прекрасно осознают, что нихера не знают.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено CrazyAlex , 04-Фев-20 11:12 
На борьбу со скобками... и на нормальные заголовки функций :-)

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено ManulCat , 04-Фев-20 11:30 
А когда ASM прикрутят? Без ASM'а очень тяжко кодить в принципе... Хочу ASM в питоне, а то в JS сделали, а здесь нет.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Crazy Alex , 04-Фев-20 12:28 
Прочёл сначала как "Когда AST прикрутят"... и что-то в этом есть.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 13:10 
Так, оно же через gcc работает, а gcc ASM умеет.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним84701 , 04-Фев-20 14:25 
> А когда ASM прикрутят? Без ASM'а очень тяжко кодить в принципе...

В 2008, если не раньше - назывался (кто бы мог предположить) - pyasm, причем были разные и от разных авторов.
pycca - "PyCCA provides compilers for C and x86 assembly" тоже уже лет 6
MicroPython:
http://docs.micropython.org/en/v1.9.3/pyboard/pyboard/tutori...
> MicroPython includes an inline assembler. It allows you to write assembly routines as a Python function, and you can call them as you would a normal Python function.

В общем, "приходи вчера!".

> Хочу ASM в питоне, а то в JS сделали, а здесь нет.


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Урри , 04-Фев-20 13:24 
Что только не придумают, лишь бы С не изучать.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 15:29 
а про Rust забыли уже?

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Anonim , 04-Фев-20 15:31 
Н вот, на нормальный язык стал похож. А то выглядел, как псевдокод...

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 15:51 
а в это время на swift пишутся проекты для ML, data science.
пара примеров:
https://github.com/param087/swiftML
https://github.com/KarthikRIyer/swiftplot

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 20:48 
Нет, не пишутся.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 04-Фев-20 16:40 
А потом мы возьмем и все напишем на Си :)

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 06-Фев-20 03:54 
Основную массу времени сижу на англоязычных ресах, после перехода на "нашинские-простоквашинские" хочется завыть читая комменты "умников", и начинаешь понимать парадокс "хорошие люди в плохой стране"

Сплошная дичь и выпендреж при полном непонимании инструментов.

Python изначально следовал и следует за математикой и выразительностью с ракурса мат.абстракции (принося в жертву дороговизну манипуляций в реалиях архитектуры фон Неймана)

Из этого ряда - работа с целыми бесконечной длины,и т.п.

Питон (и какой-нить R) и подобные (типа Wolfram) -- безальтернативны для прикладного кодинга, для датасайнтистов это вообще топ-1
(спросите у них)

Поэтому, когда вам надо относительно короткий, читабельный, академически опрятный код (со сподручной правкой - интепретатор же), то скриптовать на нем одно удовольствие.

Слабо представляю, чтобы нормальный человек в здравом уме начал кодить аналитический (ситуативный) расчёт или какой нить сценарий/скрипт деплоя на компилируемом GoLang.

Хотя вроде всякие Sublime,Blender(3D) юзают и не жалуются на "скорость", не говоря и Django, футпринт которого по скорости и памяти не хуже, написанного (весьма не криворукими олдскулами типа PAFa и Moko) на C++, какого нить отечественного Parser3 с высокоуровневой оснасткой типа PF2 (без обвязок это велосипед для гостевух). И на котором вертятся онлайн банкинги некоторых топовых банков и порталы/лк сотовых операторов (Татьяныч не даст соврать)

*про GIL отдельно одаренным стоит понять почему это и изучить питоновские корутины, если приспичил асинхрон.

Сишно,Гошные языки напротив, следуют за архитектурой (ценой всего вышеперечисленного выше) и когда "вещь" уже устоялась и она высоконагруженная (не только самим питоном, лол), то тогда и только тогда имеет смысл "вертикальной интеграции вниз" то есть переписывания всего или ядра под архитектурно-оптимизированные языки.

Серебряной пули нет (пока) и каждый инструмент под свои задачи. Впрочем, php можно убрать за скобки вообще.


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 06-Фев-20 04:24 
Я просто оставлю это здесь:
https://benchmarksgame-team.pages.debian.net/benchmarksgame/...

На некоторых операциях типа обработки текста, Питон3 уделывает даже Rust, а Go просто в пыль.

Ещё на операциях типа pdigits, поэтому тупые вскукареки выдают лузеров индустрии.

в операциях с btree (бинарные деревья) разница между go и питоном почти не будет

А ещё есть PyPy с JIT-компиляцией, которая уделывает CPython, в общем много чего есть.


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 06-Фев-20 04:50 
Без сложных задач:
вот этот код на чистых Сях:
(сумма в цикле)

#include <stdio.h>

int main ()
{
   long a;
   long sum;
   /* for loop execution */
   for( a = 0; a < 10000000; a++ )
   {
        sum += a;
   }
    printf("sum: %ld\n", sum);
   return 0;
}


выполнится в лучшем случае в 3 раза быстрее (что обычное число отставания Go от чистых С в бенчах) чем на Python3 через pypy (при втором запуске)

sum = 0
for i in range(10000000):
    sum+=i
print(sum)


^^^
А выразительность, и краткость листинга, я думаю наглядна, "писакам всего на Сях" :)


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 06-Фев-20 14:03 
Ну то есть за 4 строчки кода вместо 8 готовы пожертвовать 3x производительности. Ох уж эти пыхтонисты.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 06-Фев-20 14:03 
И то инклуд, main() и return 0 можно не считать, то есть не 8 даже, а 5.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 06-Фев-20 16:59 
> И то инклуд, main() и return 0 можно не считать, то есть
> не 8 даже, а 5.

К тому же на инклуд можно забить, если уж програмить с качеством как у питонистов. И фигурные скобки в for лишние, однако.


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним , 06-Фев-20 21:44 
x3 это вообще среднее отставание golang от C на многих бенчах. А уж асму то сколько "иксов" слили и подумать страшно.

"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено InuYasha , 06-Фев-20 20:18 
у тебя ошибка в коде и рандомный результат.

{
    long sum = 0;
    for (long a = 0; a < 10000000; a++)
        sum += a;
    printf("sum: %ld\n", sum);
}


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено Аноним84701 , 06-Фев-20 21:02 
> у тебя ошибка в коде и рандомный результат.
> {
>     long sum = 0;
>     for (long a = 0; a < 10000000;
> a++)
>         sum += a;
>     printf("sum: %ld\n", sum);
> }

Результат по-любому "рандомный", т.к. будет вычислен во время компиляции (начиная с -O1) и в итоге "замерять" будут время старта и вывода константы:

echo 'long foo(void) {long sum = 0; for (long a = 0; a < 10000000; a++) sum += a;return sum;}'|gcc -O2 -S -x c - -o -
foo:
.LFB0:
    .cfi_startproc
    movabsq    $49999995000000, %rax
    ret
    .cfi_endproc

Ну и вообще, пока горячие парни опеннета упорно сравнивают длин^W разм^W количество скобок-строк, однострочник на awk (вообще без скобок и отступов) делает их, как стоячих – что по скорости, что по минимализму 😎 *gg*


echo 10050000000000000000|time gawk '$0=$1*($1-1)/2'
50501249999999996460144636159871418368
gawk '$0=$1*($1-1)/2'  0,00s user 0,01s system 80% cpu 0,006 total


"Inlinec - новый способ использования Си-кода в Python-скрипт..."
Отправлено InuYasha , 06-Фев-20 20:00 
// Автор "хитрец" - разбросал всё что мог по отдельным строчкам
int main()
{
    long a, sum;
    for (a = 0; a < 10000000; a++)
        sum += a;
    printf("sum: %ld\n", sum);
    return 0;
}