ក្នុងកិច្ចខិតខំប្រឹងប្រែងដើម្បីជំនួស C++ ដ៏ថ្លៃថ្នូ ប៉ុន្តែមានភាពយឺតយ៉ាវ អ្នកស្រាវជ្រាវ Google បានបង្ហាញនូវភាសាសរសេរកម្មវិធីប្រភពបើកចំហរ "ពិសោធន៍" ថ្មីមួយដែលមានឈ្មោះថា Carbon ។
កាបោនអាចបម្រើជាភាសាបន្តបន្ទាប់របស់ C ++ ដែលជាភាសាមួយដែលផ្តល់នូវចំណុចចាប់ផ្តើមដ៏សាមញ្ញមួយសម្រាប់អ្នកអភិវឌ្ឍន៍ទៅកាន់ភាសាថ្មីជាងនេះ ដែលនិយាយអំពីគំនិតនៃការអភិវឌ្ឍន៍សហសម័យ ដូចជាសុវត្ថិភាពនៃការចងចាំ និងភាសាទូទៅ។
នេះនឹងស្រដៀងទៅនឹងរបៀបដែល Microsoft បានបង្កើត Typescript ដើម្បីធ្វើបច្ចុប្បន្នភាព JavaScript និង Kotlin ដើម្បីពង្រឹងចំណុចខ្សោយនៅក្នុង Java ។
Google បានបង្កើតភាសាសរសេរកម្មវិធីជាច្រើនពេញមួយឆ្នាំ ដែលភាសាខ្លះទទួលបានភាពល្បីល្បាញ និងភាពល្បីល្បាញ។
ឧទាហរណ៍ Golang (ឬគ្រាន់តែ Go) ត្រូវបានបង្កើតឡើងដើម្បីជួយសម្រួលដល់ការបង្កើតម៉ាស៊ីនមេ និងប្រព័ន្ធចែកចាយ ហើយក្រោយមកត្រូវបានទទួលយកដោយសាធារណជនទូទៅ។
ព្រួញ ភាសាសរសេរកម្មវិធីដែលត្រូវបានបង្កើតជាការជំនួស JavaScript មិនត្រូវបានគេស្គាល់ច្បាស់ទេរហូតដល់ការបើកដំណើរការ Flutter ។
Chandler Carruth ជាបុគ្គលិក Google បានបង្ហាញគំនិតរបស់គាត់សម្រាប់ភាសាសរសេរកម្មវិធីថ្មីមួយដែលមានឈ្មោះថា Carbon នៅថ្ងៃទី 19 ខែកក្កដា ឆ្នាំ 2022 នៅសន្និបាត Cpp North ក្នុងទីក្រុង Toronto ។ នេះបើយោងតាម Conor Hoekstraដែលបានចូលរួម និងថតស្លាយ។
ដើម្បីកំណត់សេណារីយ៉ូ លោក Carruth បានបង្ហាញពីរបៀបដែលភាសាសរសេរកម្មវិធីដែលចូលចិត្តបំផុតនៅសម័យបច្ចុប្បន្នមានកូនចៅ ដែលអាចឱ្យអ្នកអភិវឌ្ឍន៍ទទួលបានផលិតភាពយ៉ាងឆាប់រហ័ស និងទទួលបានអត្ថប្រយោជន៍ពីការរចនាភាសាសហសម័យផងដែរ។
ចូរចាប់ផ្តើមជាមួយនឹងការណែនាំទូទៅនៃភាសាសរសេរកម្មវិធី Carbon រួមទាំងលក្ខណៈពិសេសរបស់វា គោលបំណងនៃការបង្កើតវារបស់ Google និងច្រើនទៀត។
ការណែនាំអំពីភាសាសរសេរកម្មវិធីកាបូន
នៅថ្ងៃទី 19 ខែកក្កដា ឆ្នាំ 2022 Google បានបង្ហាញ Carbon ជាភាសាសរសេរកម្មវិធីថ្មីបំផុតដែលខ្លួនបានបង្កើត។ វាត្រូវបានបម្រុងទុកដើម្បីជំនួស C ++ ដោយពិសោធន៍។
សូមអរគុណដល់ក ប្រព័ន្ធទូទៅដែលលុបបំបាត់តម្រូវការក្នុងការពិនិត្យមើលកូដពីរដងសម្រាប់ការធ្វើភ្លាមៗនីមួយៗ កាបូននឹងត្រូវបានសាងសង់នៅលើមូលដ្ឋាននៃគំនិតកម្មវិធីទំនើប។
នៅចុងឆ្នាំនេះ ការរចនាគ្រោងនឹងផ្តល់នូវកំណែប្រតិបត្តិការជាមូលដ្ឋាន (កំណែ 0.1)។
ភាពសុចរិតនៃការចងចាំគឺជាធាតុសំខាន់ដែល C ++ បាត់។ ប្រភពចម្បងមួយនៃបញ្ហាសុវត្ថិភាពគឺបញ្ហាចូលប្រើអង្គចងចាំ។
ការអភិវឌ្ឍន៍នៃការត្រួតពិនិត្យព្រំដែនថាមវន្ត ការតាមដានកាន់តែច្រើននៃរដ្ឋដែលមិនទាន់ចាប់ផ្តើម និងរបៀបបង្កើតការបំបាត់កំហុសលំនាំដើមហ្មត់ចត់ គឺជាគោលដៅទាំងអស់របស់ក្រុម Carbon ។ អ្នកបង្កើតមានបំណងបង្កើតសំណុំរងកាបូនដែលមានសុវត្ថិភាពតាមពេលវេលា។
ទោះយ៉ាងណាក៏ដោយ ខាងក្រោមនេះគឺជាលក្ខណៈសំខាន់ៗមួយចំនួននៃភាសាកម្មវិធីថ្មី៖
- ដើម្បីដាក់ឈ្មោះប្រភេទ ប្រើកន្សោម។
- ទូទៅខ្លាំងជាមួយនឹងការត្រួតពិនិត្យនិយមន័យ
- ប្រភេទជាពិសេសអនុវត្តចំណុចប្រទាក់
- ឃ្លាណែនាំ និងវេយ្យាករណ៍មូលដ្ឋាន
- សញ្ញាចង្អុលអនុញ្ញាតឱ្យចូលប្រើដោយមិនមានកម្រិត និងការផ្លាស់ប្តូរ។
- តម្លៃសម្រាប់ប៉ារ៉ាម៉ែត្របញ្ចូលមុខងារគឺបានតែអានប៉ុណ្ណោះ។
- ចន្លោះឈ្មោះជា root គឺជាកញ្ចប់។
- APIs អាចត្រូវបាននាំចូលដោយប្រើឈ្មោះកញ្ចប់របស់ពួកគេ។
- វិធីសាស្ត្រត្រូវបានប្រកាសតាមរយៈប៉ារ៉ាម៉ែត្រវត្ថុច្បាស់លាស់។
- ថ្នាក់គឺចុងក្រោយតាមលំនាំដើម; មានមរតកតែមួយ
លក្ខណៈពិសេសនៃកាបូន
ទំនើប និងកំពុងអភិវឌ្ឍន៍
- ការធ្វើឱ្យប្រសើរឡើងរវាងកំណែកាបូនគឺសាមញ្ញ និងផ្អែកលើឧបករណ៍។
- ការគូសបញ្ជាក់ភាសាខ្លាំង ជាពិសេសប្រសិនបើអ្នកបានប្រើ C++ ហើយងាយស្រួលរៀន
- មូលដ្ឋានគ្រឹះដែលមានសុវត្ថិភាពជាងមុន និងវិធីសាស្រ្តមួយជំហានម្តងៗទៅកាន់សំណុំរងដែលមានសុវត្ថិភាពការចងចាំ
ស្វាគមន៍សហគមន៍ប្រភពបើកចំហ
- សហគមន៍ដែលខិតខំធ្វើឱ្យមានភាពកក់ក្តៅ ទទួលយក និងអញ្ជើញ
- គោលបំណង និងអាទិភាពរបស់វាគឺដាច់ដោយឡែក និងអភិបាលកិច្ចរឹងមាំ
- យុទ្ធសាស្ត្រគ្រប់ជ្រុងជ្រោយជាមួយកម្មវិធីចងក្រង បណ្ណាល័យ ឯកសារ ឧបករណ៍ ការគ្រប់គ្រងកញ្ចប់ និងច្រើនទៀត
រហ័ស និងអាចប្រើជាមួយ C++
- ធ្វើការជាមួយ លេខកូដ C ++ អ្នកមានរួចហើយ រួមទាំងមរតក និងគំរូ
- ជាមួយនឹង LLVM ការសម្តែងអាចប្រៀបធៀបទៅនឹង C ++ និងការចូលប្រើកម្រិតទាបទៅកាន់ប៊ីត និងអាសយដ្ឋាន
- ការបង្កើតដែលរហ័ស និងអាចធ្វើមាត្រដ្ឋានបាន និងត្រូវគ្នាជាមួយប្រព័ន្ធស្ថាបនា C++ ដែលមានស្រាប់របស់អ្នក។
ហេតុអ្វីបានជា Google បង្កើតភាសាសរសេរកម្មវិធី Carbon?
កម្មវិធីដែលសំខាន់សម្រាប់ការអនុវត្តបន្តត្រូវបានសរសេរភាគច្រើននៅក្នុង C++ ដែលមានមូលដ្ឋានកូដ និងការវិនិយោគដ៏ធំសម្បើម។
ទោះជាយ៉ាងណាក៏ដោយ វាកំពុងមានបញ្ហាក្នុងការជំរុញ និងបំពេញតម្រូវការរបស់អ្នកអភិវឌ្ឍន៍ដូចដែលបានរៀបរាប់ខាងលើ ភាគច្រើនដោយសារតែបំណុលបច្ចេកវិទ្យាជាច្រើនឆ្នាំ។
វាពិបាកខ្លាំងណាស់ក្នុងការបង្កើន C ++ ឱ្យប្រសើរឡើង ដោយសារតែបំណុលបច្ចេកទេសដែលវាបានកើនឡើង ក៏ដូចជាការលំបាកជាមួយនឹងដំណើរការវិវត្តរបស់វា។
វិធីសាស្រ្តដ៏ល្អក្នុងការដោះស្រាយបញ្ហាទាំងនេះគឺត្រូវចាប់ផ្តើមជាមួយនឹងមូលដ្ឋានគ្រឹះភាសាដ៏រឹងមាំ ដូចជាប្រព័ន្ធទូទៅសហសម័យ រចនាសម្ព័ន្ធកូដម៉ូឌុល និងវាក្យសម្ព័ន្ធត្រង់ត្រង់ជាជាងការទទួលមរតកដោយផ្ទាល់នូវប្រពៃណីរបស់ C ឬ C++ ។
Go, Swift, Kotlin, Rust និងភាសាសហសម័យជាច្រើនទៀតផ្តល់នូវបទពិសោធន៍អភិវឌ្ឍន៍ដ៏ល្អឥតខ្ចោះរួចហើយ។ អ្នកអភិវឌ្ឍន៍ដែលមានសមត្ថភាពប្រើភាសាមួយក្នុងចំណោមភាសាបច្ចុប្បន្នទាំងនេះគួរតែ។
ជាអកុសល ការស្មុំកូន និងការធ្វើចំណាកស្រុកពី C++ ត្រូវបានរារាំងយ៉ាងខ្លាំងដោយការរចនានៃភាសាទាំងនេះ។ ឧបសគ្គទាំងនេះរួមមាន ដំណើរការលើសកម្រិត និងការកែប្រែចំពោះការរចនា idiomatic របស់កម្មវិធី។
កាបូនមិនមែនជាការប៉ុនប៉ងដើម្បីកែលម្អ C ++ ជាបណ្តើរៗទេ។ ផ្ទុយទៅវិញ វាគឺជាយុទ្ធសាស្ត្រភាសាបន្តបន្ទាប់។ ការផ្តោតសំខាន់របស់វាគឺលើអន្តរប្រតិបត្តិការ C ++ ក៏ដូចជាការទទួលយកយ៉ាងទូលំទូលាយ និងការធ្វើចំណាកស្រុកសម្រាប់អ្នកអភិវឌ្ឍន៍ និងមូលដ្ឋានកូដដែលកំពុងប្រើប្រាស់ C++ ។
ភាសាជំនួស C++ ត្រូវតែមាន៖
- ការអនុវត្តប្រៀបធៀបទៅនឹង C ++ គឺជាលក្ខណៈសំខាន់សម្រាប់អ្នកអភិវឌ្ឍន៍។
- ខ្សែកោងការរៀនសូត្រដែលអាចគ្រប់គ្រងបាន និងកម្រិតនៃភាពស្គាល់សម្រាប់អ្នកសរសេរកម្មវិធី C ++
- ការធ្វើចំណាកស្រុកដែលអាចធ្វើមាត្រដ្ឋានបាន និងរួមបញ្ចូលទាំងការបកប្រែកូដ C++ ពីប្រភពទៅប្រភពមួយចំនួន។
- ការបង្ហាញស្រដៀងគ្នា និងការគាំទ្រសម្រាប់ស្ថាបត្យកម្ម និងការរចនានៃកម្មវិធីបច្ចុប្បន្ន។
- អន្តរប្រតិបតិ្តការជាមួយ C ++ ដែលមិនមានភាពស៊ីសង្វាក់គ្នា និងទ្វេទិស ដែលអនុញ្ញាតឱ្យបណ្ណាល័យណាមួយអាចទទួលយកកាបូនបានដោយមិនចាំបាច់ដាក់ជង់ដែលនៅសល់។
ជាមួយនឹងយុទ្ធសាស្ត្រនេះ Google បន្ថែមទៅលើប្រព័ន្ធអេកូដែលមានស្រាប់សម្រាប់ C++ និងរួមបញ្ចូលការវិនិយោគបច្ចុប្បន្ន មូលដ្ឋានកូដ និងសហគមន៍អភិវឌ្ឍន៍។
ភាសាមួយចំនួនបានទទួលយកវិធីសាស្រ្តនេះសម្រាប់ប្រព័ន្ធអេកូឡូស៊ីផ្សេងៗ ហើយ Carbon ស្វែងរកមុខងារស្រដៀងគ្នាទៅនឹង C++ ក្នុងស្ថានភាពទាំងនេះ៖
- ចាវ៉ា - កូតលីន
- JavaScript - TypeScript
- C ++ - កាបូន
C++ VS លេខកូដកាបូន
កាបូនគួរតែមានខ្សែកោងនៃការរៀនសូត្រទាប ប្រសិនបើអ្នកជាអ្នកអភិវឌ្ឍន៍ C++ រួចហើយ។ វាត្រូវបានផ្សំឡើងដោយសំណុំវេយ្យាករណ៍ថេរ ដែលគួរតែស្តាប់ទៅធម្មជាតិ និងសាមញ្ញក្នុងការអាន និងយល់។
ឧទាហរណ៍នៃកូដ C++៖
លេខកូដកាបូននេះត្រូវនឹង៖
កាបូន Vs ច្រែះ
ភាសាសហសម័យមួយផ្សេងទៀតដែលត្រូវបានរចនាឡើងយ៉ាងច្បាស់លាស់ដើម្បីបំពេញតម្រូវការនៃកម្មវិធីដំណើរការដោយសុវត្ថិភាពការចងចាំត្រូវបានគេហៅថា Rust ។
ដូច្នេះហេតុអ្វីបានជាមិនប្រើ Rust?
ខណៈពេលដែលអ្នកខ្លះប្រកែកថា Rust ដែលបានចាប់ផ្តើមជាគម្រោង Mozilla ហើយបានរីកចម្រើនជាបន្តបន្ទាប់ដើម្បីឱ្យមានការតាមដានជាសាធារណៈដ៏ច្រើនគឺជាអ្នកស្នងតំណែង C ++ នោះ Carruth សង្ស័យថាប្រសិនបើស្របគ្នានៅតែមានសុពលភាព។
Rust គឺជាភាសាដ៏អស្ចារ្យមួយដែលត្រូវចាប់ផ្តើមគម្រោងថ្មី ប៉ុន្តែដោយសារវាខ្វះ "អន្តរប្រតិបត្តិការទ្វេទិស" នៃភាសាដូចជា Java & Kotlin វាមានការលំបាកក្នុងការផ្លាស់ប្តូរទៅជាបណ្តើរៗ។
លោក Carruth បានធ្វើបាឋកថានៅ CPP North និងបានលើកទឹកចិត្តដល់អ្នកដែលកំពុងប្រើប្រាស់ Rust បន្តធ្វើដូច្នេះ។ អ្នកអភិវឌ្ឍន៍ដែលមានមូលដ្ឋានកូដ C++ ដែលមានទំហំធំរួចហើយ ដែលពិបាកបំប្លែងទៅជា Rust គួរតែប្រើ Carbon ។
ជាពិសេស កាបូនគឺជាអ្វីដែល Carruth ហៅថាជា "ភាសាអ្នកបន្ត" ដែលត្រូវបានបង្កើតឡើងនៅលើកំពូលនៃប្រព័ន្ធអេកូដែលមានស្រាប់ នៅក្នុងករណី C ++ ។
សម្រាប់គោលបំណងនោះ Carbon មានន័យថាត្រូវគ្នាទាំងស្រុងជាមួយនឹងកូដ C++ បច្ចុប្បន្ន ទោះបីជាវាមានគោលបំណងជាច្រើនជាមួយ Rust ដូចជាជួយអ្នកសរសេរកម្មវិធីក្នុងការបង្កើត "កម្មវិធីសំខាន់សម្រាប់ដំណើរការ" ក៏ដោយ។
លើសពីនេះ វាមានបំណងធ្វើឱ្យការផ្លាស់ប្តូរពី C ++ ទៅ Carbon សាមញ្ញតាមដែលអាចធ្វើទៅបាន។
សន្និដ្ឋាន
ជាចុងក្រោយ អ្នកបង្កើតភាសា Carbon បានខិតខំប្រឹងប្រែងដើម្បីយកចិត្តទុកដាក់លើដំណើរការបង្កើត។ កូដរបស់គម្រោងគឺអាចរកបានសម្រាប់ការស្នើសុំ និងរក្សាទុកដោយបើកចំហ Githubហើយវប្បធម៌របស់វាត្រូវបានកំណត់ថាជាការរួមបញ្ចូល និងបើកចំហសម្រាប់ទាំងប្រជាពលរដ្ឋឯកជន និងផ្នែកព័ត៌មានវិទ្យា។
ក្រុម Carbon គិតថា Carbon ត្រូវតែជាគម្រោងស្វយ័តមួយដែលជំរុញដោយសហគមន៍ ហើយមិនត្រឹមតែជាគម្រោងដែលជំរុញដោយ Google ដើម្បីអភិវឌ្ឍនាពេលអនាគតនោះទេ។
លោក Caruth បានបន្ថែមថា ទោះបីជាមានការចាប់អារម្មណ៍ពីអាជីវកម្ម IT មួយចំនួនក៏ដោយ ក៏គំនិតនេះនៅតែស្ថិតក្នុងដំណាក់កាលពិសោធន៍នៅឡើយ។
សូមផ្ដល់យោបល់