റസ്റ്റ് (പ്രോഗ്രാമിംഗ് ഭാഷ)

സുരക്ഷയെ കേന്ദ്രീകരിച്ചുള്ള ഒരു മൾട്ടി-പാരഡിഗം സിസ്റ്റം പ്രോഗ്രാമിംഗ് ഭാഷയാണ് **റസ്റ്റ്**, പ്രത്യേകിച്ച് സുരക്ഷിതമായ കൺകറൻസി. റസ്റ്റ് സി++ന് സമാനമാണ്, പക്ഷേ ഉയർന്ന പ്രകടനം നിലനിർത്തിക്കൊണ്ട് മികച്ച മെമ്മറി സുരക്ഷ നൽകുന്നതിനാണ് ഇത് രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്.

ഡേവ് ഹെർമൻ, ബ്രണ്ടൻ ഐക്ക്, എന്നിവരിൽ നിന്നുള്ള സംഭാവനകളോടെയാണ് മോസില്ല റിസർച്ചിലെ ഗ്രേഡൺ ഹോറെ ആണ് റസ്റ്റ് ആദ്യം രൂപകൽപ്പന ചെയ്തത്. സെർവോ ലേഔട്ട് അല്ലെങ്കിൽ ബ്രൗസർ എഞ്ചിൻ, റസ്റ്റ് കംപൈലർ എന്നിവ എഴുതുമ്പോൾ ഡിസൈനർമാർ ഭാഷ പരിഷ്‌ക്കരിച്ചു. എംഐടി ലൈസൻസിനും അപ്പാച്ചെ ലൈസൻസ് 2.0 നും കീഴിൽ കംപൈലർ സൗജന്യവും ഓപ്പൺ സോഴ്‌സ് സോഫ്റ്റ്‌വെയറും ഇരട്ട-ലൈസൻസുള്ളതാണ്.

2016 മുതൽ എല്ലാ വർഷവും സ്റ്റാക്ക് ഓവർഫ്ലോ ഡവലപ്പർ സർവേയിലെ "ഏറ്റവും പ്രിയപ്പെട്ട പ്രോഗ്രാമിംഗ് ഭാഷ" ആണ് റസ്റ്റ്.
## ഡിസൈൻ

വളരെ ഒരേസമയത്തും വളരെ സുരക്ഷിതവുമായ സിസ്റ്റങ്ങൾക്കായുള്ള ഒരു ഭാഷയാണ് റസ്റ്റ് ഉദ്ദേശിക്കുന്നത്,  വലിയ പ്രോഗ്രാമിംഗ്, അതായത് വലിയ സിസ്റ്റം സമഗ്രത കാത്തുസൂക്ഷിക്കുന്ന അതിരുകൾ സൃഷ്ടിക്കുകയും പരിപാലിക്കുകയും ചെയ്യുക.  സുരക്ഷ, മെമ്മറി ലേഔട്ടിന്റെ നിയന്ത്രണം, കൺകറൻസി എന്നിവയ്‌ക്ക് പ്രാധാന്യം നൽകുന്ന ഒരു സവിശേഷത സെറ്റിലേക്ക് ഇത് നയിച്ചു.
### ഇഡ്യൂമാറ്റിക് റസ്റ്റിന്റെ പ്രകടനം
ഇഡ്യൂമാറ്റിക് റസ്റ്റിന്റെ പ്രകടനം ഇഡ്യൂമാറ്റിക് സി++ ന്റെ പ്രകടനവുമായി താരതമ്യപ്പെടുത്താവുന്നതാണ്.
### വാക്യഘടന
റസ്റ്റിന്റെ കോൺക്രീറ്റ് വാക്യഘടന സി, സി++ എന്നിവയ്ക്ക് സമാനമാണ്, ചുരുള ബ്രാക്കറ്റുകളാൽ വേർതിരിച്ച കോഡ് ബ്ലോക്കുകളും, കൂടാതെ, വേണമെങ്കിൽ, `if`, `else`, `while`,`for`എന്നിങ്ങനെയുള്ള നിയന്ത്രണ ഫ്ലോ കീവേഡുകളും നിയന്ത്രിക്കുക. .എല്ലാ സി അല്ലെങ്കിൽ സി++ കീവേഡുകളും നടപ്പിലാക്കുന്നില്ല, എന്നിരുന്നാലും ചില റസ്റ്റ് ഫംഗ്ഷനുകൾ (പാറ്റേൺ പൊരുത്തപ്പെടുത്തലിനായി കീവേഡ് പൊരുത്തത്തിന്റെ ഉപയോഗം പോലുള്ളവ) ഈ ഭാഷകളിൽ വൈദഗ്ദ്ധ്യമുള്ളവർക്ക് പരിചിതമല്ല. സി, സി++ എന്നിവയുമായി ഉപരിപ്ലവമായ സാമ്യം ഉണ്ടെങ്കിലും, ആഴമേറിയ അർത്ഥത്തിൽ റസ്റ്റിന്റെ വാക്യഘടന എം‌എൽ കുടുംബ ഭാഷകളുമായും ഹാസ്‌കൽ ഭാഷയുമായും അടുത്തുനിൽക്കുന്നു. ഒരു ഫംഗ്ഷൻ ബോഡിയുടെ മിക്കവാറും എല്ലാ ഭാഗങ്ങളും ഒരു പദപ്രയോഗമാണ്,  ഫ്ലോ ഓപ്പറേറ്റർമാരെ പോലും നിയന്ത്രിക്കുക. ഉദാഹരണത്തിന്, സാധാരണ `if` പദപ്രയോഗം സിയുടെ ടെറിനറി കണ്ടീഷൻ എടുക്കുന്നു. ഒരു ഫംഗ്ഷൻ ഒരു റിട്ടേൺ എക്‌സ്‌പ്രഷനിൽ അവസാനിക്കേണ്ടതില്ല: ഈ സാഹചര്യത്തിൽ അർദ്ധവിരാമം ഒഴിവാക്കിയിട്ടുണ്ടെങ്കിൽ, ഫംഗ്ഷനിലെ അവസാന എക്‌സ്‌പ്രഷൻ റിട്ടേൺ മൂല്യം സൃഷ്ടിക്കുന്നു.

## മെമ്മറി സുരക്ഷ
റസ്റ്റ് മെമ്മറി സുരക്ഷിതമായി രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്നു, മാത്രമല്ല ഇത് സുരക്ഷിത കോഡിലെ അസാധുവായ പോയിന്ററുകൾ, ഡാങ്ളിംഗ് പോയിന്ററുകൾ അല്ലെങ്കിൽ ഡാറ്റ റേസുകൾ എന്നിവ അനുവദിക്കുന്നില്ല.ഒരു നിശ്ചിത ഫോം വഴി മാത്രമേ ഡാറ്റ മൂല്യങ്ങൾ സമാരംഭിക്കാൻ കഴിയൂ, ഇവയ്‌ക്കെല്ലാം അവയുടെ ഇൻപുട്ടുകൾ ഇതിനകം സമാരംഭിക്കേണ്ടതുണ്ട്.ലിങ്കുചെയ്‌ത ലിസ്റ്റ് അല്ലെങ്കിൽ ബൈനറി ട്രീ ഡാറ്റാ സ്ട്രക്ചറുകൾ പോലുള്ള സാധുവായതാണോ അല്ലെങ്കിൽ `NULL` എന്ന് മറ്റ് ഭാഷകളിലെ ഫംഗ്ഷൻ ആവർത്തിക്കുന്നതിന്, റസ്റ്റ് കോർ ലൈബ്രറി ഒരു ഓപ്ഷൻ ടൈപ്പ് നൽകുന്നു, ഒരു പോയിന്ററിന് `Some`മൂല്യമുണ്ടോ അല്ലെങ്കിൽ`None` ആണോ എന്ന് പരിശോധിക്കാൻ ഇത് ഉപയോഗിക്കാം. ലൈഫ്ടൈം നിയന്ത്രിക്കുന്നതിനായി റസ്റ്റ് കൂട്ടിച്ചേർത്ത വാക്യഘടനയും അതിന്റെ ബോറോ പരിശോധനയിലൂടെ കംപൈലർ റീസൺസ് അവതരിപ്പിക്കുന്നു. ഈ നിയന്ത്രണങ്ങളിൽ ചിലത് സബ്വെർട്ട് സുരക്ഷിതമല്ലാത്ത കോഡ് ഭാഷയിൽ ഉള്ള`unsafe` കീവേഡ് ഉപയോഗിച്ച് എഴുതാം
### മെമ്മറി മാനേജുമെന്റ്
റസ്റ്റ് ഒരു ഓട്ടോമേറ്റഡ് ഗാർബേജ് ശേഖരണ സംവിധാനം ഉപയോഗിക്കുന്നില്ല. പകരം, മെമ്മറിയും മറ്റ് റിസോഴ്സുകളും മാനേജുചെയ്യുന്നത് റിസോഴ്സ് അക്വിസിഷൻ ഓപ്ഷണൽ റഫറൻസ് കൗണ്ടിംഗ് വഴിയുള്ള ഓർഗനൈസേഷൻ (RAII) കൺവെൻഷനാണ്.

## അവലംബം