Cànanan prògramachaidh
Susbaint:
Geàrr-chunntas
Cùis
Feumaidh sinn cànanan prògramachaidh a thaghadh airson ar bathar-bog. Tha dà fheum mhòr againn: cànan prògramachaidh aghaidh a tha freagarrach airson aplacaidean-lìn, agus cànan prògramachaidh cùil a tha freagarrach airson aplacaidean frithealaiche.
Co-dhùnadh
Tha sinn a’ taghadh TypeScript airson an aghaidh.
Tha sinn a’ taghadh Rust airson a’ chùil.
Staid
Air co-dhùnadh. Tha sinn fosgailte do roghainnean ùra mar a thig iad am bàrr.
Mion-fhiosrachadh
Barailean
Tha na h-aplacaidean aghaidh àbhaisteach:
Luchd-cleachdaidh agus eadar-obrachaidhean àbhaisteach
Brabhsairean agus siostaman àbhaisteach
Leasachaidhean agus cur-gu-gnìomh àbhaisteach
Tha na h-aplacaidean aghaidh coltach ri bhith ag atharrachadh gu luath:
Tha sinn airson dèanamh cinnteach à leasachaidhean, cur-gu-gnìomh, ath-aithrisean, msaa. luath is furasta.
Tha sinn a’ cur luach air dearbhachd, leithid sàbhailteachd sheòrsaichean, agus tha sinn ceart gu leòr le beagan a bharrachd obrach a dhèanamh gus a choileanadh.
Chan eil feum againn air co-chòrdalachd dìleabach.
Tha na h-aplacaidean cùil nas àirde na an àbhaist:
Amasan nas àirde na an àbhaist airson càileachd, gu sònraichte dearbhachd, earbsachd, tèarainteachd, msaa.
Amasan nas àirde na an àbhaist airson fìor-ùine dlùth, is e sin nach eil sinn ag iarraidh stadaidhean air sgàth garbage collection an inneil bhrìgheil.
Amasan nas àirde na an àbhaist airson prògramachadh gnìomhach, gu sònraichte airson co-shìneadh, giullachd ioma-chridhe, agus sàbhailteachd cuimhne.
Gabhaidh sinn ri astaran co-chuir nas ìsle an àite sàbhailteachd àm co-chuir agus astaran ùine-ruith.
Cuingeadan
Tha cuingeadh làidir againn air cànanan as urrainn a bhith air an cleachdadh le seirbheisean prìomh sholaraichean neòil airson gnìomhan, leithid Amazon Lambda.
Seasamhan
Bheachdaich sinn air na cànanan seo:
C
C++
Clojure
Elixir
Erlang
Elm
Flow
Go
Haskell
Java
JavaScript
Kotlin
Python
Ruby
Rust
TypeScript
Argamaid
Geàrr-chunntas air gach cànan:
C: air a dhiùltadh air sgàth sàbhailteachd ìosal; faodaidh Rust cha mhòr a h-uile càil a dhèanamh nas fheàrr.
C++: air a dhiùltadh air sgàth gur e praiseach a th’ ann; faodaidh Rust cha mhòr a h-uile càil a dhèanamh nas fheàrr.
Clojure: modaladh sàr-mhath; an tuairmse Lisp as fheàrr; ùine-ruith mhath air an JVM.
Elixir: ùine-ruith sàr-mhath a’ gabhail a-steach so-chur-an-gnìomh agus co-aontachd; eòlas leasaiche sàr-mhath; eag-shiostam an ìre mhath beag.
Erlang: ùine-ruith sàr-mhath a’ gabhail a-steach so-chur-an-gnìomh agus co-aontachd; eòlas leasaiche dùbhlanach; eag-shiostam an ìre mhath beag.
Elm: a’ coimhead glè gheallaidh; tha IBM a’ foillseachadh mhòr-sgrùdaidhean cùise le deagh thoraidhean; eag-shiostam nas lugha.
Flow: leasachadh inntinneach air JavaScript; ach, tha luchd-leasachaidh a’ gluasad air falbh bhuaithe.
Go: eòlas leasaiche sàr-mhath; co-aontachd sàr-mhath; ach clàr-obrach de cho-dhùnaidhean dona a tha a’ cripleachadh a’ chànain.
Haskell: an cànan gnìomhach as fheàrr; coimhearsnachd luchd-leasachaidh nas lugha; gun a bhith air gu leòr shoirbheachasan cinneasachaidh foillsichte a choileanadh.
Java: ùine-ruith sàr-mhath; eag-shiostam sàr-mhath; eòlas leasaiche fo-àbhaisteach.
JavaScript: an cànan as mòr-chòrdte a-riamh; an eag-shiostam as fharsainge.
Kotlin: a’ càradh uiread de Java; taic sàr-mhath bho JetBrains; deagh chùisean foillsichte de phortadh bho Java gu Kotlin.
Python: an cànan as mòr-chòrdte airson rianachd shiostaman; deagh innealan mion-sgrùdaidh; deagh fhrèamaichean-lìn; ach air a trèigsinn le Google an àite Go.
Ruby: an eòlas leasaiche as fheàrr a-riamh; na frèamaichean-lìn as fheàrr; a’ choimhearsnachd as laghaiche; ach glè slaodach; caran duilich a phacaigeadh.
Rust: an cànan ùr as fheàrr; cuideam air neoni-eas-tharraing; cuideam air co-aontachd; ach, eag-shiostam an ìre mhath beag; agus tha crìochan a dh’aona ghnothach aige air cuid de sheòrsaichean luathachaidhean co-chuiriche m.e. feumaidh ruigsinneachd dhìreach air cuimhne a bhith soilleir mì-shàbhailte.
TypeScript: a’ cur sheòrsaichean ri JavaScript; transpiler sàr-mhath; cuideam leasaichean a’ fàs air portadh bho JavaScript gu TypeScript; taic làidir bho Microsoft.
Chuir sinn romhainn gu bheil seata de dh’eadar-dhealachaidhean aig VMan nach eil feum againn orra an-dràsta, leithid iom-fhillteachd a bharrachd a bheir comasan ùine-ruith.
Tha sinn a’ creidsinn gu bheil ar prìomh cho-dhùnadh air a stiùireadh le dà dhragh thar-ghearraidh:
Airson an astair ùine-ruith as luaithe agus an ruigsinneachd siostaim as dlùithe, thaghadh sinn JavaScript agus C.
Airson astar ùine-ruith dlùth ris an fheadhainn as luaithe agus ruigsinneachd siostaim dlùth ris an fheadhainn as dlùithe, tha sinn a’ taghadh TypeScript agus Rust.
Tha iomraidhean urramach a’ dol dha na cànanan VM agus na frèamaichean-lìn a thaghadh sinn nan robh sinn ag iarraidh cànan VM:
Clojure agus Luminus
Java agus Spring
Elixir agus Phoenix
Builean
Feumaidh luchd-leasachaidh aghaidh TypeScript ionnsachadh. Tha seo coltach ri bhith na lùb ionnsachaidh furasta ma tha prìomh eòlas an luchd-leasachaidh a’ cleachdadh JavaScript.
Feumaidh luchd-leasachaidh cùil Rust ionnsachadh. Tha seo coltach ri bhith na lùb ionnsachaidh meadhanach ma tha prìomh eòlas an luchd-leasachaidh a’ cleachdadh C/C++, agus lùb ionnsachaidh chruaidh ma tha prìomh eòlas an luchd-leasachaidh a’ cleachdadh Java, Python, Ruby, no cànanan eile le cuimhne fo stiùir.
Tha TypeScript agus Rust le chèile an ìre mhath ùr. Tha seo a’ ciallachadh nach eil sgrìobhainnean fhathast aig mòran innealan airson nan cànanan sin. Mar eisimpleir, feumaidh pìob devops a bhith air a stèidheachadh airson nan cànanan sin, agus gu ruige seo, chan eil eisimpleirean bunaiteach airson nan cànanan sin aig gin de na h-innealan devops a tha sinn a’ measadh.
Tha amannan co-chuir airson TypeScript agus Rust gu math slaodach. Dh’fhaodadh cuid de seo a bhith air sgàth cho ùr ’s a tha na cànanan. Is dòcha gum bi sinn airson sùil a thoirt air ciamar a lùghdaicheas sinn amannan co-chuir slaodach, leithid le co-chur-air-iarrtas, co-aontachd co-chuir, msaa.
Chan eil taic IDE airson nan cànanan sin fhathast farsaing agus chan eil e fhathast den chiad ìre. Mar eisimpleir, bidh JetBrains a’ reic an IDE PyCharm airson taic den chiad ìre airson Python, ach chan eil e a’ reic IDE le taic den chiad ìre airson Rust; an àite sin, faodaidh JetBrains plug-in Rust a chleachdadh a bheir is dòcha 80% de thaic cànain Rust an coimeas ri taic cànain Python.
Co-cheangailte
Co-dhùnaidhean co-cheangailte
Bidh sinn ag amas air roghainnean eag-shiostam a tha a’ co-thaobhadh leis na cànanan sin.
Mar eisimpleir, tha sinn airson IDE a thaghadh aig a bheil deagh chomasan airson nan cànanan sin.
Mar eisimpleir, airson ar frèam-lìn aghaidh, tha sinn nas dualtaiche co-dhùnadh air frèam a tha buailteach a bhith ag amas air TypeScript (m.e. Vue) seach frèam a tha buailteach a bhith ag amas air JavaScript sìmplidh (m.e. React).
Riatanasan co-cheangailte
Feumaidh an t-sreath-innealan againn gu lèir taic a thoirt dha na cànanan sin.
Ealain-chruthan co-cheangailte
Tha sinn an dùil gum faod sinn cuid de dhìomhaireachdan às-phortadh gu caochladairean àrainneachd.
Prionnsabalan co-cheangailte
Tomhais dà uair, tog aon uair. Tha sinn a’ cur beagan sàbhailteachd air thoiseach air beagan astair.
Tha ùine-ruith nas luachmhoire na ùine co-chuir. Tha sinn a’ cur cleachdadh teachdaichean air thoiseach air cleachdadh luchd-leasachaidh.
Notaichean
Notaichean sam bith an seo.