петък, 19 април 2024   RSS
    Барометър | Региони | Компании | Лица | Назначения


    3951 прочитания

    Зед Шоу сравнява Python с новите програмни езици

    И споделя опита си на собственик на малък бизнес за това как да намалим разходите
    23 декември 2020, 11:04 a+ a- a

    Световноизвестният автор и програмист Зед Шоу (Zed Shaw) презентира за първи път пред български професионалисти. Основна тема на презентацията бе „Минало и настояще: Сравняване на Python с по-нови езици за практически цели“.

    Шоу говори за своята стратегия за тестване като самотен разработчик и собственик на бизнес как разходите са важен фактор за всеки малък и среден бизнес, как тестването намалява разходите. Освен това той сподели как вижда най-новите програмни езици, които потенциално променят производителността на програмистите.

    Основната линия, която присъстваше в цялата лекция на Шоу бе свиване на разходите. Според него всеки програмист трябва да прави тестовете си сам. Само за UI той е разработил малко над 10 теста, които покриват между 85 и 90% от кода на дадено приложение. Така с „много малко написан код получавам много стойност“.

    Най-сигурният код, този, на който можете да разчитате най-много, е липсващият код. Ако имате код, който не прави нищо, не се използва никога, просто го изтрийте, въпреки че програмистите обичат да пишат код и да си го пазят, казва Шоу. Това също е свързано с ограничаването на разходите – кодът е разход, многото код е много разход – труден е за промяна и за управление, така че намаляването му помага.

    Включвам ES6 в „новите езици“, защото дори javascript е древен. Забравил съм дали е отпреди Python, мисля, че е по-стар от Python или са на горе-долу една и съща възраст. Причината, поради която смятам, че ES6 е нов език, е неговият много различен синтаксис. Той прилича много повече на Rust, Go и дори на Nim. Интересен е, защото е наслоен върху всички стари версии на Javascript, така че можете да смесвате синтаксиса и е доста невероятно. Като цяло е това, което искахме при Python 2 vs. Python 3. Така че ще казвам ES6, не Javascript. ES6 – новият език и как той се сравнява с Python. 

    Ако сте фенове на Ruby има няколко малки езика, които харесвам – Zig и Crystal. Те са много млади и малки и би било нечестно да ги сравняваме с Go, който е подкрепен от компания за трилион долара, и Rust, който е подкрепен от компания за половин милиард долара, и ES6, който е подкрепен от компании на обща стойност може би 4 трилиона долара – производителите на браузъри. Така че сравнението на миниатюрните Zig и Crystal с тези трите просто не е добро. Махнах ги, защото не е честно.

    Малко предупреждение – не възприемайте моята презентация като „ние“ срещу „тях“. Аз не искам унищожаването на Python. Не искам нито един език да победи друг език. Това, което искам, е просто да използвате инструментите.

    „Така че оценявам тези езици на фона на Python на принципа „Работи ли?“, как работи, какво ми харесва в Python, какво ми харесва в тези езици. И не казвам да зарежете Python и да ползвате само Nim. Никога не бих казал това. Аз съм много практичен човек. И каквото и да правите, моля ви не ми крещете в Twitter, защото си мислите, че съм съсипал живота ви с Python. Това се случва, между другото. Така че не приемайте това лично.“

    Критерии, по които Зед Шоу оценява програмните езици:
    • естетика на кода;
    • колко лесно се учат и използват;
    • създаване, употреба, купуване;
    • способности;
    • намаляване на цената и риска.

    Мисля, че всички тези езици са много забавни. Ако кодите за забавление – опитайте ги всичките, много са забавни.

    Съобщенията за грешки
    „Мисля, че първото нещо, което всички научават, не е синтаксисът на програмния език, а да четат съобщенията за грешки, така че да знаят какво да поправят и в това отношение всички езици са ужасни... Има корелация – колкото повече type safety има един език, толкова по-лоши са съобщенията за грешки“, споделя Шоу.

    Какво е доказателство за бъдещето като стратегия за намаляване на разходите?

    Доказателство за бъдещето като стратегия за намаляване на разходите
    Намаляването на разходите е един вид скритата опасност в голяма част от технологиите. Идва от всякакви неща. Колко трябва да похарчите за програмисти, които да правят трагични грешки. Като пример ще дам Uber, които наскоро използваха Swift за ъпдейта на новото си приложение за iPhone. Оказа се пълен провал, защото Swift е твърде нов. Такива неща са Вашите разходи. Също така е много трудно да се определят. Така че ще отбележа само няколко малки неща, които да обмислите. Когато мислите да използвате който и да е от тези езици, за да се състезавате с Python за лична употреба – на кого му пука? На никого не му пука колко струва или колко е бързо. Правете, каквото пожелаете, изразете себе си. Но когато мислите за това от моя гледна точка – аз съм малък бизнесмен, опитвам се да направя нещо, не искам да похарча много пари и много време без причина. Това важи, ако управлявате какъвто и да е бизнес.

    Бих казал, че най-големият разход е доказателство за бъдещето – колко месеца риск поемате, преди да ви се наложи да поемете някакъв голям разход в бъдеще? Честно казано, трябва да започнем с Python, защото Python 2-3 е един от най-големите разходи в програмирането, които някога съм виждал. Самият факт, че езикът принуди всички да пренапишат кода си, определено е огромен разход и голям риск, ако искате един език да е доказан в бъдещето. Също така имайте предвид, че няма нищо в проекта Python, което да твърди, че няма да направят подобно нещо отново. Няма обещание, че няма никога да ви накарат да пренапишете всичкия си код отново. А за мен това е огромен риск. Искам да кажа, че ако имате няколко неща, написани на Python и после на Python 2, трябва да започнете да търсите нещо ново. Това е опасност номер 1 с Python – те показаха, че просто не им пука.

    Nim е доказан в бъдещето. Изглежда те подменят нещата много внимателно, но е малък проект. Не е ясно. Може просто да умре и проектът трябва да остане на ниво maintenance и това е. Ако го използвате за лични неща, супер. Ако планирате да го използвате за нещо голямо, може да помислите по темата, че може да ви се наложи да налеете някакви пари в него, за да продължи да съществува. Защото той се конкурира с някои огромни езици и това е риск.

    Go. Това е Google. Хайде, Google. Те спират разни неща, сякаш са нищо. Хей, всички, използвайте Dart. Не, забравете за Dart. Използвайте Google Reader. Забравете за Google Reader. Не мисля, че ще спрат Go. Мисля, че той е много независим. Използва се, много е популярен. Има много други компании, свързани с Go. Но също така Google са показали, че не ги е грижа за поддържане на общността. Модулната им система е разработена от един човек в Google и не се интересуват какво е създал някой друг. Както казах – отстраняват хора, те просто... Те са Google, това правят. Те просто унищожават разни неща. Така че имайте го предвид.

    Какви тенденции очаква Зед Шоу през 2021 г.?

    Rust е интересен, защото беше подкрепен от голяма компания – Mozilla. Но сега е някак си самостоятелен. Не съм сигурен какъв им е статутът по отношение на надеждност. Трябва да кажа, прилича повече на Nim. Стабилен конкурент е, имат някои страхотни черти по отношение на операционните системи и вграждане. Ако правите вграждане, Rust е нещо, което определено трябва да проверите. Nim също има хубави функции за вграждане, но Rust е супер. Ако търсите да замените C с нещо по-надеждно за вграждане, трябва да проверите Rust. По отношение на доказаност в бъдещето, не знам. Нямат спецификации, управителен съвет, към който можете да се присъедините. Не е като Javascript или Go или Python, където можете да участвате в създаването на езика, така че това е нещо, за което да внимавате. Може да решат: „Трябва да направите това по този начин“ или този синтаксис го няма и да изпаднете в друга ситуация от типа Python 2-3.

    Бих казал, че златният стандарт за това как да направите езика си доказан в бъдещето, определено е ES6. На практика те направиха това, което хората от Python казаха, че е невъзможно. Проектът Python твърдеше, че не можете да пишете на Python 3, който да съществува заедно с Python 2. Но аз мога да напиша код на ES6 и свободно да го смеся със старите стилове на javascript, въпреки че са два тотално различни езика. Има семантични разлики, всичко е много различно, има различни слоеве, има инструменти за миграция и да рекомпилирате за различни браузъри. Единственото нещо, на което съм се натъкнал при ES6, е, че The Note project задържа модули. Извън това е златният стандарт за доказване на езика в бъдещето, да сте сигурни, че никой няма да бъде изоставен и могат да продължат да използват новите функции, без да се налага да изхвърлят старите неща.

    Така че мисля, че тук има големи разходи – дали е доказан в бъдещето. На практика ще трябва да похарчите ужасно много пари за програмисти да мигрират кода ви, ако проектът бъде прекратен или обявят Python 4, който ще е напълно различен. Пренапишете целия си код. Никой не иска това. 

    Кой са най-добрите и най-лошите решения, които е взимал?

    Какво мисли за Open Source?
    Amazon, Microsoft и Google драматично промениха Open Source индустрията. Преди, ако човек направи нещо с отворен код, можеше да получи работа и финансиране, а сега те просто го взимат и го превръщат в уеб услуга за трилион долара, а този, който го е разработил, не получава нищо. Що се отнася до изкуството - пишете, пускате и ползвате само copyright. Така хората да могат да го гледат, но не могат да го използват, както е с картините в музеите и снимките онлайн, съветва Шоу.

    Нагоре
    Отпечатай
     
    * Въведеният имейл се използва само за целите на абонамента, имате възможност да прекратите абонамента по всяко време.

    преди 3 часа
    JPMorgan: Не разчитайте на увеличаване на биткойна след разполовяването
    Банката прогнозира спад в стойността на най-голямата криптовалута в света
    преди 4 часа
    СЗО даде ново име на Covid и други респираторни вируси
    Международната агенция актуализира терминологията, която препоръчва за описание на респираторни инфекции
    преди 20 часа
    В София започна Serp Conf. 2024 International
    Вторият ден на конференцията, 19 април, е с акцент върху електронната търговия
    преди 20 часа
    Марк Рюте: Ще съдействаме и пред Австрия за пълноправното ви членство
    Неприемливо е да не сте членове на Шенген и по сухопътни граници, заяви министър-председателят на Нидерландия
    преди 21 часа
    BILLA България стартира своята лятна програма за ученици от цялата страна
    Всички желаещи могат да кандидатстват онлайн в новия кариерен сайт на компанията
    преди 1 ден
    Китайската икономика с по-висок от очакваното ръст
    Подпомогната от промишленото производство