LINUX.ORG.RU

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

 


2

3

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

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

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

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

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

anonymous

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

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

Пфффф...

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

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

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

да? ну хорошо когда всё хорошо, рад за гвидо.

посмотрим теперь, что например гугл будет делать с ютубом и всё такое. вангану, что после eol это всё так и останется на питухоне 2 пока его не перепишут на гошечке.

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

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

Что до проверок типов в рантайме — это, конечно, дно динамических языков

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

Аргументов нет, как обычно

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

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

И ты не понимаешь, что это дичь? Это даже не смешно.

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

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

Боюсь Вас огорчить, но если этот «говнокод» столько лет работает, то свою жизнеспособность он уже доказал. Эволюция, она такая, да...

не совсем такая, вот иксы меняют на куцый вяленд, который почти ничего не умеет, но зато не говнокод
или сишку меняют на «системный» раст, на котором кроме велосипедов ничего нет

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

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

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

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

Так зачем ты мучаешься?

Вы всё врёти, я посыпал свой кактус сахаром и ни капли не мучаюсь! Омномном!

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

Опять не соглашусь. Вот сколько лет я слышу «меняют», однако как писали код на сишечке, так и пишут. Вон, даже «бурный рост IoT»... Возьмите самую широко известную реализацию брокера mqtt (mosquito) и найдите в ней питон или раст или ещё какое го? Боюсь, не найдёте.

Так что, есть люди, действительно двигающие технологии и есть... непонятно кто, в общем, чем-то мающиеся. Ну, Вы меня поняли.

С вяленым и того проще. Какие-то отдельные задачи он решает. Не будет решать — выкинут его на хрен и вернутся к иксам.

anonymous
()

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

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

бурный рост IoT

mqtt

Охх. Верните мой 2010. mqtt вообще не про IoT. Его нет за пределами наколенных поделок. Современный IoT это наверное самая запроприетаренная отрасль в мире. Прошивки там пишут на чем бог послал (какой SDK производитель чипа предоставит, на том и пишут). Облачные сервисы обычно на джаве. Обмен между ними закрыт, засекречен, а зачастую еще и запатентован. Чтобы реверс-инженерам неповадно было

Deleted
()

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

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

кого ты хочешь этим удивить в эпоху когда каждая говнософтина ведёт себя подобным образом? на этот дропбокс мне положим наплевать как и на макосы. гораздо хуже когда это делает к примеру firefox, который после отключения непонятно для чего требующейся, явно шпионской, но по каким то причинам невероятно модной говнофичи «telemetry» всё равно тихо и нагло продолжает стучать на сервера говнозиллы. можно правда поменять там же ряд URLов с mozilla.org на свой домен и наблюдать всё это гадство в логах своего веб сервера. это явный дисреспект к выбору пользователя но этим тварям наплевать что 1,024 компьютерщика будут возмущаться (даже не откажутся от использования а просто будут возмущаться потому что переписать этого монстра не осилят) по той простой причине что подавляющее большинство приматов не достаточно умны что бы устроить бойкот таким корпорашкам а 1,024 исключения не существенны на фоне большинства тупоюзеров.

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

Я в курсе как это происходит. =)

«IoT» это одна из вещей, которой я зарабатываю себе на жизнь. mqtt это самая явная вещь, которую можно показать.

Если брать те же сс1310/1350/1352 (или выше), то там тоже голый С (либо с TI-RTOS, либо в виде типа почти posix). Пистона там тоже нет, растишки тоже. Гольный С и очень-очень мало С++. Даже лучше бы без плюсов.

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

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

iluha16
()
Ответ на: Я в курсе как это происходит. =) от anonymous

А если вкурсе, то зачем загоняешь про mqtt. Расскажи лучше почему обделались Zigbee HA, 6LoWPAN, Google Thread, а производители продолжили клепать закрытое несовместимое говно. Сам-то хоть не говно клепаешь?

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

не думаю что этот факт имеет отношение непосредственно к гвидо

А я где-то писал что он имеет прямое отношение? Второй раз подряд ты отвечаешь на то, чего в моем сообщении не было. Доброе утро. )

trynoval
()

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

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

Видимо всё-таки не дали :-D

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

Видимо, я херово объяснил.

А если вкурсе, то зачем загоняешь про mqtt.

Ну потому что в IoT дохрена задвигают про тот же микропитон, но в продакшоне его чего-то не видно. И больно долго мне было бы объяснять что чтобы поискать Раст или го какой, надо поставить Code Composer Studio какой и убедиться что там кроме сей нет ни фига.

Расскажи лучше почему обделались Zigbee HA, 6LoWPAN, Google Thread, а производители продолжили клепать закрытое несовместимое говно.

Они где-то и как-то существуют. Мсявки сейчас со своей азурой тоже лезут. IBM там тоже ёрзает. Пытаются чего-то новое придумать, а это не выходит.

На деле, если честно, то сам по себе IoT это голимый хайп и пузырь.

Сам-то хоть не говно клепаешь?

УМВР. А уж как там TI реализовали свой EasyLink, например, меня слабо волнует.

anonymous
()
Ответ на: Видимо, я херово объяснил. от anonymous

И больно долго мне было бы объяснять что чтобы поискать Раст или го какой, надо поставить Code Composer Studio какой и убедиться что там кроме сей нет ни фига

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

УМВР. А уж как там TI реализовали свой EasyLink, например, меня слабо волнует

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

Deleted
()

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

А ещё он любил геев и долбился в дёсны с трансгендерами?

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

Посмотри историю редактирования новости. )

Уж не знаю что из этого правда. Но топик-стартеру видно сильно припекло с каких-то делишек.

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

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

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

Если бы код писал музыку, он бы делал это на Фрэнке Заппе.

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

Угу. Про то и речь.

Микропитоны и прочие луа это всё поделки для энтузиастов, естессно

Да. Все звонко звиздят про всё что ни попадя, а как до дела доходит, так сишечка во все поля. А, если глубже рыть, то TI-RTOS это даже не posix. Да и хреново было бы на 128k RAM питоном баловаться. Даже микро.

Я вот про что.

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

А какой протокол в части радиоинтерфейсов является стандартным? Та же LoRA при всей её типа «открытости», это изначально голимая проприетарщина. За что ни возьмись... Оно всё так.

Другое дело, что при необходимости можно заменить один радиомодуль на другой и просто немного подкорректировать код. И то при необходимости.

Если использовать нормальную, пусть даже и самописную SCADA, а не ориентироваться на какие-то недооблака и нормальный транспорт от граничных роутеров и до SCADA, тот же mqtt, то задача решается проще, т.к. остаётся только радиоинтерфейс от граничного роутера до датчиков. А здесь уже всё зависит от производителя. EasyLink у TI вполне толковый, косяков не замечено.

Народ да, влетает на «советах» упоротышей, которые считают что сейчас пойдут и купят пару вёдер датчиков за пару баксов, а всё остальное сделает мифическое облако. Облако жи!!!11 А то, что каждый отрезок должен быть отработан максимально чётко, это не доходит. Вот и тратят бабки на непонятное-чудное.

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

anonymous
()
Ответ на: Угу. Про то и речь. от anonymous

А какой протокол в части радиоинтерфейсов является стандартным?

Да дело не в радиопротоколе, а в водможности интеграции. Zigbee HA, например? 6LoWPAN тож куда ни шло, т.к наружу торчит реальный IP-адрес, с которым уже можно работать обычными средствами

mqtt как протокол высокого уровня не годится, т.к это не более чем публикация в канал сырых данных. Вот mqtt convention уже похож на стандарт. Но он навсегда останется с врожденным уродством в лице mqtt

Из хороших стандартов WSDL, AllJoyn/IoTivity

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

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

Выбор какого именно питона? А то в одних дистрах питон = 2, в других 3, да там еще и несовместимости в минорных версиях. Стандарта нет, спеки нет, куралесь как хочешь. В результате твой очевидный выбор обрастает двухметровыми костылями virtualenv и докеров всяких. И все равно это не спасет юзера от лицезрения стектрейсов.

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

А это уже ошибка.

Да дело не в радиопротоколе, а в водможности интеграции. Zigbee HA, например? 6LoWPAN тож куда ни шло, т.к наружу торчит реальный IP-адрес, с которым уже можно работать обычными средствами

Выставление IP наружу. Я предпочитаю прикрывать снаружи такие девайсы граничными роутерами. Иначе легко их положить. Роутер по идее должен прикрыть от нападения извне. Тут «лёгкость работы» боком может выйти.

Да и распилить по сетевым сегментам/организовать vpn на граничном роутере проще.

mqtt как протокол высокого уровня не годится, т.к это не более чем публикация в канал сырых данных.

Не совсем так. Данные могут быть криптованы тем же AES (сс1310 уже умеет). К тому же канал может быть «закрыт» по ssl/tls, vpn, ... Т.е., до него ещё дорубиться надо чтобы хотя бы имена топиков перехватить. И вовсе не факт что перехватить данные. В чистом виде.

Сам по себе mqtt это да, чисто транспортный протокол, который никогда не имеет защиты. Его функция — именно и чисто транспорт. Защита это уже дополнительный протокол. Можно и в аппаратный vpn упаковать, кто запретит?

Зачем всё в одну кучу-то мешать?

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

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

Да ты офигел.

а раз уж в этом кривом форуме нельзя ответить просто в тему смирись с тем что буду цитировать наиболее подходящее сообщение.

В глаза долбишься?

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

если я валидирую любой объект и примитив на входе в функцию

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

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

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

И что там проверяется? Пришёл тебе жсон по сети и всё надо где-то чекать, парсить и кастить. Данные все надо чекать. Что толку, от того, что у тебя оно string или uint, если надо, чтобы оно было правильное? Также всё и будет валиться в рантайме.

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

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

От того, что компутер делает проверку типов мне ни холодно ни жарко. Потом всё равно надо проверять, чтобы внутри не было никакой дичи. Чтобы не было null, id были валидны там и т.п.

Так зачем ты мучаешься?

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

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

10 джейсонов из 10.

Так, коллеги, расходимся, у пациента JSON головного мозга, метастазы в ЯП, типах, функциях, везде!

Слава JSON!

Госпади, оно заразно.

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

И ты не понимаешь, что это дичь?

В чём дичь? Мне всё равно надо делать кучу проверок хоть где. Просто в жс я чекаю за одно еще и тип.

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

От того, что компутер делает проверку типов мне ни холодно ни жарко. Потом всё равно надо проверять, чтобы внутри не было никакой дичи. Чтобы не было null, id были валидны там и т.п.

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

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

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

Как будто что-то плохое.

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

Ну было бы xml или http морда, что меняется?

В твоем случае станет только хуже. JS/JSON хороший вариант для твоего уровня.

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

Очевидно, что ты ничего кроме единственного слоя не делаешь, поэтому JSON==входные данные функций имеет смысл в твоем мирке.

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

JSON == входные данные функций

Весь веб в одной фразе )

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

На входе приводишь к конкретному типу и всё, дальше не будет никаких проверок.

А если он не приводится то что? Копипастить проверки/исключения? Банальный ip проверять кроме как на string не нужно? Id проверять на наличие не нужно? Id проверять на вменяемость не нужно? Даты проверять на вменяемость, чтобы конец не был раньше начала, не нужно? На null проверять никого не нужно (а он может легально предаваться)? enum'ы проверять не нужно (это же просто int/string)?

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

А если он не приводится то что?

Слать ошибку и закрывать соединение

Банальный ip проверять кроме как на string не нужно? Id проверять на наличие не нужно? Id проверять на вменяемость не нужно? Даты проверять на вменяемость, чтобы конец не был раньше начала, не нужно? На null проверять никого не нужно (а он может легально предаваться)? enum'ы проверять не нужно (это же просто int/string)?

Форматы даты и IP можно на входе проверить, а остальное это уже логика приложения. Null может что-то означать в модели. Если нет, то на входе не пройдет (той же JSON-schema)

Копипастить проверки/исключения?

Я (в TS) делаю enum со строковыми значениями всех ошибок в програме. Типа «invalidParams» и бросаю исключение с одним из значений enum-а. Если кто-то вверх по стеку ее не поймает, то ошибка улетает на клиент (по JSON-RPC). На клиенте switch по этому enum-у

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

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

Да, я знаю. Кодогенерация из xml и по классу на каждую задачу, в результате чего линейный код на 200 строчек размазывается на 20 файлов.

Очевидно, что ты ничего кроме единственного слоя

O ja, ja. Многослойка. За всю жизнь не видел не одной нормальной, зато дерьма навалом. Почему-то все думают, что ооп+многослойка - это круто и везде надо это засунуть, чтоб как в книжке, даже если их приложение - это сраный java апплет, который пробрасывает функционал из криптолибы в js. Как вспомню, до сих пор припекает.

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

Слать ошибку и закрывать соединение

Да ты шо? И мне в каждую функцию везде такскать за собой if (isshit(arg)) {close();}? Я слишком ленивый для такого.

Форматы даты и IP можно на входе проверить

Да и надо везде это проверять ручками. Зачем это мне, если я на динамическом яп могу один раз сделать велотипы, где это всё будет свистеть пердеть и проверяться?

Я (в TS) делаю enum со строковыми значениями всех ошибок в програме.

То есть да. Если что-то не так, мне надо сделать if и throw, правильно понял?

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

И мне в каждую функцию везде такскать за собой if (isshit(arg)) {close();}?

В каждую функцию валидации входных данных. Не close, a throw

Да и мне надо везде это проверять ручками

Не везде, а на входе

То есть да. Если что-то не так, мне надо сделать if и throw, правильно понял

Смотря что не так и где. Если на входе, то убивать запрос. Если дальше, то по ситуации. Мне тебя програмированию учить? :)

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.