ది గ్రేటెస్ట్ Unix ప్రోగ్రామ్‌లు

వ్యాసం యొక్క రచయిత, డగ్లస్ మెక్ల్రాయ్, ఒక అమెరికన్ గణిత శాస్త్రజ్ఞుడు, ఇంజనీర్ మరియు ప్రోగ్రామర్. అతను Unix ఆపరేటింగ్ సిస్టమ్‌లో పైప్‌లైన్‌ను అభివృద్ధి చేయడం, కాంపోనెంట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్ సూత్రాలు మరియు అనేక అసలైన యుటిలిటీలు: స్పెల్, డిఫ్, సార్ట్, జాయిన్, స్పీక్, TR.

కొన్నిసార్లు మీరు నిజంగా అద్భుతమైన ప్రోగ్రామ్‌లను చూస్తారు. నా జ్ఞాపకశక్తిని పునశ్చరణ చేసిన తర్వాత, నేను సంవత్సరాలుగా నిజమైన Unix రత్నాల జాబితాను సంకలనం చేసాను. సాధారణంగా, ఇవి చాలా అరుదు మరియు అంత అవసరం లేని ప్రోగ్రామ్‌లు. కానీ వాటిని ప్రత్యేకంగా నిలబెట్టేది వారి వాస్తవికత. వాటిలో దేని గురించి అయినా నేనే ఆలోచనలో పడ్డానని నేను ఊహించలేను.

మీరు కూడా బాగా ఆకట్టుకున్న ప్రోగ్రామ్‌లను షేర్ చేయండి?

PDP-7 Unix

స్టార్టర్స్ కోసం, PDP-7 Unix సిస్టమ్ కూడా. దాని సరళత మరియు శక్తి నన్ను శక్తివంతమైన మెయిన్‌ఫ్రేమ్ నుండి చిన్న మెషీన్‌కు తరలించేలా చేసింది. ఇది మెయిన్‌ఫ్రేమ్‌లోని మల్టీక్స్ వందల మానవ-సంవత్సరాల అభివృద్ధి తర్వాత సాధించలేకపోయిన అత్యంత ముఖ్యమైన క్రమానుగత ఫైల్ సిస్టమ్, ప్రత్యేక షెల్ మరియు వినియోగదారు-స్థాయి ప్రక్రియ నియంత్రణ. Unix యొక్క లోపాలు (ఫైల్ సిస్టమ్ యొక్క రికార్డ్ స్ట్రక్చర్ వంటివి) దాని ఆవిష్కరణల వలె (షెల్ I/O దారి మళ్లింపు వంటివి) బోధనాత్మకమైనవి మరియు విముక్తి కలిగించాయి.

dc

రాబర్ట్ మోరిస్ యొక్క వేరియబుల్ ప్రెసిషన్ డెస్క్‌టాప్ కాలిక్యులేటర్ మ్యాథ్ లైబ్రరీ వినియోగదారు-నిర్దిష్ట ఫలిత ఖచ్చితత్వాన్ని సాధించడానికి ప్రతి దశలో అవసరమైన ఖచ్చితత్వాన్ని గుర్తించడానికి విలోమ దోష విశ్లేషణను ఉపయోగించింది. 1968 NATO సాఫ్ట్‌వేర్ ఇంజినీరింగ్ కాన్ఫరెన్స్‌లో, సాఫ్ట్‌వేర్ భాగాలపై నా నివేదికలో, ఏదైనా కావలసిన ఖచ్చితత్వాన్ని ఉత్పత్తి చేయగల రిఫరెన్స్ విధానాలను నేను ప్రతిపాదించాను, కానీ వాటిని ఎలా ఆచరణలో పెట్టాలో నాకు తెలియదు. dc ఇప్పటికీ నాకు తెలిసిన ఏకైక ప్రోగ్రామ్ దీన్ని చేయగలదు.

అక్షర దోషం

అక్షర దోషం టెక్స్ట్‌లోని పదాలను మిగిలిన వచనానికి వాటి సారూప్యతను బట్టి అమర్చుతుంది. 'hte' వంటి అక్షరదోషాలు జాబితా చివరిలో ఉంటాయి. ఈ కార్యక్రమం ఏ భాషకైనా సమానంగా పని చేస్తుందని రాబర్ట్ మోరిస్ గర్వంగా చెప్పాడు. అక్షర దోషం మీకు ఫొనెటిక్ లోపాలను కనుగొనడంలో సహాయం చేయనప్పటికీ, ఇది అన్ని టైప్‌సెట్టర్‌లకు నిజమైన వరం, మరియు చాలా తక్కువ ఆసక్తికరమైన కానీ మరింత ఖచ్చితమైన నిఘంటువు స్పెల్ చెకర్ రాకముందే ఇది చాలా మంచి చేసింది.

అక్షర దోషం బయట ఉన్నట్లే లోపల కూడా ఊహించనిది. సారూప్యత కొలత అల్గోరిథం 26×26×26 శ్రేణిలో లెక్కించబడే ట్రిగ్రామ్‌ల సంభవించే ఫ్రీక్వెన్సీపై ఆధారపడి ఉంటుంది. చిన్న మెమరీలో ఒక-బైట్ కౌంటర్‌ల కోసం తగినంత స్థలం లేదు, కాబట్టి పెద్ద సంఖ్యలను చిన్న కౌంటర్‌లుగా కుదించడానికి ఒక పథకం అమలు చేయబడింది. ఓవర్‌ఫ్లో నివారించడానికి, కౌంటర్‌లు సంభావ్య ప్రాతిపదికన నవీకరించబడ్డాయి, కౌంటర్ విలువ యొక్క లాగరిథమ్ యొక్క అంచనాను నిర్వహిస్తుంది.

eqn

ఫోటోటైప్‌సెట్టింగ్ యొక్క ఆగమనంతో, శాస్త్రీయ గణిత సంజ్ఞామానాన్ని ముద్రించడం సాధ్యమైంది, కానీ చాలా దుర్భరమైనది. లోరిండా చెర్రీ ఉన్నత-స్థాయి వివరణ భాషను అభివృద్ధి చేయాలని నిర్ణయించుకున్నాడు మరియు వెంటనే బ్రియాన్ కెర్నిగన్ ఆమెతో చేరాడు. వారి అద్భుతమైన చర్య మౌఖిక సంప్రదాయాన్ని వ్రాతపూర్వకంగా ఉంచడం, కాబట్టి eqn నేర్చుకోవడం చాలా సులభం. ఈ రకమైన మొదటి గణిత వ్యక్తీకరణ భాష ప్రిప్రాసెసర్, eqn అప్పటి నుండి పెద్దగా మెరుగుపరచబడలేదు.

నిర్మాణాత్మక

బ్రెండా బేకర్ తన బాస్, నా సలహాకు వ్యతిరేకంగా తన ఫోర్టాన్-టు-రాట్‌ఫర్ కన్వర్టర్‌ని అభివృద్ధి చేయడం ప్రారంభించింది. ఇది అసలు వచనం యొక్క ప్రత్యేక క్రమాన్ని మార్చడానికి దారితీస్తుందని నేను అనుకున్నాను. ఇది స్టేట్‌మెంట్ నంబర్‌లు లేకుండా ఉంటుంది, అయితే బాగా స్ట్రక్చర్ చేయబడిన ఫోర్‌ట్రాన్ కోడ్ కంటే ఎక్కువ రీడబుల్ ఉండదు. బ్రెండా నేను తప్పు అని నిరూపించింది. ప్రతి ఫోర్ట్రాన్ ప్రోగ్రామ్ నియమానుసారంగా నిర్మాణాత్మక రూపాన్ని కలిగి ఉందని ఆమె కనుగొంది. ప్రోగ్రామర్లు తాము మొదట వ్రాసిన దాని కంటే నియమానుగుణ రూపాన్ని ఇష్టపడతారు.

పాస్కల్

బర్కిలీలో స్యూ గ్రాహం సమూహం సృష్టించిన కంపైలర్‌లోని సింటాక్స్ డయాగ్నస్టిక్స్ నేను చూసిన వాటిలో అత్యంత సహాయకారిగా ఉంది మరియు ఇది స్వయంచాలకంగా జరిగింది. సింటాక్స్ లోపంపై, పార్సింగ్‌ను కొనసాగించడానికి టోకెన్‌ని ఇన్‌సర్ట్ చేయమని కంపైలర్ మిమ్మల్ని అడుగుతుంది. తప్పు ఏమిటో వివరించే ప్రయత్నం లేదు. ఈ కంపైలర్‌తో, నేను చేతిలో ఎటువంటి మాన్యువల్ లేకుండా ఒక సాయంత్రం పాస్కల్ నేర్చుకున్నాను.

భాగాలు

WWB (రైటర్స్ వర్క్‌బెంచ్) మాడ్యూల్ లోపల దాచబడింది parts లోరిండా చెర్రీ ఒక చిన్న నిఘంటువు, స్పెల్లింగ్ మరియు వ్యాకరణ నియమాల ఆధారంగా ఆంగ్ల వచనంలో పదాల కోసం ప్రసంగ భాగాలను నిర్ణయిస్తారు. ఈ ఉల్లేఖన ఆధారంగా, WWB ప్రోగ్రామ్ టెక్స్ట్ యొక్క స్టైలోమెట్రిక్ సూచికలను ప్రదర్శిస్తుంది, విశేషణాల ప్రాబల్యం, సబార్డినేట్ క్లాజులు మరియు సంక్లిష్ట వాక్యాల వంటివి. లోరిండా NBC యొక్క టుడేలో ఇంటర్వ్యూ చేయబడినప్పుడు మరియు WWB టెక్స్ట్‌లలో వినూత్న వ్యాకరణ తనిఖీ గురించి మాట్లాడినప్పుడు, ఇది టెలివిజన్‌లో Unix గురించిన మొదటి ప్రస్తావన.

ఉదా

అల్ అహో అతని డిటర్మినిస్టిక్ రెగ్యులర్ ఎక్స్‌ప్రెషన్ రిసల్వర్ కెన్ యొక్క క్లాసిక్ నాన్-డిటర్మినిస్టిక్ రిసల్వర్‌ను అధిగమించాలని ఆశించాడు. దురదృష్టవశాత్తూ, రెండోది ఇప్పటికే సంక్లిష్టమైన సాధారణ వ్యక్తీకరణల ద్వారా పాస్‌ను పూర్తి చేస్తోంది egrep తన స్వంత నిర్ణయాత్మక ఆటోమేషన్‌ను నిర్మించాడు. ఇప్పటికీ ఈ రేసులో గెలుపొందడానికి, ఆల్ అహో ఆటోమేటన్ స్టేట్ టేబుల్ యొక్క ఘాతాంక పెరుగుదల శాపాన్ని అధిగమించి, గుర్తింపు సమయంలో సందర్శించిన పట్టికలోని ఎంట్రీలను మాత్రమే ఫ్లైలో నిర్మించడానికి ఒక మార్గాన్ని కనిపెట్టాడు.

పీతలు

బ్లిట్ విండోస్ సిస్టమ్ కోసం లూకా కార్డెల్లి యొక్క మనోహరమైన మెటా-ప్రోగ్రామ్ వర్చువల్ పీతలను విడుదల చేసింది, ఇవి ఖాళీ స్క్రీన్ స్పేస్‌లో తిరుగుతూ, క్రియాశీల విండోల అంచులను మరింత ఎక్కువగా కొరుకుతున్నాయి.

కొన్ని సాధారణ ఆలోచనలు

ఇది బయటి నుండి కనిపించనప్పటికీ, సిద్ధాంతం మరియు అల్గోరిథంలు ఈ ప్రోగ్రామ్‌లలో చాలా వరకు నిర్ణయాత్మక పాత్రను పోషించాయి: టైపో, డిసి, స్ట్రక్ట్, పాస్కల్, ఎగ్రెప్. వాస్తవానికి, ఇది చాలా ఆశ్చర్యకరమైన సిద్ధాంతం యొక్క అసాధారణ అనువర్తనం.

జాబితాలో దాదాపు సగం - పాస్కల్, స్ట్రక్ట్, పార్ట్స్, ఇక్ఎన్ - వాస్తవానికి మహిళలు వ్రాసినవి, కంప్యూటర్ సైన్స్‌లో మహిళల జనాభా కంటే చాలా ఎక్కువ.

డగ్లస్ మెక్‌ల్రాయ్
మార్చి, 2020


మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి