Mushure mekunyora chinyorwa chekutanga pa maitiro ekugadzira yako yega yekushandisa systemMumwe munhu akandiudza kana ndichigona kuita chinyorwa pa maitiro ekugadzira mutauro wechirongwa. Pakutanga handina kunyatsoteerera, asi ikozvino uye nedzimwe nzira ndakadzidza zvakawanda nezve kugadzirwa kwemitauro yekuronga. Saka ngatiitei mutauro wekutanga wepurogiramu, inokwenenzverwa zviri nyore mune mamwe mapurogiramu uye inoshanda nemuchina chaiwo watichagadzirawo. Nhasi tinofanirwa kugadzira muchina wakasarudzika chaiwo.
Iwe unogona kunge uri kushamisika: «Mushini chaiwo? "Asi hazvina kunyanya kuoma uye zvinoita kuti mapurogiramu adzokere shure?" Mukupesana, muchina wakareruka chaiwo uri nyore kwazvo uye unomhanyisa. Ndasarudza ngura semutauro wemuchina chaiwo. Asi chii icho ngura?
ngura kuisa mukati Linux Nenzira yakapusa. Zvisinei, hapana chikamu chepamutemo. Vashandisi ve Ubuntu unogona kuwedzera izvi zviviri PPA: ppa: hansjorg / ngura y ppa: cmrx64 / nhumbi, vashandisi ve Arch Unogona kushandisa AUR (cargo-git ndiyo package inoisa zvese). Vamwe vese vanogona kushandisa:
curl -s https://static.rust-lang.org/rustup.sh | sudo sh
Mushini chaiwo unoshanda sei?
Kana iwe uchiziva mashandiro anoita nyika inosanganisa yakafanana chaizvo, neiyo stack kana iyo stack. Kana zvisiri, ndinokutsanangurira. Ngatifungei kodhi inotevera:
Dhinda 2 + 3
Iyo komputa hainzwisise zvinoreva 2 + 3, uye haina kuziva marongero aunofanirwa kutevedzera. Makomputa anoshanda nemabhatiri kana matura mune iyo data yakaunganidzwa uye ichienderera ichibviswa. Iyo kodhi mumuchina wedu chaiwo inofanira kutarisa chimwe chinhu seichi:
PUSH 2 PUSH 3 Wedzera Wedzera
Chaizvoizvo isu taizoisa iwo maviri pane stack kumusoro, iwo matatu futi. ADD yaizodhonza (i.e. bvisa kubva mudura uye uwane kukosha kwayo) zvinhu zviviri zvekupedzisira pane stack uye wedzera mhedzisiro kumusoro kwesaki. PRINT yaizotora chinhu chekupedzisira pane stack uye yochishandisa kuchiratidza kwatiri. Zvino ngatiitei izvo mukati ngura.
Isu tinofanirwa kutanga tatsanangura mutauro weiyo byte code, tinogona kushandisa iripo iripo senge iri mu Java kana the CLR ye .NET / Mono, asi isu tichagadzira imwe yakakosha.
https://gist.github.com/a01de8904fd39a442c20
Isu tinoshandisa hexadecimal notation pamirairo yega yega. Pamusoro takaisa # [kutora (KubvaPrimitive)], chinoshamisa che ngura uye zvichatibatsira gare gare kuti tikwanise kuenzanisa enumeration nema byte zvakananga.
Iye zvino isu tinofanirwa kuita basa rinoitisa yega yeaya mirairo. Kune izvi isu tinofanirwa kuverenga byte uye tichiienzanisa nemirairo yatinayo mukuverenga. Kana iwe ukawana chero zviripo, iwe unofanirwa kuita chako chiito.
https://gist.github.com/8950ce212a2de2f397f9
Isu tinoita izvozvo kuverenga yega yega yega uye kuzviita:
https://gist.github.com/12e24a1f0dd65e4cd65d
Sezvauri kuona, isu tinosiyanisa kana isu takapihwa iyo PUSH yekuraira (yedu INTEGER rairo) zvisati zvaitika, iyo inotevera byte ichaendeswa zvachose kudura. Ikoko tiri kushandisa mabasa maviri andisina kukudzidzisa, kuzvida.pop () y kuzvida.push (), izvo zviri pachena kuti zviri kutarisira kubata stack.
https://gist.github.com/54147f853a8a2b8c01d9
Izvo hazvina kuomarara, asi iyo pop basa ine kukanganisa kwekuona nzira. Muchokwadi, mu ngura, kana tikabvisa iwo maitirwo zvaizotipa kukanganisa kwekusanganisa. Iye zvino isu tinongofanirwa kudaidza muchirongwa perin (yedu chaiyo muchina) uye ita bytecode.
https://gist.github.com/99b1ab461318b3a644d0
Iyo bytecode inogona kuverengerwa kubva kufaira, asi pano kuitira nyore ndakaichengeta musiyano. Kana tikazviita, zvinotipa mhedzisiro inotarisirwa:
Perin v0.1 Perin VM inoita FlopFlip bytecode Kutanga PerinVM semuenzaniso PerinVM v0.1.0 Yakazara kukosha 5
Yese kodhi inowanikwa pa GitHub pasi pe Apache License 2.0: https://github.com/AdrianArroyoCalle/perin. Kuunganidza ivo vanofanirwa kuve nazvo kago yakaiswa uye isa:
kuchaja kuvaka && ./target/main
Muchitsauko chinotevera tichaona zvakawanda nezvemutauro wedu wepurogiramu.
Chido chekuda kuziva, kunyange hachisi kunyanya kubatsira muchokwadi, hazvikuvadze kuziva.
Izvo zvakanaka kuti iwe unoshambadza Rust, iwo mutauro unovimbisa zvakawanda, kwete chete ndeyekuti yakachengeteka kupfuura c ++, asi (for now) yakajeka mune syntax yayo.
Kana iri pikicha, ini handifunge nezve Java shanduko XD.
Uye kubva fortran, ini handina kumboishandisa, asi handisati ndanzwa zvakawanda zvakanaka nezvazvo ...
Ini ndinoita, uye inonyanya kubatsira muinjiniya kunyangwe Python iri kuwana pasi.
Fortran pamwe ndiwo mumwe mutauro wakakura pamwe naC. Nanhasi mumibvunzo yakaoma chaizvo ichave imwe kana imwe.
Uye zvinogona kupokana kuti Fortran yakaita se'kushanduka 'kweC, apo pamwe inofanira kunge iri imwe nzira yakatenderedza, sezvo C iri nyowani, yazvino uye iine mikana yakawanda; kunyangwe imwe isina kubviswa pane imwe mune zvishoma.
Kunyangwe zvigaro zvekupedzisira zvese zvichikwanisika kubva pane imwe nzvimbo yekutarisa.
+1 kuJava
Ngatione kana ndichifarira izvi, ini ndinopa chimwe chinhu kuchirongwa asi chakakosha kuti ndione kana ndichinzwisisa zvimwe.
Ndechipi chiri chinangwa chaicho chekugadzira mutauro mutsva wechirongwa? Ini pachangu, zvinoita sekunge kwandiri inzira yekuviga kodhi yekodhi.
Shamwari chii chakaitika kuenderera kwe "yako yega yekushandisa system"? Usaisiye ipapo ndokumbirawo uenderere mberi.
Chaizvoizvo, iwe uri tenzi uye idzi nziyo mbiri dzakanyanyisa kutora pfungwa dzangu, asi handidi kuti dzimire pakati.
Ndinoziva kuti vazhinji vedu tinofunga zvakafanana uye isu takamirira kuenderera uye mhedzisiro yenyaya idzi dzinonakidza kwazvo.
Inonakidza kwazvo, ndinokutendai zvikuru. 🙂
Ini handifunge seJava mutauro wehurongwa, asi muturikiri wemirairo, sezvo isingawanikwe
[Mutauro wekuronga mutauro wakasarudzika wakagadzirirwa kuratidza mashandiro anogona kuitwa nemichina yakaita semakomputa.]
Neichi chikonzero, Java mutauro wepurogiramu. Kunyangwe mutauro weBash (linux shell mutauro) mutauro wepurogiramu pachawo.
Kune marudzi maviri emitauro:
- Yakanyorwa
- Yakadudzirwa
- Yakasanganiswa (Virtual michina, maraibhurari echizvarwa akaunganidzwa uye kodhi inoshanda inodudzirwa)
Vaturikiri vanobatsira zvakanyanya kana zvasvika kune multiplatform uye havana kuita kwakaipisisa kweizvozvo. Java, VB.NET, C ++ .NET, F #, C # yese mitauro yakasanganiswa. Mutauro we bash, bat, PHP, Javascript uye mimwe yakawanda inodudzirwa mitauro.
Kana iwe usingafunge Java semutauro nekuti unodudzirwa (izvo zvisiri) haufanire kufunga mimwe mitauro yakawanda inoshandiswa kugadzira zvirongwa. Zvakare, nemutemo iwoyo wechitatu haufanire kufunga kuti pane chero chirongwa chemutauro kunze kwemutauro wemuchina pachawo.
Uye nei zvisingaiti? Kunyange mutauro wemuchina ungatariswe semutauro sezvo uchingova iwo seti yemirairo "yakadudzirwa" ne processor
Nekuti zvinobudirira, YOSE mitauro haisi chimwe chinhu kupfuura seti yemirairo iyo inodudzirwa ne processor.
Unogona kuda mutauro zvakanyanya kana zvishoma (Java, mune ino kesi), zvinoita kunge zvishoma kana kushomeka uye zvine simba asi kutaura kuti hausi mutauro wechirongwa nekuti hauna kunyorwa… zvinopesana netsananguro dzese dzemitauro.
😐 Ndinovimba handina kuita senge ndisina hunhu
hapana runyararo wakangoparadza hupenyu hwedu chete
hahahahaha, perdoooon. kwaisave kuda kwangu xD
Java mutauro wepurogiramu. nekuti iwe unogona kuvandudza kunyorera uye kana iwe ukanyora iwe unoita .jar iyo inodudzirwa neiyo JVM.Zvino zvinoenderana neyako python pfungwa haina kududzirwa chero asi inonyorwa kune akasiyana anosemesa ...
Ruzivo rwakanaka kwazvo
ruzivo rwakanaka asi ndine kusahadzika, zvichave zvinogoneka kugadzira mutauro mutsva wepurogiramu kubva pakutanga pasina kuvimba nemamwe maanalogies kana software. Ini ndinotaura nenzira imwecheteyo mimwe mitauro yakagadzirwa seJava kana HTML.
Ndingafarire kwazvo rubatsiro rwako pamubvunzo uyu.