Pou ranplase C++ kòm langaj pwogramasyon estanda, Google devlope Carbon kòm pwochen jenerasyon langaj pwogramasyon yo.
Yon pwojè sous louvri toujou eksperimantal, li se. Carbon lang, ki te premye montre pa Chandler Carruth nan konferans CppNorth la, parèt tankou yon ranplasan kokenn pou C++.
Atik sa a kouvri langaj Carbon, enstalasyon, ak sentaks debaz yo. Li te gen ladan tou kèk echantiyon kòd.
Carbon Programming Language
Kòm teknoloji avanse, lang Carbon la te kapab evantyèlman ranplase C++. C++ se deja yon lang pwogramasyon kokenn. Li gen yon bon pèfòmans epi li se lajman anplwaye nan divès kalite sistèm fabrikasyon.
Li konpatib ak plizyè platfòm, achitekti pyès ki nan konpitè, ak sistèm opere. Sepandan, kèk nan pwoblèm yo ak C++ yo jan sa a:
Dèt teknik (règleman pwomosyon antye) akimile sou plizyè fonksyon. Konpatibilite bak ak C fè reparasyon dèt teknoloji ak aplikasyon modifikasyon kòd pi difisil.
Akòz depans pwosesis ISO ak restriksyon sou eksperimantasyon, pwosesis evolisyon pou ajoute nouvo fonksyon nan C++ se patikilyèman difisil.
Se poutèt sa, C++ pa reyisi reyalize plizyè nan objektif li yo, tankou devlope lojisyèl pèfòmans-kritik, evolye lojisyèl ak lang, ekri kòd senp, lizib, ak fasilite devlopman rapid, évolutive.
Vizite "Carbon Programming Language pa Google - Entwodiksyon” si ou ta renmen aprann plis sou langaj pwogramasyon kabòn lan. Pòs sa a ap ba ou tout enfòmasyon ou bezwen.
Kounye a ke nou konprann kisa lang Carbon la ye ak poukisa nou bezwen itilize li, ann ale nan konfigirasyon/enstalasyon, sentaks, ak egzanp.
Ki jan yo mete kanpe ak enstale langaj pwogramasyon kabòn?
Mete kanpe lang kabòn lan mande pou enstalasyon an nan
- Yon zouti pou enstale pakè yo rele Homebrew. Ou ka respekte etap sa yo si homebrew pa deja enstale.
- Bazel: Bazel se yon zouti gratis pou konstwi ak tès ki travay ak plizyè platfòm ak lang.
- Carbon lang ap kouri sou LLVM, yon machin vityèl ba nivo.
- Carbon Explorer: Pou langaj Carbon, Carbon Explorer fonksyone kòm yon zouti aplikasyon. Nou pral itilize Carbon Explorer pou kouri chak pwogram ki ekri an kabòn.
Pou pòsyon enstalasyon tutoryèl sa a, yo pral itilize Windows. Sepandan, direktiv pou lòt operasyon yo ta ka konparab. Ou ka kite yon kòmantè sou atik sa a si ou gen nenpòt kesyon sou enstalasyon.
Sèvi ak kòmandman sa yo nan tèminal ou a pou enstale lang carbon.
Enstale Bazel
Bazel ka enstale pa kouri
Bazel ta dwe kounye a otomatikman enstale ak konfigirasyon epi pare pou itilizasyon.
Enstale LLVM
LLVM se prensipal machin vityèl ki kouri lang kabòn lan. Pou mete l kanpe
Mete kòd lang kabòn
Etap sa a enplike telechaje kòd lang kabòn lan.
Apre yo fin mete lang kabòn nan, ann egzamine kèk nan fondamantal yo nan nouvo lang sa a.
Fondamantal nan langaj pwogram kabòn
Varyab nimerik
Varyab lang kabòn kapab
- bool vle di boolean vre oswa fo.
- Kalite nonb antye relatif yo enkli i8, i16, i32, i64, i128, ak i256.
- Kalite nonb antye ki pa siyen yo enkli u8, u16, u32, u128, ak u256.
- kalite flote gen ladan f16, f32, f64, ak f128.
- Li ka itilize pou separe chif yo. Pou egzanp, si 1 000 000 eksprime san sitasyon, li rete yon nonb antye relatif.
Kòd
Chèn yo ka defini lè l sèvi avèk sentaks la
- Yon fisèl ki reprezante yon sekans byte
- String_View kòm yon referans sèlman pou yon sekans byte nan utf-8.
Gen de fason pou deklare literal fisèl.
- Liy sèl: Sèvi ak yon siy doub (") pou yon sèl liy
- Sèvi ak deklarasyon fisèl milti-liy pou deklarasyon fisèl milti-liy (""")
Tuples
Tuple yo se valè ki gen plizyè kowòdone. Yo ka espesifye lè l sèvi avèk parantèz ( )
(x,y,z) se yon tuple ki genyen plizyè kowòdone. Endèks la ka itilize pou jwenn yo.
Arrays
Kalite ak gwosè etalaj la yo itilize pou deklare etalaj. [kalite; size] se sentaks la. Pou egzanp, var etalaj: [i32; 4] = (1,2,3,4);
Pwent
Kabòn pa gen okenn konsèy nil. Sèvi ak kalite Optional(T*) pou eksprime yon pwent ki ka oswa pa ka mennen nan yon objè lejitim. * kanpe pou valè, ak & kanpe pou adrès.
Pou bouk
Pou bouk yo ka deklare ak for (kondisyon bouk){}.
Pandan ke bouk
Pandan bouk yo ka defini lè l sèvi avèk while(condition){}.
Fonksyon/Metòd
Mo kle fn a ka itilize pou deklare fonksyon. Sentaks la se fn MethodName (var param: tip...) -> kalite retounen. Ou ka neglije seksyon sa a -> pou kalite retounen anile oswa vid.
Klas
Mo kle klas la nan lang kabòn yo itilize pou deklare klas yo. Manm ak metòd yo posib pou klas yo. Men yon egzanp aplikasyon yon klas.
Mwen espere ke leson sa a fè li pi fasil pou ou fè eksperyans ak konprann lide fondamantal ak egzanp sentaks nan lang Google Carbon.
Kite yon Reply