The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск Nuitka 1.0, компилятора для языка Python "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск Nuitka 1.0, компилятора для языка Python "  +1 +/
Сообщение от opennews (??), 17-Авг-22, 08:40 
Доступен  выпуск проекта Nuitka 1.0, развивающего компилятор для трансляции скриптов на языке Python в представление на языке C++, которое затем можно скомпилировать в исполняемый файл, использующий libpython для обеспечения максимальной совместимости с CPython (используются штатные средства CPython для управления объектами). Обеспечена полная совместимость с актуальными выпусками Python 2.6, 2.7, 3.3 - 3.10. По сравнению с CPython скомпилированные скрипты демонстрируют в тестах pystone повышение производительности на 335%. Код проекта распространяется под лицензией Apache...

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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

4. Сообщение от Аноним (4), 17-Авг-22, 08:56   +5 +/
Чтобы продолжить принятую нумерацию следующая версия должна была быть 0.10, лол.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #15, #85

6. Сообщение от Аноним (6), 17-Авг-22, 08:58   –1 +/
> используются штатные средства CPython для управления объектами

дык без этого было бы ещё шустрее

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #49

7. Сообщение от Аноним (4), 17-Авг-22, 08:59   +/
Сейчас для задач запихивания питон приложения в бинарник использую PyOxidizer, но Nuitka тоже использовал в своё время. Хорошо что есть конкуренция.  
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #9, #127

8. Сообщение от Жироватт (ok), 17-Авг-22, 09:01   –9 +/
Каждый язык - для своей ниши. В этом нет ничего плохого.

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

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #11, #12, #29, #54, #84

9. Сообщение от Жироватт (ok), 17-Авг-22, 09:04   +/
> PyOxidizer exposes ... for embedding self-contained Python interpreters as a tool and software library.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #34

10. Сообщение от pashev.ru (?), 17-Авг-22, 09:06   +/
> Добавлена поддержка Fedora 36.

Это признак ковнокода. Не Федора и не 36, а «поддержка <любого дистрибутива>».

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #13, #37, #73

11. Сообщение от Аноним (11), 17-Авг-22, 09:07   +/
Зато после того как код уже написан/отлажен, можно прогнаться компилятором и сделать код быстрее. Как единый бинарник его и хранить/разворачивать/сопровождать проще.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

12. Сообщение от Аноним (6), 17-Авг-22, 09:09   +6 +/
жиденько ты, жироватт, IRL у питона ниша явно побольше чем в твоих влажных фантазиях
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #19, #20

13. Сообщение от Аноним (6), 17-Авг-22, 09:10   –1 +/
дооооооо, проблема в программах, а не в дистрах с их 100500 костылями
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #14

14. Сообщение от Аноним (6), 17-Авг-22, 09:11   +/
и велосипедами
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

15. Сообщение от Прохожий (??), 17-Авг-22, 09:12   –4 +/
Понимаю, это не то занятие,  чем занимаются по большей части  местные эксперты, но если подумать, то в числе 0.10 последний ноль не значащий.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #31, #38, #72, #79

16. Сообщение от БиоБабай (?), 17-Авг-22, 09:16   +1 +/
Нужен выпуск проекта <...> 1.0, развивающего компилятор для трансляции скриптов на языке Rust в представление на языке C/C++
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #23, #51

19. Сообщение от Прохожий (??), 17-Авг-22, 09:20   –5 +/
Это лишь потому, что уровень вхождения относительно низок. Но других достоинств у языка и нет, он слишком примитивен и применение его в больших проектах в качестве основного языка чревато сильной головной болью.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #21, #28, #78

20. Сообщение от Жироватт (ok), 17-Авг-22, 09:22   –3 +/
Не "ниша", а там, где его в принципе впихнули, вместо изучения нормальных компилируемых языков.
Спать можно и на потолке, штаны надевать через голову, но никто это за нормальное использование не считает
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #35, #60

21. Сообщение от Аноним (6), 17-Авг-22, 09:22   –4 +/
пылающий хейтер в треде!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #24

23. Сообщение от Прохожий (??), 17-Авг-22, 09:24   +/
Откуда вы такие беретесь, интересно? Во-первых, Раст - это компилятор. Во-вторых, там и так LLVM используется. В-третьих, это оффтопик.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #25, #50, #59

24. Сообщение от Прохожий (??), 17-Авг-22, 09:25   +/
Вообще-то, нет. Я сам Python использую. Только у меня это не для всех дырок затычка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

25. Сообщение от trolleybus (?), 17-Авг-22, 09:29   +/
> Во-первых, Раст - это компилятор.

Во-первых, Раст - это язык.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #27, #47

27. Сообщение от Прохожий (??), 17-Авг-22, 09:35   –1 +/
Спасибо, Кэп. Это как бы само собой, вроде.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25

28. Сообщение от Sw00p aka Jerom (?), 17-Авг-22, 09:35   +/
>применение его в больших проектах

что это за проекты такие?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #30, #41

29. Сообщение от Аноним (29), 17-Авг-22, 09:38   +1 +/
То какие-то там недоязыки, а Пайтон(C)(R) для всего. Не знали?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

30. Сообщение от Прохожий (??), 17-Авг-22, 09:38   –3 +/
Больше пары десятков тыс. строк (плюс/минус).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #61, #82

31. Сообщение от Аноним (31), 17-Авг-22, 09:44   +3 +/
> в числе 0.10

Ты исходишь из ложной предпосылки, будто версия - это число. А на самом деле это строка. Причем можешь считать ее строкой в свободной форме, т. к. может быть например такой: 1.2.3.4-SNAPSHOT, или даже такой: 1.123.45a+bc419a2. И лишь semver добавляет предсказуемости в эту строку. И нет, даже в semver версия - это не число. Это три числа.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #80, #104, #108

34. Сообщение от Аноним (42), 17-Авг-22, 09:54   +6 +/
Распространять результат работы заказчику, который например не является айти-компанией, где просто для решения задачи ткнуть в бинарник, сделать действия по инструкции и получить результат. Этот софт для многих заказчиков останется навсегда легаси и священной коровой к которой никогда не надо подходить и что-то менять.  
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #46

35. Сообщение от Аноним (42), 17-Авг-22, 09:56   +3 +/
Это сейчас был ор. Вот как раз использование компилируемых языков там где можно заюзать простой питон и есть надевание штанов через голову. Ты походу живешь на потолке.  
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #40, #52

37. Сообщение от Аноним (42), 17-Авг-22, 09:58   +5 +/
Ага ты хочешь гигантские статические бинарники на каждый чих? Тогда электрон тебе покажется легковесной пушинкой.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #55

38. Сообщение от Анонус (?), 17-Авг-22, 09:58   –2 +/
Но ведь 0.10 это не число, а строка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #42, #86

40. Сообщение от Аноним (-), 17-Авг-22, 10:01   +1 +/
посмотри на ник этого господина и всё станет понятно, зачем тратить время доказывая что-то местным завсегдатаям?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #58

41. Сообщение от Аноним (41), 17-Авг-22, 10:04   –1 +/
Матрикс синапсе.
Твоя мамка хдддд
Еще примеры?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #81

42. Сообщение от Аноним (42), 17-Авг-22, 10:08   +1 +/
Прохожий явно джаваскриптизёр.  
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38 Ответы: #103

46. Сообщение от Жироватт (ok), 17-Авг-22, 10:42   –2 +/
>  заказчику, который например не является айти-компанией, где просто для решения задачи ткнуть в бинарник

Для этого разве не был создан дотнет с шарпеем впридачу, где даже версионированного черта в ступе в пакете с nuget подтянуть можно? Просто твой сценарий, да для таких компаний (100% винда везде) немного мимо.

Хотя, хм... а может попробовать из твоего питона подсоединиться к СОМ-серверу 1С, вытянуть оттуда формализованные данные по справочнику отбором, собранным на основе имен excel-файлов в предзаданной папке на сервере. А затем эти данные надо будет преобразовать в форматные строки и по трубе скормить другому легаси, дернув при успехе по СОМ СКУД разработки 2006-2008го года. Думаешь получится?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34 Ответы: #53, #56

47. Сообщение от Жироватт (ok), 17-Авг-22, 10:43   +1 +/
> Во-первых, Раст - это религия

Поправил, не благодари

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #77

49. Сообщение от Аноним (49), 17-Авг-22, 11:54   +2 +/
Дык без этого не работало бы ваще.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

50. Сообщение от Аноним (49), 17-Авг-22, 11:59   +1 +/
Вот вместо LLVM и надо в C++.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

51. Сообщение от Аноним (49), 17-Авг-22, 12:00   +/
Теперь-то уже нужно в Carbon.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #71

52. Сообщение от Аноним (52), 17-Авг-22, 12:07   +/
заюзал sbcl и оно прямо в асм
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #98

53. Сообщение от economist (?), 17-Авг-22, 12:32   +/
Почти так и делаем. Но COM падуч, OData сложно (а напрямую с таблицами БД PostgreSQL - лЫцензия 1С запрещает работать). Поэтому выгрузить справочники в TXT целиком и из 1С, и из СКУД, и все это Python/Pandas скрестить, кинуть pickle в streamlit и раздать по web - вот это работает очхор.

Сабж будет полезен для бинарника, если не хочется светить исходники и ловить блох на обновлении либ.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46

54. Сообщение от topin89 (ok), 17-Авг-22, 12:47   +/
У компиляции есть ещё одно достоинство -- возможность распространять без исходников. Если почитать, на какие ухищрения шли люди из Drobpox, чтоб даже по байт-коду не смогли восстановить, становится понятно, что кому-то подобное нужно
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

55. Сообщение от topin89 (ok), 17-Авг-22, 12:52   –4 +/
Цены на память упали, объёмы подросли. Я был бы очень да же за почти статический бинари, оставить в динамике только стандартные библиотеки языков, да и то не всегда. Это всяко лучше, чем делать контейнеры на каждый чих.
Проблема электрона не сколько в объёме на диске, сколько в безумном жоре оперативы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37 Ответы: #57, #62

56. Сообщение от Аноним (56), 17-Авг-22, 13:12   +/
Да на той стороне даже просто питон на виндовую машину поставить будет  целая проблема. Там нужно будет согласование всех со всеми и кто-нибудь скажет, а какие гарантии что вот этот ваш Anaconda безопасен кто его поддерживает и всё такое. А у еникея просто мозг бы расплавился от необходимости ставить питон. А так просто нажал запустил и всё работает.  
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46 Ответы: #65

57. Сообщение от Аноним (56), 17-Авг-22, 13:14   +/
Статические бинари тоже едят оперу.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55

58. Сообщение от Аноним (56), 17-Авг-22, 13:15   +/
Да уж ну и ник впервые такой вижу, а уже в шоке кто мог вообще придумать такой ник!?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40

59. Сообщение от Аноним (56), 17-Авг-22, 13:16   +3 +/
Ты забываешь что это компилятор ненужного языка раст.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

60. Сообщение от Аноним (-), 17-Авг-22, 13:26   +1 +/
>Не "ниша", а там, где его в принципе впихнули, вместо изучения нормальных компилируемых языков.

Вот откуда вы это тащите? Вы понимаете, что в том-же C, помимо написания самой программы, нужно еще кучу дополнительных вещей не забывать (например, про места, где выделялась память), но и еще и помнить кучу взаимосвязей между файлами?
И вместо того, чтобы заниматься творчеством, если можно так выразиться, ты вынужден заниматься ведением заметок и периодическими перепроверками, а также созданием соглашений для себя (или даже для других), чтобы то, что ты написал, осталось в виде стройной структуры.
В Python нет необходимости в вышеуказанных напрягах, на нем сразу можно заниматься чистым творчеством. Вот во многом поэтому его и любят.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #74, #83, #102, #111

61. Сообщение от Аноним (61), 17-Авг-22, 13:33   +/
Т.е. каждый второй привет мир? Ну и, к тому же, для питона некорректно мерять числом строк, в нём 100 сишных строк в каждой строке помещается. Так что умножайте привычные оценки на 100.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30

62. Сообщение от Аноним (62), 17-Авг-22, 13:49   +/
Зачем контейнеры, если изоляция ненужна? И монолитный бинарь тоже ни к чему. Можно просто положить все зависимости в пакет, который развернётся в отдельную папку.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55 Ответы: #67, #70

65. Сообщение от aname (?), 17-Авг-22, 13:56   +/
Контейнеры?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56 Ответы: #68

67. Сообщение от aname (?), 17-Авг-22, 14:01   +/
Это флатпак?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #62

68. Сообщение от Аноним (68), 17-Авг-22, 14:57   +1 +/
Чтобы они запускались в виртуалке? Можно сразу дистр ОС засылать)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #65

70. Сообщение от Аноним (68), 17-Авг-22, 14:59   +/
аппимдж? То что ты говоришь это дикий велосипед, который никто никогда делать не будет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #62

71. Сообщение от Аноним (68), 17-Авг-22, 15:00   +/
Carbon медленно спускается и покрывает всё стадо.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51

72. Сообщение от Anon123456 (?), 17-Авг-22, 15:06   +/
для справки. обычно номер версии - не десятичная дробь, а несколько групп цифр, разделенных версиями.
пример: Linux Kernel stable 5.19.1
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

73. Сообщение от Аноним (73), 17-Авг-22, 15:27   +1 +/
Возможно, всё куда проще: добавили сборку пакетов и для 36й версии Fedora.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #75

74. Сообщение от OpenEcho (?), 17-Авг-22, 15:28   +/
> вещей не забывать (например, про места, где выделялась память)

Выдуманая проблема народом не втыкающим в банальную логику.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60 Ответы: #76, #88

75. Сообщение от Аноним (73), 17-Авг-22, 15:29   +1 +/
В смысле - пакетов собственно Nuitka.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #73

76. Сообщение от Аноним (-), 17-Авг-22, 15:44   +/
>Выдуманая проблема народом не втыкающим в банальную логику.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74

77. Сообщение от Аноним (-), 17-Авг-22, 16:17   +1 +/
>  Во-первых, Растохейтерство - это религия

Поправил, благодари

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47

78. Сообщение от Аноним (-), 17-Авг-22, 16:39   +1 +/
о, очередной иксперт. показый свой гитхаб с питон-проектами, трепло, или gtfo
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19

79. Сообщение от айнаниммм (?), 17-Авг-22, 17:01   +/
займитесь уже изучением хороших и одекватных языков, например Rebol и тогда будете вам счастье с пониманием этого мира - http://www.rebol.com/docs/core23/rebolcore-3.html#section-2.5 :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #94

80. Сообщение от kusb (?), 17-Авг-22, 17:10   +/
Версия интерпретатора Python это число
Версия интерпретатора Tcl это строка
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31 Ответы: #93

81. Сообщение от Sw00p aka Jerom (?), 17-Авг-22, 17:18   +/
> Еще примеры?

можно, если не трудно.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41

82. Сообщение от Sw00p aka Jerom (?), 17-Авг-22, 17:23   +/
> Больше пары десятков тыс. строк (плюс/минус).

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30 Ответы: #105

83. Сообщение от Додо (?), 17-Авг-22, 17:44   +/
В Python многие, к сожалению, пишут как попало. Например, используют kwargs для передачи параметров, причем без документации к нему - даже в довольно популярных библиотеках.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60 Ответы: #89, #96

84. Сообщение от beck (??), 17-Авг-22, 18:24   +/
> Питон - для прототипирования и быстрого скриптинга редких задач, для которых шелл уже недостаточен, а писать отдельный бинарник влом.
> Жаль, что не все понимают сию истину. Тогда бы и таких транспайлеров бы не было

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

Во времена моей программистской молодости была такая СУБД dbase и одноимённый язык программирования, так вот, правильными ребятами был запилен компилируемый Clipper, совместимый с dbase III+. И куча проблем dbase, связанная с установкой самого dbase на целевые системы моментально решилась. Написал на Clipper, собрал exe-шник, отдал клиенту, тот максимум что сделал, добавил в path имя этого exe-шника, всё.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #106

85. Сообщение от Аноним (87), 17-Авг-22, 18:41   +1 +/
На основе этого уровень проекта huitka уже ясен.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

86. Сообщение от Бывалый смузихлёб (?), 17-Авг-22, 18:55   +/
Значит следующая версия будет 0.101, а после - 0.1011 ?)

Ну к слову о "0.10" + 1

Но тогда и нынешняя версия после 0.9 должна быть 0.91

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38 Ответы: #87, #120

87. Сообщение от Аноним (87), 17-Авг-22, 20:09   +/
Если только с точки зрения жабоскриптомакаки.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #86

88. Сообщение от Аноним (-), 17-Авг-22, 21:39   +/
> Открыл ресурс, тут же закрой его следующей строкой, а потом уже тайпай между строками гениальный код и нет "проблем"

А теперь представь себе, что ты работаешь с хеш-табличкой, в которой ключи и значения -- это строки. Тебе влетел ключ со значением, и тебе надо либо обновить пару ключ-значение в хеш-табличке, либо добавить её туда. При этом, ты не хочешь искать ключ в табличке дважды, и поэтому не вариант сначала проверить наличие ключа, а потом по условию либо обновить, либо добавить. И при этом, ты не хочешь почём зря создавать копии строк. Причём на вызывающей тебя стороне, может быть, уже выделили память под ключ, и отдали её тебе, и ты можешь отдать её хеш-табличке, если новую пару добавлять надо. Но в этом случае надо сделать free на такой ключ, если ключ уже есть в хештабличке. А может быть на вызывающей стороне ключ был создан в памяти на стеке, и в случае добавления нового ключа в хештабличку надо сделать strdup на этот ключ, а если ключ найдётся в хештабличке, то с этой памятью ничего делать не надо.

Со значение связываемым с ключом чуть проще, но есть свои нюансы. Если искомый ключ в хештабличке есть, то с ним связано значение, и это уже выделенная память, в которую можно скопировать новое значение, чтобы почём зря не выделять память. Но только если там достаточно памяти куда копировать. И не забыть сделать free. При этом, если тебе передано owned значение, то проще сделать free на старое значение, чем копировать.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74

89. Сообщение от Аноним (-), 18-Авг-22, 04:17   –1 +/
Передают не параметры, передают аргументы в параметры. А kwargs и предназначен для передачи произвольного количества именованных аргументов. Здесь нет ошибки.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83

93. Сообщение от Аноним (93), 18-Авг-22, 08:13   +/
Хорошо версия питон число, смотрим в убунте sys.version_info(major=3, minor=8, micro=10, releaselevel='final', serial=0)

Как же так почему последний 0 у micro=10 не исчезает, хотя аффтар выше написал что 0 должен исчезнут, мистика?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #80 Ответы: #123

94. Сообщение от Аноним (93), 18-Авг-22, 08:16   +/
Джава скриптизеры не учат другие языки, они просто во всех областях применяют джаваскрипт.  
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #79

95. Сообщение от Аноним (95), 18-Авг-22, 08:21   +/
> для трансляции скриптов на языке Python в представление на языке C

Чо сразу С не взять?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #97

96. Сообщение от Аноним (93), 18-Авг-22, 08:27   +/
Ха так ты питоновский курсовик ничего не знаешь, но мнение имеешь. Напиши в питоновской консоли help(имя_функции) и тебе покажут какие туда передают kwargs args и даже текст описания если есть.  
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83

97. Сообщение от Аноним (93), 18-Авг-22, 08:29   +/
Лучшая шутка в этом треде.  
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #95

98. Сообщение от Аноним (93), 18-Авг-22, 08:32   +/
Это ты сожрал штаны они вышли из кишечника, а потом ты их надел. Да очень удобный способ (нет)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52 Ответы: #101

99. Сообщение от Аноним (99), 18-Авг-22, 11:15   +/
А Flask скомпилит или тутт для hello world'ов только подходит ?
Ответить | Правка | Наверх | Cообщить модератору

101. Сообщение от Аноним (101), 18-Авг-22, 15:59   +/
Но никто не жрал штаны, sbcl как только увидел код - безо всякого JIT сразу, как надо, скомпилировал. Безо всяких героических потуг по приделыванию компиляторов сбоку и прохода кода сперва туда, потом сюда, потом с вкомпилировыванием на libpython, те же операции с fixnum-ами компилируются примерно как у любого вменяемого компилятора.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #98

102. Сообщение от Аноним (101), 18-Авг-22, 16:00   +/
>Вы понимаете, что в том-же C

Vala и Genie (с похожим на питон синтаксисом) делают бррр и импортируются через from gi.repository import namespace.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60

103. Сообщение от Прохожий (??), 19-Авг-22, 06:43   +/
Прохожий точно не джаваскриптер. Прохожий - математик,который солидарен с авторами продукта. Но диванных экспертам с Опеннета, конечное же, виднее (нет).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #42 Ответы: #107

104. Сообщение от Прохожий (??), 19-Авг-22, 06:46   +/
Я исхожу? Это авторы продукта так решили. Я с ними солидарен. А вот твоя предпосылка действительно ложная.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

105. Сообщение от Прохожий (??), 19-Авг-22, 06:53   +/
Свои проекты никому не интересны, кроме автора, поэтому их рассматривать не имеет смысла. Чем бы дитя не тешилось, абы не плакало.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #82 Ответы: #118

106. Сообщение от Прохожий (??), 19-Авг-22, 07:01   +/
И всё для чего? Только для того, чтобы не использовать изначально компилируемый язык. А Clipper - то ещё г-о.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #84

107. Сообщение от Аноним (31), 19-Авг-22, 07:09   +1 +/
Угомонись уже, теоретик версионирования. Во всех системах управления версиями версия - это строка. Убедись в этом сам, обнаружив в шоке, что сравниваются версии не как числа, а как довольно сложные слабопредсказуемые строки: https://github.com/rpm-software-management/rpm/blob/master/r...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #103 Ответы: #109

108. Сообщение от Прохожий (??), 19-Авг-22, 07:13   +/
Заодно предлагаю тебе поразмыслить вот над чем. Если версия - это строка (всегда), то почему почти всегда она увеличивается, как число, а не как могла бы строка (я на конкатенацию намекаю, если что)?

Говорю же, думание - это не то, к чему привыкли местные эксперты

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

109. Сообщение от Прохожий (??), 19-Авг-22, 07:18   –2 +/
Тебе бы промолчать, за умного сошел бы. Во всех системах версия - это строка, но такая, которая состоит из групп чисел, а не строк. И эти числа увеличиваются обычно в соответствии с правилами математики, а не конкатенацией (как это было бы с чистыми строками).
А ещё советую тебе, типа практику, перечитать новость ещё раз. Авось с N-го раза дойдёт, что для даного продукта версия - это число.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #107 Ответы: #112

111. Сообщение от Прохожий (??), 19-Авг-22, 07:39   +/
C - единственный компилируемый язык, что ли? Других нет?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60

112. Сообщение от Аноним (31), 19-Авг-22, 07:57   +1 +/
> но такая, которая состоит из групп чисел, а не строк

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

> эти числа увеличиваются обычно в соответствии с правилами математики

Правила математики не описывают, как "увеличение" строки "rc" должно вести к "stable", как это бывает с 1.0.0-rc < 1.0.0-stable. Так что твоя предпосылка снова неверна.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #109 Ответы: #113

113. Сообщение от Прохожий (??), 19-Авг-22, 08:12   +/
> Начинали помнится с твоей глупой мысли о том, что версия - это всего одно число.

Может даже покажешь, где я такое говорил, фантазёр?
Очевидно, что если версия выглядит, как, например, вот такая группа чисел 3.5.1 - это явно не одно число. Теперь ЕЩЁ раз смотрим на текст новости. ВНИМАТЕЛЬНО. Я верю, с третьего раза у тебя получится. Какая там версия, как выглядит, какая нумерация выбрана авторами? Мы ведь о конкретном продукте, а не о сферическом коне в вакууме. Да?

>Правила математики не описывают, как "увеличение" строки "rc" должно вести к "stable", как это бывает с 1.0.0-rc < 1.0.0-stable.

Причём здесь строка rc? Причём здесь stable? Что ты несёшь вообще? Правила математики говорят, что, если была версия 0.9, а теперь -  1.0, то человеку, знакомому с математикой, очевидно, что 1.0 - более поздняя версия, чем 0.9. Что и выразили авторы продукта.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #112 Ответы: #114

114. Сообщение от Аноним (31), 19-Авг-22, 08:36   +1 +/
> Может даже покажешь, где я такое говорил, фантазёр?

Пожалуйста: "если подумать, то в числе 0.10 последний ноль не значащий".

> Теперь ЕЩЁ раз смотрим на текст новости. ВНИМАТЕЛЬНО.

Пока ты там пытаешься читать текст новости, я читаю непосредственно исходники и вижу, что даже в этой твоей нуитке версия - это альфа-нумерик строка вида "1.1rc5". Держи шок-контент:

- https://github.com/Nuitka/Nuitka/blob/develop/nuitka/Version.py
- https://github.com/Nuitka/Nuitka/blob/develop/Developer_Manu...

> Причём здесь строка rc? Причём здесь stable?

Действительно, причем тут rc? Рекомендую тебе пойти к разрабам нуитки и пояснить им по понятиям, что они всё делают не по математике:

    version = getNuitkaVersion()
    if "rc" in version:
        ...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #113 Ответы: #115

115. Сообщение от Прохожий (??), 19-Авг-22, 11:31   –2 +/
> Пожалуйста: "если подумать, то в числе 0.10 последний ноль не значащий".

И где здесь обобщение, распространяемое на все возможные трактовки версий?

> Пока ты там пытаешься читать текст новости, я читаю непосредственно исходники и вижу, что даже в этой твоей нуитке версия - это альфа-нумерик строка вида "1.1rc5". Держи шок-контент:

Во-первых, фантазёр, нуитка - не моя. Во-вторых, и? Что сказать-то хотел? Как этот факт опровергает другой, в соответствии с которым версии трактуются как десятичные дроби? Или рассматривать числа отдельно, а буквы отдельно мы априори не можем, потому что тебе так захотелось?

> Действительно, причем тут rc? Рекомендую тебе пойти к разрабам нуитки и пояснить им по понятиям, что они всё делают не по математике:

Ну-ка, ну-ка, исследователь исходников ты наш, посмотри как изменилась числовая часть? Ой, внезапно по правилам математики. Разработчики взяли да и приплюсовали 0.1. Поэтому мне разработчикам пояснять нечего, а вот тебе, похоже, ещё нужны какие-то разъяснения. Осталось понять, какие. Ты десятичные дроби не умеешь складывать?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #114 Ответы: #116

116. Сообщение от Аноним (31), 19-Авг-22, 11:52   +2 +/
> версии трактуются как десятичные дроби

Затрактуй мне как десятичную дробь 1.1rc5. А еще 1.1. А еще попытайся сравнить их: какое из них больше, а какое меньше? Заранее палю ответ: 1.1rc5 < 1.1. Но ты попытайся прийти к этому ответу, "рассматривая числа отдельно, а буквы отдельно", лол.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #115 Ответы: #119

118. Сообщение от Sw00p aka Jerom (?), 19-Авг-22, 17:31   +/
> Свои проекты никому не интересны, кроме автора

ага Линус хихикает в сторонке :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #105 Ответы: #121

119. Сообщение от Прохожий (??), 19-Авг-22, 19:21   –1 +/
Как всё запущено в "экспертном" царстве Опеннета. Да как два пальца. 1.1 - число, обозначающее версию продукта. rc5 - строка, обозначающая готовность версии продукта (release candidate). Ещё вопросы?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #116 Ответы: #122

120. Сообщение от Аноним (120), 19-Авг-22, 19:55   +/
Интересно, как ты календарь-то осилил?
Или у тебя после 31.12.99 наступило 01.01.991?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #86 Ответы: #125

121. Сообщение от Прохожий (??), 19-Авг-22, 21:04   +/
Я тоже вместе с ним. Пока его проект был личным, он никому не был нужен особо. Как только удалось заинтересовать других людей, так проект и взлетел. И это соображение верно относительно любого крупного проекта.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #118 Ответы: #124

122. Сообщение от Аноним (31), 19-Авг-22, 21:11   +/
> 1.1 - число, обозначающее версию продукта

Nope, версия продукта - это "1.1rc5". А "1.1" - лишь первые три символа версии продукта. Подумай еще. И да, не ответил на вопрос, как "затрактовать" "1.1rc5" как десятичную дробь.

getNuitkaVersion() # => "1.1rc5", а не "1.1", шоб ты подсознал, что ты воюешь с терминологией самих разрабов этой твоей нуитки

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #119

123. Сообщение от kusb (?), 19-Авг-22, 21:14   +/
Ой. Это была просто шутка про числа в tcl которые ведут себя как обычные строки.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #93

124. Сообщение от Sw00p aka Jerom (?), 19-Авг-22, 22:36   +/
>  Но кому-то нравится кактусы поглощать - тут ничего не поделаешь.

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


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #121

125. Сообщение от Бывалый смузихлёб (?), 20-Авг-22, 08:18   +/
> Интересно, как ты календарь-то осилил?
> Или у тебя после 31.12.99 наступило 01.01.991?

В календаре таки числа пусть и с разделителями но там много нюансов

Речь же шла о конкатенации строк

> Или у тебя после 31.12.99 наступило 01.01.991?

Если к строке "31.12.99" дописать "1", то будет "31.12.991" а не "01.01.991"
Ваш кэп

Как ты клавиатуру то осилил

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #120

126. Сообщение от Аноним (126), 22-Авг-22, 14:30   +/
Пробовал в прошлом всячески компилировать питон, чтоб под виндой запускать без интерпретатора с поддержкой GTK/Qt. Под линукс работало, по виндой - нет. Интересно как сейчас обстоит с этим?
Ответить | Правка | Наверх | Cообщить модератору

127. Сообщение от mandms_ (?), 26-Авг-22, 17:09   +/
А поделись чем PyOxidizer оказался лучше Nuitka?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру