The OpenNET Project / Index page

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



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

"В JIT-компиляторе Pyston-lite реализована поддержка Python 3.10"  +/
Сообщение от opennews (??), 02-Окт-22, 15:45 
Доступен новый выпуск расширения Pyston-lite, реализующего  JIT-компилятор для CPython. В отличие от проекта Pyston, развиваемого обособленно как ответвление от кодовой базы CPython, Pyston-lite оформлен в виде универсального расширения, предназначенного для подключения к штатному интерпретатору Python (CPython). Новый выпуск примечателен обеспечением поддержки веток Python 3.7, 3.9 и 3.10, помимо ранее поддерживаемой ветки 3.8...

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

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

Оглавление

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

6. Сообщение от commiethebeastie (ok), 02-Окт-22, 16:13   –2 +/
>В текущем виде по сравнению с CPython 3.8 использование Pyston-lite позволяет поднять производительность на 10% в тексте macrobenchmarks и на 28% в тесте pyperformance. Для сравнения прирост производительности при использовании обособленного Pyston составляет 28% и 65% соответственно.

Фигня это всё. В одних местах это просто не нужно, в других не спасёт и нужны llvm базированные компиляторы, либо векторизация. Это не нормально, когда сидящий на одном ядре numpy даёт 3000х прирост при замене циклов на векторы.

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

7. Сообщение от Аноним (7), 02-Окт-22, 16:28   –2 +/
Этот питон всё ускоряют и ускоряют. А он всё не ускоряется и не ускоряется. Java, JavaScript (V8) - у всех есть нормальный JIT. А у питона его как не было, так и нет. И не будет. Эдакий современный QBasic.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #9, #24, #27, #59, #134

9. Сообщение от Аноним (9), 02-Окт-22, 16:31   +2 +/
Просто пора с него уходить и всё.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #29

18. Сообщение от Аноним (18), 02-Окт-22, 17:12   +2 +/
> В текущем виде по сравнению с CPython 3.8 использование Pyston-lite позволяет поднять производительность на 10% в тексте macrobenchmarks и на 28% в тесте pyperformance.

А с потреблением памяти что становится?

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

24. Сообщение от Варенье (?), 02-Окт-22, 18:10   +3 +/
Ну так питон нужен чтобы заменять жирные bash-портянки, склеивать сишные либы и быстро делать прототипы на коленке. Для этого производительность не так и важна. Проблема только в том, что его пихают повсюду
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #30, #32, #44, #62

27. Сообщение от Аноним (27), 02-Окт-22, 18:25   +2 +/
Нашли с чем сравнивать.
Напомню, джаву лет 20 пилили с огромными вложениями и ещё большими обещаниями вплоть до "будет конкурентом плюсам по производительности", но до сих пор известна только жором памяти.
В js тоже влили невероятное количество денег и сами разработчики js машин говорят что дальнейшим улучшениям мешают сами спецификации js.
И в отличии от вышеприведённых, питон никогда и не претендовал на производительность, даже наоборот.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #65

29. Сообщение от Аноним (29), 02-Окт-22, 19:05   +1 +/
Ну так и чего не ушёл до сих пор?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #73

30. Сообщение от Аноним (30), 02-Окт-22, 19:17   +/
Скажи это закончившим курсы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24

31. Сообщение от Аноним (31), 02-Окт-22, 19:49   +/
Нет памяти - нет проблемы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #33

32. Сообщение от Курсы (?), 02-Окт-22, 19:53   +3 +/
> питон нужен чтобы ...

... и хорошо зарабатывать на вайтишках и мамашках будущих "успешных успехов" ;)

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

33. Сообщение от Аноним (33), 02-Окт-22, 19:55   –2 +/
Нет питона - нет проблемы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31 Ответы: #35, #92

34. Сообщение от BrainFucker (ok), 02-Окт-22, 19:59   +1 +/
А можно сразу писать на cython, если так хочется и производительности, и питоновского синтаксиса.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #61

35. Сообщение от kai3341 (ok), 02-Окт-22, 20:08   +2 +/
>  Нет питона - нет проблемы.

Для анонимуса тоже справедливо

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

36. Сообщение от fumanchez (ok), 02-Окт-22, 20:53   +1 +/
Ну а кто, если не Пут^WПитон? Кто из скриптоты подходит для мелкой автоматизации? В shell-скриптах нет нормальных коллекций и функций, в lua не хватает нормальной работы с файлами, tcl походу сдох.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #39, #41, #48, #51, #55

37. Сообщение от Аноним (37), 02-Окт-22, 20:56   +2 +/
Идите вы лесом с вашим дерьмо-LLVM. Лучше векторизация.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

39. Сообщение от Аноним (37), 02-Окт-22, 21:12   –2 +/
Guile. На нём даже пакетный менеджер и системный менеджер реализованы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36 Ответы: #42, #93

40. Сообщение от Аноним (40), 02-Окт-22, 21:35   –2 +/
Фигня это всё. Выигрыш  в производительности около-нулевая в реальных проектах.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #70

41. Сообщение от economist (?), 02-Окт-22, 21:35   +2 +/
Дело даже не в структурах и либах. Колво кода, примеров, ответов на StackOverflow для Python настолько велико, что для скриптоты он лучше чем традиционные Bash/PowerShell. Возможно это главное его преимущество.  

В офисных технологиях Python вытесняет VBA, движение началось пять лет назад с PyXLL, XlWings итд. Плюс сам MSO уходит со сцены, вместо него будет шире применяться OpenOffice|LibreOffice c 60-80% совместимостью с кодом VBA и уже содержащий Python внутри.  

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

42. Сообщение от fumanchez (ok), 02-Окт-22, 21:56   +/
ну выглядит интересно, но это чисто для программистов - простой пользователь или сисадмин точно не будет писать на lisp'е
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39 Ответы: #66

43. Сообщение от fumanchez (ok), 02-Окт-22, 22:05   +1 +/
да как раз-таки в структурах и дело, если бы bash был не таким стремным, все бы им и пользовались - что-то парсить в bash это ад

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

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

44. Сообщение от Аноним (44), 02-Окт-22, 22:15   –5 +/
Это какая-то мантра, что Питон для прототипов? Если он реально для прототипов, то где примеры как эти прототипы становятся продуктами?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #46, #64

45. Сообщение от Аноним (45), 02-Окт-22, 23:07   +2 +/
> на одном ядре numpy даёт 3000х прирост при замене циклов на векторы

а чего не 100500х или 9000х?

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

46. Сообщение от Аноним (7), 02-Окт-22, 23:27   +3 +/
Вот пример: был у fedora пакетный менеджер, звался он yum, и был он на питоне. Его переписали на си, и получился dnf. Правда после этого выяснилось, что dnf оказывается все еще на питоне, так что его пришлось снова переписать на си, так получился dnf5. Теперь ждем новость, в котором dnf5 снова переписывают на си.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44 Ответы: #96

47. Сообщение от Аноним (47), 03-Окт-22, 00:03   –1 +/
Надо было сначала освоить шелл как следует, а уже потом пытаться что-то написать. Читается по диагонали одна книжка и мануалы по мелочи. Все становится просто и понятно.
К питону вы почему-то не ленитесь доки читать. Это другое (тм) похоже.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43 Ответы: #49, #63

48. Сообщение от Аноним (47), 03-Окт-22, 00:04   +/
Перл подходит лучше питона для всего и работает быстрее. Не благодари.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36 Ответы: #50, #91

49. Сообщение от fumanchez (ok), 03-Окт-22, 01:03   +2 +/
Ну так в процессе освоения я его и забраковал. Функции без аргументов и возврата значения, синтаксис массивов, раскрытие скобочек - хуже реализации не найти. Так оно еще и не портируемое, если речь идет о баше, портируемый только POSIX-шелл.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47 Ответы: #71

50. Сообщение от fumanchez (ok), 03-Окт-22, 01:09   +1 +/
За советование перла благодарить нигде не будут
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48 Ответы: #68

51. Сообщение от av (??), 03-Окт-22, 08:03   –1 +/
Dart
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36

55. Сообщение от Наноним (?), 03-Окт-22, 08:40   –2 +/
Perl 5 - лучшая замена shell. И по синтаксису, и по возможностям, и по стабильности. Лучше пока ничего не придумали.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36 Ответы: #57, #83, #107

56. Сообщение от Аноним (56), 03-Окт-22, 09:28   +1 +/
Ллвм? Более никчёмной вещи чем нумба, ты не найдёшь.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

57. Сообщение от 1 (??), 03-Окт-22, 10:06   +3 +/
И со CPAN-опомойкой. "Никогда не знаешь где что обновилось"
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55

59. Сообщение от Аноним (73), 03-Окт-22, 10:18   +1 +/
>Этот питон всё ускоряют и ускоряют. А он всё не ускоряется и не ускоряется.

Потому что писать интерпретаторы надо с умом, а не через GIL. И иметь стандарт, а не единственно верную реализацию, за которой эти pyston-ы будут упорно поспевать до конца времён.

>Java, JavaScript (V8) - у всех есть нормальный JIT.

А ещё есть sbcl, у которого AOT и переопределение асма прямо из языка.

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

61. Сообщение от Аноним (73), 03-Окт-22, 10:31   +/
А ещё можно взять Genie (и Vala сразу, что уж там) и сразу компилироваться в си, отвязавшись от культа питона (jetbrains vs нормальные редакторы; requests vs curl, supervisord vs текущий инит/runit; т.н. "питоническое программирование" vs нормальное использование невыученных мальчиками в подворотах фич, таких, как сложные лямбды, функции высшего порядка [а вы думали, почему в третьем питоне превратили map в imap? ровно по той же причине, по которой питоньи тимлиды вместо короткого filter всегда вкорячивали длинный list comprehension], реально работающая статическая типизация, expressions вместо statements и многопоток) целиком, оставив только синтаксис.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34

62. Сообщение от Аноним (73), 03-Окт-22, 10:39   +/
>жирные bash-портянки

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

>Проблема только в том, что его пихают повсюду

Так надо активно выпихивать, действие должно рождать активное противодействие. Сишные либы можно склеивать и с SWIG, и с любым другим интерпретируемым языком, причём у многих (хотя бы взять тот же Guile или луну с tcl) сишный интерфейс гораздо, гораздо удобнее.

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

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

63. Сообщение от economist (?), 03-Окт-22, 10:43   +/
Замечание верное - доку надо читать ко всем инструментам. Но есть еще понятие "читаемость кода".

У bash/powershell она заведомо ниже. Такие вещи как циклы, условия, сортировки, файловые/сетевые операции - крайне ненаглядны. Вот, к примеру, нам нужно перебрать все CSV-файлы из папки рекурсивно и посчитать в нем из рублей - валютную цену, в долларах по курсу 60. На Python это просто и читаемо, скрипт пишется за ~1 минуту:

import pandas as pd
import glob
for f in glob.glob('D:/TXT/**/*.csv', recursive=True):
    df = pd.read_csv(f, sep=';')  
    df['вал_цена'] = df.сумма/df.колво/60
    df.to_csv(f)

Поймет этот код и ребенок. На Bash писать не буду. На BAT/CMD из-за одних путей - страшно подумать что придется наворотить, и оно не будет работать на всех окнах Vista7/8/10/11.

А про то чтобы обойти ошибки деления на 0, пустоты и бесконечности - и подавно. Будет простыня кода. Bash - для одно-строчников с утилитами. Для сложной скриптоты - развитые скриптовые кросс-платформенные языки с IDE, которые уже есть везде.
    

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

64. Сообщение от Аноним (73), 03-Окт-22, 10:47   +/
>эти прототипы становятся продуктами

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


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

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

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

65. Сообщение от Аноним (73), 03-Окт-22, 10:50   –1 +/
>И в отличии от вышеприведённых, питон никогда и не претендовал на производительность

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

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

66. Сообщение от Аноним (73), 03-Окт-22, 10:51   +/
scsh с тобой не согласен
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #42

67. Сообщение от Аноним (73), 03-Окт-22, 10:56   –1 +/
>ответов на StackOverflow для Python настолько велико, что для скриптоты он лучше чем традиционные Bash/PowerShell

Это называется не "годен для скриптоты", а "годен для stackoverflow driven programming". И ровно по той же причине вылезают серверные скрипты-демоны на PHP (просто автор кроме PHP ничего не знал, а тут ещё и скопипастить можно, не напрягая мозги).

>вытесняет

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

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

68. Сообщение от Аноним (73), 03-Окт-22, 10:58   +/
Вот вам и пример того, почему перл умер - куче людей вдолбили в голову то, что перл нечитаем и вместо перла надо питон, потому что читаемо. А уж как это соотносится с реальностью - совсем другое дело, устойчивая ассоциация создана и дело в шляпе.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50 Ответы: #74, #84, #98

69. Сообщение от Аноним (56), 03-Окт-22, 11:00   –1 +/
Если бы данные были в жсоне, это решалось бы куда меньшим числом зависимостей и ровно таким же числом символов за полминуты на баше. Кто вам виноват, что csv ни один адекватный человек не возьмёт, и соответственно нужды работать с эти форматом адекватно нет? Единственная реальная проблема баша в том, что CR и LF в данных окажутся приятным сюрпризом для любителей POSIX.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63 Ответы: #76

70. Сообщение от Аноним (73), 03-Окт-22, 11:01   +2 +/
Так оно не для этого. Оно для:

>We're happy to answer any questions or tell you about our commercial support plans.  You can also find us on Discord

Даже подзаголовок Enhance your Python намекает :)

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

71. Сообщение от Аноним (56), 03-Окт-22, 11:03   –1 +/
Не осилил, так и скажи.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #97

72. Сообщение от Аноним (73), 03-Окт-22, 11:04   +/
>Enhance your Python

Инханс! Индьюр! Инларч! Всего за пару недель вы получите +20 процентов производительности к своему...

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

73. Сообщение от Аноним (73), 03-Окт-22, 11:06   +1 +/
Просто надо продать замену менеджеру.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29

74. Сообщение от Аноним (56), 03-Окт-22, 11:08   +/
Беда перла далеко не в наркоманском синтаксисе. Ты пытаешься сейчас сделать вид, что всё дело не в днищенском ООП и убогой поддержке конкурентности, ведь отсутствующая читаемость write-only портянок -- это единственное, что волнует людей, ведь правда?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68

75. Сообщение от Аноним (75), 03-Окт-22, 11:11   +/
Есть Chez Scheme, вы хотели сказать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #59 Ответы: #80

76. Сообщение от economist (?), 03-Окт-22, 11:29   +/
CSV-формат основной (а для 1С, монополиста учетных решений в РФ (>86%) - единственный) способ обмена табличными данными с другим ПО. XML/JSON тут будет хуже или просто недоступен. Python тоже "умеет" в JSON. Примера Баша и PowerShell мы здесь ни от кого не дождемся?  
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69 Ответы: #85, #101

77. Сообщение от economist (?), 03-Окт-22, 11:33   +2 +/
"stackoverflow driven programming" сейчас везде. Это паттерн. Но он соответствует DRY и поэтому незазорен.

Гляжу как высохли ветки форумов CMD/BAT-автоматизации и понимаю что без SO и Python (и др. скриптовых языков) тут не обошлось. Скукожится ли змей - поглядим. Пока он в топе, а не *опе.

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

78. Сообщение от Аноним (78), 03-Окт-22, 11:59   –1 +/
7 раз по 10% - это двукратное ускорение. Курочка по зернышку клюёт.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #99

79. Сообщение от Аноним (79), 03-Окт-22, 12:10   +/
Это говно без бандлованного llvm не соберётся. Так что лучше numba, чем это. Numba хотябы может использовать llvm из пакетов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

80. Сообщение от Аноним (-), 03-Окт-22, 12:24   +/
Прошу ткнуть в мануальчик, а то я уже собрался ассемблер к guile прикручивать, на sbcl проездом.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #75

81. Сообщение от Аноним (-), 03-Окт-22, 12:29   –2 +/
>что-то парсить в bash это ад

А не надо собственно парсить, шелл не для этого, а для управления процессами, одним из которых может быть awk, другой sed, третий grep, четвёртый cut.

Тем не менее, если чуть-чуть подумать, можно и самый настоящий парсер написать с помощью coreutils, прецеденты были.

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

82. Сообщение от Аноним (-), 03-Окт-22, 12:40   +/
>Но он соответствует

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

>Гляжу как высохли ветки форумов CMD/BAT-автоматизации и понимаю что

Что расплодилось слишком много выпускников курсов по питону, которые до этого были с компьютером в лучшем случае на "вы". Пользование шеллом - это базовая компьютерная грамотность в сфере.

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

83. Сообщение от Аноним (84), 03-Окт-22, 13:15   +1 +/
>Perl 5
>И по синтаксису

Спасибо, но нет.

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

84. Сообщение от Аноним (84), 03-Окт-22, 13:19   +/
Не нужно было долбить, у людей у самих глазоньки имеются.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68

85. Сообщение от Аноним (56), 03-Окт-22, 13:58   +/
Я не слышал о таком, для json есть jq, который умеет совершать разные операции над потоком. Вот уж что-что, а с околотекстовыми файлами bash прекрасно подходит работать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #76 Ответы: #87

86. Сообщение от economist (?), 03-Окт-22, 14:33   +/
Какая кража чужого кода? SO - это раздача советов и ответов без копирастии.
Либы и импорты в мире OSS - это раздача функций против копирастии.

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

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

87. Сообщение от economist (?), 03-Окт-22, 14:40   +1 +/
На баше эквивалент py-кода будет в 3 раза длиннее (см. выше мой пример). И во столько же раз непонятнее. И дольше в наборе. И медленнее в исполнении (pandas дергает код на С/Fortran). Но если "солдат спит - служба идет" - о можно и bash-ить, на здоровье. Только дольше. Ветка-то про ускорение.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85 Ответы: #106, #110

91. Сообщение от Аноним (91), 03-Окт-22, 14:53   +2 +/
ты два раза соврал в одном предложении, за что тебя благодарить, трепло?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48

92. Сообщение от Аноним (92), 03-Окт-22, 14:57   +1 +/
то же касается тебя
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33

93. Сообщение от Аноним (92), 03-Окт-22, 14:57   +/
помойка этот guile
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

94. Сообщение от Аноним (92), 03-Окт-22, 14:59   +/
> если чуть-чуть подумать
> прецеденты были.

ну-ка, ну-ка, продемонстрируй (inb4 ничего не покажешь, кроме собственной тупости)

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

95. Сообщение от fumanchez (ok), 03-Окт-22, 15:02   +/
Прототип же это просто быстрая черновая реализация, которая должна вскрыть подводные камни и непредвиденные ошибки. Т.е. если перед нами прототип, то подразумевается, что он должен существовать недолго, и затем эволюционировать во что-то полноценное, избавленного от всех болячек прототипа.

Где такой сценарий был реализован?

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

96. Сообщение от fumanchez (ok), 03-Окт-22, 15:05   –1 +/
Это другой случай, т.к. yum не задумывался как прототип dnf, а переписывание его на С вызвано неудовлетворительным перфомансом.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46

97. Сообщение от fumanchez (ok), 03-Окт-22, 15:08   +1 +/
Отказался осиливать
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #71 Ответы: #103

98. Сообщение от Аноним (47), 03-Окт-22, 17:52   +/
Проблема перла в том, что это сложный язык, чтобы программировать на котором, нужно внезапно хорошо понимать концепции программирования и юникс. ЕМНИП, в учебнике по перлу прямо так и написано, что в качестве первого языка перл не годится и нужно уже быть программистом, желательно на си. Сколько процентов будущих питонистов соответствовало этой формуле? Ноль целых, х десятых.
Основополагающая концепция, что все можно сделать миллионом разных способов, не помещается в голову новичкам категорически, вызывая жуткие боли. Слабенькие, не тренированные регулярным кодированием мозги не в состоянии запомнить многообразие прикольных штучек, позволяющих в тех или иных случаях одной строчкой заменить десятки.

Нечитаемость питонисты придумали по той причине, что смысла в 10 строчках перла примерно как в 30-50 на питоне (за редкими исключениями, когда питонист реально могет-умеет). Концентрированность изложения логики опять-таки не пролезает в неокрепший мозг.

Короче, питон - язык новичков и непрограммистов. До появления питона был басик такой же точно.

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

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

99. Сообщение от Аноним (47), 03-Окт-22, 17:53   +/
Осталось увидеть первые 10%, а потом еще шесть раз.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78

101. Сообщение от mikhailnov (ok), 03-Окт-22, 20:24   +/
CSV+bash:

line="c1;c2;c3"
IFS=";" read -r -a arr <<< "$line"
echo "${arr[0]}" #выведет: c1

А вот JSON bash'ем парсить... пробовал, не советую.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #76 Ответы: #113

102. Сообщение от mikhailnov (ok), 03-Окт-22, 20:26   +/
Не проблема сделать такой парсер, но в нем сможет разобраться не только лишь каждый, даже сам автор не вспомнит, как такое чудо из bash, sed, awk, cut и т.д. работает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #94

103. Сообщение от Аноним (56), 03-Окт-22, 20:40   +/
> Отказался осиливать

Было бы что осиливать, буквально всё описано в единственном туториале (advanced bash scripting guide).

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

104. Сообщение от fumanchez (ok), 03-Окт-22, 22:29   +/
Так проблема в том, что это ничего не дает. Как если бы стоял выбор между гитарой и домброй, домбру бы никто не брал, а полученных навыков игры на гитаре хватит, чтобы будь на то необходимость, что-то сыграть на домбре.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #103 Ответы: #105

105. Сообщение от Аноним (56), 03-Окт-22, 22:54   +/
Как это не даёт?

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

Есть скрипт для конвертации музыки из любых форматов в несколько востребованных. Хочешь по одному файлу конвертируй, хочешь нарезай по cue и проставляй теги (у каждого формата свои теги и штатные утилиты для работы с ними), всё в 1 клик, можно выбрать нужные файлы в фм и отправить их на конвертацию их контекстного меню или более эффективно выбрать конвертацию сразу по числу ядер и это всё простые конструкции с минимумом шелла, накиданные примерно за вечер, на подгон проставлялки тегов ушёл ещё вечер (с ffmpeg за минуту, только ffmpeg никуда не годится). Есть серьёзное подозрение, что монстр на питоне вышел бы не легче и не быстрее (и всё равно пришлось бы дёргать шелл) и куда мене читаемым.

Да и, понимаешь, знание питона не заменит тебе знание шелла. Если ты уже вызываешь шелл из питона, то почему бы не впихнуть в вызов и всю необходимую логику? Она будет работать самостоятельно и не зависеть от твоего питона (особенно актуально в тех случаях, когда питон падает или обламывается где не надо, а вызванные сабпроцессы вполне могут продолжать успешно работать совершенно без лишнего оверхеда по ресурсам и штатно завершиться и это всё с минимумом затрат).

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

106. Сообщение от Аноним (56), 03-Окт-22, 23:03   +/
А вот это вовсе не обязательно, питон очень многословный по сравнению с башем заточенным на системное применение. Тот же pandas адово жырный и на подобных задачах максимально всосёт, если сравнивать с чем-нибудь чисто нативным. Ну как xmllint или запустить питон, в котором надо ещё знать про lxml, который вызовет тебе тот же код только с кучей оверхеда.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #87

107. Сообщение от Аноним (107), 04-Окт-22, 00:05   +1 +/
> Perl 5

Современные шеллы уже обогнали перл по своим возможностям. Тот же PowerShell в винде достоин называться полноценным скриптовым языком.

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

108. Сообщение от 1 (??), 04-Окт-22, 09:05   +/
Спасибо но нет. Слишком он "многобуквенный" - один строковый фильтр как 20 строчек кода на перл.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #107 Ответы: #125

109. Сообщение от Варенье (?), 04-Окт-22, 09:40   +/
У шелла много проблем с экранированием, поддержкой фич и спецсимволами. Вот, предположим, вы в скриптах завязались на портируемый find, без GNU расширений. Это значит что вы сознательно отказались от \0 разделителей и файлы с переносом строки в имени будут обработаны некорректно. Или вот вы пишете под POSIX sh и хотите массивы — а их нет в спецификации. Или хотите local переменные — а их тоже нет, всё в глобальной видимости. [[ и того в POSIX нет, надо иметь это в виду
Даже если мы полностью переходим на башизмы — там всё равно слишком много способов выстрелить себе в ногу, начиная с маскировки exit кодов в пайпах и в объявлении переменных
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #105 Ответы: #111

110. Сообщение от Аноним (47), 04-Окт-22, 09:49   +/
Примитивные скрипты на питоне обычно заменяются шеллом (даже без баша) с сокращением во многие разы. Обычно можно превратить в однострочник. Потому что я хорошо знаю шелл с одной стороны, и средний питонист плох в программировании, с другой.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #87 Ответы: #112

111. Сообщение от Аноним (56), 04-Окт-22, 10:24   +/
> начиная с маскировки exit кодов в пайпах и в объявлении переменных

Так разве set и shopt не для этого придумали? Без башизмов действительно несколько больно, но башизмы ничем не хуже любого другого шелла -- у каждого свои особенности. Да и позикс сегодня не имеет значения, никто не будет запускать твой код на AIX без установки баша.

Кстати емнип баш тоже не поддерживает \0 в коде, такой разделитель равноценен пустому. Так что может быть достаточно gnu coreutils и gnu findutils

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

112. Сообщение от economist (?), 04-Окт-22, 10:41   +/
Скрипты на шелле/баше заменяются на Python - да, такое явление стало сейчас массовым в сисадминстве, датасатанизме, IP-телефонии.

Обобщаете про средних питонистов, нехорошо. У нас, "средних питонистов", совершенно незашквар использовать awk или grep в Linux вместо pandas. Но pandas, блин, оказывается как правило быстрее башей за счет чанков и векторизации вычислений на С/Fortran, причем разница в скорости - сотни раз!

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

Bash много не умеет - не сделает вам высокоплотное колоночное хранилище с прогрессивным сжатием (LZMA итд), не нарисует график, не сформирует лог. Вернее он может все, но это сложно отлаживаемые простыни кода, которые структурировать крайне сложно. Держать баш-код в Git? - крайне редко. Документация - единична. Тесты - никогда. Но однострочники - да, для него.

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

113. Сообщение от economist (?), 04-Окт-22, 10:46   +/
Ну раз кто-то кроме меня рискнул написать в ветке код - вызов принят! То же самое на Python -

CSV+python:

"c1;c2;c3".split(';')[0]  # выведет: c1

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

114. Сообщение от fumanchez (ok), 04-Окт-22, 12:40   +/
Примеры у тебя странные - все, что ты назвал это не фичи шелла. Узнать кол-во ядер или запустить процесс условного ffmpeg'а - это можно сделать в практически любом языке.

> Если ты уже вызываешь шелл из питона

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

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

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

115. Сообщение от Аноним (56), 04-Окт-22, 13:06   +/
Нормальные примеры. Если надо выполнить какие-то утилиты с какими-то параметрами в зависимости от чего-то (в том числе я всегда люблю обмазаться регулярками), то шел подходит намного лучше, чем питон, для которого нет готовых утилит (ещё чаще готовый код крайне низкого качества) и придётся вызывать тот же самый шел из него. Но ещё тащить целый ворох зависимостей и костылей, там где шел лаконичен и элегантен. Вот в проставлялке тегов у меня 10 этажные операции над массивами и нормально, то что в шелле решается 1 операцией, в питоне решается 20 с кучей скобочек и присвоений.

>Узнать кол-во ядер или запустить процесс условного ffmpeg

В шелле это один вызов xargs с nproc в аргументе.

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

116. Сообщение от fumanchez (ok), 04-Окт-22, 13:33   +/
Ну любовь к регуляркам и 10-этажные операции это уже звучит подозрительно.

> В шелле это один вызов xargs с nproc в аргументе.

Я к тому, что это вообще не определяющий выбор фактор, да и multiprocessing.cpu_count() это тоже один вызов.

В шелле я например не могу нормально обрабатывать содержимое изображений. В питоне есть обертки над ImageMagick и OpenCV, которые в свою очередь обертки над сишным и плюсовым кодом. Если мне надо как-то разбить картинку, малец подретушировать фрагменты для более качественного анализа, проанализировать их - почти все это вызовы функций, которые в шелле максимально кастрированные. Да и для OpenCV вроде даже нет CLI-тулзы.

А вместо однострочного вызова sed для обработки текста я лучше напишу функцию строк на 10, т.к. я потом возможно и не вспомню, что делает эта маска для подстановки. В случае же с функцией, скорее всего, хватит ее названия.

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

117. Сообщение от Аноним (56), 04-Окт-22, 14:13   +/
Так ничто не мешает писать функции в баше и называть их понятно, как и имена переменных, комментарии. Даже локал скоуп есть. Как-то это притянуто. От седа всё равно не уйдёшь -- в питоне регулярок не меньше использовать приходится, только они менее лаконичные. Насчёт IM не совсем понял. Это обёртки какие-то каличные, а шел интерфейс вполне себе основной. Для работы с изображениями в питоне pil, довольно своеобразный и несколько раз померший. Про opencv в шелле не слышал.

Например, примерно 1, что я написал на баше и до сих пор использую, это скрипт конвертации раздутых файлов в что-нибудь удобоваримое. Там есть определённые тонкости, позволяющие снизить число артефактов при ресайзе, да и файлы которые уже плохие ухудшать нет никакого смысла. Кроме того, не каждый формат подходит для конвертации файлов с использующимся альфа-каналом и прочим. Ну и зачем тут питон? Этот скрипт я в итоге без проблем вызываю для любых данных, хоть единично, хоть пакетно. Конфигурация в отдельном файле, ещё и статистику красиво сообщает в процессе и по результатам (в том числе визуальную оценку потерь). Когда всё=текст и можно исполнить любой текстовый файл, с этим довольно не плохо работать.

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

118. Сообщение от mikhailnov (ok), 04-Окт-22, 14:29   +/
> Ну раз кто-то кроме меня рискнул написать в ветке код - вызов
> принят! То же самое на Python -
> CSV+python:
> "c1;c2;c3".split(';')[0]  # выведет: c1

Так читабельнее, спору нет.

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

119. Сообщение от mikhailnov (ok), 04-Окт-22, 14:33   +/
> Тесты - никогда.

Я часто пишу тесты к функциям на bash, проблемы нет ни код написать с разбивкой по функциям, а не одной большой портянкой, ни написать тесты.

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

120. Сообщение от fumanchez (ok), 04-Окт-22, 14:43   +/
У этих "функций" даже аргументы назвать нельзя, а из сигнатуры невозможно понять, сколько их всего используется. Регулярки же и sed в первую очередь универсальные, но когда требуется какая-то гибкость и избирательность, они подходят плохо, и основной их минус - они практически write-only. Если есть вариант их не использовать - практически всегда их избегают.

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

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

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

121. Сообщение от Аноним (56), 04-Окт-22, 14:59   +/
Я пишу в заголовке что-то вроде arg1=$1; arg2=$2; shift 2; или в цикле arg=$1; shift; -- что тут не понять? Напоминает сишечку, в ней тоже описание было не в аргументах. Насчёт универсальности sed не знаю, в питоне тоже будет сразу несколько регулярок -- для одного совпадения, для мультистрочного совпадения и так далее, но каждая регулярка способна выполнить работу над своими данными и, например, что-то сразу удалить не включая в дальнейшую обработку.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #120 Ответы: #122

122. Сообщение от fumanchez (ok), 04-Окт-22, 15:30   +/
Это все костыли и велосипеды, а какой-то популярной конвенции, как обращаться с аргументами в shell-скриптах, я не видел. В старом С ты уже сразу видишь в скобках имена этих аргументов, и их количество. То, что идет ниже это просто уточнение типов, а не как у тебя - переприсвание уже имеющихся имен.

И sed, и регулярки имеют еще один минус - они делают сразу большой объем работы за один присест (да и их вызов жирнее по ресурсам, чем простой вызов функции). Не говоря уже о том, что у них у каждого свой синтаксис. Что-то типа foo.lower().substitute('_', '-') гораздо понятнее sed'овских масок (да и я например не знаю, как там привести строку к нижнему регистру, и никогда не узнаю, потому что нахер мне это нужно).

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

123. Сообщение от 1 (??), 04-Окт-22, 15:35   +/
Угу ... а потом, кто-то в заголовке csv файла поставит пробел в имени поля.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63 Ответы: #129

124. Сообщение от Аноним (56), 04-Окт-22, 16:27   +/
Не знаю, как мне удобно, так и пишу, многие вон и с башизмов плюются, что не мои проблемы. Можно ещё написать в комментарии, что такое аргументы (когда это более уместно и вменяемые названия не понадобятся для удобочитаемости).

s/\(.*\)/\L\1/;y/-/_/

короче и не хуже

foo.lower().substitute('_', '-')

только непонятно зачем тут сед когда в баше это

foo=${foo//-/_}
foo=${foo,,}

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

> сразу большой объем работы за один присест

Да вот только на практике перебрать сразу весь файл нативным кодом в регулярке выходит куда быстрее и эффективнее, чем перебрать файл построчно в скрипте (тем более, с вызовом функций). Там же логика посложнее замены одного паттерна на второй. Обычно скрипту и так уже есть чем заняться, вместо того, чтобы ждать, пока данные обрабатываются (/me искоса смотрит на GIL). Кстати, заменять одиночные символы в питоне емнип куда выгоднее через ''.translate(), если уж делать это.

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

125. Сообщение от Аноним (125), 04-Окт-22, 17:03   +/
Кто же многобукв пишет вручную когда есть кнопка tab в самом шелле и автозаполнение в редакторах.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #108

126. Сообщение от fumanchez (ok), 04-Окт-22, 18:26   +/
> многие вон и с башизмов плюются, что не мои проблемы

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

> s/\(.*\)/\L\1/;y/-/_/

Это как бы и называется write-only. Все в одном месте - и паттерн, и действия, и аргументы, а разделительный символ в общей массе еле разглядишь.

> Да вот только на практике перебрать сразу весь файл нативным кодом в регулярке выходит куда быстрее и эффективнее, чем перебрать файл построчно в скрипте (тем более, с вызовом функций).

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

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

127. Сообщение от Аноним (56), 04-Окт-22, 19:04   +/
Это далеко не write-only, если понимать написанное. Типичный сед, то, что можно ожидать. У шелла кстати повторный запуск процесса весьма быстрый, не говоря уж о том, что на линуксе эта операция куда дешевле, чем, например, у венды. Но я имел в виду использование предкомпилированного регулярного выражения вместо вызовов функций в цикле, так что процессы тут никаких боком. А в случае шелла запуск и работа будут быстрее питона сами по себе, и да, питон скорее сломается, чем шелл (я только недавно столкнулся с этим в части скриптов, речь даже не об отвалившихся после обновления батарейках).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #126 Ответы: #128

128. Сообщение от fumanchez (ok), 04-Окт-22, 20:31   +/
> не write-only, если понимать написанное

Ну да, как если принюхаться, то и не пахнуть не будет. Осталось только убедить в этом окружающих.

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

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

Про питон все и так знают, что он медленный, просто какие есть альтернативы из скриптовых языков, которые не встраиваемые, как Lua, а для руления системой?

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

129. Сообщение от economist (?), 04-Окт-22, 23:03   +/
И только Python по умолчанию все (любые) пробельные символы добавляет к разделителю (их аж 6 штук), поэтому другие ЯП (не скажу за все, но многие) - тут сольются.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #123

130. Сообщение от myhand (ok), 05-Окт-22, 07:09   +/
> Да и админу знать питон не стоит, даже тут пролёт.

Это админу твоего локалхоста питон знать не стоит.  Ему вообще стоит знать о том, что надо вовремя уроки делать, чтоб мамка не заругала.

> Так надо активно выпихивать

Так это-ж еще и программировать уметь надо...

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

Четвертое десятилетие уже ждем, когда ж настигнет...  А оно вон что.

> Потому что он исключителен только из-за активной пропаганды.

Гвидо к тебе приходит во снах или как?

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

131. Сообщение от myhand (ok), 05-Окт-22, 07:17   +/
Может просто не надо было извращаться?

$ cut -f1 -d';' <<EOF
> c1;c2;c3
> EOF

c1

Будет еще и работать везде, в отличие от.

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

132. Сообщение от mikhailnov (ok), 05-Окт-22, 09:23   +/
> Может просто не надо было извращаться?
> $ cut -f1 -d';' <<EOF
>> c1;c2;c3
>> EOF
> c1
> Будет еще и работать везде, в отличие от.

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

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

133. Сообщение от commiethebeastie (ok), 05-Окт-22, 10:54   +/
>> на одном ядре numpy даёт 3000х прирост при замене циклов на векторы
> а чего не 100500х или 9000х?

У вас может быть и 100500х.

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

134. Сообщение от Аноним (134), 05-Окт-22, 14:41   +/
> Java, JavaScript (V8) - у всех есть нормальный JIT. А у питона его как не было, так и нет.

В конце 1960-тых годов математики сказали, что если не гарантировать неизменность исполняемого ЭВМ кода, то невозможно дать даже минимальные гарантии безопасности.

В начале 1980-тых запрет изменений исполняемого кода стал стандартом.

В начале 1990-тых запрет изменений исполняемого кода стал законом в СССР.

Многие процессорные архитектуры и ядра ОС запрещают изменение исполняемого кода. Программы использующие JIT на этих архитектурах просто не работают.

Для тех кому на безопасность ложить должны писать код с возможностью отключить JIT во время сборки:
configure ... --wthout-jit
иначе прога перестанет работать на многих архитектурах.

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

> И не будет.

И хорошо. JIT - зло.

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

135. Сообщение от myhand (ok), 06-Окт-22, 07:12   +/
Так read - тоже внешний процесс.  На свете есть не только баш вообще-то...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #132 Ответы: #138

136. Сообщение от myhand (ok), 06-Окт-22, 07:17   +/
> И ровно по той же причине как он вытеснит, так и его вытеснят

Когда?  Что там на этот счет у вас, нострадамусов?

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

137. Сообщение от myhand (ok), 06-Окт-22, 07:32   +/
> Короче, питон - язык новичков и непрограммистов.

Что в этом плохого?  На самом деле, промышленное программирование - ремесло,
далеко не самое сложное, кстати.  Мало-мальски грамотный специалист должен
его уметь - это на уровне навыков чтения-письма на самом деле.

> Да, перл питонистам принято хейтить, но почему вы (вот лично ты, питонистик),
> не программируете на луа? Минималистичный язык, не загрязненный синтаксическим сахаром,
> с прекрасными корутинами, из коробки полностью асинхронный, встраиваемый, с работающим
> джитом, и т.д. и т.п.
> Да по той же причине, что и на перле. Слишком сложный для
> вас, требует мозгов.

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

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

138. Сообщение от mikhailnov (ok), 06-Окт-22, 13:02   +/
Могу позволить себе поставить баш и не ориентироваться на совместимость с POSIX-шеллом )
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #135


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

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




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

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