Editor vai IDE? Toinen analyysiyritys. Oheislaitteiden liitännät – miten se toimii

Pythonilla kirjoittaminen IDLE:llä tai Python Shellillä sopii yksinkertaisiin asioihin, mutta projektien kasvaessa ohjelmoinnista tulee tuskaa. IDE:n tai jopa hyvän koodieditorin käyttö voi tehdä elämästäsi paljon helpompaa. Mutta kysymys kuuluu, mitä valita?

Tässä artikkelissa käymme läpi tärkeimmät työkalut, joiden avulla voit kirjoittaa Pythonissa. Emme valitse sinulle parasta vaihtoehtoa, mutta pohdimme jokaisen edut ja haitat ja autamme sinua tekemään tietoisen päätöksen.

Mikä on IDE- ja koodieditori?

IDE (tai Integrated Development Environment) on ohjelmistojen kehittämiseen suunniteltu ohjelma. Kuten nimestä voi päätellä, IDE yhdistää useita työkaluja, jotka on suunniteltu erityisesti kehittämiseen. Näihin työkaluihin kuuluu tyypillisesti koodin käsittelyyn tarkoitettu editori (kuten syntaksin korostus ja automaattinen täydennys); rakentaa, ajaa ja virheenkorjaustyökaluja; ja jonkinlainen versionhallintajärjestelmä.

Useimmat IDE:t tukevat monia ohjelmointikieliä ja niissä on monia ominaisuuksia, jotka voivat tehdä niistä suuria, kestää kauan ladata ja asentaa ja vaatia perusteellista tietoa käyttääkseen niitä oikein.

Toisaalta on olemassa koodieditoreja, jotka ovat tekstieditoreja, joissa on syntaksin korostus ja koodin muotoiluominaisuudet. Useimmat hyvät koodieditorit voivat suorittaa koodia ja käyttää debuggeria, ja parhaat voivat jopa olla vuorovaikutuksessa versionhallintajärjestelmien kanssa. Verrattuna IDE:hen hyvä koodieditori on yleensä kevyempi ja nopeampi, mutta usein halvemman toimivuuden kustannuksella.

Hyvän kehitysympäristön vaatimukset

Mitä me siis tarvitsemme kehitysympäristöltä? Eri ympäristöjen toiminnot voivat vaihdella, mutta ohjelmointia yksinkertaistavat perusasiat ovat olemassa:

  • Tiedostojen tallentaminen. Jos IDE tai editori ei anna sinulle mahdollisuutta tallentaa työtäsi ja myöhemmin avata kaikkea uudelleen samassa tilassa, jossa se oli sulkiessasi, se ei ole sellainen IDE.
  • Suorita koodi ympäristöstä. Samoin, jos sinun on poistuttava ympäristöstä koodin suorittamiseksi, se ei ole muuta kuin yksinkertainen tekstieditori;
  • Viankorjaustuki. Mahdollisuus siirtyä koodin läpi on kaikkien IDE:iden ja useimpien hyvien koodieditorien perusominaisuus;
  • Syntaksin korostus. Mahdollisuus löytää nopeasti avainsanoja, muuttujia ja paljon muuta helpottaa koodin lukemista ja ymmärtämistä.
  • Automaattinen koodin muotoilu. Mikä tahansa editori tai IDE, joka todella tekee, tunnistaa kaksoispisteen jonkin ajan kuluttua tai lausekkeessa ja sisentää automaattisesti seuraavan rivin.

Tietenkin on monia muita ominaisuuksia, joita et halua missata, mutta yllä olevat ovat tärkeimmät ominaisuudet, joita hyvässä kehitysympäristössä pitäisi olla.

Katsotaanpa nyt joitain yleiskäyttöisiä työkaluja, joita voidaan käyttää Python-kehitykseen.

Editorit ja IDE:t Python-tuella

eclipse + pydev

Jos olet lähellä avoimen lähdekoodin yhteisöä, olet todennäköisesti kuullut Eclipsestä. Linuxille, Windowsille ja OS X:lle saatavilla oleva Eclipse on tosiasiassa avoimen lähdekoodin IDE Java-kehitykseen. On olemassa monia laajennuksia ja lisäosia, jotka tekevät Eclipsestä hyödyllisen kaikenlaisiin tehtäviin.

Yksi tällainen laajennus on PyDev, joka tarjoaa interaktiivisen Python-konsolin sekä virheenkorjaus- ja koodin täydennysominaisuudet. Sen asentaminen on helppoa: käynnistä Eclipse, valitse Ohje → Eclipse Marketplace ja etsi PyDev. Napsauta "Asenna" ja käynnistä Eclipse uudelleen tarvittaessa.

Edut V: Jos sinulla on jo Eclipse asennettuna, PyDevin asentaminen on nopeaa ja sujuvaa. Kokeneella Eclipse-käyttäjällä ei ole ongelmia tämän laajennuksen oppimisessa.

Vikoja: Jos olet vasta aloittamassa Pythonin käyttöä tai kehitystä yleensä, Eclipse voi olla ylivoimainen. Muistatko, kun sanoimme, että IDE:t ovat suuria ja että niiden täysi käyttö vaatii enemmän kokemusta? Kaikki tämä voidaan sanoa Eclipsestä.

Ylivoimaista tekstiä

Tyyppi: koodieditori
Verkkosivusto: http://www.sublimetext.com

Sublime Text, jonka on kirjoittanut Google-insinööri, jolla on unelma paremmasta tekstieditorista, on erittäin suosittu koodieditori. Kaikilla alustoilla saatavilla Sublime Textissä on sisäänrakennettu tuki Python-koodin muokkaamiseen sekä runsas joukko laajennuksia, joita kutsutaan paketeiksi, jotka laajentavat syntaksia ja muokkausominaisuuksia.

Python-lisäpaketin asentaminen voi olla hankalaa - kaikki Sublime Text -paketit on kirjoitettu Pythonilla, joten yhteisöpakettien asentaminen voi usein vaatia Python-komentosarjan suorittamisen suoraan editorissa.

Edut: Ylevällä tekstillä on paljon seuraajia. Koodieditorina Sublime Text on nopea, kevyt ja hyvin tuettu.

Vikoja V: Sublime Text ei ole ilmaista, vaikka voit käyttää kokeilujaksoa niin kauan kuin haluat. Laajennusten asentaminen voi muuttua uudeksi tehtäväksi. Lisäksi editori ei tue virheenkorjausta ja koodin suorittamista.

atomi

Tyyppi: koodieditori
Verkkosivusto: https://atom.io/

Kaikilla alustoilla saatavilla olevaa Atomia on kutsuttu "2000-luvun hakkeroitavaksi tekstieditoriksi". Atom on kirjoitettu käyttämällä Electronia, joka on puitteet monikäyttöisten työpöytäsovellusten rakentamiseen JavaScriptin, HTML:n ja CSS:n avulla, ja siinä on monia laajennuksia. Python-tuki voidaan ottaa käyttöön myös suoraan Atomiin asennettavalla laajennuksella.

Edut: tuki kaikilla alustoilla Electronin ansiosta. Atom on kevyt ja latautuu ja latautuu nopeasti.

Vikoja: Rakennus- ja virheenkorjaustuki ei ole sisäänrakennettu, vaan se lisätään laajennusten kautta. Koska Atom on kirjoitettu Electronilla, se toimii aina JavaScript-prosessina eikä alkuperäisenä sovelluksena.

GNU Emacs

Tyyppi: koodieditori
Verkkosivusto: https://www.gnu.org/software/emacs/

Kauan ennen iPhone-Android-sotaa, ennen Linux-Windows-sotaa, jopa ennen PC-Mac-sotaa, käytiin editorin sota GNU Emacsin kanssa yhtenä taistelevana osapuolena. "Laajennettavaksi, muokattavaksi, itsedokumentoivaksi tekstieditoriksi kuvattu GNU Emacs on ollut olemassa melkein yhtä kauan kuin UNIX ja se on saanut paljon faneja.

Saatavilla ilmaiseksi kaikilla alustoilla (muodossa tai toisessa), GNU Emacs käyttää Lisp-kieltä mukauttamiseen. Pythonille on tietysti myös mukautusskriptejä.

Edut: tiedät Emacsin, käytät Emacsia, rakastat Emacsia. Lisp on toinen kielesi ja tiedät, että voit tehdä sillä mitä tahansa.

Vikoja: räätälöinti tarkoittaa Lisp-koodin kirjoittamista (tai kopioimista ja liittämistä) erilaisiin skripteihin. Jos niitä ei ole, sinun on ehkä opittava Lisp selvittääksesi sen.

Vi / Vim

Tyyppi: koodieditori
Verkkosivusto: https://www.vim.org/

Toimitussodan toisella puolella on VI/VIM. Oletusarvoisesti saatavilla lähes jokaisessa UNIX-järjestelmässä ja Mac OS X:ssä, VI on saanut yhtä monta fania. VI ja VIM ovat modaalieditoreja, jotka erottavat tiedoston katselun sen muokkaamisesta. VIM sisältää kaiken, mikä on VI:ssä, sekä joitain parannuksia, kuten laajennusten saatavuuden. Kaikenlaisiin Python-tehtäviin voit käyttää VIMScriptejä.

Edut: tunnet VI:n, käytät VI:tä, rakastat VI:tä. VIMScriptit eivät pelota sinua, ja tiedät kuinka taivuttaa ne tahtosi mukaan.

Vikoja: Kuten Emacsin kanssa, et ole kovin mukava etsiä tai komentosarja Python-kehityskyvyn lisäämiseksi, etkä tiedä miten modaalieditorin pitäisi toimia.

visuaalinen studio

Edut Huomautus: Kuten Eclipsen tapauksessa, jos Visual Studio on jo asennettu muita tehtäviä varten, PTVS asentuu ilman ongelmia.

Vikoja: Kuten Eclipse, Visual Studio on vähän paljon, jos tarvitset vain Pythonin. Lisäksi, jos käytät Linuxia, olet epäonninen - tälle alustalle ei ole Visual Studiota.

Visual Studio Code

Tyyppi: koodieditori
Verkkosivusto: https://code.visualstudio.com/
Python-työkalut: https://marketplace.visualstudio.com/items?itemName=ms-python.python

Visual Studio Code (jota ei pidä sekoittaa Visual Studioon) on monipuolinen koodieditori, joka on saatavana Windowsissa, Linuxissa ja Mac OS X:ssä. VS Code on laajennettava avoimen lähdekoodin editori, joka voidaan mukauttaa mihin tahansa tehtävään. Kuten Atom, VS Code on rakennettu Electronille, joten sillä on samat edut ja haitat.

Python-tuen lisääminen VS-koodiin on helppoa - etsi "Python" Marketplacesta, napsauta "Asenna" ja käynnistä editori tarvittaessa uudelleen. VS Code tunnistaa Python-tulkin ja asennetut kirjastot automaattisesti.

Edut V: Electronin ansiosta VS Code on saatavilla kaikilla alustoilla hämmästyttävän erinomaisilla toiminnoilla. Lisäksi lähdekoodi löytyy julkisesti.

Vikoja: jos Electron on mukana, VS Code ei ole natiivi sovellus. Lisäksi joidenkin ihmisten uskonto estää heitä käyttämästä Microsoftin tuotteita.

Pythonille suunnitellut editorit ja IDE:t

PyCharm

Yksi parhaista täysin varustetuista IDE:istä erityisesti Pythonille on PyCharm. Tarjolla on sekä ilmaisia ​​avoimen lähdekoodin (yhteisö) että maksullisia (ammattimaisia) IDE-vaihtoehtoja. PyCharm on saatavilla Windowsille, Mac OS X:lle ja Linuxille.

PyCharm tukee Python-kehitystä heti valmiina - avaa uusi tiedosto ja aloita koodaus. Voit suorittaa ja korjata koodia suoraan PyCharmista. Lisäksi IDE:ssä on tuki projekteille ja versionhallintajärjestelmä.

Edut: Tämä on Pythonin kehitysympäristö, joka tukee kaikkea ja kaikkea ja hyvä yhteisö. Siinä voit muokata, suorittaa ja virheenkorjata Python-koodia.

Vikoja V: PyCharm saattaa latautua hitaasti ja oletusasetuksia on ehkä säädettävä olemassa oleville projekteille.

Spyder

Spyder on avoimen lähdekoodin IDE Pythonille, joka on optimoitu datatieteeseen. Spyder toimitetaan Anaconda-paketinhallinnan mukana, joten on mahdollista, että se on jo asennettu.

Spyderissä on mielenkiintoista, että sen kohdeyleisö on Pythonia käyttävät datatieteilijät. Esimerkiksi Spyder toimii hyvin datatieteen kirjastojen, kuten SciPy, NumPy ja Matplotlib, kanssa.

Spyderissä on kaikki ominaisuudet, joita voit odottaa tavalliselta IDE:ltä, kuten koodieditori syntaksin korostuksella, koodin täydennys ja jopa sisäänrakennettu dokumentaatioselain.

Spyderin erottuva piirre on muuttujan tutkijan läsnäolo. Sen avulla voit tarkastella muuttujien arvoja taulukon muodossa suoraan IDE:n sisällä. Integraatio IPython/Jupyterin kanssa toimii myös hyvin.

Spyderistä voimme sanoa, että se on "maanläheisempi" kuin muut IDE:t. Sitä voidaan pitää työkaluna tiettyyn tarkoitukseen pikemminkin kuin ensisijaisena kehitysympäristönä. Siinä on hienoa, että se on ilmainen, avoimen lähdekoodin ja saatavilla Windowsissa, macOS:ssä ja Linuxissa.

Edut: olet datatieteilijä, joka käyttää Anacondaa.

Vikoja V: Kokeneemmat Python-kehittäjät saattavat huomata, että Spyder ei ole tarpeeksi tehokas päivittäiseen työhön, ja he valitsevat tehokkaamman IDE:n tai editorin.

Thonny

Thonny on nimeltään IDE aloittelijoille. Viron Tarton yliopiston Informatiikkainstituutin kirjoittama ja ylläpitämä Thonny on saatavilla kaikilla tärkeimmillä alustoilla.

Oletusarvoisesti Tonny asennetaan Python-version mukana, joten sinun ei tarvitse asentaa mitään muuta. Edistyneet käyttäjät saattavat joutua muuttamaan tätä asetusta, jotta IDE löytää ja käyttää jo asennettuja kirjastoja.

Edut: Olet aloittelija Python-ohjelmoija ja tarvitset IDE:n, jolla voit heti lähteä taisteluun.

Vikoja: edistyneillä käyttäjillä ei ole tarpeeksi toimintoja, ja he korvaavat sisäänrakennetun tulkin. Lisäksi IDE:n uutuuden vuoksi saattaa esiintyä ongelmia, joihin ei tällä hetkellä ole ratkaisua.

Joten kumpi valita?

  • Aloittelevien pythonistien tulisi ottaa jotain vähiten mukauttavilla. Mitä vähemmän esteitä, sitä parempi;
  • Jos käytät jo jotakin editoria muihin tehtäviin, katso koodieditoreja;
  • No, jos sinulla on jo IDE toiselle kielelle, yritä lisätä siihen Python-tuki.

Oletko kiinnostunut myös netistä? Tutustu sitten vastaavaan verkkokehitykseen.

Kun aiot päivittää tietokonejärjestelmääsi, käyttöliittymien sekaannukset voivat vaikeuttaa komponenttien valintaa. Emolevyissä ei siis välttämättä ole IDE-liitäntää, vaikka kiintolevy tai optinen asema on kytketty sen kautta. Tai uutta SATA-asemaa ei voi asentaa järjestelmään, jossa on IDE-portit.

Määritelmä

IDE on rinnakkaisliittymän (PATA) markkinointinimi, jota käytetään sisäisten kiintolevyjen, optisten asemien ja muun tyyppisten tallennuslaitteiden liittämiseen emolevyihin.

SATA- sarjamuotoinen tiedonsiirtoliitäntä, jota käytetään sekä ulkoisten (eSATA) että sisäisten asemien ja optisten asemien liittämiseen.

Vertailu

Ero IDE:n ja SATA:n välillä on ensisijaisesti väliaikainen. IDE-rajapinta on nykyään harvinainen vieras emolevyillä ja asemilla, ja sen käyttö on perusteltua periaatteessa vain päivitystarkoituksiin pienellä verenvuodatuksella. Totta, optisten asemien tapauksessa IDE:n korvaaminen SATA:lla ei itse asiassa lisää mitään, ja kiintolevyjen luku-/kirjoitusnopeus on kaukana SATA:n tarjoamasta. Mutta IDE katoaa pian kokonaan, joten SATAan vaihtamisesta kannattaa silti huolehtia. Nykyään SATA-asemat ovat halvempia kuin IDE-asemat ja niissä on enemmän tallennuskapasiteettia.

SATA:lla on missä tahansa versiossa suurempi tiedonsiirtonopeus (maksimi IDE teoriassa 133 Mb / s, vähintään SATA - 150 Mb / s), ja PATA (IDE) -väylän kaistanleveys uusimmassa versiossa on noin 1064 Mb / s verrattuna Ensimmäisen version 1500 Mb / s SATA ja kolmannen 6000 Mbps.

IDE-liitäntäkaapeli on leveä litteä nauha, jossa on 80 ydintä (aiemmin niitä oli 40), IDE-liitäntänastat ovat aina 40. SATA-liitännäisen kaapeli on kapea ja nastaa on vain 7. Yhdellä IDE-kaapelilla, voit liittää kaksi laitetta emolevyyn, joista toinen on johtava, vain yksi roikkuu SATA-kaapelissa. IDE-kaapelit aiheuttavat muotonsa vuoksi usein virheellisen ilmankierron kotelon sisällä ja häiritsevät komponenttien asennusta.

Vasemmalla on SATA. Oikea - IDE

IDE:n kautta kytketyt laitteet saavat virran nelinapaisesta molex-liittimestä, SATA-laitteet joko 15-nastaisesta liittimestä tai samasta molex-liittimestä. On sovittimia, joiden avulla sinun ei tarvitse huolehtia minkä tahansa liitännällä varustettujen laitteiden liittämisestä virtalähteeseen. Myös SATA:n uusimmassa versiossa on mahdollista vaihtaa laite katkaisematta tietokonetta kokonaan jännitteestä, kun taas IDE on poistettava käytöstä oikealla toimintosarjalla.

Löytösivusto

  1. SATA on sarja, IDE on rinnakkainen.
  2. SATA:n siirtonopeus ja kaistanleveys ovat korkeammat.
  3. SATA-kaapeli on kompaktimpi kuin IDE-kaapeli.
  4. Kaksi laitetta voidaan liittää IDE-kaapeliin, vain yksi SATA-liitäntään.
  5. IDE-laitteet saavat virtansa molexin kautta, SATA-laitteet 15-nastaisen liittimen tai molexin kautta.
  6. SATA-laitteet ovat halvempia kuin IDE-laitteet nykyään ja paljon yleisempiä.

Haluaisin jälleen kerran ottaa esille tämän melko kiistanalaisen aiheen.

Siitä lähtien kun aloitin ohjelmoinnin, tämä kysymys on askarruttanut minua, eivätkä lukuisat foorumien ja habren aiheet ole tuoneet selkeyttä. Lisäksi minusta näyttää siltä, ​​että joitain argumentteja molemmille osapuolille ei esitetty. Ja ne, jotka annetaan, ovat väärin priorisoituja ja kadonneet kontekstin.

Artikkelissa yritän korjata tämän puutteen ja laitan vielä muutaman pisteen "ё" -merkin päälle.

Kutsun kaikki osallistumaan täydellisen instrumentin etsintään.

Omasta kokemuksestani

Aloitin ohjelmoinnin DOSissa. Turbo Pascalissa. Ja jostain syystä käytimme sitten IDE:tä vain virheenkorjaukseen, ja sitten melko harvoin. Koodin kirjoittamiseen he halusivat käyttää nimeämätöntä edit.exe-tiedostoa ilman syntaksin korostusta yhdessä Volkov Commanderin kanssa. Ja se riitti. Samalla tavalla työskentelin myöhemmin assemblerin ja osittain C ++:n parissa.

Jatkaessani C ++:n opiskelua vaihdoin Windowsiin ja vastaavasti Visual Studioon - missä olisin ilman sitä. Löysin versioita, jos en erehdy, 5 - 7. Yksinkertaisen editorin jälkeen se oli jotain - koodin luominen ja automaattinen täydennys saivat iloa. Totta, oli melkein mahdotonta selvittää kaikkea tätä synnyttämää hyvyyttä, mutta se näytti merkityksettömältä.

Jonkin ajan kuluttua vaihdoin Linuxiin ja aloitin web-kehityksen php:ssä. Täällä opiskelin vimia rinnakkain ja käytin ZendStudioa kehittämiseen. Jossain vaiheessa aloin käyttää vain Vimiä kaikkeen - tein siitä lukuisten ohjeiden mukaan pienen idean. Siinä hän kirjoitti ensimmäisen polkupyörän CMS:nsä php:llä.

Huomautan, että ennen sitä ohjelmointi ei ollut päätoimintani. Kyllä, kirjoitin myös erilaisia ​​pieniä apuohjelmia töihin, tein teemoja WordPressiin, mutta päätoimi oli hallinto.

Heti kun ryhdyin kehittämiseen ammatillisesti, vimin mahdollisuudet eivät enää riittäneet minulle. Ensin oli eclipse, sitten netbeans, nyt phpsstorm.

Viimeisen puolen vuoden ajan olen sankarillisesti yrittänyt hallita emacsia, mm. pääasiallisena työympäristönä.

Minulla on siis mihin verrata, ja toivon, että mielipiteeni on riittävästi perusteltu ja perusteltu.

IDE? IDE...

Mietin pitkään, missä muodossa esitän vertailun osapuolten eduista ja haitoista. Lista ei ole kovin sopiva tähän, koska yksinkertainen luettelointi ei täysin kuvasta asian ydintä. Editori ja IDE eivät ole vastakohtia, vaan työkaluja, joiden soveltamisala on päällekkäinen jollain alueella. Editorin edut eivät aina ole ympäristön haitat ja päinvastoin. Tästä syystä aiheesta seuraa enemmän tai vähemmän jäsenneltyä keskustelua.

Aloitan ehkä yhdestä editorin kiistattomista eduista - sen runsaista mahdollisuuksista työskennellä tekstin kanssa ja kyvyllä tehdä kaikkea irrottamatta käsiäsi näppäimistöltä. Keskiviikkoisin suurin osa ei tiedä miten. Mutta tarvitsetko sellaisia ​​ominaisuuksia, kun kirjoitat koodia? Kun kirjoitat artikkelia tai kirjettä, mielestäni on kätevää vaihtaa 2 sanaa yhdellä näppäimen painalluksella tai siirtää kappaletta sivua ylöspäin. Mutta ohjelman tekstissä tämä on useimmissa tapauksissa merkityksetöntä ja vaatii uudelleenkäsittelyä. Ja sinun on maksettava tästä joko sormia murskaavilla emacs-pikanäppäimillä tai yhtä aivoja murskaavilla komennoilla vimissä. Mutta tämä kaikki on muistettava! Jokin, joka ratkaistaan ​​yhdellä hiiren liikkeellä, kuten ikkunan siirtäminen tai sen koon muuttaminen, muuttuu kokonaiseksi tehtäväksi. Kyllä, jopa tekstin valinta on helpompaa hiirellä - tarkemmin, nopeammin, eikä sinun tarvitse laskea kuinka monta sanaa on oikeaan paikkaan tekstissä. Ei, ohjelmoija myös saattaa nämä toiminnot voivat olla hyödyllisiä, mutta tosiasia on, että sen varsinaiseen koodin muokkaamiseen käytetty aika on mitätön, joten aikahyötyä ei käytännössä ole. Mutta työkalun merkittävä komplikaatio on ilmeinen.

Ohjelmoija käyttää 80 % ajastaan ​​kirjoitetun koodin ymmärtämiseen ja sen läpi liikkumiseen. Ja liikkuu täsmälleen koodin, ei tekstin mukaan! Ja tässä toimittaja ei voi auttaa häntä millään. Työkaluvihjeen menetelmäparametrien luettelo ei näy, se ei salli sinun siirtyä menetelmän määrittelyyn, syntaksi ei ohjaa. Ja IDE:t, jopa yksinkertaisimmat, käsittelevät tämän yksinkertaisesti ja tyylikkäästi. Vietin äskettäin 10 minuuttia etsiessäni yksittäisen menetelmän määritelmää projektissa käyttämällä emacsin silversearcheria. Kävi ilmi, että luokka oli määritelty toisessa moduulissa ja niin edelleen. 10 minuuttia yhden hiiren napsautuksen sijaan! En todellakaan ole tarpeeksi kokenut emacsissa, joten anna sen olla 5 minuuttia, jopa minuutti. Suhde on kuitenkin vaikuttava.

Ja tässä IDE näyttää kenties ainoan, mutta erittäin rasvan plussansa - ohjelmointikielen jäsentimen läsnäolon. Ympäristö "ymmärtää" muokkaavansa koodia. Toimittaja - ei. Ja tämä on automaattinen täydennys, navigointi ja syntaktisten ja joskus semanttisten virheiden korostus. Se näyttää olevan ylilyöntiä, miellyttävää pikkujuttua, hemmottelua. Mutta se muuttuu välttämättömyydeksi, kun projektin koko ylittää tietyn rajan. Ja kun otetaan huomioon suuret modernit puitteet, tämä raja tulee melkein välittömästi.

Kyllä, tusinan tiedoston ja muutaman tuhannen rivin projektissa tämä plus ei ilmene kaikessa loistossaan. Editori voi myös tehdä saman automaattisen täydennyksen, mutta se ei koskaan suodata merkityksettömiä vaihtoehtoja. Ja jos projektin koko lähestyy 100 tuhatta riviä ja koostuu tuhansista tiedostoista, kirjastoja lukuun ottamatta, tulee ongelmallista valita oikea nimi muuttujien nimien, muiden luokkien menetelmien ja pelkkien sanojen joukosta kommenteista (minulla oli tämä vimissä, en tiedä korjasivatko he sen). Älykkäät vihjeet poistavat tarpeen muistaa haluttujen toimintojen nimet ja niiden parametrit. Usein tämä on yksinkertaisesti fyysisesti mahdotonta.

Projekteista puheen ollen. Kaikilla IDE:illä on tämä käsite. Asetukset, resurssit on liitetty siihen, voit etsiä jne. Editoreissa tämä on parhaimmillaan avoin tiedostojärjestelmähakemisto. Joskus vähän enemmän.

Debuggerin integrointi editoreihin jättää myös paljon toivomisen varaa. Yksikkötestaus, kirjautuminen jossain määrin pelastavat tilanteen, mutta joskus ilman debuggeria ei missään.

Joku saattaa vastustaa sitä, että nykyaikaisissa editoreissa monet näistä toiminnoista on jo toteutettu, eivätkä ne ole millään tavalla huonompia kuin kehittyneimmät IDE:t. En ole samaa mieltä. Ensinnäkin täysimittaisia ​​toteutuksia ei ole. Ne eivät toimi niin kuin pitäisi. Toiseksi, kaiken tämän asentaminen on jo melko vaikea tehtävä. Kyllä, jopa editorin sisäisten toimintojen konfigurointi on jo ei-triviaali. Kokeile vaikkapa ottaa rivinumerointi käyttöön samassa emacsissa! Lisäksi usein halutut toiminnot toteutetaan kymmenillä laajennuksilla, ei ole selvää, kuinka ne ovat vuorovaikutuksessa keskenään. Ja usein myös kymmenkunta versiota ja haaraa, jotka eivät aina ole yhteensopivia, outoja asetuksia jne. Voit tietysti viettää kuukauden, konfiguroida ja asentaa kaiken (mikä on myös paljon harrastajia), mutta tämä vain tuo editorin lähemmäs IDE-tasoa. Esimerkiksi takaisin samoihin projekteihin - kokeilin sekä Projectia vimillä että projectileä emacsin ja joidenkin muiden lisäosien alla. Jos Project jopa enemmän tai vähemmän täyttää vaatimuksiani (vaikka viimeisimmässä versiossa en voinut luoda projektia ollenkaan bugien takia), niin projektiili jätti erittäin negatiivisen vaikutelman.

Toimittajilla on kuitenkin useita käyttöalueita, joilla he kilpailevat vähintään kehitysympäristöjen kanssa.

Ensinnäkin he näyttävät itsensä paremmin pienissä projekteissa. Ei ole mitään järkeä ladata IDE-yhdistelmää toimimaan 10-20 tiedoston projektin kanssa. On helpompi korjata 3-4 riviä editorissa.

Toiseksi joillakin tietyillä alueilla kaikki IDE:n edut kumoutuvat. Esimerkiksi matalan tason kehitys Linuxille. En tehnyt sitä, mutta koodin rakenteen ja kehittäjien mieltymysten perusteella (noin 70% - emacs ja kloonit, 25% - vim, 5% - eksoottiset, kuten jed) IDE:llä ei ole mitään tekemistä. siellä. Kaikki työskentelyyn tarvittava koodi kerätään, yleensä yhteen tai kahteen tiedostoon, eikä sinun tarvitse hypätä koko projektin sisällä. Kyllä, ja automaattinen täydennys ei auta paljoa, kun valitaan kymmenestä tai kahdesta lähes samannimisestä funktiosta.

Kolmanneksi editorit voivat työskennellä paitsi koodin kanssa. Kaikkia niiden tehoja voidaan käyttää työskennellessään csv- tai xml-tiedostojen kanssa. Tai jotain muuta, mikä joskus tulee tarpeelliseksi, kuten artikkeli tai kirje. Ja sinun ei tarvitse opetella uudelleen, etsiä kätevää ohjelmaa tai muistaa pikanäppäimiä - kaikki on käsillä, kaikki on sama.

Neljänneksi kyky työskennellä kielillä, joille ei ole järkevää IDE:tä. Sanotaan, että samalla rubiinilla ympäristö ei auttanut minua paljon. SublimeText riitti. Vaikka en ole työskennellyt suuren rubiiniprojektin kanssa, ehkä IDE näyttäytyisi siellä.

Ja viidenneksi pahamaineinen laajentumismahdollisuus. Hyvillä laajennuksilla editorista tulee erittäin kätevä! Lisäksi pääinstrumenttisi jatkuvan virityksen erityinen nautinto ja sen täydellisen hallinnan tunne ovat paljon arvokkaita.

Kaikki yhteensä

En todellakaan pidä IDE:istä, vaikka siltä saattaa näyttää edellisen tekstin perusteella. Pidän niitä melko hirviömäisinä, joissa on joukko tarpeettomia toimintoja, hitaita ja resursseja vaativia. Ja parhaat niistä ovat melko kalliita. Lisäksi IDE:n käyttö on mielestäni rentouttavaa ja koukuttavaa. Toimittajille asia on päinvastoin. Lisäksi saavutettavuus ja mahdollisuus hienosäätää itseään. Ainakin vim ja emacs. Loppujen lopuksi minä vain pidän niistä. Esimerkiksi tämän artikkelin kirjoitan Emacsissa.

Mutta teollisuus (ja pomot) sanelevat omat vaatimuksensa. Jos et käytä IDE:tä, suorituskyky heikkenee merkittävästi. Mutta kukaan ei anna sinulle puoli tuntia aikaa löytää puuttuva pilkku 10 000 koodiriviltä. Kaikki tämä tulee tehdä automaattisesti ja korjata automaattisesti. Tykkään myös joskus kaivella koodiin ilman työkaluja - mutta töissä tämä on sietämätöntä ajanhukkaa.

Kaiken yritykseni ja erehdykseni jälkeen päädyin tähän johtopäätökseen - toimittaja voi käyttää kehittämiseen, mutta IDE:llä, tietyn rajan yli, sitä ei voi verrata, ja editorin käyttäminen johonkin, josta sinulle maksetaan, on luksusta. Kyllä, jos käytät oikeita kehityskäytäntöjä, suunnittelet / dokumentoit koodin oikein, noudatat standardeja, voit tasoittaa editorien luontaiset puutteet. Mutta elämme kaukana ihanteellisesta maailmassa, joten IDE:n käyttö on välttämätöntä halustamme riippumatta.

Hei! Tarkastelimme kiintolevylaitetta yksityiskohtaisesti, mutta en nimenomaan sanonut mitään liitännöistä - eli tavoista vuorovaikuttaa kiintolevyn ja muiden tietokonelaitteiden kanssa, tai tarkemmin sanottuna tavoista vuorovaikutuksessa (liittää) kiintolevyä ja tietokone.

Miksei hän sanonut? Ja koska tämä aihe on osan arvoinen vähintään koko artikkeli. Siksi tänään analysoimme yksityiskohtaisesti tällä hetkellä suosituimpia kiintolevyliittymiä. Teen heti varauksen, että artikkeli tai postaus (kumpi on sopivampi) on tällä kertaa vaikuttavan kokoinen, mutta valitettavasti ilman sitä ei voi pärjätä, koska jos kirjoitat lyhyesti, siitä tulee täysin käsittämätöntä.

Tietokoneen kiintolevyn käyttöliittymäkonsepti

Ensin määritellään termi "käyttöliittymä". Yksinkertaisesti sanottuna (eli ilmaisen itseäni sillä, jos mahdollista, koska blogi on suunniteltu tavallisille ihmisille, kuten sinulle ja minulle), käyttöliittymä - tapa, jolla laitteet ovat vuorovaikutuksessa toistensa kanssa eikä vain laitteiden kanssa. Esimerkiksi monet teistä ovat luultavasti kuulleet ohjelman niin kutsutusta "ystävällisestä" käyttöliittymästä. Mitä se tarkoittaa? Tämä tarkoittaa, että ihmisen ja ohjelman välinen vuorovaikutus on helpompaa, ei vaadi paljon vaivaa käyttäjältä verrattuna "epäystävällinen" käyttöliittymään. Meidän tapauksessamme käyttöliittymä on vain tapa olla vuorovaikutuksessa erityisesti kiintolevyn ja tietokoneen emolevyn kanssa. Se on joukko erikoislinjoja ja erityinen protokolla (joukko tiedonsiirtoa koskevia sääntöjä). Eli puhtaasti fyysisesti - tämä on kaapeli (kaapeli, lanka), jonka molemmilla puolilla on tulot, ja kiintolevyllä ja emolevyllä on erityisiä portteja (paikat, joihin kaapeli on kytketty). Siten rajapinnan käsite sisältää liitäntäkaapelin ja portit, jotka sijaitsevat sen liittämissä laitteissa.

No, nyt tämän päivän artikkelin "mehuin", mennään!

Kiintolevyjen ja tietokoneen emolevyn välisen vuorovaikutuksen tyypit (liitäntätyypit)

Joten jonon ensimmäisenä meillä on kaikista "vanhaisin" (80-luku), nykyaikaisissa kiintolevyissä sitä ei enää löydy, tämä on IDE-liitäntä (alias ATA, PATA).

IDE- käännetty englannista "Integrated Drive Electronics", joka tarkoittaa kirjaimellisesti - "sisäänrakennettu ohjain". Tätä kutsuttiin myöhemmin IDE:ksi tiedonsiirron rajapinnaksi, koska ohjain (sijaitsee laitteessa, yleensä kiintolevyissä ja optisissa asemissa) ja emolevy oli kytkettävä johonkin. Sitä (IDE) kutsutaan myös ATA:ksi (Advanced Technology Attachment), se osoittautuu jotain "Advanced Technology Attachment" -liitteeksi. Tosiasia on, että ATA - Parallel Data Transfer Interface, jolle pian (kirjaimellisesti heti SATA:n julkaisun jälkeen, josta keskustellaan jäljempänä), se nimettiin uudelleen PATA (Parallel ATA).

Mitä voin sanoa, IDE, vaikka se oli hyvin hidas (tiedonsiirtokanavan kaistanleveys vaihteli 100 - 133 megatavua sekunnissa IDE:n eri versioissa - ja silloinkin puhtaasti teoreettisesti, käytännössä se on paljon pienempi), mutta se salli kahden laitteen kytkemisen emolevyyn samanaikaisesti yhdellä silmukalla.

Lisäksi kun kaksi laitetta yhdistettiin kerralla, linjan kaistanleveys jaettiin puoleen. Tämä ei kuitenkaan ole IDE:n ainoa haittapuoli. Itse johto, kuten kuvasta näkyy, on melko leveä ja kytkettynä vie leijonan osan järjestelmäyksikön vapaasta tilasta, mikä vaikuttaa negatiivisesti koko järjestelmän jäähdytykseen. Yleisesti IDE on vanhentunut moraalisesti ja fyysisesti tästä syystä IDE-liitintä ei enää löydy monista nykyaikaisista emolevyistä, vaikka niitä oli vielä aikoihin asti asennettuna (määrä 1 kpl.) Budjettikortteihin ja joihinkin keskihintasegmentin levyihin.

Seuraava, yhtä suosittu kuin IDE kerralla, käyttöliittymä on SATA (Serial ATA), jonka ominaispiirre on sarjatiedonsiirto. On syytä huomata, että tätä kirjoitettaessa se on massiivisin käytettäväksi PC:ssä.

SATA:sta on kolme pääversiota (versiota), jotka eroavat toisistaan ​​kaistanleveyden suhteen: rev. 1 (SATA I) - 150 Mb/s, kierros. 2 (SATA II) - 300 Mb/s, kierros. 3 (SATA III) - 600 Mb/s. Mutta tämä on vain teoriassa. Käytännössä kiintolevyjen kirjoitus-/lukunopeus ei yleensä ylitä 100-150 Mb/s, ja jäljellä olevalla nopeudella ei ole vielä kysyntää ja se vaikuttaa vain ohjaimen ja kiintolevyn välimuistin välisen vuorovaikutuksen nopeuteen (lisää nopeutta levykäytöstä).

Innovaatioista voidaan mainita - kaikkien SATA-versioiden yhteensopivuus taaksepäin (SATA rev. 2 -liittimellä varustettu asema voidaan liittää emolevyyn SATA rev. 3 -liittimellä jne.), parannettu ulkonäkö ja liittämisen helppous / kaapelin irrottaminen, pidempi verrattuna IDE-kaapelin pituuteen (enintään 1 metri, vs. 46 cm IDE-liitännässä), tuki NCQ-toiminnot ensimmäisestä versiosta lähtien. Kiirehdin miellyttämään vanhojen laitteiden omistajia, jotka eivät tue SATA:ta - niitä on sovittimet PATA:sta SATA:han, tämä on todellinen tie ulos tilanteesta, jonka avulla voit välttää rahankulutuksen uuden emolevyn tai uuden kiintolevyn ostamiseen.

Toisin kuin PATA, SATA-liitäntä mahdollistaa kiintolevyjen "hot-swapin", mikä tarkoittaa, että kun tietokoneen järjestelmäyksikkö on päällä, voit kiinnittää / irrottaa kiintolevyjä. Totta, sen toteuttamiseksi sinun on kaivettava hieman BIOS-asetuksia ja otettava AHCI-tila käyttöön.

Seuraava jonossa - eSATA (ulkoinen SATA)- luotiin vuonna 2004, sana "ulkoinen" osoittaa, että sitä käytetään ulkoisten kiintolevyjen liittämiseen. Tukee " hot swap"-asemat. Liitäntäkaapelin pituutta on lisätty SATA:han verrattuna - maksimipituus on nyt jopa kaksi metriä. eSATA ei ole fyysisesti yhteensopiva SATA:n kanssa, mutta sillä on sama kaistanleveys.

Mutta eSATA ei ole suinkaan ainoa tapa liittää ulkoisia laitteita tietokoneeseesi. esimerkiksi firewire- Nopea sarjaliitäntä ulkoisten laitteiden, mukaan lukien kiintolevyn, liittämiseen.

Tukee "hot-swap"-kiintolevyjä. Suorituskyvyltään se on verrattavissa USB 2.0:aan, ja USB 3.0:n myötä se jopa menettää nopeutta. Sillä on kuitenkin edelleen se etu, että FireWire pystyy tarjoamaan isokronista tiedonsiirtoa, mikä edistää sen käyttöä digitaalisessa videossa, koska se mahdollistaa reaaliaikaisen tiedonsiirron. FireWire on epäilemättä suosittu, mutta ei niin suosittu kuin esimerkiksi USB tai eSATA. Sitä käytetään harvoin kiintolevyjen liittämiseen; useimmissa tapauksissa erilaisia ​​multimedialaitteita yhdistetään FireWirellä.

USB (Universal Serial Bus), ehkä yleisin ulkoisten kiintolevyjen, flash-asemien ja SSD-asemien liittämiseen käytetty liitäntä. Kuten edellisessä tapauksessa, on olemassa "hot swap" -tuki, melko suuri liitäntäkaapelin enimmäispituus - jopa 5 metriä USB 2.0:aa käytettäessä ja jopa 3 metriä - USB 3.0:aa käytettäessä. Luultavasti on mahdollista tehdä pidempi kaapelipituus, mutta tässä tapauksessa laitteiden vakaa toiminta on kyseenalaista.

USB 2.0:n tiedonsiirtonopeus on noin 40 Mb/s, mikä on yleensä alhainen. Kyllä, tietysti tavalliseen jokapäiväiseen tiedostotyöhön 40 Mb / s kanavan kaistanleveys riittää silmille, mutta heti kun puhumme suurten tiedostojen kanssa työskentelystä, alat väistämättä etsiä jotain nopeampaa. Mutta käy ilmi, että ulospääsy on olemassa, ja sen nimi on USB 3.0, jonka kaistanleveys edeltäjäänsä verrattuna on kasvanut 10 kertaa ja on noin 380 Mb / s, eli melkein kuin SATA II, jopa vähän lisää.

Kaapelin vastakkaisissa päissä on kahdenlaisia ​​USB-kaapelin nastoja, tyyppi "A" ja tyyppi "B". Tyyppi "A" - ohjain (emolevy), tyyppi "B" - kytketty laite.

USB 3.0 (tyyppi "A") on yhteensopiva USB 2.0:n (tyyppi "A") kanssa. Tyypit "B" eivät ole yhteensopivia keskenään, kuten kuvasta näkyy.

Thunderbolt(Kevyt huippu). Vuonna 2010 Intel esitteli ensimmäistä tietokonetta tällä käyttöliittymällä, ja vähän myöhemmin yhtä tunnettu Apple-yhtiö liittyi Inteliin tukemaan Thunderboltia. Thunderbolt on riittävän siistiä (no, miten muuten, Apple tietää, mihin kannattaa sijoittaa), kannattaako puhua sellaisten ominaisuuksien tukemisesta kuin: pahamaineinen "hot swap", samanaikainen yhteys useisiin laitteisiin kerralla, todella "valtava" tiedonsiirto nopeus (20 kertaa nopeampi kuin USB 2.0).

Kaapelin enimmäispituus on vain 3 metriä (todennäköisesti enempää ei tarvita). Kaikista näistä eduista huolimatta Thunderbolt ei ole vielä "massa" ja sitä käytetään pääasiassa kalliissa laitteissa.

Mene eteenpäin. Seuraavaksi meillä on pari liitäntää, jotka ovat hyvin samankaltaisia ​​keskenään - nämä ovat SAS ja SCSI. Niiden samankaltaisuus on siinä, että niitä molempia käytetään ensisijaisesti palvelimissa, jotka vaativat korkeaa suorituskykyä ja lyhimmän mahdollisen pääsyn kovalevylle. Kolikolla on kuitenkin myös kääntöpuoli - kaikki näiden liitäntöjen edut kompensoidaan niitä tukevien laitteiden hinnalla. SCSI:tä tai SAS:ää tukevat kiintolevyt ovat paljon kalliimpia.

SCSI(Small Computer System Interface) - rinnakkaisliitäntä erilaisten ulkoisten laitteiden (ei vain kiintolevyjen) kytkemiseen.

Se kehitettiin ja standardoitiin jopa hieman aikaisemmin kuin ensimmäinen SATA-versio. SCSI:n uusimmassa versiossa on "hot swap" -tuki.

SAS(Serial Attached SCSI), joka korvasi SCSI:n, joutui ratkaisemaan useita viimeksi mainitun puutteita. Ja minun on sanottava - hän onnistui. Tosiasia on, että "rinnakkaisuutensa" vuoksi SCSI käytti yhteistä väylää, joten vain yksi laitteista voisi toimia ohjaimen kanssa samanaikaisesti, SAS:lla ei ole tätä haittaa.

Lisäksi se on taaksepäin yhteensopiva SATA:n kanssa, mikä on epäilemättä iso plussa. Valitettavasti SAS-liitännällä varustettujen kiintolevyjen hinta on lähellä SCSI-kiintolevyjen kustannuksia, mutta tästä ei pääse eroon, joudut maksamaan nopeudesta.

Jos et ole vielä väsynyt, ehdotan harkitsemaan toista mielenkiintoista tapaa kytkeä kiintolevy - NAS(Verkkotallennusjärjestelmä). Verkkoon liitetyt tallennusjärjestelmät (NAS) ovat erittäin suosittuja nykyään. Itse asiassa tämä on erillinen tietokone, eräänlainen minipalvelin, joka vastaa tietojen tallentamisesta. Se yhdistetään toiseen tietokoneeseen verkkokaapelilla ja sitä ohjataan toisesta tietokoneesta tavallisen selaimen kautta. Kaikki tämä on välttämätöntä tapauksissa, joissa tarvitaan suurta levytilaa, jota useat ihmiset käyttävät kerralla (perheessä, työssä). Verkkomuistin tiedot siirretään käyttäjien tietokoneille joko tavallisen kaapelin (Ethernet) tai Wi-Fi:n kautta. Omasta mielestäni erittäin kätevä juttu.

Luulen, että siinä kaikki tältä päivältä. Toivottavasti pidit materiaalista, suosittelen tilaamaan blogipäivitykset, jotta et menetä mitään (lomake oikeassa yläkulmassa), ja tapaamme sinut seuraavissa blogiartikkeleissa.