Обновить
4
0.1

Пользователь

Отправить сообщение

Есть open source - бесплатное пиво, и free software - это про свободу конечного пользователя, а не контрибьютеров.

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

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

Платоновы тела - тоже низкополигональные производные, но правилу удовлетворяют. Интуиция тут не помощник.

достаточно вспомнить как в питоне работают скоупы и shadowing. Про многопоточность даже упоминать не хочется.

Многопоточность на заре питона ошибочно казалось ненужной, но главное что GIL всегда признавался ошибкой и почти побеждён (в отличие от Го, которые открыто шлют с обработкой ошибок). Shadowing - интересная тема. На мой взгляд, если вам нужен nonlocal, то вы что-то делаете не так. То есть это решение запутанное, но в реальности в ногу почти не стреляет.

Отступы конечно приучают форматировать код, но не из-за желания разраба сделать красиво, а из-за того что поведение программы меняется. Форматтеры в "языках с фигурными скобками" уже давно научились форматировать код за нас, и кажется добавить 1 шаг в CI для проверки форматрования кода может сэкономить пару нервных клеток.

Опять же история. В 2025 продавать отступы как киллер-фичу питона уже стыдно, но когда CI/CD не существовало - это действительно было глоток воздуха.

а-ля зависимые типы, АДТ, эффекты (и др.) что может вызывать такие чувства.

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

У ruff фатальный недостаток. Не проверяет сам себя, не принимает патчи на питоне, тесты ruff и тесты корректности ruff - по разному написаны.

Есть у меня история.
В 20-ом году занимался выкаткой нашего облака в EC2. Было два публичных сервиса, вебморда и служебный хост для софта-помощника. Ну и в TXT DNS этого служебного хоста добавили такого паучка за авторством будущей жены. Жаль, что через месяц амазон почему-то не захотел с нами работать.

                      --------------------
                     [                    ]
                     [  H  E  L  L  O  !  ]
                     [                    ]
                      --------------------
                                   ;;
                                  \\#\\
                                   \\##\\
                                    ||##|| 
                                   //##//
                                  ||##|| 
                                 //##//
                                |##// 
                  _______________|\\
        //#//|#|| O ( o ) ( o ) O |#||##\\
      //##//|##//                 \\##||##\\
    //##// ||##|| _______________  ||##|||##||
   ||##|||||##||   {§§§§} {§§§§}    ||##||\\##\\   
   //##//| ||##||    {§§} {§§}     ||##|| \\##\\
  //##//##\\||##\\    {§} {§}      ||##||  ||##||
 \\#\\ \\##\\ \\##\\              //##//  //##//
   ;;   ||#||   \\#\\            //#//   //#//                                  
          ;;      ;;              ;;      ;;

Да тут спорить особо не о чём, правы те кто хочет прозрачнее.
Я в личных проектах обычно начинаю с подробных конструкций, а потом сокращаю до пределов своего понимания (привычка с Хаскеля), но в команде по запросу пишу многострочно, конечно. В данном случае, я бы сказал, что если вся команда инженеры со стажем, то могут договорится сокращать. Но если код читает аналитик, которому не до питонячьего сахара, то лучше расписать/обернуть.

Да не, читаемость как раз ок, просто мысленно скобки поставьте
return ((x in l) and (l.index(x)))
Другое дело, что это два прохода вместо одного и результат с типом None | int.

Что за синтаксис, в котором лишний пробел способен поломать работу программы?

А точка с запятой? А опечатка в константе?

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

В 2025 есть language server protocol, treesitter, всякие фолдинги и т.п. Присмотритесь к своей ide.

Из встроенных - dict/set.

a = {10: 20, "qwe": "rty"}
a[10] # 20
a[20] # KeyError
a.get(20) # None, без исключения

Но это хэштаблицы (set - просто множество) с соответствующими асимптотиками. В встроенных библиотеках есть heapq (очередь с приоритетами), collections (там всё подряд - fifo/lifo/deque/defaultdict), мб ещё что полезного. Чтобы прям ассоциативный массов с поиском по любому элементу пары нужно внешнюю библиотеку искать.

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

Давно уже наштамповали новые языки и прокачали старые и сам Python уже давно не такой простой и читабельный как раньше.

Прокачанные старые языки обычно и не читаемые и своим изначальным принципам изменяют. Питона это, кстати, тоже касается. Новым обычно не хватает раскрученности и экосистема бедная. Go читаемый только в туториалах, так он полон корявых конструкций (= vs :=, " vs ' vs backtick, range, стримы, map[int]struct{...}, []string{"boring"}, слайсы).

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

Для пыщ-пыщ и в прод отличный синтаксис, для алгоритмов уже не очень. И сишка используется там где скорость важна, если вы на нём api пишете - ссзб. Хз что там с растом, слишком токсичен чтобы было желание туда лезть сейчас.

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

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

startx - обертка над xinit. Смотрите что у вас в файлах /etc/xinit/xinitrc, ~/.config/xinit..., ~/.xinitrc/... (могу путать пути). На голой системе ничего и не запустится, хз что там в дебиане предустановлено - это далеко не голый дистр.

Мне важны и язык и лицензия. Первая - зависимости и время сборки если собирать из сырцов. Второе - если захочу отправить им патч.

Хоткеи на command логично, говорю как линуксоид. Потому что Command-* хоткеи DE, а Alt/Ctrl-* хоткеи софта. Элементарно, у меня Win-t открыть терминал, Alt-t открыть окно внутри терминала, C-t открыть таб внутри neovim внутри терминала.

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

Да нет, многие ошибочно считают, что свободное ПО идёт без обязательств, ну как пиво, взял и пошёл. Но это СС.
GPL - это как свобода воли, в смысле, что физическая и юридическая возможность есть, но гарантии и последствия нужно уточнять. Со свободой слова, например, вам никто не гарантирует что вас будут слушать, и что не будет последствий в виде бана на сайте.
GPL - вы можете взять код, но если вы будете распространять его с не-GPL кодом, то ждите последствий.
К слову о гарантиях, многие почему-то абсурдно считают, что авторы свободного кода обязаны тратить время на исправление багов и добавление хотелок толпы.

GPL - это не свободный код. Свободный код, это MIT и тому подобное.

To understand the concept, you should think of “free” as in “free speech,” not as in “free beer.”

То есть, люди делающие "свободный софт" просто помогают корпорациям делать ещё более закрытые продукты, чем могло бы быть?

В случае пермиссивных лицензий - именно так. Конечный софт будет просто вытеснен за счёт ресурсов, а исследования, библиотеки - поглощены.

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

Apple и Google очень много возвращает в LLVM, Bloomberg возвращает в sqlite, MS вообще финансирует (или -ло?) SPJ'а вместе с ghc. Даже мелочь вроде well-typed на деньги мелочи вроде mercury или anduril контрибьютит что-то в ghc. Собсна, насколько я понимаю, тот же Ben Gamari с этого вообще кормится.

Потому что это всё нужно очень небольшому сообществу исследователей, с которого намного эффективнее состричь через их же разработки под MIT/BSD/CC. А вот закрыть экосистему Android другой рукой или Manifest v2 - это пожалуйста, это миллиардный рынок.

1
23 ...

Информация

В рейтинге
3 407-й
Откуда
Россия
Зарегистрирован
Активность