બજાર્ને સ્ટ્રોસ્ટ્રપ, C++ ભાષાના સર્જક, NSA રિપોર્ટના તારણો સામે વાંધો પોસ્ટ કર્યો, જેમાં ભલામણ કરવામાં આવી હતી કે સંસ્થાઓ C અને C++ જેવી પ્રોગ્રામિંગ ભાષાઓનો ઉપયોગ કરવાથી દૂર રહે, જે મેમરી મેનેજમેન્ટને ડેવલપરને શિફ્ટ કરે છે, C#, Go, Java, Ruby, Rust અને Swift જેવી ભાષાઓની તરફેણમાં જે મેમરી મેનેજમેન્ટ આપમેળે પ્રદાન કરે છે અથવા કમ્પાઇલ સમયે મેમરી સલામતી તપાસો કરો.
સ્ટ્રોસ્ટ્રપ મુજબ, NSA રિપોર્ટમાં ઉલ્લેખિત સુરક્ષિત ભાષાઓ ખરેખર C++ કરતાં શ્રેષ્ઠ નથી તમારા દૃષ્ટિકોણથી મહત્વપૂર્ણ એપ્લિકેશન્સમાં.
NSA સંસ્થાઓને સલાહ આપે છે કે તેઓ જે પ્રોગ્રામિંગ ભાષાઓનો ઉપયોગ કરે છે તેમાં વ્યૂહાત્મક ફેરફાર કરવાનું વિચારે. મેમરી-સેફ લેંગ્વેજને C/C++ જેવી થોડી કે કોઈ સહજ મેમરી સુરક્ષા પૂરી પાડે છે
જ્યારે તે શક્ય હોય
ખાસ કરીને, તેમણેમૂળભૂત C++ માર્ગદર્શિકા, જે તાજેતરના વર્ષોમાં વિકસાવવામાં આવ્યા છે, સુરક્ષિત પ્રોગ્રામિંગ માટે કવર પદ્ધતિઓ અને એવા સાધનોનો ઉપયોગ સૂચવો જે પ્રકારો અને સંસાધનો સાથે સલામત કાર્યની ખાતરી કરે. જો કે, જે વિકાસકર્તાઓને આવી મજબૂત સુરક્ષા ગેરંટીની જરૂર નથી તેઓ જૂની વિકાસ પદ્ધતિઓનો ઉપયોગ કરવાનું ચાલુ રાખી શકે છે.
Stroustrup માને છે કે એક સારો સ્ટેટિક વિશ્લેષક જે C++ કોર દિશાનિર્દેશોનું પાલન કરે છે C++ કોડ માટે જરૂરી સુરક્ષા ગેરંટી આપી શકે છે નવી સુરક્ષિત પ્રોગ્રામિંગ ભાષાઓ પર સ્વિચ કરવા કરતાં ઘણી ઓછી કિંમતે.
ઉદાહરણ તરીકે, માઈક્રોસોફ્ટ વિઝ્યુઅલ સ્ટુડિયો સ્ટેટિક વિશ્લેષક અને મેમરી-સેફ પ્રોફાઇલમાં મોટાભાગની મુખ્ય માર્ગદર્શિકા પહેલેથી જ લાગુ કરવામાં આવી છે. રણકાર વ્યવસ્થિત સ્થિર વિશ્લેષકમાં કેટલીક ભલામણોને પણ ધ્યાનમાં લેવામાં આવે છે.
NSA રિપોર્ટની પણ માત્ર યાદશક્તિની સમસ્યાઓ પર ધ્યાન કેન્દ્રિત કરવા માટે ટીકા કરવામાં આવી હતી., અન્ય ઘણા પ્રોગ્રામિંગ લેંગ્વેજ મુદ્દાઓને છોડીને જે સુરક્ષા અને વિશ્વસનીયતા પર અસર કરે છે તેને સંબોધિત કર્યા વિના.
કમનસીબે, C++ નો મોટાભાગનો ઉપયોગ પણ દૂરના ભૂતકાળમાં અટવાયેલો છે, સુધારાઓને અવગણીને, જેમાં સુરક્ષામાં ધરખમ સુધારો કરવાની રીતોનો સમાવેશ થાય છે. હવે, જો મને રુચિ છે તે ઉપયોગોની શ્રેણી માટે જો હું તેમાંથી કોઈ પણ "સલામત" ભાષાને C++ કરતા ચઢિયાતી ગણું, તો હું C/C++ ના અવસાનને ખરાબ ગણીશ નહીં, પરંતુ એવું નથી. .
Bjarne Stroustrup અસંમત છે કે NSA પ્રકાશન મેમરીને સુરક્ષિત કરવા માટે સોફ્ટવેરને સુરક્ષિત કરવાની કલ્પનાને મર્યાદિત કરે છે. વાસ્તવમાં, આ પાસું એ તમામ પ્રકાશનોનું એક સામાન્ય સંપ્રદાય છે જે ઘણી મોટી કંપનીઓ (માઈક્રોસોફ્ટ, એમેઝોન, વગેરે) તેને ઓળખે છે તેવી સોફ્ટવેરની સુરક્ષા ગેરંટી માટે રસ્ટ ભાષાની તરફેણમાં C અથવા C++ને દૂર કરવાની સલાહ આપે છે.
"'સુરક્ષા'ની કોઈ એક વ્યાખ્યા નથી, અને અમે પ્રોગ્રામિંગ શૈલીઓ, સપોર્ટ લાઇબ્રેરીઓ અને સ્થિર વિશ્લેષણનો લાભ મેળવીને વિવિધ પ્રકારના સુરક્ષા પ્રકારો હાંસલ કરી શકીએ છીએ," તે કહે છે. Bjarne Stroustrup આમ સૂચવે છે કે સૉફ્ટવેર સુરક્ષાના સંદર્ભમાં C++ માંથી શું મેળવી શકાય છે, તે અન્ય બાબતોની સાથે, વિકાસકર્તા પર અને ખાસ કરીને, ભાષા જે સાધનો પ્રદાન કરે છે તેના જ્ઞાન પર, કમ્પાઇલરમાં તેની નિપુણતા વગેરે પર આધાર રાખે છે.
સ્ટ્રોસ્ટ્રપ સુરક્ષાને એક વ્યાપક ખ્યાલ તરીકે જુએ છે, જેનાં વિવિધ પાસાં કોડિંગ શૈલી, પુસ્તકાલયો અને સ્થિર વિશ્લેષકોના સંયોજન દ્વારા પ્રાપ્ત કરી શકાય છે. નિયમોના સમાવેશને નિયંત્રિત કરવા માટે કે જે પ્રકારો અને સંસાધનો સાથે કામ કરવાની સલામતીને સુનિશ્ચિત કરે છે, તે કોડ એનોટેશન અને કમ્પાઇલર વિકલ્પોનો ઉપયોગ કરવાની દરખાસ્ત છે.
એપ્લીકેશનમાં જ્યાં કામગીરી સુરક્ષા કરતાં વધુ મહત્વની હોય છે, આ અભિગમ એવા સાધનોના પસંદગીના ઉપયોગને મંજૂરી આપે છે જે સુરક્ષાની ખાતરી આપે છે જ્યાં તેની જરૂર હોય. સુરક્ષા ઉન્નતીકરણ ટૂલ્સ પણ આંશિક રીતે લાગુ કરી શકાય છે, જેમ કે પહેલા શ્રેણીની તપાસ અને શરૂઆતના નિયમોને મર્યાદિત કરવા, અને પછી ધીમે ધીમે કોડને વધુ કડક જરૂરિયાતો માટે અનુકૂલિત કરવા.
છેલ્લે, જો તમે C++ ના સર્જકના પ્રકાશન વિશે વધુ જાણવામાં સમર્થ થવામાં રસ ધરાવો છો, તો તમે આમાં વિગતોનો સંપર્ક કરી શકો છો. નીચેની કડી