డెవలపర్లు C మరియు C++ వినియోగాన్ని నిలిపివేయాలని US ప్రభుత్వం కోరుతోంది
అభిప్రాయం నేను శిక్షకు తిండిపోతులా ఉండాలి. నా మొదటి ప్రోగ్రామింగ్ భాష IBM 360 అసెంబ్లర్ మాత్రమే కాదు, నా రెండవ భాష C. వాటిలో ఏదైనా ప్రోగ్రామింగ్ చేయడం అంత సులభం కాదు. వాటిలో దేనినైనా సురక్షితంగా ప్రోగ్రామింగ్ చేయడం చాలా కష్టం.
కాబట్టి U.S. సైబర్ సెక్యూరిటీ అండ్ ఇన్ఫ్రాస్ట్రక్చర్ సెక్యూరిటీ ఏజెన్సీ (CISA) మరియు ఫెడరల్ బ్యూరో ఆఫ్ ఇన్వెస్టిగేషన్స్ (FBI) C మరియు C++ వంటి “మెమరీ-అసురక్షిత” ప్రోగ్రామింగ్ భాషలను విడిచిపెట్టమని సాఫ్ట్వేర్ తయారీదారులను ఒప్పించేందుకు తమ ప్రయత్నాలను రెట్టింపు చేస్తున్నామని ప్రకటించినప్పుడు, అవి ఏవీ లేవు. ఆశ్చర్యం.
కొత్త ప్రోగ్రామ్లలో రస్ట్ కోసం C మరియు C++ పదవీ విరమణ సమయం వచ్చిందా?
పై నివేదిక పేద ఉత్పత్తి భద్రతా పద్ధతులు సాఫ్ట్వేర్ తయారీదారులను “క్లిష్టమైన ఇన్ఫ్రాస్ట్రక్చర్ సేవలలో ఉపయోగించడం కోసం కొత్త ఉత్పత్తి లైన్లను అభివృద్ధి చేయడం గురించి హెచ్చరించింది [national critical functions] నాన్-మెమరీ-సేఫ్ లాంగ్వేజ్లోని NCFలు (ఉదా., C లేదా C++), అందుబాటులో ఉన్న ప్రత్యామ్నాయ మెమరీ-సురక్షిత భాషలు అందుబాటులో ఉన్నాయి, అవి ప్రమాదకరమైనవి మరియు జాతీయ భద్రత, జాతీయ ఆర్థిక భద్రత మరియు ప్రమాదాన్ని గణనీయంగా పెంచుతాయి ఆరోగ్యం మరియు జాతీయ ప్రజా భద్రత.
సంక్షిప్తంగా, C లేదా C++ ఉపయోగించవద్దు. అవును, ఇది జరుగుతుంది.
ఇది తెలిసినట్లుగా అనిపిస్తే, CISA ఈ విషయాన్ని సంవత్సరాలుగా బోధిస్తోంది. 2024 ప్రారంభంలో, CISA, FBI, ఆస్ట్రేలియన్ సిగ్నల్స్ డైరెక్టరేట్ యొక్క ఆస్ట్రేలియన్ సైబర్ సెక్యూరిటీ సెంటర్ మరియు ఫైవ్ ఐస్ అని కూడా పిలువబడే కెనడియన్ సైబర్ సెక్యూరిటీ సెంటర్తో సహా భాగస్వామి ఏజెన్సీలతో కలిసి ఒక నివేదికను ప్రచురించింది, క్లిష్టమైన ఓపెన్ సోర్స్ ప్రాజెక్ట్లలో మెమరీ భద్రతను అన్వేషించడంఇది 172 క్లిష్టమైన ఓపెన్ సోర్స్ ప్రాజెక్ట్లను విశ్లేషించింది. ఈ ప్రాజెక్ట్లలో సగానికి పైగా మెమరీ-సురక్షితమైన భాషలలో వ్రాసిన కోడ్ను కలిగి ఉందని కనుగొన్నది, ఇది పరిశీలించిన ప్రాజెక్ట్లలోని మొత్తం కోడ్ లైన్లలో 55% ప్రాతినిధ్యం వహిస్తుంది.
ప్రత్యేకించి, “మెమరీ-అసురక్షిత భాషలకు డెవలపర్లు మెమొరీ వినియోగం మరియు కేటాయింపును సరిగ్గా నిర్వహించాల్సిన అవసరం ఉంది. అనివార్యంగా సంభవించే లోపాలు, బఫర్ ఓవర్ఫ్లోలు మరియు ఉపయోగం తర్వాత-ఉచితం వంటి మెమరీ భద్రతా దుర్బలత్వాలకు దారితీయవచ్చు. ఈ రకమైన దుర్బలత్వాలను విజయవంతంగా ఉపయోగించడం సాఫ్ట్వేర్, సిస్టమ్లు మరియు డేటాపై నియంత్రణ తీసుకోవడానికి శత్రువులను అనుమతించవచ్చు.”
మాకు తెలియని విషయం చెప్పండి.
CISA 70% భద్రతా దుర్బలత్వాలకు మెమరీ భద్రతా బలహీనతలను కలిగి ఉందని కొనసాగించింది. ఈ ఆందోళనను పరిష్కరించడానికి, డెవలపర్లు రస్ట్, జావా, సి#, గో, పైథాన్ మరియు స్విఫ్ట్ వంటి మెమరీ-సురక్షిత ప్రోగ్రామింగ్ భాషలకు మారాలని CISA సిఫార్సు చేస్తోంది. ఈ భాషలు సాధారణ మెమరీ-సంబంధిత లోపాల నుండి అంతర్నిర్మిత రక్షణలను కలిగి ఉంటాయి, వాటిని కోడ్ నుండి సురక్షితంగా చేస్తాయి.
బాగుంది కదూ?
మీ వేళ్లను తీయడం మరియు మీ కోడ్బేస్ను C నుండి రస్ట్కి అద్భుతంగా మార్చడం చాలా సులభం అయితే. స్పాయిలర్ హెచ్చరిక: అది కాదు.
తీసుకోవడానికి Linuxలో తుప్పు పట్టడంఉదాహరణకు. Linux సృష్టికర్త లైనస్ టోర్వాల్డ్స్ మద్దతుతో కూడా, రస్ట్ లైనక్స్కి నత్త వేగంతో కదులుతోంది.
సమస్య ఏమిటంటే, ఓపెన్ సోర్స్ సమ్మిట్ యూరప్ 2024లో టోర్వాల్డ్స్ చెప్పినట్లుగా, “అంతా రస్ట్ vs. సి చర్చ దాదాపుగా మతపరమైన అర్థాలను స్వీకరించారు” అనే కఠినమైన వాదనలతో a Linux మెయింటెయినర్లో తుప్పు పట్టి విసుగ్గా చేతులు పైకి లేపి వెళ్ళిపోతున్నాడు. చూడండి, కొన్ని సంవత్సరాలు మరియు కొన్ని దశాబ్దాలుగా C ని ప్రావీణ్యం సంపాదించిన వ్యక్తులు రస్ట్ను చాలా విభిన్నంగా నేర్చుకోవాలనుకోవడం లేదు. వారికి అర్థం అర్థం కాదు. అన్నింటికంటే, వారు C లో మెమరీ-సేఫ్ కోడ్ను వ్రాయగలరు, కాబట్టి మీరు ఎందుకు చేయలేరు?
ప్రశాంతంగా ఉండండి మరియు రస్ట్ నేర్చుకోండి: మేము త్వరలో Linuxలో మరిన్ని భాషలను చూస్తాము
సరే, ఎందుకంటే వారికి ప్రారంభించడానికి ఆ సంవత్సరాల అనుభవం లేదు.
వారు కేవలం క్రోధస్వభావం గల పాత డెవలపర్ల కంటే ఎక్కువ. ఇప్పటికే ఉన్న పెద్ద కోడ్ బేస్లను మెమరీ-సురక్షిత భాషల్లోకి మార్చడం చాలా పెద్ద పని. ఇది సమయం తీసుకుంటుంది, వనరులు ఎక్కువగా ఉంటుంది, కార్యాచరణను నిర్వహించడానికి జాగ్రత్తగా ప్రణాళిక అవసరం, మరియు, స్పష్టంగా చెప్పాలంటే, ఇది ఒక నొప్పి.
మరొక సమస్య ఏమిటంటే, మెమరీ-సురక్షిత భాషలు C మరియు C++ లతో పోలిస్తే నెమ్మదిగా పనితీరును ప్రదర్శించగలవు. మేము ఇప్పటికీ ఈ కష్టమైన, ప్రాచీన భాషలను ఉపయోగించేందుకు ఒక కారణం ఉంది; వారితో, డెవలపర్లు వేగవంతమైన ప్రోగ్రామ్లను రూపొందించగలరు. వేగం మరియు భద్రత మధ్య ఎంపిక ఇచ్చినట్లయితే, ప్రోగ్రామర్లు మరియు వారిని నియమించే కంపెనీలు ఎల్లప్పుడూ వేగవంతమైన కోడ్ కోసం చూస్తాయి.
వలసల యొక్క సాధారణ ఖర్చుతో పాటు, కంపెనీలు కొత్త భాషలకు మద్దతు ఇవ్వడానికి ఇప్పటికే ఉన్న డెవలప్మెంట్ టూల్స్, డీబగ్గర్లు మరియు టెస్టింగ్ ఫ్రేమ్వర్క్లను భర్తీ చేసే ఖర్చును కూడా ఎదుర్కొంటాయి. అప్పుడు, వారు కొత్త ప్రోగ్రామ్లను పాత కోడ్ మరియు లైబ్రరీలతో అనుసంధానిస్తున్నారు.
CISA దీనిని పూర్తి చేయాలని పట్టుబడుతోంది. లేదా, కనీసం, కంపెనీలు తమ ప్రస్తుత కోడ్బేస్లను జనవరి 1, 2026 నాటికి తరలించడానికి రోడ్మ్యాప్లను అభివృద్ధి చేయాలి. హానిని తగ్గించడం మరియు భద్రతను మెరుగుపరచడం వంటి దీర్ఘకాలిక ప్రయోజనాలు ప్రారంభ పెట్టుబడి కంటే ఎక్కువగా ఉన్నాయని CISA వాదించింది.
నాకు వ్యాపారం తెలుసు. ఈ వాదనను వారు నమ్మరు. ఆధునిక కార్పొరేట్ ప్రపంచంలో, ఇది తదుపరి త్రైమాసికంలో లాభాలను పెంచుకోవడమే. 2027లో డబ్బు ఆదా చేయడానికి ఈరోజే డబ్బు ఖర్చు చేయాలా? అది జరగదు.
చివరికి, బాధాకరంగా మరియు నెమ్మదిగా, మేము మెమరీ-సురక్షిత భాషలకు వెళ్తాము. ఇది నిజంగా మంచి ఆలోచన. అయితే, వ్యక్తిగతంగా, ఈ దశాబ్దంలో అలా జరుగుతుందని నేను అనుకోను. 2030లలో? అవును, 2020ల? నం.
కంపెనీలు లేదా ప్రోగ్రామర్లు లీపు తీసుకోవడానికి తగినంత కారణం లేదు. క్షమించండి, CISA, అది అలాగే ఉంది. ®