Ihmiset usein kysyvät, miksi instituutiot epäonnistuvat.He syyttävät huonoja johtajia, heikentyneitä moraaleja tai piilotettuja ohjelmia. Mielestäni se on yleensä väärin. Järjestelmät eivät romahda ensisijaisesti siksi, että ihmiset ovat pahoja, vaan siksi, että valta saa toimia ilman selkeitä, täytäntöönpanokelpoisia rajoja. Nähdäksemme tämän selkeästi, saamme kaksi epätodennäköistä mentoria: Rooman tasavalta (ei valtakunta) (hallitsevan kansan järjestelmä) Rust, ohjelmointikieli (järjestelmä ohjaaville koneille) Molemmat rakennettiin saman kovan totuuden ympärille. 1. Trust Is NEVER Enough Jos suunnittelet järjestelmää, joka toimii vain silloin, kun kaikki toimivat hyveellisesti, olet rakentanut jotain, joka on tuomittu epäonnistumaan. Ihmiset tulevat uupuneiksi. He pelkäävät. He kaipaavat lyhenteitä. Sisäisesti järkeistä "vain tämä kerta". Rust omaksuu tämän todellisuuden ensimmäisestä päivästä. Se ei kysy: ”Onko tämä ohjelmoija luotettava?” Se vaatii: "Voitko todistaa, että tämä koodi ei aiheuta haittaa?" Rust vahvistaa turvallisuutta: Lainaa tarkistaa säännöt, jotka estävät vaarallisia toimia oletusarvoisesti. Selkeä opt-in vaaralle epävarman avainsanan kautta. Nollakustannukselliset abstraktiot, jotka kieltäytyvät "luottamasta" sinuun. Kokeneet insinöörit ylistävät sitä pitämästä suuria koodibaaseja elossa vuosia myöhemmin (tiedän, että ruoste ei ole niin vanha, mutta se näyttää todistavan sen arvon). 2. The Roman Republic Applied the Same Principle Rooma ei kestänyt vuosisatoja, koska sen kansalaiset olivat luonnostaan parempia ihmisiä. Tämä johtuu siitä, että se on institutionaalisesti . distrust of power Yksikään tuomari ei tuominnut tarkistamatta Toimistoilla oli tiukat määräajat Jopa hätätilanteessa vallitseva diktatuuri oli ajastettu, julkisesti julistettu ja kantanut sosiaalista stigmaa. Perustajat tiesivät: jos vallan käyttäminen on helppoa ja ilman seurauksia, sitä käytetään väärin. Nykyaikaiset demokratiat unohtavat usein tämän oppitunnin. 3. What Happens When Limits Become optional Kun rajat hämärtyvät, samat kuvioita ilmestyy joka kerta: 3.1 - Poikkeukset moninkertaistuvat - "Vain tämä kerran" tulee politiikkaan 3.2 Vastuullisuus haihtuu - hajanainen vastuu tarkoittaa, että kukaan ei omista lopputulosta. 3.3 – Korruptio normalisoituu – ei skandaalina vaan rakenteena. Tänään näemme sen: Tuomioistuimet lainsäädäntöä bench Toimielimet, joilla on toimeenpanovalta Byrokratia laajentaa valtuuksiaan ilman valvontaa Tuloksena on hidas pilaantuminen: järjestelmät, jotka hajoavat ilman dramaattista romahtamista - salakavalaisin epäonnistuminen. Ei ajanut bu sarjakuva Villains, mutta poissaolo tai vartijat. 4. Rust’s unsafe Keyword: A Model for Accountability Rustin voimakkain sääntö: Sinä vaarallisten toimintojen suorittaminen ilmoittamatta niistä. cannot Haluatko muuttaa jaettua tilaa? ohita omistajuus? pääsy vapaaseen muistiin? Sinun täytyy kirjoittaa: unsafe { // your risky code here } Tämä yksi sana saavuttaa kolme kriittistä asiaa: Varoittaa kaikkia lukemaan koodi Mahdolliset vahingot eristetään Vastuullisuus lasketaan kirjoittajalle Tämä on ristiriidassa monien nykyaikaisten laitosten kanssa: He peittävät ylikuormituksen epämääräisissä säännöissä, ”hyvissä aikomuksissa” tai ikuisissa hätätilanteissa. Rust kieltäytyy hämärtymisestä.Se pakottaa selkeyttä. 5. Corruption Is a Design Flaw, Not Just a Moral One Kun ihmiset huutavat: "Korruptio on kaikkialla", mitä he todella tarkoittavat, on: "Vallalla ei ole teräviä reunoja". Se kukoistaa missä: Valta on implisiittistä pikemminkin kuin määriteltyä. Toimeksiannot ovat laajat ja joustavat. Valvonta on epävirallista tai poissaoloa. Rooma vastusti tätä kodifioidulla lailla. Rust vastustaa sitä tiukalla kirjoittamisella ja elinaikoilla. Molemmat panevat täytäntöön yksinkertaisen säännön: Jos et voi sanoa tarkasti, mitä valtaa sinulla on, et pidä sitä. 6. Why Good Intentions Often Accelerate Decay Rikkoutuneita järjestelmiä puolustetaan usein jaloilla retoriikoilla: ”Vakauden puolesta” ”Haavoittuvien suojelemiseksi” ”Demokratian / hätätilanteen / ihmiskunnan nimissä” Ajatukset eivät ole rajoituksia. Rust sivuuttaa ohjelman tarkoituksen. Rooma ei ottanut huomioon hallitsijan aikeita. Molemmat vastasivat yhteen kysymykseen: What exact power does this grant, and what mechanism stops its abuse? Kieltäydy vastaamasta, mikä johtaa asteittaiseen virtaukseen, sitten äkilliseen murtumaan. 7. The Core lesson Et estä väärinkäyttöä rukoilemalla parempia ihmisiä. Voit estää sen: Tiukkojen rajojen asettaminen sille, mitä voidaan tehdä Jokaisen poikkeuksen tekeminen näkyväksi ja väliaikaiseksi Vastuullisuuden pakottaminen olemaan selkeä ja jäljitettävissä Tämä ei ole rangaistus, se on ystävällisyyttä tuleville sukupolville. 8. In Plain Language Rust kukoistaa, koska se kieltäytyy luottamasta ohjelmoijia Rooma kärsi, koska se kieltäytyi luottamasta hallitsijoihin Monet nykyaikaiset järjestelmät hajoavat, koska he luottavat valtaan liian helposti Vapaus ei ole sääntöjen puuttumista. Se on sääntöjen läsnäolo, jota edes valta ei voi välttää. Järjestelmällä, joka selviytyy ihmisen viasta, on paljon parempi mahdollisuus kuin järjestelmällä, joka vaatii jatkuvaa hyveellisyyttä. Sitä Rust opettaa silikoniin. Sitä Rooma kerran opetti maailmalle. Mitä oppitunteja me haluamme jättää huomiotta?