Гарчиг[Нуух][Үзүүлэх]
Эрхэм хүндэт боловч удаашралтай C++ хэлийг орлуулахын тулд Google-ийн судлаачид Carbon хэмээх цоо шинэ "туршилтын" нээлттэй эхийн програмчлалын хэлийг нэвтрүүлсэн.
Нүүрстөрөгч нь C++-ийн залгамжлагч хэл болж болох бөгөөд энэ нь хөгжүүлэгчдэд санах ойн аюулгүй байдал, ерөнхий зүйл гэх мэт орчин үеийн хөгжлийн үзэл баримтлалыг хөндсөн шинэ хэл рүү шилжих энгийн эхлэл болдог.
Энэ нь Microsoft нь Java-н сул талыг бэхжүүлэхийн тулд JavaScript болон Kotlin-ийг шинэчлэхийн тулд Typescript-ийг хэрхэн бүтээсэнтэй төстэй байх болно.
Google олон жилийн турш олон тооны програмчлалын хэлийг хөгжүүлсэн бөгөөд тэдгээрийн зарим нь ихээхэн нэр хүндтэй болж, нэр хүндтэй болсон.
Жишээлбэл, Голанг (эсвэл зүгээр л Go) нь серверүүд болон тархсан системүүдийг бий болгоход туслах зорилгоор бүтээгдсэн бөгөөд дараа нь олон нийтэд хүлээн зөвшөөрөгдсөн.
Дарт програмчлалын хэлJavaScript орлуулагчаар бүтээгдсэн , Flutter-ийг эхлүүлэх хүртэл олны танил болсонгүй.
Google-ийн ажилтан Чандлер Каррут 19 оны 2022-р сарын XNUMX-нд Торонто хотод болсон Cpp North чуулган дээр Carbon нэртэй програмчлалын шинэ хэлний санаагаа танилцуулав. Конор Хоекстрагийн хэлснээр, хэн оролцож, слайдыг бичсэн.
Сценарийг тогтоохын тулд Каррут орчин үеийн хамгийн алдартай програмчлалын хэлнүүдийн үр удам нь хөгжүүлэгчдийг хурдан бүтээмжтэй болгож, орчин үеийн хэлний дизайны үр шимийг хүртдэг болохыг харуулсан.
Нүүрстөрөгчийн програмчлалын хэлний ерөнхий танилцуулга, түүний онцлог, Google-ийн зохион бүтээсэн зорилго болон бусад зүйлсээс эхэлцгээе.
Нүүрстөрөгчийн програмчлалын хэлний танилцуулга
19 оны 2022-р сарын XNUMX-нд Google өөрийн бүтээсэн хамгийн шинэ програмчлалын хэл болох Carbon-ыг танилцуулав. Энэ нь C++ хэлийг туршилтаар солих зорилготой байсан.
Баярлалаа a ерөнхий систем, энэ нь хувилбар бүрийн кодыг давхар шалгах шаардлагагүй, Carbon нь орчин үеийн програмчлалын үзэл баримтлалын үндсэн дээр бүтээгдэх болно.
Жилийн эцэс гэхэд дизайн нь үндсэн үйл ажиллагааны хувилбарыг (хувилбар 0.1) хангахаар төлөвлөж байна.
Санах ойн бүрэн бүтэн байдал нь C++-д дутагдаж байгаа чухал элемент юм. Аюулгүй байдлын алдааны гол эх үүсвэрүүдийн нэг нь санах ойн хандалтын асуудал юм.
Динамик хязгаарын шалгалтыг хөгжүүлэх, эхлээгүй төлөвүүдийг илүү сайн хянах, анхдагч дибаг хийх горимыг нарийвчлан боловсруулах нь Carbon багийн зорилго юм. Бүтээгчид цаг хугацааны явцад аюулгүй нүүрстөрөгчийн дэд хэсгийг бий болгохыг зорьж байна.
Гэсэн хэдий ч, шинэ програмчлалын хэлний зарим чухал шинж чанарууд нь:
- Төрөлүүдийг нэрлэхийн тулд илэрхийлэл ашиглана уу.
- Тодорхойлолтыг шалгадаг хүчтэй ерөнхий эмүүд
- Төрөл нь интерфейсийг тусгайлан гүйцэтгэдэг
- танилцуулга хэллэг ба үндсэн дүрмийн
- Заагч нь хязгаарлалтгүй хандах, мутаци хийх боломжийг олгодог.
- Функцийн оролтын параметрүүдийн утгууд нь зөвхөн унших боломжтой.
- Үндсэн нэрийн орон зай нь багц юм.
- API-г багцын нэрийг ашиглан импортлох боломжтой.
- Арга нь тодорхой объектын параметрээр зарлагддаг.
- Ангиуд нь анхдагчаар эцсийнх байдаг; ганцхан өв бий
Нүүрстөрөгчийн шинж чанар
Орчин үеийн, хөгжиж буй
- Нүүрстөрөгчийн хувилбаруудын хоорондох шинэчлэлтүүд нь энгийн бөгөөд багаж дээр суурилдаг.
- Хүчтэй хэлний суурь, ялангуяа та C++ ашигласан бол сурахад хялбар
- Аюулгүй суурь ба санах ойд аюулгүй дэд бүлэгт хүрэх алхам алхмаар арга
Нээлттэй эх сурвалжийн нийгэмлэгийг угтан авч байна
- Халуун дулаан, хүлээн зөвшөөрч, урилгатай байхыг эрмэлздэг хамт олон
- Үүний зорилго, тэргүүлэх чиглэл нь тодорхой бөгөөд хүчирхэг засаглал юм
- Хөрвүүлэгч, номын сан, баримт бичиг, багаж хэрэгсэл, багцын удирдлага болон бусад зүйлс бүхий нэгдмэл стратеги
C++ хэл дээр хурдан бөгөөд нийцтэй
- -тай хамт ажиллана C ++ код Өв залгамжлал, загвар зэрэг танд аль хэдийн байна
- LLVM-ийн тусламжтайгаар C++-тэй харьцуулахуйц гүйцэтгэл, бит, хаяг руу доод түвшний хандалт хийх боломжтой
- Хурдан бөгөөд өргөтгөх боломжтой, одоо байгаа C++ бүтээх системүүдтэй нийцтэй бүтээцүүд
Google яагаад Carbon програмчлалын хэлийг бүтээсэн бэ?
Гүйцэтгэлд чухал ач холбогдолтой программ хангамжийг ихэвчлэн C++ хэл дээр бичсээр байгаа бөгөөд энэ нь асар их кодын бааз, хөрөнгө оруулалтыг өргөжүүлдэг.
Гэсэн хэдий ч, дээр дурдсанчлан хөгжүүлэгчдийн шаардлагыг ахиулах, хангахад бэрхшээлтэй байгаа нь олон жилийн технологийн өрийг хуримтлуулсантай холбоотой юм.
C++-д хуримтлагдсан техникийн өр болон түүний хувьслын үйл явцын хүндрэлээс болж аажмаар сайжруулахад туйлын хэцүү байдаг.
Эдгээр асуудлыг шийдвэрлэх хамгийн тохиромжтой арга бол C эсвэл C++ хэлний уламжлалыг шууд өвлөн авахаас илүүтэй орчин үеийн ерөнхий систем, модульчлагдсан кодын бүтэц, тууштай, шууд синтакс гэх мэт хүчирхэг хэлний үндэс суурийг тавих явдал юм.
Go, Swift, Kotlin, Rust болон бусад олон орчин үеийн хэлүүд хөгжлийн гайхалтай туршлагыг аль хэдийн санал болгож байна. Эдгээр одоогийн хэлний аль нэгийг ашиглах чадвартай хөгжүүлэгчид үүнийг хийх ёстой.
Харамсалтай нь C++ хэлийг нэвтрүүлэх, шилжүүлэхэд эдгээр хэлний дизайн ихээхэн саад болж байна. Эдгээр саад бэрхшээл нь гүйцэтгэлийн нэмэгдэл болон програм хангамжийн хэлц загварт өөрчлөлт оруулах зэрэг орно.
Нүүрстөрөгч нь C++-ийг аажмаар сайжруулах оролдлого биш юм; Харин энэ нь залгамжлагч хэлний стратеги юм. Үүний гол зорилго нь C++-ийн харилцан ажиллах чадвар, мөн C++ ашиглаж байгаа хөгжүүлэгчид болон кодын баазыг өргөнөөр хүлээн зөвшөөрөх, шилжүүлэхэд чиглэгддэг.
C++ орлуулах хэл нь дараахь зүйлийг агуулсан байх ёстой.
- C++-тэй харьцуулахуйц гүйцэтгэл нь хөгжүүлэгчдэд чухал шинж чанар юм.
- С++ програмистуудын хувьд удирдах боломжтой сургалтын муруй ба танилтын түвшин
- Шилжилт нь өргөтгөх боломжтой бөгөөд эх сурвалжаас эх сурвалж руу хэлц үг хэллэг C++ кодын орчуулгыг агуулсан.
- Одоогийн програм хангамжийн архитектур, дизайны ижил төстэй илэрхийлэл, дэмжлэг.
- C++-тэй харилцан уялдаатай, хоёр чиглэлтэй, ямар ч номын санд стекийн үлдсэн хэсгийг оруулахгүйгээр нүүрстөрөгчийг ашиглах боломжийг олгодог.
Энэхүү стратегийн тусламжтайгаар Google нь C++-д аль хэдийн бий болсон экосистемийг нэмж, одоогийн хөрөнгө оруулалт, кодын бааз, хөгжлийн нийгэмлэгүүдийг нэгтгэдэг.
Хэд хэдэн хэлүүд янз бүрийн экосистемд ийм хандлагыг нэвтрүүлсэн бөгөөд Carbon нь эдгээр нөхцөлд C++-тэй ижил төстэй функцийг гүйцэтгэхийг эрмэлздэг:
- Java - Котлин
- JavaScript - TypeScript
- C++ – Нүүрстөрөгч
C++ VS Нүүрстөрөгчийн код
Хэрэв та аль хэдийн C++ хөгжүүлэгч бол нүүрстөрөгчийн сурах муруй бага байх ёстой. Энэ нь жам ёсны сонсогдож, унших, ойлгоход хялбар байх ёстой дүрмийн тогтсон багц бүтэцээс бүрддэг.
C++ кодын жишээ:
Энэхүү нүүрстөрөгчийн код нь:
Нүүрстөрөгч ба зэв
Санах ойд аюулгүй ажиллагаатай програмуудын шаардлагыг хангахаар тусгайлан бүтээгдсэн өөр нэг орчин үеийн хэлийг Rust гэж нэрлэдэг.
Тэгэхээр яагаад зүгээр л Rust ашиглаж болохгүй гэж?
Mozilla төслөөс эхэлж, улмаар олны сонирхлыг татсан Rust нь C++-ийн залгамжлагч гэж зарим хүмүүс маргаж байгаа бол Каррут энэ параллель хэвээр байгаа эсэхэд эргэлзэж байна.
Rust бол шинэ төсөл эхлүүлэх гайхалтай хэл боловч Java, Kotlin зэрэг хэлнүүдийн "хоёр чиглэлтэй харилцан ажиллах чадвар" байхгүй тул түүнд аажмаар шилжихэд бэрхшээлтэй байдаг.
Каррут CPP North-д лекц уншиж, Зэвийг аль хэдийн ашиглаж байсан хүмүүсийг үргэлжлүүлэн хийхийг уриалав. Rust руу хөрвүүлэхэд бэрхшээлтэй байгаа C++ кодын асар том баазтай хөгжүүлэгчид Carbon ашиглах хэрэгтэй.
Ялангуяа, Carbon нь одоо байгаа экосистемийн дээр бүтээгдсэн "загамжлагч хэл" гэж Каррутын хэлснээр C++ юм.
Үүний тулд Carbon нь Rust-тэй программистуудад "гүйцэтгэлд чухал ач холбогдолтой програмуудыг" бий болгоход туслах зэрэг олон зорилготой байсан ч одоогийн C++ кодтой бүрэн нийцэх зорилготой юм.
Үүнээс гадна C++-ээс Carbon руу шилжихийг аль болох хялбар болгох зорилготой юм.
Дүгнэлт
Эцэст нь нүүрстөрөгчийн хэлийг бүтээгчид бүтээх үйл явцад анхаарлаа хандуулахыг хичээсэн. Төслийн кодыг хүсэлт гаргах боломжтой бөгөөд нээлттэй хадгална Github, түүний соёл нь хувийн иргэд болон мэдээллийн технологийн салбарын аль алинд нь хүртээмжтэй, нээлттэй гэж тодорхойлогддог.
Нүүрстөрөгчийн багийнхан нүүрстөрөгчийг ирээдүйд хөгжүүлэхийн тулд зөвхөн Google-ийн дэмжсэн төсөл биш, харин нийгэмлэгийн бие даасан төсөл байх ёстой гэж үзсэн.
Мэдээллийн технологийн хэд хэдэн бизнес сонирхож байгаа хэдий ч энэ үзэл баримтлал туршилтын шатандаа байгаа гэж Карут нэмж хэлэв.
хариу үлдээх