ഉള്ളടക്ക പട്ടിക[മറയ്ക്കുക][കാണിക്കുക]
ആദരണീയവും എന്നാൽ മന്ദഗതിയിലുള്ളതുമായ C++ മാറ്റിസ്ഥാപിക്കാനുള്ള ശ്രമത്തിൽ, Google ഗവേഷകർ കാർബൺ എന്ന് വിളിക്കപ്പെടുന്ന ഒരു പുതിയ "പരീക്ഷണാത്മക" ഓപ്പൺ സോഴ്സ് പ്രോഗ്രാമിംഗ് ഭാഷ അവതരിപ്പിച്ചു.
മെമ്മറി സുരക്ഷയും ജനറിക്സും പോലുള്ള സമകാലിക വികസന ആശയങ്ങളെ അഭിസംബോധന ചെയ്യുന്ന ഒരു പുതിയ ഭാഷയിലേക്ക് ഡെവലപ്പർമാർക്ക് ഒരു ലളിതമായ ആരംഭ പോയിന്റ് നൽകുന്ന C++ ന്റെ പിൻഗാമി ഭാഷയായി കാർബണിന് പ്രവർത്തിക്കാനാകും.
ജാവ സ്ക്രിപ്റ്റും കോട്ട്ലിനും അപ്ഡേറ്റ് ചെയ്യാൻ മൈക്രോസോഫ്റ്റ് ടൈപ്പ്സ്ക്രിപ്റ്റ് നിർമ്മിച്ചതിന് സമാനമായി ജാവയിലെ ബലഹീനതകൾ ശക്തിപ്പെടുത്തും.
Google വർഷങ്ങളിലുടനീളം നിരവധി പ്രോഗ്രാമിംഗ് ഭാഷകൾ വികസിപ്പിച്ചെടുത്തിട്ടുണ്ട്, അവയിൽ ചിലത് ശ്രദ്ധേയമായ കുപ്രസിദ്ധിയും പ്രാധാന്യവും നേടിയിട്ടുണ്ട്.
ഉദാഹരണത്തിന്, സെർവറുകളുടെയും വിതരണ സംവിധാനങ്ങളുടെയും നിർമ്മാണം സുഗമമാക്കുന്നതിനാണ് ഗോലാങ് (അല്ലെങ്കിൽ ഗോ) വികസിപ്പിച്ചെടുത്തത്, പിന്നീട് ഇത് പൊതുജനങ്ങൾ സ്വീകരിച്ചു.
ഡാർട്ട് പ്രോഗ്രാമിങ് ഭാഷ, ഒരു ജാവാസ്ക്രിപ്റ്റിന് പകരമായി സൃഷ്ടിച്ചത്, ഫ്ലട്ടറിന്റെ സമാരംഭം വരെ അറിയപ്പെട്ടിരുന്നില്ല.
19 ജൂലൈ 2022-ന് ടൊറന്റോയിൽ നടന്ന സിപിപി നോർത്ത് കൺവെൻഷനിൽ, Google ജീവനക്കാരനായ ചാൻഡലർ കാരത്ത്, കാർബൺ എന്ന പുതിയ പ്രോഗ്രാമിംഗ് ഭാഷയെക്കുറിച്ചുള്ള തന്റെ ആശയം അവതരിപ്പിച്ചു. Conor Hoekstra പ്രകാരം, സ്ലൈഡുകൾ പങ്കെടുത്ത് റെക്കോർഡ് ചെയ്തവർ.
സാഹചര്യം സജ്ജീകരിക്കുന്നതിനായി, ഇന്നത്തെ ഏറ്റവും നന്നായി ഇഷ്ടപ്പെട്ട പ്രോഗ്രാമിംഗ് ഭാഷകളിൽ പലതിലും ഡെവലപ്പർമാരെ വേഗത്തിൽ ഉൽപ്പാദനക്ഷമമാക്കാനും സമകാലിക ഭാഷാ രൂപകൽപ്പനയിൽ നിന്ന് പ്രയോജനം നേടാനും പ്രാപ്തമാക്കുന്ന പിൻഗാമികൾ എങ്ങനെയുണ്ടെന്ന് കാറൂത്ത് തെളിയിച്ചു.
കാർബൺ പ്രോഗ്രാമിംഗ് ഭാഷയുടെ സവിശേഷതകൾ, ഗൂഗിളിന്റെ കണ്ടുപിടുത്തത്തിന്റെ ഉദ്ദേശ്യം എന്നിവയും അതിലേറെയും ഉൾപ്പെടെയുള്ള പൊതുവായ ഒരു ആമുഖത്തോടെ നമുക്ക് ആരംഭിക്കാം.
കാർബൺ പ്രോഗ്രാമിംഗ് ഭാഷയിലേക്കുള്ള ആമുഖം
19 ജൂലൈ 2022-ന്, ഗൂഗിൾ അത് സൃഷ്ടിച്ച ഏറ്റവും പുതിയ പ്രോഗ്രാമിംഗ് ഭാഷയായി കാർബൺ വെളിപ്പെടുത്തി. ഇത് പരീക്ഷണാടിസ്ഥാനത്തിൽ C++ മാറ്റിസ്ഥാപിക്കാൻ ഉദ്ദേശിച്ചുള്ളതാണ്.
ഒരു നന്ദി ജനറിക്സ് സിസ്റ്റം, ഓരോ തൽക്ഷണത്തിനും കോഡ് രണ്ടുതവണ പരിശോധിക്കേണ്ടതിന്റെ ആവശ്യകത ഇല്ലാതാക്കുന്നു, ആധുനിക പ്രോഗ്രാമിംഗ് ആശയങ്ങളുടെ അടിത്തറയിലാണ് കാർബൺ നിർമ്മിക്കുന്നത്.
വർഷാവസാനത്തോടെ, ഒരു അടിസ്ഥാന പ്രവർത്തന പതിപ്പ് (പതിപ്പ് 0.1) നൽകാൻ ഡിസൈൻ പദ്ധതിയിടുന്നു.
C++ നഷ്ടമായ ഒരു നിർണായക ഘടകമാണ് മെമ്മറി ഇന്റഗ്രിറ്റി. സുരക്ഷാ പിഴവുകളുടെ പ്രാഥമിക ഉറവിടങ്ങളിലൊന്ന് മെമ്മറി ആക്സസ് പ്രശ്നങ്ങളാണ്.
ഡൈനാമിക് ബൗണ്ട് ചെക്കുകളുടെ വികസനം, അൺഇനീഷ്യലൈസ്ഡ് സ്റ്റേറ്റുകളുടെ കൂടുതൽ ട്രാക്കിംഗ്, സമഗ്രമായ ഡിഫോൾട്ട് ഡീബഗ് ബിൽഡ് മോഡ് എന്നിവയെല്ലാം കാർബൺ ടീമിന്റെ ലക്ഷ്യങ്ങളാണ്. കാലക്രമേണ ഒരു സുരക്ഷിത കാർബൺ ഉപവിഭാഗം സൃഷ്ടിക്കാൻ സ്രഷ്ടാക്കൾ ഉദ്ദേശിക്കുന്നു.
എന്നിരുന്നാലും, പുതിയ പ്രോഗ്രാമിംഗ് ഭാഷയുടെ ചില നിർണായക സവിശേഷതകൾ ഇനിപ്പറയുന്നവയാണ്:
- തരങ്ങൾക്ക് പേരിടാൻ, എക്സ്പ്രഷനുകൾ ഉപയോഗിക്കുക.
- നിർവചന പരിശോധനകളുള്ള ശക്തമായ ജനറിക്സ്
- തരങ്ങൾ പ്രത്യേകമായി ഇന്റർഫേസുകൾ നടപ്പിലാക്കുന്നു
- ആമുഖ ശൈലികളും അടിസ്ഥാന വ്യാകരണവും
- അനിയന്ത്രിതമായ പ്രവേശനത്തിനും മ്യൂട്ടേഷനും പോയിന്ററുകൾ അനുവദിക്കുന്നു.
- ഫംഗ്ഷൻ ഇൻപുട്ട് പാരാമീറ്ററുകൾക്കുള്ള മൂല്യങ്ങൾ വായിക്കാൻ മാത്രമുള്ളതാണ്.
- റൂട്ട് നെയിംസ്പേസ് പാക്കേജാണ്.
- API-കൾ അവയുടെ പാക്കേജ് പേരുകൾ ഉപയോഗിച്ച് ഇറക്കുമതി ചെയ്യാൻ കഴിയും.
- വ്യക്തമായ ഒബ്ജക്റ്റ് പാരാമീറ്റർ വഴിയാണ് ഒരു രീതി പ്രഖ്യാപിക്കുന്നത്.
- ക്ലാസുകൾ സ്ഥിരസ്ഥിതിയായി അന്തിമമാണ്; അവകാശം ഒന്നുമാത്രം
കാർബണിന്റെ സവിശേഷതകൾ
ആധുനികവും വികസ്വരവും
- കാർബൺ പതിപ്പുകൾക്കിടയിലുള്ള അപ്ഗ്രേഡുകൾ ലളിതവും ടൂൾ അടിസ്ഥാനമാക്കിയുള്ളതുമാണ്.
- ശക്തമായ ഭാഷയുടെ അടിവരയിടുന്നു, പ്രത്യേകിച്ചും നിങ്ങൾ C++ ഉപയോഗിച്ചിട്ടുണ്ടെങ്കിൽ, പഠിക്കാൻ ലളിതവും
- സുരക്ഷിതമായ അടിത്തറയും മെമ്മറി-സുരക്ഷിത ഉപവിഭാഗത്തിലേക്കുള്ള ഘട്ടം ഘട്ടമായുള്ള സമീപനവും
ഓപ്പൺ സോഴ്സിന്റെ കമ്മ്യൂണിറ്റിയെ സ്വാഗതം ചെയ്യുന്നു
- ഊഷ്മളമായിരിക്കാനും അംഗീകരിക്കാനും ക്ഷണിക്കാനും ശ്രമിക്കുന്ന ഒരു സമൂഹം
- അതിന്റെ ലക്ഷ്യങ്ങളും മുൻഗണനകളും വ്യതിരിക്തവും ശക്തവുമായ ഭരണമാണ്
- ഒരു കംപൈലർ, ലൈബ്രറികൾ, ഡോക്യുമെന്റേഷൻ, ടൂളുകൾ, പാക്കേജ് മാനേജ്മെന്റ് എന്നിവയും മറ്റും ഉള്ള ഒരു ഓൾ-ഇൻ-വൺ സ്ട്രാറ്റജി
C++ ന് വേഗത്തിലും അനുയോജ്യതയിലും
- കൂടെ പ്രവർത്തിക്കുക സി ++ കോഡ് അനന്തരാവകാശവും ടെംപ്ലേറ്റുകളും ഉൾപ്പെടെ നിങ്ങൾക്ക് ഇതിനകം ഉണ്ട്
- LLVM-നൊപ്പം, C++ മായി താരതമ്യപ്പെടുത്താവുന്ന പ്രകടനവും ബിറ്റുകളിലേക്കും വിലാസങ്ങളിലേക്കുമുള്ള ലോ-ലെവൽ ആക്സസ്സും
- നിങ്ങളുടെ നിലവിലുള്ള C++ ബിൽഡ് സിസ്റ്റങ്ങളുമായി വേഗത്തിലുള്ളതും അളക്കാവുന്നതും പൊരുത്തപ്പെടുന്നതുമായ ബിൽഡുകൾ
എന്തുകൊണ്ടാണ് Google കാർബൺ പ്രോഗ്രാമിംഗ് ഭാഷ നിർമ്മിച്ചത്?
പെർഫോമൻസ്-ക്രിട്ടിക്കൽ സോഫ്റ്റ്വെയറുകൾ കൂടുതലും C++-ൽ എഴുതുന്നത് തുടരുന്നു, അതിന് വലിയതും വികസിക്കുന്നതുമായ കോഡ്ബേസുകളും നിക്ഷേപങ്ങളുമുണ്ട്.
എന്നിരുന്നാലും, മുകളിൽ സൂചിപ്പിച്ചതുപോലെ, ഡെവലപ്പർമാരുടെ ആവശ്യങ്ങൾ നിറവേറ്റുന്നതിലും മുന്നോട്ടുപോകുന്നതിലും ഇതിന് പ്രശ്നമുണ്ട്, പ്രധാനമായും വർഷങ്ങളുടെ മൂല്യമുള്ള സാങ്കേതിക കടം കുമിഞ്ഞുകൂടുന്നത് കാരണം.
C++ വർദ്ധിച്ചുവരുന്ന സാങ്കേതിക കടവും അതിന്റെ പരിണാമ പ്രക്രിയയിലെ ബുദ്ധിമുട്ടുകളും കാരണം അത് വർദ്ധിപ്പിക്കുന്നത് വളരെ ബുദ്ധിമുട്ടാണ്.
ഈ പ്രശ്നങ്ങൾ പരിഹരിക്കുന്നതിനുള്ള അനുയോജ്യമായ സമീപനം, C അല്ലെങ്കിൽ C++ ന്റെ പാരമ്പര്യം നേരിട്ട് അവകാശമാക്കുന്നതിനുപകരം, സമകാലിക ജനറിക്സ് സിസ്റ്റം, മോഡുലാർ കോഡ് ഘടന, സ്ഥിരവും നേരായ വാക്യഘടനയും പോലുള്ള ശക്തമായ ഭാഷാ അടിത്തറയിൽ നിന്ന് ആരംഭിക്കുക എന്നതാണ്.
ഗോ, സ്വിഫ്റ്റ്, കോട്ലിൻ, റസ്റ്റ് എന്നിവയും മറ്റ് സമകാലീന ഭാഷകളും ഇതിനകം തന്നെ മികച്ച വികസന അനുഭവം വാഗ്ദാനം ചെയ്യുന്നു. നിലവിലുള്ള ഈ ഭാഷകളിലൊന്ന് ഉപയോഗിക്കാൻ കഴിവുള്ള ഡെവലപ്പർമാർ നിർബന്ധമായും.
ദൗർഭാഗ്യവശാൽ, C++-ൽ നിന്നുള്ള ദത്തെടുക്കലും കുടിയേറ്റവും ഈ ഭാഷകളുടെ രൂപകല്പനയാൽ ഗുരുതരമായി തടസ്സപ്പെട്ടിരിക്കുന്നു. ഈ തടസ്സങ്ങളിൽ പെർഫോമൻസ് ഓവർഹെഡും സോഫ്റ്റ്വെയറിന്റെ ഇഡിയോമാറ്റിക് ഡിസൈനിലെ പരിഷ്ക്കരണങ്ങളും ഉൾപ്പെടുന്നു.
ക്രമേണ C++ മെച്ചപ്പെടുത്താനുള്ള ശ്രമമല്ല കാർബൺ; മറിച്ച്, അത് ഒരു പിൻഗാമി ഭാഷാ തന്ത്രമാണ്. C++ ഇന്റർഓപ്പറബിളിറ്റിയിലും നിലവിൽ C++ ഉപയോഗിക്കുന്ന ഡെവലപ്പർമാർക്കും കോഡ്ബേസുകൾക്കുമുള്ള വ്യാപകമായ സ്വീകാര്യതയും മൈഗ്രേഷനുമാണ് ഇതിന്റെ ശ്രദ്ധ.
ഒരു C++ മാറ്റിസ്ഥാപിക്കുന്ന ഭാഷയ്ക്ക് ഇനിപ്പറയുന്നവ ഉണ്ടായിരിക്കണം:
- C++ മായി താരതമ്യപ്പെടുത്താവുന്ന പ്രകടനം ഡെവലപ്പർമാർക്ക് ഒരു നിർണായക സ്വഭാവമാണ്.
- C++ പ്രോഗ്രാമർമാർക്ക് കൈകാര്യം ചെയ്യാവുന്ന പഠന വക്രതയും പരിചിത നിലവാരവും
- സ്കെയിലബിൾ ആയ മൈഗ്രേഷൻ, ചില സോഴ്സ് ടു സോഴ്സ് ഐഡിയമാറ്റിക് C++ കോഡ് വിവർത്തനം ഉൾപ്പെടുന്നു.
- നിലവിലെ സോഫ്റ്റ്വെയറിന്റെ ആർക്കിടെക്ചറിനും ഡിസൈനിനുമുള്ള സമാന പ്രകടനവും പിന്തുണയും.
- തടസ്സങ്ങളില്ലാത്തതും ദ്വിദിശയിലുള്ളതുമായ C++ ഉപയോഗിച്ചുള്ള ഇന്റർഓപ്പറബിളിറ്റി, ബാക്കിയുള്ള സ്റ്റാക്ക് പോർട്ട് ചെയ്യാതെ തന്നെ കാർബൺ സ്വീകരിക്കാൻ ഏതൊരു ലൈബ്രറിയെയും അനുവദിക്കുന്നു.
ഈ തന്ത്രം ഉപയോഗിച്ച്, C++ ന് വേണ്ടി നിലവിലുള്ള ആവാസവ്യവസ്ഥയിലേക്ക് Google ചേർക്കുകയും നിലവിലെ നിക്ഷേപങ്ങൾ, കോഡ്ബേസുകൾ, വികസന കമ്മ്യൂണിറ്റികൾ എന്നിവ സംയോജിപ്പിക്കുകയും ചെയ്യുന്നു.
വിവിധ ആവാസവ്യവസ്ഥകൾക്കായി കുറച്ച് ഭാഷകൾ ഈ സമീപനം സ്വീകരിച്ചിട്ടുണ്ട്, ഈ സാഹചര്യങ്ങളിൽ C++ ന് സമാനമായ പ്രവർത്തനം നടത്താൻ കാർബൺ ശ്രമിക്കുന്നു:
- ജാവ - കോട്ലിൻ
- ജാവാസ്ക്രിപ്റ്റ് - ടൈപ്പ്സ്ക്രിപ്റ്റ്
- സി++ - കാർബൺ
C++ VS കാർബൺ കോഡ്
നിങ്ങൾ ഇതിനകം ഒരു C++ ഡെവലപ്പർ ആണെങ്കിൽ കാർബണിന് കുറഞ്ഞ പഠന കർവ് ഉണ്ടായിരിക്കണം. സ്വാഭാവികമായി തോന്നേണ്ടതും വായിക്കാനും മനസ്സിലാക്കാനും എളുപ്പമുള്ളതുമായ ഒരു നിശ്ചിത വ്യാകരണ നിർമ്മിതികൾ ചേർന്നതാണ് ഇത്.
C++ കോഡിന്റെ ഒരു ഉദാഹരണം:
ഈ കാർബൺ കോഡ് ഇനിപ്പറയുന്നവയുമായി യോജിക്കുന്നു:
കാർബൺ Vs റസ്റ്റ്
മെമ്മറി-സേഫ് പെർഫോമൻസ് ആപ്ലിക്കേഷനുകളുടെ ആവശ്യകതകൾ നിറവേറ്റുന്നതിനായി വ്യക്തമായി രൂപകൽപ്പന ചെയ്ത മറ്റൊരു സമകാലിക ഭാഷയെ റസ്റ്റ് എന്ന് വിളിക്കുന്നു.
അപ്പോൾ എന്തുകൊണ്ട് റസ്റ്റ് ലളിതമായി ഉപയോഗിക്കരുത്?
ഒരു മോസില്ല പ്രോജക്റ്റായി ആരംഭിച്ച റസ്റ്റ്, പിന്നീട് വലിയൊരു ജനശ്രദ്ധ നേടാനായി വളർന്നു, C++ ന്റെ പിൻഗാമിയാണെന്ന് ചിലർ വാദിക്കുമ്പോൾ, സമാന്തരം ഇപ്പോഴും സാധുതയുള്ളതാണോ എന്ന് Carruth സംശയിക്കുന്നു.
തുരുമ്പ് ഒരു പുതിയ പ്രോജക്റ്റ് ആരംഭിക്കുന്നതിനുള്ള ഒരു മികച്ച ഭാഷയാണ്, പക്ഷേ ജാവ & കോട്ലിൻ പോലുള്ള ഭാഷകളുടെ "ദ്വിദിശ പരസ്പര പ്രവർത്തനക്ഷമത" ഇല്ലാത്തതിനാൽ, ക്രമേണ അതിലേക്ക് മാറുന്നത് വെല്ലുവിളിയാണ്.
സിപിപി നോർത്തിൽ കാറൂത്ത് ഒരു പ്രഭാഷണം നടത്തുകയും, ഇതിനകം റസ്റ്റ് ഉപയോഗിക്കുന്ന ആളുകളെ അങ്ങനെ ചെയ്യാൻ പ്രോത്സാഹിപ്പിക്കുകയും ചെയ്തു. റസ്റ്റിലേക്ക് പരിവർത്തനം ചെയ്യാൻ വെല്ലുവിളിക്കുന്ന, ഇതിനകം തന്നെ C++ കോഡ്ബേസുകൾ ഉള്ള ഡെവലപ്പർമാർ കാർബൺ ഉപയോഗിക്കണം.
പ്രത്യേകിച്ചും, കാർബണിനെയാണ് "പിൻഗാമി ഭാഷ" എന്ന് വിളിക്കുന്നത്, ഇത് നിലവിലുള്ള ഒരു ആവാസവ്യവസ്ഥയുടെ മുകളിൽ നിർമ്മിച്ചതാണ്, ഈ സാഹചര്യത്തിൽ C++.
അതിനായി, "പ്രകടന-നിർണ്ണായക ആപ്ലിക്കേഷനുകൾ" സൃഷ്ടിക്കുന്നതിൽ പ്രോഗ്രാമർമാരെ സഹായിക്കുന്നതുപോലുള്ള നിരവധി ലക്ഷ്യങ്ങൾ റസ്റ്റുമായി ഉണ്ടെങ്കിലും, നിലവിലെ C++ കോഡുമായി പൂർണ്ണമായും പൊരുത്തപ്പെടുന്നതാണ് കാർബൺ ഉദ്ദേശിക്കുന്നത്.
കൂടാതെ, C++ ൽ നിന്ന് കാർബണിലേക്ക് നീങ്ങുന്നത് കഴിയുന്നത്ര ലളിതമാക്കാൻ ഉദ്ദേശിച്ചുള്ളതാണ്.
തീരുമാനം
അവസാനമായി, കാർബൺ ഭാഷാ സ്രഷ്ടാക്കൾ സൃഷ്ടി പ്രക്രിയയിൽ ശ്രദ്ധ ചെലുത്താൻ ശ്രമിച്ചു. പ്രോജക്റ്റിന്റെ കോഡ് അഭ്യർത്ഥനയ്ക്ക് ലഭ്യമാണ് കൂടാതെ തുറന്ന് സംഭരിച്ചിരിക്കുന്നു സാമൂഹികം, അതിന്റെ സംസ്കാരം സ്വകാര്യ പൗരന്മാർക്കും ഐടി മേഖലയ്ക്കും എല്ലാം ഉൾക്കൊള്ളുന്നതും തുറന്നതുമാണ്.
ഭാവിയിൽ വികസിപ്പിക്കുന്നതിന്, ഗൂഗിൾ ഇന്ധനം നൽകുന്ന ഒരു പ്രോജക്റ്റ് മാത്രമല്ല, സമൂഹം നയിക്കുന്ന ഒരു സ്വയംഭരണ പ്രോജക്റ്റ് ആയിരിക്കണമെന്ന് കാർബൺ ടീം കരുതി.
നിരവധി ഐടി ബിസിനസുകളിൽ നിന്ന് താൽപ്പര്യമുണ്ടെങ്കിലും, ഈ ആശയം ഇപ്പോഴും പരീക്ഷണ ഘട്ടത്തിലാണെന്നും കാരത്ത് കൂട്ടിച്ചേർത്തു.
നിങ്ങളുടെ അഭിപ്രായങ്ങൾ രേഖപ്പെടുത്തുക