Luku 1 Kuinka oppia kieli syvällisesti ja tehokkaasti 1 1.1 Oppiminen vertailussa 2 Eri kielet, eri säännöt 2 Tosi ja epätosi arvot C- ja rubiinikielissä 3 Tosi ja epätosi arvot Java 3:ssa 1.2 Oppiminen historiasta 4 Ymmärrä kielisuunnittelijan tarkoitus 4 Emme tiedä, mitä kieltä oppia 4 Opi, mikä toimii useilla kielillä 5 1.3 Yhteenveto 6 Luku 2 Ohjelmointikielten syntyhistoria 7 2.1 Ohjelmointikielten syntyhistoria 8 Yhdyskaapeli 8 Ohjelma sisäänrakennettuna 9 Fortran-kieli tuli ulos 10 kertaa 2.2 Ohjelmointikielten syntyyn liittyvät syyt 11 Laiskuus: Yksi ohjelmoijan kolmesta hyveestä 11 Kielillä on omat mukavuutensa 12 2.3 Yhteenveto 13 Luku 3 Kieliopin synty 15 3.1 Mikä on syntaksi 16 Operaattorin prioriteetti 16 Syntaksi on kielisuunnittelijoiden sääntöjen laatima.17 3.2 Pinokone ja neljäs kieli 17 Laskentaprosessi 18 Kuinka ilmaista laskentajärjestys 18 Stack Machine 19 on edelleen käytössä 3.3 Syntaksipuu ja Lisp-kieli 20 Laskentavirtaus 20 Kuinka ilmaista laskelmien järjestys 20 Syntaksipuu 21 on yhä käytössä Sarake Vahvistaaksesi ymmärryksen oikeellisuuden, sinun täytyy ensin ilmaista se 23 3.4 Päätteiden merkintä 24 Kielioppianalysaattori 24 Sääntöjen 25 kilpailu Kolumni, kun et tiedä, mitä opiskella 25 3.5 Yhteenveto 26 Luku 4 Ohjelman prosessinohjaus 27 4.1 Rakenteellisen ohjelmoinnin synty 28 4.2 Ennen if-lauseen 28 syntyä Miksi on olemassa if-lause 28? Miksi on, jos... else lause 30 4.3 Vaikka lause – tehdään toistuvasti suoritetut jos lauseet tiiviimpiä 33 Lausekkeet, joissa käytetään while-lauseita 33 Lausekkeet ilman while-lauseita 34 4.4 Väittämälle – tee while-lauseesta, jonka arvo kasvaa, tiiviimmäksi 35 Lausekkeet, joissa käytetään lauseita 35 Lausekkeet, joita ei käytetä väittämille 35 foreach - ohjaa silmukkaoperaatioita käsiteltävän objektin perusteella 36 4.5 Yhteenveto 37 Luku 5 Funktio 39 5.1 Toimintojen rooli 40 Helppo ymmärtää—kuin organisaatio 40 Helppo uudelleenkäyttö – aivan kuten osat 41 Uudelleenkäytön ominaisuudet ohjelmassa 41 5.2 Paluu Komento 42 Toimintojen synty 43 Omistettu muisti 44 hyppykohteiden tallentamiseen Sarakefunktion nimeäminen 45 Pino 45 5.3 Rekursiiviset kutsut 47 Sisäkkäisten rakenteiden tehokas käsittely 48 Sisäkkäisten rakenteiden käsittely 48 5.4 Yhteenveto 52 Luku 6 Virheenkäsittely 53 6.1 Ohjelmissa on myös virheitä 54 6.2 Kuinka viestiä virhe 55 Välitä virhetiedot palautusarvon 55 kautta Hyppää 58:aan, jos teet virheen 6.3 Lauseen rakenne 61 sisältää virheellisen koodin John Goodenoughin mielipide 61 Esiteltiin CLU-kieli 62 C++-kielen 62 käyttöönotto Windows NT 3.1 63:n esittely 6.4 Uloskäynti vaatii vain yhden 64:n Miksi lopulta 64 esiteltiin Paritoiminta ilman puutteita 64 6.5 Milloin heittää poikkeus 68 Riittämättömät parametrit, kun funktiota kutsutaan 68:ksi Antenni ulospäin 69 Heitä poikkeus 70 heti virheen jälkeen 6.6 Poikkeus 71:n ohituksessa Ongelma 71 poikkeustoimituksella Tarkastuspoikkeukset Java-kielelle 71 Syyt, miksi tutkimuspoikkeavuuksia ei käytetä laajasti 73 Sarake Konkreettinen tieto ja abstrakti tieto 73 Kolumni Oppiminen korostaa pureskeluun ja nielemiseen hitaasti 74 6.7 Yhteenveto 74 Sarake Aloita siitä, missä sinun täytyy lukea 75 Luku 7 Nimi ja laajuus 77 7.1 Miksi nimi 78 Kuinka valita nimi 79 Nimikonflikti 80 Kuinka välttää konflikti 80 7.2 Scopes 81:n kehitys Dynaaminen Scope 82 Staattinen Scope 84 7.3 Onko staattinen kaukoputki täydellinen 88? Laajuus muilla kielillä 88 Ongelma 89 sisäkkäisillä funktioilla Ulkoisten skooppien uudelleensitominen 91 7.4 Yhteenveto 93 Luku 8 Type 95 8.1 Mikä on tyyppi 96? 8.2 Arvojen 97 päällä ja pois -lausekkeet Digitaalisten numeroiden keksiminen 97 Seitsemän segmentin digitaalinen putkinäyttö 98 Abacus 99 8.3 Kuinka monta hehkulamppua tarvitaan digitaaliseen numeroon 100 Desimaalista binääriin 100 Octal vs. Hex 102 8.4 Kuinka ilmaista reaaliluvut 103 Kiintopisteiden määrä – desimaalipisteen sijainti määräytyy 103:lla Liukulukuluku – Arvo itsessään sisältää tiedon siitä, mistä desimaaliosa alkaa 104 8.5 Miksi tyyppi 107 esiintyy Ei genreongelmia 107 Type 108 varhaisessa Fortran-kielessä Kerro prosessorin muuttujatyypille 108 Implisiittinen tyyppimuunnos 109 8.6 Tyyppien 111 erilaiset avautumiset Käyttäjän määrittelemä ja olio-orientoitu 112 Type 112 ominaisuutena Geneeriset tyypit, geneeriset ja mallipohjat 113 Dynaaminen Type 116 Tyyppipäättely 118 8.7 Yhteenveto 122 Sarake Hallitse luonnos ennen yksityiskohtien lukemista 122 Luku 9 Säiliöt ja narut 125 9.1 Astioiden monimuotoisuus 126 9.2 Miksi erilaisia säiliötyyppejä on olemassa 127 Array vs. linkitetty lista 127 Linkitettyjen listojen vahvuudet ja heikkoudet 130 Sarake Big O -notaatio – Tiivis esitys laskennallisen ajan ja datan välisestä suhteesta Volume 131 Kielierot 132 9.3 Sanakirjat, tiivisteet ja assosiatiiviset taulukot 132 Hajautuslista 133 Puu 134 Elementin lukuaika 136 Ei ole olemassa yhtä kaikille sopivaa konttia 138 9.4 Mikä on hahmo 139? Merkistöt ja merkkien koodaus 139 Koodaus 140 ennen tietokoneiden syntyä EDSAC:n merkkikoodaus on 142 ASCII-aikakausi ja EBCDIC-kausi 142 Japanilainen koodi 144 shift_jis koodaus rikkoo ohjelman 145 Taikakommentaattori 147 Unicode tuo yhtenäisen 148:n 9.5 Mikä on String 150? Pascal-merkkijonot, joilla on pituustieto, ja C-merkkijonot ilman tätä tietoa 150 1 merkki on 16 bittiä Java-kielen merkkijonosta 153 Suunnittelumuutos otettu käyttöön Python 3 153:ssa Haaste 154 Ruby 1.9:lle 9.6 Yhteenveto 155 Luku 10 Rinnakkaiskäsittely 157 10.1 Mitä on rinnakkaiskäsittely 158 10.2 Alajako ennen vuotta 158 10.3 Vuorotellen kaksi menetelmää 159 Yhteistyöhön perustuva moniajotila – vaihda 159 sopivassa solmussa. Preemptiivinen moniajo-tila – vaihda 160 astetta tietyn ajan jälkeen 10.4 Kuinka välttää kilpailutila 160 Kolme ehtoa kilpailuehtojen asettamiselle 161 Ei jakamista – prosessi- ja toimijamalli 162 Ei muutoksia – const, val, immutable 164 Ei väliintuloa 164 10.5 Lukkojen ongelmat ja vastatoimet 166 Ongelma sulkujen kanssa 166 Resolve 167 transaktiomuistin avulla Transaktionaalisen muistin historia 168 Transaktiomuisti korvaa 169 10.6 Yhteenveto 170 Luku 11 Esineet vs. luokat 171 11.1 Mitä on olio-orientoitu 172 Olio-pohjaiset konnotaatiot vaihtelevat kielen mukaan 172 Kohde on todellisen maailman malli 174 Mikä on luokka 175? 11.2 Menetelmät aggregaatiomuuttujien ja -funktioiden mallintamiseen 175 11.3 Menetelmä 1: Moduuli, Paketti 176 Mikä on moduuli, paketti 176 Pakettisuunnitteluobjekti 177 Perlissä Pelkät moduulit eivät riitä 178 Tallenna tiedot erikseen 179 Siirrä eri tiiviste 179 parametrille Laita myös alustusprosessi pakettiin 180 Tiivisteiden ja pakettien sitominen yhteen 181 11.4 Menetelmä 2: Lisää funktio myös hajautusarvoon 183 Ensimmäinen luokka 183 Laita funktio tiivisteeseen 184 Luo useita laskureita 185 Lisäsin jaetut ominaisuudet prototyyppiin 186 Onko tämä olio-orientoitunut 189? 11.5 Menetelmä 3: Sulkeminen 190 Mikä on sulkeutuminen 190? Miksi sitä kutsutaan sulkeutumiseksi 191? 11.6 Menetelmä 4: Luokka 191 Hallin suunnittelema luokka 192 Luokka 192 C++-kielellä Funktioiden kuvausten rooli 193 Luokat 193:n kolme päätehtävää 11.7 Yhteenveto 194 Luku 12 Perintö ja koodin uudelleenkäyttö 195 12.1 Mikä on Perintö 196? Erilaisten toteutusstrategioiden periminen 197 Perintö on kaksiteräinen miekka 199 Richterin toimeentuloperiaate 199 12.2 Moninkertainen perimys 201 Asia on useissa luokissa 201 Moniperintö on erittäin kätevää tilan uudelleenkäytön 202 toteuttamisessa 12.3 Moninkertaisen perinnön ongelma – konflikti jatkuu 203 Kiertotie 1: Poista monen perinnön 205 käytöstä Kiertotie 2: Hae 207 peräkkäin Kiertotie 3: Sekoitettu prosessointi 211 Kiertotie 4: ominaisuus 213 12.4 Yhteenveto 216 Sarake Luku luvulta alusta alkaen 217
Linkit:https://pan.baidu.com/s/1PN5Kicx4DdUgFOYQfr1yzQ&shfl=sharesetUuttokoodi:Turistit, jos haluatte nähdä tämän postauksen piilotetun sisällön, olkaa hyvä Vastaus
|