ఇటీవలి ఓపెన్ సోర్స్ టెక్నాలజీ సమ్మి (OSTS)లో
సిస్టమ్ ప్రోగ్రామింగ్ అనేది సాఫ్ట్వేర్ యొక్క అభివృద్ధి మరియు నిర్వహణ, ఇది అప్లికేషన్ అప్లికేషన్లను రూపొందించడానికి ఒక వేదికగా పనిచేస్తుంది, రెండోది ప్రాసెసర్, RAM, ఇన్పుట్/అవుట్పుట్ పరికరాలు మరియు నెట్వర్క్ పరికరాలతో పరస్పర చర్య చేసేలా చేస్తుంది. సిస్టమ్ సాఫ్ట్వేర్ ఇంటర్ఫేస్ల రూపంలో ప్రత్యేక సంగ్రహాన్ని సృష్టిస్తుంది, ఇది హార్డ్వేర్ ఎలా పనిచేస్తుందనే వివరాలను లోతుగా పరిశోధించకుండా అప్లికేషన్ సాఫ్ట్వేర్ను రూపొందించడంలో సహాయపడుతుంది.
ట్రిప్లెట్ స్వయంగా సిస్టమ్స్ ప్రోగ్రామింగ్ను "అప్లికేషన్ కాని ఏదైనా" అని నిర్వచించాడు. ఇందులో BIOS, ఫర్మ్వేర్, బూట్లోడర్లు మరియు ఆపరేటింగ్ సిస్టమ్ కెర్నలు, వివిధ రకాల ఎంబెడెడ్ తక్కువ-స్థాయి కోడ్ మరియు వర్చువల్ మెషీన్ ఇంప్లిమెంటేషన్లు ఉంటాయి. ఆసక్తికరంగా, ట్రిప్లెట్ వెబ్ బ్రౌజర్ కూడా సిస్టమ్ సాఫ్ట్వేర్ అని నమ్ముతుంది, ఎందుకంటే బ్రౌజర్ చాలా కాలం క్రితం "కేవలం ప్రోగ్రామ్" కంటే ఎక్కువగా మారింది, ఇది స్వతంత్ర "వెబ్సైట్లు మరియు వెబ్ అప్లికేషన్ల ప్లాట్ఫారమ్"గా మారింది.
గతంలో, BIOS, బూట్ లోడర్లు మరియు ఫర్మ్వేర్లతో సహా చాలా సిస్టమ్ ప్రోగ్రామ్లు అసెంబ్లీ భాషలో వ్రాయబడ్డాయి. 1960లలో, ప్రయోగాలు ఉన్నత-స్థాయి భాషలకు హార్డ్వేర్ మద్దతును అందించడం ప్రారంభించాయి, ఇది PL/S, BLISS, BCPL మరియు ALGOL 68 వంటి భాషల సృష్టికి దారితీసింది.
ఆ తర్వాత, 1970లలో, డెన్నిస్ రిట్చీ యునిక్స్ ఆపరేటింగ్ సిస్టమ్ కోసం సి ప్రోగ్రామింగ్ లాంగ్వేజ్ని సృష్టించాడు. టైపింగ్ సపోర్ట్ కూడా లేని B ప్రోగ్రామింగ్ లాంగ్వేజ్లో రూపొందించబడింది, C అనేది ఆపరేటింగ్ సిస్టమ్లు మరియు డ్రైవర్లను వ్రాయడానికి బాగా సరిపోయే శక్తివంతమైన ఉన్నత-స్థాయి ఫంక్షన్లతో నిండి ఉంది. UNIX యొక్క అనేక భాగాలు, దాని కెర్నల్తో సహా, చివరికి Cలో తిరిగి వ్రాయబడ్డాయి. తదనంతరం, ఒరాకిల్ డేటాబేస్, చాలా వరకు Windows సోర్స్ కోడ్ మరియు Linux ఆపరేటింగ్ సిస్టమ్తో సహా అనేక ఇతర సిస్టమ్ ప్రోగ్రామ్లు కూడా Cలో వ్రాయబడ్డాయి.
ఈ దిశగా సికి అద్భుతమైన మద్దతు లభించింది. కానీ డెవలపర్లు దానికి మారడానికి సరిగ్గా ఏమి చేసింది? ఒక ప్రోగ్రామింగ్ లాంగ్వేజ్ నుండి మరొక ప్రోగ్రామింగ్ లాంగ్వేజ్కి మారడానికి డెవలపర్లను ప్రేరేపించడానికి, రెండోది ముందుగా పాత ఫీచర్లను కోల్పోకుండా కొత్త ఫీచర్లను అందించాలని ట్రిప్లెట్ అభిప్రాయపడ్డారు.
ముందుగా, భాష తప్పనిసరిగా "సహేతుకంగా ఆకట్టుకునే" కొత్త ఫీచర్లను అందించాలి. "అతను ఏ మంచివాడు కాదు. పరివర్తన చేయడానికి పట్టే ప్రయత్నం మరియు ఇంజనీరింగ్ సమయాన్ని సమర్థించడం మరింత మెరుగ్గా ఉండాలి, ”అని ఆయన వివరించారు. అసెంబ్లీ భాషతో పోలిస్తే, C అందించడానికి చాలా విషయాలు ఉన్నాయి. ఇది కొంతవరకు టైప్-సేఫ్ బిహేవియర్కు మద్దతిచ్చింది, మెరుగైన పోర్టబిలిటీ మరియు అధిక-స్థాయి నిర్మాణాలతో పనితీరును అందించింది మరియు మొత్తంగా మరింత చదవగలిగే కోడ్ను రూపొందించింది.
రెండవది, భాష తప్పనిసరిగా పాత లక్షణాలకు మద్దతును అందించాలి, అంటే సికి పరివర్తన చరిత్రలో, డెవలపర్లు అసెంబ్లీ భాష కంటే తక్కువ పని చేయలేదని నిర్ధారించుకోవాలి. ట్రిప్లెట్ ఇలా వివరించాడు: "ఒక కొత్త భాష కేవలం మెరుగ్గా ఉండకూడదు, అది కూడా అలాగే ఉండాలి." అసెంబ్లీ భాష ఉపయోగించగల ఏదైనా డేటా రకానికి వేగంగా మరియు మద్దతు ఇవ్వడంతో పాటు, సి కూడా ట్రిప్లెట్ "ఎస్కేప్ హాచ్" అని పిలుస్తుంది-అంటే, అది అసెంబ్లీ లాంగ్వేజ్ కోడ్ను దానిలో చొప్పించుకోవడానికి మద్దతు ఇస్తుంది.
ట్రిప్లెట్ సి ఇప్పుడు చాలా సంవత్సరాల క్రితం అసెంబ్లీ భాషగా మారిందని అభిప్రాయపడ్డారు. "సి కొత్త అసెంబ్లర్," అతను ప్రకటించాడు. ఇప్పుడు డెవలపర్లు కొత్త ఉన్నత-స్థాయి భాష కోసం వెతుకుతున్నారు, అది C లో పేరుకుపోయిన సమస్యలను పరిష్కరించడం మాత్రమే కాకుండా, ఉత్తేజకరమైన కొత్త ఫీచర్లను కూడా అందిస్తుంది. డెవలపర్లు దానికి మారడానికి, సురక్షితంగా, ఆటోమేటిక్ మెమరీ నిర్వహణను అందించడానికి మరియు మరిన్నింటిని పొందేందుకు ఇటువంటి భాష తప్పనిసరిగా బలవంతంగా ఉండాలి.
“సి కంటే మెరుగ్గా ఉండాలనుకునే ఏ భాష అయినా అది నిజంగా బలవంతపు ప్రత్యామ్నాయంగా ఉండాలనుకుంటే కేవలం బఫర్ ఓవర్ఫ్లో రక్షణ కంటే చాలా ఎక్కువ అందించాలి. డెవలపర్లు వినియోగం మరియు పనితీరుపై ఆసక్తిని కలిగి ఉన్నారు, స్వీయ వివరణాత్మకమైన కోడ్ను వ్రాయడం మరియు తక్కువ లైన్లలో ఎక్కువ పని చేయడం. భద్రతా సమస్యలను కూడా పరిష్కరించాల్సిన అవసరం ఉంది. వాడుకలో సౌలభ్యం మరియు పనితీరు కలిసి ఉంటాయి. ఏదైనా సాధించడానికి మీరు ఎంత తక్కువ కోడ్ రాయాలి, భద్రతకు సంబంధించిన లేదా చేయకపోయినా మీరు ఏవైనా తప్పులు చేయడానికి తక్కువ అవకాశం ఉంటుంది, ”అని ట్రిప్లెట్ వివరించాడు.
రస్ట్ మరియు సి పోలిక
తిరిగి 2006లో, మొజిల్లా ఉద్యోగి అయిన గ్రేడన్ హోరే, రస్ట్ను వ్యక్తిగత ప్రాజెక్ట్గా రాయడం ప్రారంభించాడు. మరియు 2009లో, మొజిల్లా తన స్వంత అవసరాల కోసం రస్ట్ అభివృద్ధిని స్పాన్సర్ చేయడం ప్రారంభించింది మరియు భాషను మరింత అభివృద్ధి చేయడానికి బృందాన్ని కూడా విస్తరించింది.
మొజిల్లా కొత్త భాషపై ఆసక్తి కనబరచడానికి ఒక కారణం ఏమిటంటే, ఫైర్ఫాక్స్ 4 మిలియన్లకు పైగా C++ కోడ్లో వ్రాయబడింది మరియు కొన్ని క్లిష్టమైన దుర్బలత్వాలను కలిగి ఉంది. రస్ట్ అనేది భద్రత మరియు సమ్మతిని దృష్టిలో ఉంచుకుని నిర్మించబడింది, ఇది బ్రౌజర్ ఆర్కిటెక్చర్ను పూర్తిగా రీడిజైన్ చేయడానికి క్వాంటం ప్రాజెక్ట్లో భాగంగా ఫైర్ఫాక్స్ యొక్క అనేక భాగాలను తిరిగి వ్రాయడానికి ఇది ఒక ఆదర్శవంతమైన ఎంపిక. మొజిల్లా సర్వోను అభివృద్ధి చేయడానికి రస్ట్ని కూడా ఉపయోగిస్తోంది, ఇది HTML రెండరింగ్ ఇంజిన్ను చివరికి ప్రస్తుత Firefox రెండరింగ్ ఇంజిన్ను భర్తీ చేస్తుంది. Microsoft, Google, Facebook, Amazon, Dropbox, Fastly, Chef, Baidu మరియు మరెన్నో సహా అనేక ఇతర కంపెనీలు తమ ప్రాజెక్ట్ల కోసం రస్ట్ని ఉపయోగించడం ప్రారంభించాయి.
రస్ట్ C భాష యొక్క అతి ముఖ్యమైన సమస్యలలో ఒకదాన్ని పరిష్కరిస్తుంది. ఇది ఆటోమేటిక్ మెమరీ మేనేజ్మెంట్ను అందిస్తుంది కాబట్టి డెవలపర్లు అప్లికేషన్లోని ప్రతి వస్తువు కోసం మాన్యువల్గా కేటాయించి, ఆపై దాన్ని ఉచితంగా అందించాల్సిన అవసరం లేదు. ఇతర ఆధునిక భాషల నుండి రస్ట్ని విభిన్నంగా చేసేది ఏమిటంటే, దీనిలో మెమరీ నుండి ఉపయోగించని వస్తువులను స్వయంచాలకంగా తొలగించే చెత్త కలెక్టర్ లేదు లేదా జావా కోసం జావా రన్టైమ్ ఎన్విరాన్మెంట్ వంటి పని చేయడానికి అవసరమైన రన్టైమ్ వాతావరణం కూడా దీనికి లేదు. బదులుగా, రస్ట్ యాజమాన్యం, రుణాలు తీసుకోవడం, సూచనలు మరియు జీవితకాలం యొక్క భావనలను కలిగి ఉంది. "యజమాని దానిని ఉపయోగిస్తున్నారా లేదా కేవలం రుణం తీసుకుంటున్నారా అని సూచించడానికి ఆబ్జెక్ట్కు కాల్లను ప్రకటించే వ్యవస్థ రస్ట్లో ఉంది. మీరు ఒక వస్తువును అప్పుగా తీసుకుంటే, కంపైలర్ దీన్ని ట్రాక్ చేస్తుంది మరియు మీరు దానిని సూచించినంత కాలం అసలైనది అలాగే ఉండేలా చేస్తుంది. అదనపు సమయం లేకుండా కంపైల్ సమయంలో సంబంధిత కాల్ని కోడ్లోకి చొప్పించడం ద్వారా, ఆబ్జెక్ట్ వినియోగం పూర్తయిన వెంటనే ఆబ్జెక్ట్ మెమరీ నుండి తీసివేయబడుతుందని కూడా రస్ట్ నిర్ధారిస్తుంది" అని ట్రిప్లెట్ చెప్పారు.
స్థానిక రన్టైమ్ లేకపోవడం కూడా రస్ట్ యొక్క సానుకూల లక్షణంగా పరిగణించబడుతుంది. ఇది రన్ అయ్యే భాషలను సిస్టమ్ ప్రోగ్రామింగ్ టూల్స్గా ఉపయోగించడం కష్టమని ట్రిప్లెట్ అభిప్రాయపడ్డారు. అతను వివరించినట్లుగా: "మీరు ఏదైనా కోడ్కి కాల్ చేయడానికి ముందు ఈ రన్టైమ్ని ప్రారంభించాలి, మీరు ఫంక్షన్లకు కాల్ చేయడానికి ఈ రన్టైమ్ని తప్పనిసరిగా ఉపయోగించాలి మరియు రన్టైమ్ కూడా ఊహించని సమయాల్లో మీ వెనుక అదనపు కోడ్ని అమలు చేయవచ్చు."
రస్ట్ సురక్షితమైన సమాంతర ప్రోగ్రామింగ్ను అందించడానికి కూడా కృషి చేస్తుంది. మెమరీని సురక్షితంగా ఉంచే అదే ఫీచర్లు ఏ థ్రెడ్ ఏ వస్తువును కలిగి ఉంది మరియు థ్రెడ్ల మధ్య ఏ వస్తువులను పంపవచ్చు మరియు లాక్ అవసరం వంటి అంశాలను ట్రాక్ చేస్తుంది.
ఈ లక్షణాలన్నీ రస్ట్ని సిస్టమ్ ప్రోగ్రామింగ్ కోసం కొత్త సాధనంగా ఎంచుకోవడానికి డెవలపర్లకు తగినంతగా బలవంతం చేస్తాయి. అయినప్పటికీ, సమాంతర కంప్యూటింగ్ పరంగా, రస్ట్ ఇప్పటికీ C కంటే కొంచెం వెనుకబడి ఉంది.
ట్రిప్లెట్ ఒక ప్రత్యేక వర్కింగ్ గ్రూప్ను రూపొందించాలని భావిస్తోంది, ఇది రస్ట్లో అవసరమైన ఫీచర్లను పరిచయం చేయడంపై దృష్టి సారిస్తుంది, తద్వారా ఇది సిస్టమ్స్ ప్రోగ్రామింగ్ రంగంలో Cని పూర్తిగా సమానంగా, అధిగమించి మరియు భర్తీ చేయగలదు. IN
కొత్త ఇంటెల్ జియాన్ స్కేలబుల్ ప్రాసెసర్లలో కనిపించిన ఫ్లోటింగ్ పాయింట్ ఫార్మాట్ అయిన BFLOAT16కి మద్దతును పరిచయం చేయడంతోపాటు రస్ట్లో మల్టీ-థ్రెడింగ్ మద్దతును మెరుగుపరచడంపై FFI/C పారిటీ గ్రూప్ మొట్టమొదట దృష్టి పెడుతుందని భావించవచ్చు. కోడ్ చొప్పింపులు.
మూలం: 3dnews.ru