О чем думал Гвидо, когда создавал Python

Содержание

О чем думал Гвидо, когда создавал Python

AAAAA!!!! НЕ ПИШИТЕ В КОМЕНТАРИЯХ, ЧТО НУЖНО БЫЛО МЕРИТЬ СЛЕСАРНОЙ РУЛЕТКОЙ ИЛИ ШТАНГЕН ЦИРКУЛЕМ!!!!!! Я ЗАМЕРЯЛ ВСЕМИ ЭТИМИ ТРЕМЯ СПОСОБАМИ!!!! ВСЁ ТО ЖЕ САМОЕ!!!!!! ПРОЗРАЧНОЙ ЛИНЕЙКОЙ ПРОСТО НАГЛЯДНЕЕ ВЫГЛЯДИТ НА ВИДЕО!!!! ПОЖАЖУЙСТА, СДЕЛАЙТЕ РЕПОСТ. СПАСИБО.

АБСОЛЮТНО все поддельные масла в четырехлитровой металлической канистре, которые попадали мне в руки немного выше, чем оригинальная металлическая канистра, которую в Японии сейчас производит ОДИН завод – NAGAO SEIKAN.

Высота оригинальной канистры: 239 мм.

Высота поддельной канистры: 240 мм.

СНАЧАЛА УБЕДИТЕСЬ В ОСНОВНЫХ ОТЛИЧИЯХ:

Явные признаки подделки (можно распознать без сравнения с оригиналом):

2. Верхний и нижний металлический кант матовый.

3. Маркировка на нижней части канистры (дата производства тары и аббревиатура завода, который ее произвел) – На ОРИГИНАЛЕ только NSW либо NSC – это заводы, которые делают тару для OEM продуктов Honda в Японии.

4. Сварной шов тонкий без следов сварки (тонкой темной полосы толщиной около полутора миллиметров).

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

1. Пластиковый язычок на подделке менее прозрачный.

2. Дефекты на металлическом кольце нижней крышки – зажата неравномерно.

1. В каком месте и где должна быть нанесена маркировка с датой производства тары?

2. В каком месте и где должна быть нанесена маркировка с датой розлива масла?

3. Каким шрифтом наносится маркировка (толщина, наклон, количество точек в символе).

4. Какой отступ должен быть от края упаковки до первой буквы.

5. Какое расстояние должно быть между символами.

6. Какой угол наклона должен быть у маркировки

И ПРОЧУЮ ЧУШЬ, КОТОРУЮ У МЕНЯ СПРАШИВАЮТ ДЕСЯТЬ РАЗ НА ДНЮ. ЗАБУДЬТЕ ПРО ЭТО И ВЫКИНЬТЕ ИЗ ГОЛОВЫ.

Всю четырёхлитровую металлическую тару для ОЕМ производителей в Японии делает одна структура Nagao Seikan на двух заводах, – в Чибе и Вакаяме. Если вы посмотрите на дно ЛЮБОЙ четырёхлитровой тары из Японии то увидите аббревиатуру этих заводов – либо NSW либо NSC. Напомню, что на дне канистры указана ДАТА ПРИЗВОДСТВА ТАРЫ (Самой банки) а на верхней части ДАТА РОЗЛИВА ПРОДУКТА.

На заводах Nagao Seikan много производственных линий. На каждой стоит СВОЙ ПРОМЫШЛЕННЫЙ ПРИНТЕР – МАРКЕР. Каждый принтер настраивается индивидуально. Принтеры РАЗНЫЕ, – это не часть линии а опциональное устройство. Мало того, принтеры могут быть разных производителей, годов выпуска и даже стран. Настройку и калибровку осуществляет штатный механик настройщик на производстве. ПО ЭТОМУ ДАТА ПРОИЗВОДСТВА ТАРЫ МОЖЕТ БЫТЬ НАНЕСЕНА РАЗНЫМ СПОСОБОМ И ИМЕТЬ РАЗНЫЙ ВИД БУДУЧИ НАНЕСЕННОЙ НА ОДНОМ И ТОМ ЖЕ ЗАВОДЕ. Абсолютно та же ситуация с нанесением маркировки даты розлива масла – но тут разница может быть еще больше т.к. оригинальную продукцию разливают две структуры JXTG и IDEMITSU, причем на своих РАЗНЫХ заводах блендерах. ПО ЭТОМУ ДАТА РОЗЛИВА ПРОДУКТА МОЖЕТ БЫТЬ НАНЕСЕНА РАЗНЫМ СПОСОБОМ И ИМЕТЬ РАЗНЫЙ ВИД.

У меня есть много видео о том, как расшифровывать даты производства от разных производителей. Вот эти видео.

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

Важная информация по японской таре WS, T4, TC и Mitsubishi SM-X 5w30. Оптовикам смотреть обязательно

Эталонная коробка и банка из Японии для сравнения. Почему на автомасле из Японии есть русский язык?

Моторное масло Nissan как узнать дату производства. Расшифровка заводской маркировки.

Японские автомасла в металлической таре один литр. Типы. Виды. Отличия. Как понять, что это Япония?

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

Масло Тойота в двадцатилитровой таре.

Подделки WS, TYPE T-IV, CVT в 20-ках. Как распознать подделку. https://youtu.be/0BYKqUuy3o0

Моторное масло Тойота 5w30 как отличить подделку. Осторожно подделка. Признаки оригинальности.

2 3.6 бензин 11 год пробег 172 тысячи. Проблема – неравномерная работа двигателя.

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

Пропуски зажигания могут являться следствием не только неисправности свечи или катушки. Неправильное смесеобразование тоже может выдавать ошибку по пропускам зажигания. Как и оказалось в нашем случае.

О чем думал Гвидо, когда создавал Python

Снимаем впускной коллектор. Из коллектора вытекает масло вперемешку с бензином.

О чем думал Гвидо, когда создавал Python

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

О чем думал Гвидо, когда создавал Python

Откручиваем ваносы. Снимаем звездочки с распредвалов. Метки мы предварительно зафиксировали с помощью оригинального приспособления. (Номер 2000040377)

О чем думал Гвидо, когда создавал Python

Снимаем распредвал впускных клапанов.

О чем думал Гвидо, когда создавал Python

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

О чем думал Гвидо, когда создавал Python

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

О чем думал Гвидо, когда создавал Python

А вот и причина неисправности – сломанная пружина клапана. Случается такое нечасто. Обычно эти пружины живут дольше, чем сам автомобиль.

О чем думал Гвидо, когда создавал Python

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

О чем думал Гвидо, когда создавал Python

Будем ставить новую пружину.

О чем думал Гвидо, когда создавал Python

Заводим двигатель после ремонта. Работает ровно.

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

О чем думал Гвидо, когда создавал Python

О чем думал Гвидо, когда создавал Python

О чем думал Гвидо, когда создавал Python

Привет. Немного отвлекусь от блога) Если кто любит “рыженьких”, заходите, вам понравится про хонду)

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

1) Как писал выше, это стук2) Редкие, непостоянные, глухие стуки в движении или при остановке3) Самое неприятное и в общем основная причина ремонта. Машину начало таскать по колее. Руль на скорости был очень лёгкий. Любая ямка, кочка и руль пытался убежать либо вправо, либо влево. При съезде с “лежачего”, если не крепко держать руль, машина уезжала в сторону. Если ехать левым колесом по прерывистой разделительной полосе, колесо наезжая на край разделительной, сразу убегало влево, при проезде вправо. Вот так и бегало то влево то вправо если ехать по разделительной одним колесом. Делал это ради эксперимента. По ровной дороге приходилось всегда держать руль на контроле и периодически подруливать. Руль всегда на контроле, но одно дело когда рука лежит более менее расслаблено на руле, а другое когда рука постоянно в напряжении. Если дорога с уклоном, машину просто тащило в сторону.

Хочу сказать тёске с Архангельска спасибо) Много чего подсказал, поделился партами и т.д. Помощь на самом деле большая)

Всю историю рассказывать не буду. На фото будут некоторые запчасти с новой рулевой рейки. К сожалению купленная новая рейка с дефектами (я об этом знал), не подлежала восстановлению. Снял я с неё рулевые тяги, пружину, втулку и пару гаек. Брал её новую, но с дефектами. Продавец указал на то, что на работу самой рейки эти дефекты не влияют, но к сожалению рейка не подлежала восстановлению. Вернуть не получилось, времени много прошло и по этому я учился на этой рейке. Смотрел что и как устроено и т.д) По большому, все снятые детали, оправдали сумму уплаченную за рейку.

Значит так. Все работы делал в ноябре 2021 года (сейчас конец января 2022), а значит можно смело сказать что ремонт прошёл с положительным финишем. По этому описанное ниже, могу смело рекомендовать. Как запчасти, так и произведённые работы.

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

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

О чем думал Гвидо, когда создавал Python

Видно, что кто-то здесь уже был. Стоят червячные хомуты. Очень не по душе мне они. Пыльники в трещинах. Правая тяга ещё держится, левая падает, но не стучит. Вывод: дело точно в рейке, где-то внутри.

О чем думал Гвидо, когда создавал Python

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

О чем думал Гвидо, когда создавал Python

Смазка была, но она как показалось мне, уже выработалась. С 2008 года как никак находится в рейке) Зубчики на валу так же в отличном состоянии.

О чем думал Гвидо, когда создавал Python

Приступил к разборке. Большую контргайку открутил “собаками”. Регулировочную гайку открутил секреткой от колёс. Она подошла идеально) Секретка под 19 головку, если интересно.

О чем думал Гвидо, когда создавал Python

О чем думал Гвидо, когда создавал Python

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

О чем думал Гвидо, когда создавал Python

Открутил механизм с червячным валом. Он на двух болтах сверху

О чем думал Гвидо, когда создавал Python

И на одном снизу. Снизу “отстрелил” болт

О чем думал Гвидо, когда создавал Python

Вал в отличном состоянии. Претензий к внешнему виду нет. Люфтов вообще никаких нет. Подшипники в идеале. Старая смазка была вся вымыта.

О чем думал Гвидо, когда создавал Python

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

О чем думал Гвидо, когда создавал Python

После промывки, всё блестит)

О чем думал Гвидо, когда создавал Python

О чем думал Гвидо, когда создавал Python

О чем думал Гвидо, когда создавал Python

О чем думал Гвидо, когда создавал Python

О чем думал Гвидо, когда создавал Python

О чем думал Гвидо, когда создавал Python

После набивки смазки в рейку, установил втулку и пружинку. Номер пружинки 57720-2D000

О чем думал Гвидо, когда создавал Python

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

О чем думал Гвидо, когда создавал Python

Теперь по запчастям.1) Тяги я взял с оригинальной новой рейки. Арт. 56540-25000. 2 шт.2) Хомуты пыльников малые с новой рейки. Арт. 57729-2D020. 2 шт.3) Наконечники выбрал RTS. Арт. 9109705. 2 шт.4) Пыльник рулевой рейки HYUNDAI/KIA. Арт. 56528-24000. 2 шт.5) Хомут FEBEST. Арт. FECLAMP. 2 комплекта.6) Смазка АГРИНОЛ. Арт. 48230745012757) Пружина с новой рейки. Арт. 57720-2D000. 1 шт.8) Втулка с новой рейки. Арт. 57715-24000. 1 шт.9) Шайба рулевой тяги фиксирующая. Арт. 57739-33100. 2 шт.

О чем думал Гвидо, когда создавал Python

На новых рулевых тягах, смазки было очень мало.

О чем думал Гвидо, когда создавал Python

Добавил немного смазки “агринол”. Смазка отличная. Для этих дел прям самое то. И не дорогая. Смазка имеет волокнистую структуру. Намазать её не так просто как обычную смазку. Но после нанесения смазки на какой либо шарнир, её так же трудно удалить. А следовательно её не разбросает при эксплуатации.

О чем думал Гвидо, когда создавал Python

Установил тягу на место. Надел пыльник и прикрутил наконечник

О чем думал Гвидо, когда создавал Python

Наконечники RTS накрутил на тяги примерно так же как стояли ранее старые. Ранее ставил оригинал и 555. В сравнении с оригиналом, RTS идентичны.

О чем думал Гвидо, когда создавал Python

Ниже старое фото сделанное в июле 2019 года, тогда я менял наконечники на оригинал и 555.

О чем думал Гвидо, когда создавал Python

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

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

О чем думал Гвидо, когда создавал Python

О чем думал Гвидо, когда создавал Python

О чем думал Гвидо, когда создавал Python

Касаемо бачка ГУР. Грязи было не много. На сетке были какие-то крупинки в небольшом количестве. Промыл шампунем, просушил и еще раз пролил антисиликоном.

О чем думал Гвидо, когда создавал Python

Когда всё было установлено, залил жидкость и прокачал. Не рекомендую категорически жидкость ГУР HYUNDAI NEW PSF-3. После её заливки загудел насос. Очень сильно.

О чем думал Гвидо, когда создавал Python

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

При установке рулевых наконечников в кулак, подгонял их примерно по ровно стоящим колёсам. После проверки на наличие утечек и т.д, поехал тестить без проверки схождения. Тест длился в районе недели. Машину не тянула в сторону. Руль стал совсем не на много, но послушнее. На колейность машина реагировала практически так же. Стуки почти пропали. То есть проблема ушла процентов так на 40. Заехал на подъёмник и на четверть оборота закрутил регулировочную гайку. Опять немного теста. На этот раз всё чётко. Всё стуки/бряки ушли полностью. Машина едет ровно и чётко. Не рыскает по дороге. Руль держать комфортно на скорости. В общем езда стала как на нормальном, исправном авто. После, конечно же схождение. Примерная установка наконечников дала результат отклонения на 1 градус в одну сторону каждого из колёс. То есть глаз алмаз и я почти сделал всё в зелёной зоне) После проверки и регулировки схождения, всё зелёное.

В завершении подведу небольшой итог. Если вы не занимались рейкой, то 100% есть проблема. Можно попробовать устранить все неприятные моменты не снимая рейку вообще и не сливая жидкость ГУР. Нужно снять защиту и всё. Доступ к гайкам есть. Не очень удобно, но сделать вполне реально. Я регулировал в последний раз рейку и проблем не возникло. Нужно сорвать контргайку, открутить её. Далее открутить регулировочную гайку. Вытащить пружину и втулку поочередно. Можно магнитом. Ничего не польётся, масла там нет. Желательно набить в рейку, в отверстие для втулки, смазки в небольшом количестве. Далее ставите новую втулку, новую пружинку и закручиваете в обратном порядке. Только крутите без фанатизма. До упора регулировочную гайку крутить НЕЛЬЗЯ, иначе руль не провернёте. Лучше три раза по чуть чуть закрутить. Делается всё быстро и просто. Но учтите, что с таким подходом, смазка в рейке останется старая и скорее всего не будет выполнять своих функций. Но проблемы уйдут, если рейка и подвеска в щи не разбита конечно.

PS: цену вопроса указывать не буду. Запчасти дорожают. Артикулы все бьются. Всё остальное зависит от рук и головы. Если что-то не понятно, спрашивайте, не стесняйтесь. Помогу чем могу)

На этом пока всё. До скорого.

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

Начало

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

(“I had a two-week Christmas holiday with nothing to do, and needed a project that I could do on my Mac without having to log into CWI’s computers.”)

К этому моменту за плечами у него был Университет Амстердама (University of Amsterdam), степень магистра по математике и компьютерным наукам и среди прочего, работа в National Research Institute for Mathematics and Computer Science в Нидерландах (по-голландски заведение также называют Centrum Wiskunde & Informatica, CWI).

До 1987 года Гвидо состоял в команде, которая разрабатывала новый язык ABC. Любопытно, что ABC был одним из первых шагов к тому, что мы сейчас называем консьюмеризацией технологий, но язык так и не получил признания. Зато Python впоследствии продолжил его идеи. Об этом Гвидо отзывался так:

ABC задумывался как язык программирования, которому можно было бы научить интеллектуальных пользователей компьютеров, которые не были программистами или разработчиками ПО. В конце 1970-х основные создатели ABC обучали такую ​​аудиторию традиционным языкам программирования. Среди их учеников были разные ученые — от физиков до социологов и лингвистов — которым требовалась помощь в использовании их очень больших компьютеров.

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

Идею нельзя назвать уникальной. В то время подобную позицию пытался занимать Basic. Но с ним были проблемы:

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

(“The Basic versions available at the time were horrible. Almost any interesting Basic program was full of low-level hacks, where one had to poke memory byte 714 to change the screen background color to yellow.”)

В 1986 Гвидо покинул команду ABC и перешел в проект по созданию распределенной ОС Amoeba.

Со временем там возникла потребность в разработке простого языка сценариев наподобие ABC, при этом уже существовавший на тот момент Perl портировать на Amoeba было нельзя. Возможно, этому ограничению мы и должны сказать «спасибо» за появление Python.

О том, как выглядела задача изначально:

Каждое приложение, которое мы должны были писать для Amoeba, представляло собой либо shell-скрипт, либо программу на C. И я обнаружил, что у обоих вариантов были недостатки. Мне захотелось, чтобы существовал третий язык, который был бы посередине: ощущался как настоящий язык программирования (возможно, интерпретируемый), был попроще в использовании, кратким и выразительным как shell-скрипты, но чтобы с читаемостью всё было не так ужасно, как у этих скриптов.

(“Every application we have to write in for Amoeba is basically a shell script or a C program. And I found that there were downsides either of those and I wish there was a third language that was in the middle, that felt more like a genuine programing language, perhaps interpreted, easier to use, more concise of expression like shell scripts, but without terrible properties in terms of readability of shell scripts.”)

Тут-то Гвидо и применил наработки из старого проекта — взял от ABC преимущества, но убрал недостатки. Обладая достаточной свободой в рамках проекта, он начал создавать собственный язык. На упомянутых выше рождественских каникулах были написаны первые строки его интерпретатора. Так что миф о том, что Python начинался исключительно как хобби, верен лишь отчасти: да, он стартовал в свободное время, но не без конкретной задачи в рамках команды.

Базовые принципы нового языка

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

Например, Гвидо придумал не использовать фигурные скобки или специальные блоки для группировки операторов, а применять отступы. Эта идея пришла из ABC.

Гвидо о своих первых шагах:

Я создал простую виртуальную машину, простой парсер и простую среду выполнения. Сделал свою собственную версию различных деталей ABC, которые мне понравились. Создал базовый синтаксис, использовал отступы для группировки операторов вместо фигурных скобок или начальных и конечных блоков и разработал небольшое количество мощных типов данных: hash-таблицу (или dictionary, как мы ее называем), list, string и numbers.

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

На Python оказал влияние не только исчезнувший сегодня ABC. Приоритеты операторов, ключевые слова пришли из C. А обработка исключений и именованные параметры — из системных языков Modula-2 и Modula-3. Кстати, обработка исключений, а заодно классы, функции и модули были реализованы в самой первой публичной версии Python.

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

Как это видел Гвидо:

На самом деле, моя первоначальная цель при создании Python состояла в том, чтобы предоставить второй язык программистам на C или C++ для решения задач, для которых написание программы на C было просто неэффективным.

(“Actually, my initial goal for Python was to serve as a second language for people who were C or C++ programmers, but who had work where writing a C program was just not effective.”)

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

Барри Уорсо (соратник Гвидо, известный сообществу как Friendly Language Uncle For Life — «Пожизненный дружелюбный дядя языка») вспоминает свое первое знакомство с языком:

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

(“Obviously, at that Python provides some new features, make the process of writing code simple, convenient. For the first time Python when, I knew it was special. It improves the readability of the code, write Python Code is a very pleasant process.”)

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

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

В течение 1990 года Python развивался за закрытыми дверями: внутри CWI руками Гвидо. А первая публичная версия языка (0.9.0) появилась в начале 1991 года. Хотя по факту это был опенсорс, такого термина все еще не существовало. Код распространялся через Usenet.

Кстати, свое название язык получил в честь любимого комедийного сериала Гвидо «Monty Python’s Flying Circus», который в Великобритании транслировался по каналу BBC в 70-е годы прошлого века.

Доступность кода и мнение сообщества в значительной степени повлияли на Python. Пользователи начали обсуждать новый язык и путь его развития. Предлагали свои изменения и критиковали идеи других. Выход в сообщество очень сильно повлиял на процесс работы Гвидо:

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

(“Once the source code was made available for downloading, it forced me to make the installation process very easy, just to save myself from answering the same questions over and over. It also forced me to write better documentation.”)

Первая версия

Первая «официальная» версия языка увидела свет в 1994 году, когда Гвидо еще работал в CWI. Среди прочего в первой версии появились инструменты функционального программирования и поддержка комплексных чисел. Но самое главное, что следующий шаг сделал не только проект, но и его сообщество.

В том же 1994 году состоялась первая рабочая встреча пользователей Python. Встреча прошла в государственном бюро стандартов США (NBS, сегодня это государственный институт стандартов и технологий — NIST).

Барри Уорсо о первом семинаре:

Я понятия не имел, насколько это изменит мою жизнь — как на личном, так и на профессиональном уровне, — когда мы с Роджером Массе встретили Гвидо из Национального института стандартов и технологий на первом семинаре по Python в ноябре 1994 года. Песня гласит: «what a long strange trip it’s been». И это точно.

(“I had no idea how life changing it would be — on both a personal and professional level — when Roger Masse and I met Guido at NIST at the first Python workshop back in November 1994. The lyric goes: what a long strange trip it’s been, and that’s for sure.”)

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

Барри Уорсо вспоминает:

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

(For example, there was one release early on where Guido just change the equality operator. It used to be that assignment and equality were both a single equal sign. And in one release, Guido just said, I’m changing it to double equals, and there was no consideration of backwards compatibility. There was no problem with like people just having to change their code.)

Многие вещи, которые сегодня кажутся привычной и неотъемлемой частью языка — те же ключевые аргументы — когда-то так и появились.

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

Сам Гвидо высоко ценил влияние сообщества:

Некоторые из первых пользователей языка, такие как Тим Питерс и Стив Маевски, сосредоточились на очень тонких деталях дизайна и помогли прояснить, как должны работать различные функции; например они убедили меня поддержать смешанную арифметику. Большая часть текущего (и все еще растущего) набора модулей, связанных с Интернетом, была предоставлена ​​или предложена пользователями.

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

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

И это правильно, поскольку именно проекту Python мир обязан рождению такой забавной формулировки, как «фактор автобуса» (bus factor). В 1994 году Майкл Маклей (Michael McLay), работодатель Гвидо на момент первой пользовательской встречи, в рассылке публично задал вопрос: а что будет с проектом, если Гвидо попадет под автобус?

Я только что вернулся с собрания, на котором основным возражением против использования Python, было зависимость от Гвидо. Они хотели знать, выживет ли Python, если Гвидо исчезнет. Это важный вопрос для компаний, которые рассматривают возможность использования Python в продукте.

(“I just returned from a meeting in which the major objection to using Python was its dependence on Guido. They wanted to know if Python would survive if Guido disappeared. This is an important issue for businesses that may be considering the use of Python in a product.”)

А в 1995-м у Гвидо появился титул «Benevolent Dictator for Life» («великодушный пожизненный диктатор»), подчёркивающий эту единоличную власть над проектом.

Python 2

Версия 2.0 была выпущена осенью 2000 года. Принципиально новым моментом был сборщик мусора и некоторые функции, заимствованные из таких языков, как Haskell и SETL. В Python появилось понятие списка, поддержка Unicode. С версии 2.2 Python стал полностью объектно-ориентированным, так как там появились базовые типы и пользовательские классы в одной иерархии.

Разработка версии 2.0 переехала в SourceForge, что ускорило внесение изменений за счет использования его механизмов работы с исправлениями. На этом же этапе прошла некоторая формализация процесса — появился термин PEP. Так называется проект изменений, улучшающих Python, который может быть одобрен или отклонен сообществом. Сколько копий потом было сломано о PEP-ы с определенными номерами!

В ходе развития второй версии изменился процесс создания языка. На месте группы энтузиастов в 2001 году была создана организация Python Software Foundation (PSF), которой с этого момента принадлежат спецификация и документация Python. Но Гвидо все еще оставался «у руля».

Версия 2 много значила для развития языка, но сегодня она снимается с поддержки. Переход был болезненным и наверняка еще не закончился, хотя об «официальном завершении миграции» объявили еще в 2020 году. Как говорит Гвидо, ведь и Windows XP еще жив!

Python 3 или Python 3000

Версия Python 3 появилась в конце 2008 года и была несовместима с старыми версиями (2.х). Вместе с добавлением новых функций из языка были удалены устаревшие способы решения проблем, для которых существуют более свежие подходы. Главным девизом релиза стало то, что должен быть только один очевидный способ решить задачу.

Вот что в итоге говорил Гвидо о том, почему идея «освежить» язык вызвала много негатива, особенно у тех, кто использует его со сторонними библиотеками:

Язык — это самая фундаментальная часть программного обеспечения, которая объединяет приложения. Обычно язык меняется медленнее всего. И изменения в языке нужно рассматривать невероятно тщательно, иначе следующая версия приложения может не заработать. Это общий принцип.

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

(“The language is like the most fundamental part of the software that together builds all applications. And a language is typically the thing that changes the slowest. The change in a language has to be considered incredibly carefully, because you don’t want the next version of an app to break because you change the language. That’s a general principle.

But sooner or later you end up with some features that you no longer like and there’s not an easy way forward even though we try to design features in a way that is sort of future compatible. We realized a few things we just could not fix without backwards incompatibility. It was not an overnight decision. A lot of discussion went into this. We tried to engage in some risk management practices like we didn’t want to fall in the trap of second system syndrome. And we decided to involve the community.

Looking back really i believe what went wrong was that we just weren’t aware how many people were using python and were really depending on it. We didn’t realize that the way most people and a lot of companies built software with dependencies on a hundred different third-party modules. Most of them were also totally not compatible with Python 3.”)

Чтобы облегчить переход, последние версии 2.х и ветка 3.х развивались параллельно — в основном для поддержки старой функциональности. Но начиная с 2008 года все релизы 2.х содержали предупреждение о том, что его поддержка скоро будет прекращена. Эту практику остановили на релизе 3.2.

Последнее мажорное обновление (версия 3.10) вышло в октябре 2021 года.

По мере развития третьей версии и дальнейшего роста сообщества изменился процесс принятия решений о развитии языка. Гвидо ушел с позиции BDFL (несмотря на то, что FL в этой аббревиатуре означает “for life”, т.е. пожизненно) и передал эти функции управляющему совету, члены которого переизбираются каждый год. Теперь никакой автобус уже не остановит развитие.

Наше время

Хотя Гвидо сложил свои полномочия, популярность языка от этого не снизилась. Напротив, в 2022-м он возглавляет рейтинг популярности TIOBE и входит в топ-5 большинства других рейтингов. Могли ли 20 энтузиастов, собравшиеся когда-то на первой встрече по Python и поверившие в него, вообразить сегодняшние перспективы?

Сегодня для многих Python — первый и единственный язык разработки. Гвидо бы удивился, расскажи ему об этом кто-то 30 лет назад:

Я никогда не задумывал Python как основной язык для программистов, однако для многих его пользователей он стал основным языком.

И кто знает, что ждет Python в будущем?

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

Если вы пишете на Python

В октябре мы проведём конференцию PiterPy — для всех, кто активно пользуется Python. 18-19 октября будет онлайн-часть, а 28 октября хотим собрать всех в Санкт-Петербурге (но если не готовы добраться, можете и вторую часть посмотреть удалённо).

Даты, билеты и описания некоторых докладов уже есть на сайте. Будем рады видеть!

Читайте также:  Kia Rio Classic Audio 1.6 MPI
Оцените статью
Киянова.ру
Добавить комментарий