Voisiko Linus Torvalds harkita C++:n tuomista Linux-ytimeen?

linustorvalds

Linus Benedict Torvalds on ohjelmistosuunnittelija, joka tunnetaan Linux-ytimen kehittämisen aloittamisesta ja ylläpitämisestä.

Muutama viikko sittens jaamme täällä blogissa uutisia ehdotuksesta joka on elvytetty monien vuosien jälkeen suhteessa elinkelpoisuuteen C++-koodin ottaminen käyttöön Linux-ytimessä, ehdotus, joka käynnistettiin vuonna 2018 vitsinä.

La ehdotus käynnistettiin uudelleen Kernel-postituslistoilla, mutta vakavalla tavalla Hans Peter Anvin, Eräs Intelin ydinkehittäjä ja -kehittäjä nosti esiin mahdollisuuden sisällyttää C++ kolmantena ohjelmointikielenä Linuxiin.

Linux C++
Aiheeseen liittyvä artikkeli:
C++ Linuxissa, aihe herää henkiin 6 vuoden jälkeen

Esittelyn kanssa ruostetta linuxissa, monet kehittäjät ja osa yhteisöstä näkivät loistavan polun edellä Linuxissa, plus se myös Erilaisia ​​"ideoita" on syntynyt muiden ohjelmointikielten toteuttamiseksi, ehdotus C++:n käyttöönotosta avaa jälleen keskustelun monien ytimen kehittäjien keskuudessa ja jopa Linus Torvalds selittää jälleen kerran passiivisimmalla ja ymmärrettävimmällä tavalla, miksi Linux ei ole valmis C++:lle (sarkasmi).

Meidän on muistettava, että Rustia ei hyväksytty Linuxissa hetkestä toiseen, koska Linuxin Rust-projektissa (Rust for Linux) oli Linus Torvaldsin itsensä tekemä sarja versioita ennen kuin se hyväksyttiin ytimen päähaaraan, jotta se voidaan sisällyttää, ja on syytä mainita, että Linuxin isä ei ollut mitään pehmeää tehdessään tarkistuksia ja kommentoiessaan ehdotettuja muutoksia.

Ennen artikkelin kehittämistä minun on mainittava, että artikkelin koko sisältö on henkilökohtaista mielipidettä, joka syntyy internetistä lukemieni tietojen ja uutisten tulkinnan kautta, joten se voi poiketa tulkinnasta, jonka sinä lukijana saatat on ja jonka lukemiseen käytän mielelläni aikaa, jos haluat jakaa sen täällä kommenteissa.

Nyt kun kyseessä on C++:n ehdotus kolmanneksi ohjelmointikieleksi, väitetyssä tapauksessa, ja sanon "tietenkin" Toteutuksen tulisi käydä läpi samanlainen tarkistussarja, jos ei vielä tiukempaa kuin se oli Rustille. Ja tämä mainitseminen johtuu siitä, että C++:lla ja Linuksella on historiansa, pieni, mutta jo monta vuotta vanha.

Syy mainitsemiseen että C++:n tapauksessa kolmantena Linux-kielenä a "Oletusti" johtuu siitä, että Linuxin isä Linus Torvalds ei ole eikä tule suhtautumaan C++:aan myönteisesti., koska hän on useammin kuin kerran aina maininnut, että C++ "on kauhea kieli."

Mainitsemallar joitain hetkiä, jolloin C++:n käyttöä on harkittu Linuxissa ja Linus Torvalds ei ole ilmaissut pelkästään eri mieltä, mutta "tiettyä vihaa" C++:aa kohtaan, jonka päällä mainitaan, miksi "se ei yksinkertaisesti ole vaihtoehto Linuxille", yksi viimeisimmistä oli arvostelujen aikana Rustin toteutuksesta lähtien keskustelun aikana Google-viestistä, C++:n sisällyttäminen mainittiin ehdotuksena:

"Ratkaisu tähän on yksinkertainen: käytä vain C++:aa Rustin sijaan"

Mille Linus Torvalds ei voinut olla nauramatta ja hänen vastauksensa oli:

"LOL". «C++ ei ratkaise mitään C:n ongelmista ja vain pahentaa asioita, se on todellakin roskakieli.

Ihmiset, jotka eivät pidä C:stä, valitse kieli, joka tarjoaa sinulle jotain arvokasta. Kuten muistiturvalliset ja "se" kielet voivat välttää jotkin C:n sudenkuopat tai kielet, joilla on sisäinen GC "roskakeräys" -tuki ja helpottavat muistin hallintaa. "C++ ratkaisee kaikki väärät ongelmat, ja jokainen, joka sanoo "kirjoita ydin uudelleen C++:ssa", on liian tietämätön edes tietääkseen sitä."

Linus Torvalds on aina pitänyt C++:aa "jätteenä" ja pitänyt sitä "hyödyttömänä" No, "C++ ei voi ratkaista C-kielen ongelmaa ollenkaan, se vain pahentaa asioita." Torvalds uskovat, että ne, jotka eivät pidä C-kielestä, voivat etsiä kieltä, joka voi todella lisätä arvoa. Esimerkiksi kielet, jotka ovat muistiturvallisia ja voivat välttää C:n aiheuttamat piilotetut vaarat (kuten ruoste).

Verrattuna C++:aan, Linus on maininnut, miksi C on hänen vakiovalintansa:

"Kun ihmiset puhuvat C:n aiheuttamista vaaroista, he puhuvat myös osasta syistä, miksi C on niin voimakas: "Sen avulla voit toteuttaa tehokkaasti kaiken tämän matalan tason jutun", Linus mainitsi. Lisäksi vaikka GC on hyvä yksinkertaistamaan ohjelmointia useimmissa tapauksissa, se ei yleensä ole jotain, mitä voidaan tehdä matalan tason järjestelmäohjelmoinnissa.

Itse asiassa postituslistoilla se mainitaan Jossain vaiheessa yritettiin käyttää C++:aa Linuxissa, vuonna 1992 (enemmän tai vähemmän vuosi Linuxin syntymän jälkeen), mutta tämä jäi vain "yritykseksi" Torvaldsin jälkeen mainita tästä yrityksestä:

Se on kamalaa. Usko minua: ytimen koodin kirjoittaminen C++:lla on HELVETIN TYHMÄ IDEA.

Tosiasia on, että C++-kääntäjät ovat epäluotettavia. Ne olivat vielä pahempia vuonna 1992, mutta jotkin perusasiat eivät ole muuttuneet:

– Koko poikkeuskäsittely C++:ssa on pohjimmiltaan rikki. Se on "erityisesti" rikki ytimille.
- mikä tahansa kääntäjä tai kieli, joka haluaa piilottaa selkänsä, kuten muistivarauksia, ei yksinkertaisesti ole hyvä valinta ytimelle.
– voit kirjoittaa oliopohjaista koodia (hyödyllinen tiedostojärjestelmille jne.) C:llä "ilman roskaa, joka on C++".

Kun otetaan huomioon nämä ja monet muut kommentit, Ymmärrämme hieman, miksi Linus Torvalds pitää C++:aa kauheana kielenä., sen lisäksi että kritisoi kieltä siitä, että sitä käyttävät «huonolaatuisia ohjelmoijia siihen pisteeseen, että sen avulla on paljon, paljon helpompaa tuottaa täydellistä roskaa.» Ja se on sitä Näyttää siltä, ​​että C++ oli jossain vaiheessa katkera maku Torvaldsin suussa., koska kritiikissäsi näyttää siltä, ​​että yritän kokeilla C++:aa Mainitsen sen sähköpostissa:

"C++ johtaa todella huonoihin suunnitteluvalintoihin. Alat aina käyttää "mukavia" kielikirjaston ominaisuuksia, kuten STL ja Boost ja muuta täydellistä roskaa, jotka voivat "auttaa" ohjelmointia, mutta aiheuttaa:

loputon määrä kipua, kun ne eivät toimi (ja jokainen, joka sanoo minulle, että STL ja erityisesti Boost ovat vakaat ja kannettavat, on niin täynnä hölynpölyä, ettei se ole edes hauskaa)
"tehottomia abstrakteja ohjelmointimalleja, joissa kaksi vuotta myöhemmin huomaat, että jokin abstraktio ei ollut kovin tehokasta, mutta nyt kaikki koodisi riippuu kaikista sen ympärillä olevista kauniista objektimalleista, etkä voi korjata sitä kirjoittamatta sovellustasi uudelleen."

Joten, palatakseni julkaisun otsikkoon ja kun on jo ymmärretty Linus Torvaldsin C++:aa kohtaan tunteman vihan jäävuoren huippu, ei ole tarpeen tutkia paljon, koska Torvaldsille Linux ei tarvitse muuta kieltä, koska C riittää ja koko tämän ajan C on, on ollut ja tulee olemaan työhönsä sopiva kieli ja Linus jatkaa hyökkäämistä ohjelmointikieliä vastaan, joista hän ei pidä, erityisesti C++:aan.

Ja se yksi monista syistä, miksi C++:aa ei yksinkertaisesti oteta huomioon Linuxille, että se sallii poikkeukset, kun taas Rust ei pidä C:stä, koska ytimen ohjelmoinnissa sitä ei voida sallia Tuntematon poikkeus voi poistaa käyttöjärjestelmän käytöstä, eikä sinun pitäisi edes ajatella ytimen epäonnistumista.

Y "oletetussa", koska Torvalds tuli harkitsemaan C++:aa Linuxissa, tästä voi olla enemmän kuin hyötyä kolmannen tai useamman ohjelmointikielen sisällyttäminen, muodostuisi ongelmaksi, koska esimerkiksi toteuttamalla Ruoste tällä hetkellä joitakin ongelmia alkaa tulla ilmi, kuten ne, joista mainittiin jo julkaisussa Rustin nykytila ​​Linuxissa.

Rust ajurit Linuxissa
Aiheeseen liittyvä artikkeli:
Ruoste Linuxissa: edistysaskeleet, haasteet ja nykytila

Tämän hetkisten haasteiden joukossa mainitsemme artikkelissa, että yksi niistä on «rekrytoi lisää tarkistajia koodiin jota kehitetään" lisäksi GCC-pohjaisen Rust-kääntäjän kehitys on hidastunut, liianOn hyvin pieni mahdollisuus, että he kirjoittavat uudelleen suuria osia ytimestä Rustissa Lyhytaikaiset ja jopa erittäin pienet mahdollisuudet tehdä se ilman kaikenlaisia ​​virheitä ja erityisesti yhteensopivuusongelmia.

Jos nämä ongelmat, jotka heijastuvat Rustissa lisäämme ne C++:lla tai millä tahansa muulla kielellä jotka voidaan lisätä Linuxiin, Ytimen kehitys vaikuttaisi suuresti ja tällä alussa emme saisi versiota kahden kuukauden välein, vaan pikemminkin se olisi kehitystä pidempien versioiden välillä, enemmän kehittäjiä, enemmän arvioijia ja tämä kaikki muuttuu suuremmiksi ponnisteluiksi.

Epäilemättä lähestymistapaa C++:n ottamiseksi käyttöön kolmantena ohjelmointikielenä ei ole vielä harkittu, ja kuten jo mainitsimme, yksi suurimmista esteistä tälle on Linus Torvalds itse.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.