LINUX.ORG.RU

Питонотред

 


0

4

А чего это у нас, в нашем загончике, нет закрепленного питонотреда?

Вот теперь есть(надеюсь, его закрепят).

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

В тред приглашаются все питонобоги, питонодемоны, питонофрилансеры, простые питонщики, и даже питононавистники.

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

Гвидо задолбали тупые хипстеры, не могущие понять как применять табы для индентации кода, и он обиделся и ушёл.

Тупые хипстеры со своими тупыми говнокаментами автоматически отправляются в игнор.

Goury ★★★★★ ()

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

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

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

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

Gravity смотрится ни о чём. Dart - то же самое, только с большим сахаром, соответственно для разработки удобнее.

Gravity смотрится как замена Turbo Pascal 7 в целях обучения ООП вместо императивщины, во.

Deleted ()
Последнее исправление: merhalak (всего исправлений: 1)
Ответ на: комментарий от bvn13

Сладкий язык.

Сейчас потихоньку возвращаюсь к нему. Испытываю прямо-таки удовольствие от кодинга.

Не знаю почему, но мне очень нравится. Когда допроектируют дженерики и прочие фишки Go 2, думаю вообще конфетка получится. Хотя и в текущем виде он очень классный.

Я бы хотел язык с таким же синтаксисом, но без рантайма и с ручным управлением памяти.

Как прослойку между Си и Go, а также замену Си в целом. Всё таки выделить память, а потом указать на том же месте defer на освобождение куда удобнее, чем разносить его по разным концам метода и «забывать» одно при изменении другого. Именно из-за простейшего синтаксиса, без каких-либо сколь угодно сложных абстракций в принципе. И даже без дженериков и прочего сахара Go 2, чисто для простоты реализации на любом железе (чтобы не уходить далеко от Си).

Deleted ()
Последнее исправление: merhalak (всего исправлений: 1)
Ответ на: комментарий от Crocodoom

Вон, выше Nim показали.

Тот же Python, только компилируемый и со статической типизацией.

Одна проблема: он выглядит каким-то несамостоятельным. То есть даже не в LLVM IR транслируется, а в Си или плюсы. Это грустно. Ну и в JS, но эта трансляция норма для Web-разработки.

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

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

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

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

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

Там речь про Nim.

Не, Go я и сам переосваиваю сейчас с целью заюзать под свой незащищенный в прошлом году диплом, да просто хобби проекты (когда-то пытался освоить во времена Go 1.4 и 1.5, но для практического применения времени не находил, посему забыл уже практически все мелкие фишечки языка, да и с библиотеками не разбирался нормально). В общем, Go мне и в таком виде, в каком он есть, очень нравится. Больше, чем Java, с которой сейчас работаю.

Deleted ()
Последнее исправление: merhalak (всего исправлений: 1)
Ответ на: комментарий от Goury

Можешь меня сразу в игнор отправлять, я считаю, что решение делать синтаксис зависимый от отступов — это эталонное ССЗБ.

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

Был уже язык со значимыми отступами (правда, немного для другого), Фортран назывался. Язык сам по себе хороший, но идея с отступами себя не оправдала.

он обиделся и ушёл

Надеюсь, продолжатели сделают из этого выводы и таки добавят операторные скобки :P

hobbit ★★★★★ ()

Тензорфлоу на Свифт переносят же?)

Думаю неслабо ударит по популярности сего языка.

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

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

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

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

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

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

Ты в стандартную либу давно заглядывал? Лол.

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

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

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

Скажем так, у Python сейчас указание типа сильно опционально же, плюс не проходит проверку в рантайме, а просто является подсказкой для линтера.

Однако движутся в правильном направлении.

Думаю, Nim вполне себе может стать компилируемым подмножеством, если захочет. Что-то вроде RPython.

Он достаточно близкий по синтаксису, чтобы можно было начинать портировать часть критичных к производительности библиотек (которые не были портированы на плюсы ранее) на Nim, а потом уже транслировать в плюсы.

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

Такой код неизбежен из-за вечной спешки программистов.

Потогонка же. Скорее у людей просто руки не доходят, и никогда не дойдут до рефакторинга. Работает, жрать не просит - пусть работает.

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

Он достаточно близкий по синтаксису, чтобы можно было начинать портировать часть критичных к производительности библиотек (которые не были портированы на плюсы ранее) на Nim

Nim? C++? Cython!

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

Да, я в курсе про него. Мне просто больше нравится PEP 484 стиль кода, который больше похож на это (Nim)

import macros, strutils

macro toEnum(words: static[string]): untyped =
  result = newTree(nnkEnumTy, newEmptyNode())

  for w in splitWhitespace(words):
    result.add ident(w)

type
  Color = toEnum"Red Green Blue Indigo"

var color = Indigo

Нежели на это (Cython)

def primes(unsigned int nb_primes):
    cdef int n, i
    cdef vector[int] p
    p.reserve(nb_primes)  # allocate memory for 'nb_primes' elements.

    n = 2
    while p.size() < nb_primes:  # size() for vectors is similar to len()
        for i in p:
            if n % i == 0:
                break
        else:
            p.push_back(n)  # push_back is similar to append()
        n += 1

    # Vectors are automatically converted to Python
    # lists when converted to Python objects.
    return p

Хотя разница всего ничего, конечно.

Но если учитывать вкусовщину - я бы предпочёл Nim.

Хотя ни на том, ни на другом я пока что программировать не собираюсь, мне хватает моей необъятной Java и, ради хобби, Go.

Хотя посмотрел на первый пример с применением макро, и что-то Nim трогать тоже расхотелось как-то. :D

Deleted ()
Последнее исправление: merhalak (всего исправлений: 2)
Ответ на: комментарий от Deleted

Скорее у людей просто руки не доходят, и никогда не дойдут до рефакторинга.

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

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

Когда допроектируют дженерики и прочие фишки Go 2, думаю вообще конфетка получится.

Фигасе. На десятилетний юбилей допиливают Go до нормального языка. Не каждый год такое бывает.

oldstable ()