LINUX.ORG.RU

Гвидо Ван Россум уходит на пенсию

 


2

3

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

Эти 6,5 лет Гвидо работал над Python и развивал культуру разработки Dropbox, которая переживала стадию перехода от стартапа в крупную компанию: был ментором, наставлял разработчиков писать понятный код и покрывать его хорошими тестами. Он также составил план перевода кодовой базы на python3 и начал воплощать его в жизнь.

Также занимался развитием mypy — статического анализатора Python-кода, который был изначально разработан другим сотрудником Dropbox, нанятым Гвидо.

Помимо этого был активным участником движения за привлечение женщин в IT.

>>> Подробности

anonymous

Проверено: a1batross ()
Последнее исправление: Deleted (всего исправлений: 5)

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

А ты знал, что можно запускать пайтон внутри пайтона?

В смысле, вызвать функцию? А что, есть языки, в которых нельзя вызвать функцию?

Так-то можно даже си запускать внутри пайтона:

from ctypes import *
printf = CDLL("libc.so.6").printf
printf(c_char_p("Hello, LOR!\n"))

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

Запуск кода почти всегда означал провал. Всегда что-то валилось в рантайме и приходилось раз 5-10 запускать-править, прежде чем оно заработает.

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

На статике, да с IDE, всякий запуск это почти 100% работающий код, в котором уверен.

Ага, можно и тесты не писать.

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

когда всё шумно валится сразу при запуске, а не тихо падает в корку в зависимости от фазы луны

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

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

ctypes

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

Гвидо как-то сидел вечером и думал «черепашку я запилил, календарик запилил. Даже tcp-чат и POP3 запилил. Что бы еще в стандартную библиотеку всунуть? О, точно, libffi!». И непрогадал, чертяка. Вот тут ему уважуха, без шуток

Теперь любой школотрон может свою нейроночку замутить

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

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

Тесты это сложно, тут думать надо. А так расставил примитивнейшие констрейнты: int, string, foo, bar и спокоен. Гарантия 100% епта. А потом выгребает NPE или сегфолты, или просто программа у него считает херню, но скомпилировалась же, можно в продакшн!

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

Я определился, что тебя нельзя к системщине подпускать на километр. А ты лезешь со своим растом. Будто он магически выпрямит твои лапки.

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

примитивнейшие констрейнты: int, string, foo, bar

Даешь регулярки в аннотации!

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

Тесты это сложно, тут думать надо. А так расставил примитивнейшие констрейнты: int, string, foo, bar и спокоен. Гарантия 100% епта. А потом выгребает NPE или сегфолты, или просто программа у него считает херню, но скомпилировалась же, можно в продакшн!

Я пишу тесты на логику. На кой черт мне тратить время на тестирование говноязыка?

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

Разработчики графики на линуксе все уши прожужжали, жалуясь на сложность кода Х-сервера

хм… Это какие например? Что за приложения, которые так плотно работают напрямую с иксами? Кроме разрабов DE и в меньшей мере отдельных разрабов виджетсетов, с иксами обычно не работают напрямую. Да и сложности особой в xlib нет. Под капотом - может быть хз, а апи весьма простое.

Linfan ★★★★★
()
Последнее исправление: Linfan (всего исправлений: 1)
Ответ на: комментарий от anonymous

Заработок в it зависит от прикладной области, а не языка.

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

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

А ты знал, что можно запускать пайтон внутри пайтона?

А для тебя это что-то сверхестественное? Уже давно змея и на жабе пускают и на дотнете. Толку правда с этого не много.

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

Ты как строковый и распарсенный урл отличать будешь? Отвечай!

оу… жертва ынтерпрайза спутала ЛОР со стаковерфлоу ))) Сам подумай, чем стринга от объекта отличается?

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

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

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

Я же гворил не лечится :)

ага, думать мсье не умеет by design. Ну норм, чо. Макаки тоже нужны. :)

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

Ты тупой, давай в последний раз. Ты утверждал, что аргумент названный url однозначно говорит, что это строка, поэтому писать у него тип не надо, ведь только конченый долбоеб передаст в эту функцию int. Я отчасти согласен с этим, но теперь мы вводим в нашу систему новую сущность — распарсенный урл. Как мне теперь не быть долбоебом и угадать какой url ты имел в виду в своей функции?

Может в каждую функцию, принимающую url, добавим портянки ‘if instanceof url …’ ?

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

В итоге двойная работа, но это только плюс если платят за код покилобайтно.

Тут один адепт про гребцов галер все рассказывает, вы не с одного судна?

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

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

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

Как мне теперь не быть долбоебом и угадать какой url ты имел в виду в своей функции?

Раз ты задаешь такие вопросы - помочь тебе сложно. Скорее всего у тебя статическая хроника. Ладно, попробуем последний раз - если ты передаешь какую-то сущность, отличную от стрингового урла, то нужно ожидать, что параметр для нее так и будет называться parsed_url, а если ты ваяешь код, работающий с обоими типами данных, то напрягись и черкани пару строк комментов на этот счет. Хотя бы для самого себя.

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

Это не значит, что ты не пишешь глюкавую херню.

anonymous
()

Ну желаю ему.. Хоть мне вообще пофиг.

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

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

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

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

У тебя функция принимает некий url, с какого перепуга он для меня, пользователя твоей функции, стал строковым? Докстрингам доверять? Полностью твою лапшу читать?

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

А это, дети, называется нейротипизация.

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

Linfan ★★★★★
()
Последнее исправление: Linfan (всего исправлений: 1)
Ответ на: комментарий от anonymous

У меня капча стала очень жесткой, надо дать ей остыть. Удачного плавания.

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

Спасибо, что не кортеж

Спасибо, что выбрал статику - нулевая вероятность столкнуться с альтернативным мышлением «урл может быть кортежем»

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

Ты так говоришь, как будто в мейнстриме везде полноценный вывод типов, а не Кукарек<кококо> кукарек = new Кукарек<коко> в каждой строчке. В лучшем случае ехал auto через auto только в самом новейшем коде. Сам то пишешь на динамическом каркасе чегойта, хоть и с нашлепкой typescript. Все твои нодовские либы динамические. Не страшно так жить?

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

Зависит от соглашения внутри проекта. Может по сабжу кодинга это будет список, или ассорти: и список и тупл. Все зависит от решаемых задач.

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

А на чем прикажешь еще писать гуй? Смотрел на ReasonML и Flutter, но я уже стар для этого дерьма. Да и перспективы их пока неясны. WASM выглядит более перспективным. Но не на плюсах же его писать? Так что посоветуешь?

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

А на чем прикажешь еще писать гуй?

Понимаю, что логически «гуем» и вебморды назвать можно. Но все-таки попытки джаваскриптеров остепенится вызывают улыбку :)

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

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

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

Сначала пропихни sk1 в убунторепы

По твоему это проблемно? :) Коровая часть sk1 - uniconvertor - хз сколько лет во всех нормальных дистрах. Да и не гонюсь я за этим - проект и так обвешан регалиями шо дедушка Брежнев - от плеча и до задницы.

напиши 2 версии на мобилки

Искренне непонятно - напуркуа? Мобильный юзер не креатор, а потребитель контента. Неужели вам надо объяснять такие прописные истины? И ваще, проект just for fun. Никому ничего не должны и в крысиных спринтах не бегаем.

Linfan ★★★★★
()
Последнее исправление: Linfan (всего исправлений: 1)
Ответ на: комментарий от anonymous

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

Как заставишь-то?

Заставить писать типы легко — есть языки, где код не соберётся, пока не расставишь типы.

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

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

uniconvertor - хз сколько лет во всех нормальных дистрах

В убунте нету. В арче, помню, был. Норм дистр, да

напуркуа

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

Никому ничего не должны и в крысиных спринтах не бегаем

Пятки сотрете портировать wxpython на мобилки. А вебня заведется без особых изменений

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

Может по сабжу кодинга это будет список, или ассорти: и список и тупл. Все зависит от решаемых задач.

Главное не забудь приложить html-ку с таблицей значений, индексов и типов (какая же ржака, боже):

https://docs.python.org/3.8/library/urllib.parse.html#url-parsing

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

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

В убунте нету.

https://packages.ubuntu.com/search?keywords=python-uniconvertor

Но на 3й питон портировать нужно, чтобы в новых дистрах было. Да и пофик - наш CI собирает регулярно пакеты под все дистры.

https://sk1project.net/uc2/daily-builds/

Кому нужна софтина, тот ее скачает. А кому нафик не уперлась - накой навязываться?

Пятки сотрете портировать wxpython на мобилки. А вебня заведется без особых изменений

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

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

А не упреешь писать управление цветом, работу со шрифтами по-взрослому, трассировщик растра, обработку растовой графики?

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

потенциал портирования

Питоноскрипты точно никто никуда портировать не станет

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

сижные либы -> emscripten -> WASM

Вот список депенденси-либ, которые надо спортировать:

https://github.com/sk1project/build-macos/tree/master/src

Скорее всего не потянешь. Кстати, к вопросу про «чистый, незамутненный питон» :)

Питоноскрипты точно никто никуда портировать не станет

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

Linfan ★★★★★
()
Последнее исправление: Linfan (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.