ಗ್ರೇಟೆಸ್ಟ್ ಯುನಿಕ್ಸ್ ಪ್ರೋಗ್ರಾಂಗಳು

ಲೇಖನದ ಲೇಖಕ, ಡೌಗ್ಲಾಸ್ ಮೆಕ್ಲ್ರಾಯ್, ಒಬ್ಬ ಅಮೇರಿಕನ್ ಗಣಿತಜ್ಞ, ಇಂಜಿನಿಯರ್ ಮತ್ತು ಪ್ರೋಗ್ರಾಮರ್. ಯುನಿಕ್ಸ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂನಲ್ಲಿ ಪೈಪ್‌ಲೈನ್ ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವಲ್ಲಿ ಅವರು ಹೆಚ್ಚು ಹೆಸರುವಾಸಿಯಾಗಿದ್ದಾರೆ, ಘಟಕ-ಆಧಾರಿತ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ತತ್ವಗಳು ಮತ್ತು ಹಲವಾರು ಮೂಲ ಉಪಯುಕ್ತತೆಗಳು: ಕಾಗುಣಿತ, ವ್ಯತ್ಯಾಸ, ವಿಂಗಡಿಸಿ, ಸೇರಲು, ಮಾತನಾಡಲು, tr.

ಕೆಲವೊಮ್ಮೆ ನೀವು ನಿಜವಾಗಿಯೂ ಅದ್ಭುತ ಕಾರ್ಯಕ್ರಮಗಳನ್ನು ನೋಡುತ್ತೀರಿ. ನನ್ನ ಸ್ಮರಣೆಯ ಮೂಲಕ ಗುಜರಿ ಮಾಡಿದ ನಂತರ, ನಾನು ವರ್ಷಗಳಲ್ಲಿ ನಿಜವಾದ Unix ರತ್ನಗಳ ಪಟ್ಟಿಯನ್ನು ಸಂಗ್ರಹಿಸಿದೆ. ಮೂಲಭೂತವಾಗಿ, ಇವುಗಳು ಸಾಕಷ್ಟು ಅಪರೂಪ ಮತ್ತು ಅಗತ್ಯ ಕಾರ್ಯಕ್ರಮಗಳಲ್ಲ. ಆದರೆ ಅವರನ್ನು ಎದ್ದು ಕಾಣುವಂತೆ ಮಾಡುವುದು ಅವರ ಸ್ವಂತಿಕೆ. ಅವುಗಳಲ್ಲಿ ಯಾವುದಾದರೂ ಕಲ್ಪನೆಯೊಂದಿಗೆ ನಾನೇ ಬಂದಿದ್ದೇನೆ ಎಂದು ನಾನು ಊಹಿಸಲೂ ಸಾಧ್ಯವಿಲ್ಲ.

ನೀವು ತುಂಬಾ ಪ್ರಭಾವಿತರಾಗಿರುವ ಕಾರ್ಯಕ್ರಮಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳಿ?

PDP-7 Unix

ಆರಂಭಿಕರಿಗಾಗಿ, PDP-7 Unix ಸಿಸ್ಟಮ್ ಸ್ವತಃ. ಅದರ ಸರಳತೆ ಮತ್ತು ಶಕ್ತಿಯು ನನ್ನನ್ನು ಶಕ್ತಿಯುತ ಮೇನ್‌ಫ್ರೇಮ್‌ನಿಂದ ಸಣ್ಣ ಯಂತ್ರಕ್ಕೆ ಚಲಿಸುವಂತೆ ಮಾಡಿತು. ಇದು ಸರ್ವೋತ್ಕೃಷ್ಟ ಕ್ರಮಾನುಗತ ಫೈಲ್ ಸಿಸ್ಟಮ್, ಪ್ರತ್ಯೇಕ ಶೆಲ್ ಮತ್ತು ಬಳಕೆದಾರ-ಮಟ್ಟದ ಪ್ರಕ್ರಿಯೆ ನಿಯಂತ್ರಣವಾಗಿದ್ದು, ನೂರಾರು ಮಾನವ-ವರ್ಷಗಳ ಅಭಿವೃದ್ಧಿಯ ನಂತರ ಮೇನ್‌ಫ್ರೇಮ್‌ನಲ್ಲಿ ಮಲ್ಟಿಕ್ಸ್ ಸಾಧಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. Unix ನ ನ್ಯೂನತೆಗಳು (ಉದಾಹರಣೆಗೆ ಫೈಲ್ ಸಿಸ್ಟಮ್‌ನ ರೆಕಾರ್ಡ್ ರಚನೆ) ಅದರ ನಾವೀನ್ಯತೆಗಳಂತೆಯೇ ಬೋಧಪ್ರದ ಮತ್ತು ವಿಮೋಚನೆಯನ್ನು ನೀಡುತ್ತವೆ (ಉದಾಹರಣೆಗೆ ಶೆಲ್ I/O ಮರುನಿರ್ದೇಶನ).

dc

ರಾಬರ್ಟ್ ಮೋರಿಸ್ ಅವರ ವೇರಿಯಬಲ್ ಪ್ರಿಸಿಶನ್ ಡೆಸ್ಕ್‌ಟಾಪ್ ಕ್ಯಾಲ್ಕುಲೇಟರ್ ಮ್ಯಾಥ್ ಲೈಬ್ರರಿಯು ಬಳಕೆದಾರ-ನಿರ್ದಿಷ್ಟ ಫಲಿತಾಂಶದ ನಿಖರತೆಯನ್ನು ಸಾಧಿಸಲು ಪ್ರತಿ ಹಂತದಲ್ಲೂ ಅಗತ್ಯವಿರುವ ನಿಖರತೆಯನ್ನು ನಿರ್ಧರಿಸಲು ವಿಲೋಮ ದೋಷ ವಿಶ್ಲೇಷಣೆಯನ್ನು ಬಳಸಿದೆ. 1968 ರ NATO ಸಾಫ್ಟ್‌ವೇರ್ ಎಂಜಿನಿಯರಿಂಗ್ ಸಮ್ಮೇಳನದಲ್ಲಿ, ಸಾಫ್ಟ್‌ವೇರ್ ಘಟಕಗಳ ಕುರಿತು ನನ್ನ ವರದಿಯಲ್ಲಿ, ಯಾವುದೇ ಅಪೇಕ್ಷಿತ ನಿಖರತೆಯನ್ನು ಉತ್ಪಾದಿಸುವ ಉಲ್ಲೇಖ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ನಾನು ಪ್ರಸ್ತಾಪಿಸಿದೆ, ಆದರೆ ಅವುಗಳನ್ನು ಹೇಗೆ ಆಚರಣೆಗೆ ತರಬೇಕೆಂದು ನನಗೆ ತಿಳಿದಿರಲಿಲ್ಲ. dc ಇನ್ನೂ ನನಗೆ ತಿಳಿದಿರುವ ಏಕೈಕ ಪ್ರೋಗ್ರಾಂ ಇದನ್ನು ಮಾಡಬಹುದು.

ಮುದ್ರಣದೋಷ

ಮುದ್ರಣದೋಷವು ಪಠ್ಯದಲ್ಲಿನ ಪದಗಳನ್ನು ಪಠ್ಯದ ಉಳಿದ ಭಾಗಗಳಿಗೆ ಅವುಗಳ ಹೋಲಿಕೆಗೆ ಅನುಗುಣವಾಗಿ ಜೋಡಿಸುತ್ತದೆ. 'hte' ನಂತಹ ತಪ್ಪು ಕಾಗುಣಿತಗಳು ಪಟ್ಟಿಯ ಕೊನೆಯಲ್ಲಿ ಇರುತ್ತವೆ. ಈ ಕಾರ್ಯಕ್ರಮವು ಯಾವುದೇ ಭಾಷೆಗೆ ಸಮಾನವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂದು ರಾಬರ್ಟ್ ಮೋರಿಸ್ ಹೆಮ್ಮೆಯಿಂದ ಹೇಳಿದರು. ಮುದ್ರಣದೋಷವು ಫೋನೆಟಿಕ್ ದೋಷಗಳನ್ನು ಕಂಡುಹಿಡಿಯಲು ನಿಮಗೆ ಸಹಾಯ ಮಾಡದಿದ್ದರೂ, ಇದು ಎಲ್ಲಾ ಟೈಪ್‌ಸೆಟರ್‌ಗಳಿಗೆ ನಿಜವಾದ ವರವಾಗಿತ್ತು ಮತ್ತು ಕಡಿಮೆ ಆಸಕ್ತಿದಾಯಕ ಆದರೆ ಹೆಚ್ಚು ನಿಖರವಾದ ನಿಘಂಟಿನ ಕಾಗುಣಿತ ಪರೀಕ್ಷಕ ಬರುವ ಮೊದಲು ಇದು ಬಹಳಷ್ಟು ಒಳ್ಳೆಯದನ್ನು ಮಾಡಿದೆ.

ಮುದ್ರಣದೋಷವು ಹೊರಗಿರುವಂತೆಯೇ ಒಳಗೂ ಅನಿರೀಕ್ಷಿತವಾಗಿದೆ. ಸಾಮ್ಯತೆ ಮಾಪನ ಅಲ್ಗಾರಿದಮ್ ಟ್ರೈಗ್ರಾಮ್‌ಗಳ ಸಂಭವಿಸುವಿಕೆಯ ಆವರ್ತನವನ್ನು ಆಧರಿಸಿದೆ, ಇವುಗಳನ್ನು 26×26×26 ಶ್ರೇಣಿಯಲ್ಲಿ ಎಣಿಸಲಾಗುತ್ತದೆ. ಚಿಕ್ಕದಾದ ಮೆಮೊರಿಯು ಒಂದು-ಬೈಟ್ ಕೌಂಟರ್‌ಗಳಿಗೆ ಸಾಕಷ್ಟು ಸ್ಥಳಾವಕಾಶವನ್ನು ಹೊಂದಿರಲಿಲ್ಲ, ಆದ್ದರಿಂದ ದೊಡ್ಡ ಸಂಖ್ಯೆಗಳನ್ನು ಸಣ್ಣ ಕೌಂಟರ್‌ಗಳಾಗಿ ಸಂಕುಚಿತಗೊಳಿಸುವ ಯೋಜನೆಯನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ. ಓವರ್‌ಫ್ಲೋ ಅನ್ನು ತಪ್ಪಿಸಲು, ಕೌಂಟರ್ ಮೌಲ್ಯದ ಲಾಗರಿಥಮ್‌ನ ಅಂದಾಜನ್ನು ನಿರ್ವಹಿಸುವ ಮೂಲಕ ಕೌಂಟರ್‌ಗಳನ್ನು ಸಂಭವನೀಯ ಆಧಾರದ ಮೇಲೆ ನವೀಕರಿಸಲಾಗಿದೆ.

eqn

ಫೋಟೊಟೈಪ್‌ಸೆಟ್ಟಿಂಗ್‌ನ ಆಗಮನದೊಂದಿಗೆ, ಶಾಸ್ತ್ರೀಯ ಗಣಿತದ ಸಂಕೇತಗಳನ್ನು ಮುದ್ರಿಸಲು ಸಾಧ್ಯವಾಯಿತು, ಆದರೆ ಭಯಾನಕ ಬೇಸರದ ಸಂಗತಿಯಾಗಿದೆ. ಲೋರಿಂಡಾ ಚೆರ್ರಿ ಉನ್ನತ ಮಟ್ಟದ ವಿವರಣೆ ಭಾಷೆಯನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲು ನಿರ್ಧರಿಸಿದರು ಮತ್ತು ಶೀಘ್ರದಲ್ಲೇ ಬ್ರಿಯಾನ್ ಕೆರ್ನಿಗನ್ ಅವರೊಂದಿಗೆ ಸೇರಿಕೊಂಡರು. ಮೌಖಿಕ ಸಂಪ್ರದಾಯವನ್ನು ಬರವಣಿಗೆಗೆ ಹಾಕುವುದು ಅವರ ಅದ್ಭುತ ಕ್ರಮವಾಗಿತ್ತು, ಆದ್ದರಿಂದ ಇಕ್ನ್ ಕಲಿಯಲು ಗಮನಾರ್ಹವಾಗಿ ಸುಲಭವಾಗಿದೆ. ಈ ರೀತಿಯ ಮೊದಲ ಗಣಿತದ ಅಭಿವ್ಯಕ್ತಿ ಭಾಷಾ ಪ್ರಿಪ್ರೊಸೆಸರ್, eqn ಅನ್ನು ಅಂದಿನಿಂದ ಹೆಚ್ಚು ಸುಧಾರಿಸಲಾಗಿಲ್ಲ.

ರಚನೆ

ಬ್ರೆಂಡಾ ಬೇಕರ್ ತನ್ನ ಬಾಸ್, ನನ್ನ ಸಲಹೆಗೆ ವಿರುದ್ಧವಾಗಿ ತನ್ನ ಫೋರ್ಟನ್-ಟು-ರ್ಯಾಟ್‌ಫಾರ್ ಪರಿವರ್ತಕವನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲು ಪ್ರಾರಂಭಿಸಿದಳು. ಇದು ಮೂಲ ಪಠ್ಯದ ವಿಶೇಷ ಮರುಕ್ರಮಕ್ಕೆ ಕಾರಣವಾಗಬಹುದು ಎಂದು ನಾನು ಭಾವಿಸಿದೆ. ಇದು ಹೇಳಿಕೆ ಸಂಖ್ಯೆಗಳಿಂದ ಮುಕ್ತವಾಗಿರುತ್ತದೆ, ಆದರೆ ಉತ್ತಮವಾಗಿ-ರಚನಾತ್ಮಕ ಫೋರ್ಟ್ರಾನ್ ಕೋಡ್‌ಗಿಂತ ಹೆಚ್ಚು ಓದಲಾಗುವುದಿಲ್ಲ. ಬ್ರೆಂಡಾ ನಾನು ತಪ್ಪು ಎಂದು ಸಾಬೀತುಪಡಿಸಿದಳು. ಪ್ರತಿ ಫೋರ್ಟ್ರಾನ್ ಪ್ರೋಗ್ರಾಂ ಅಂಗೀಕೃತವಾಗಿ ರಚನಾತ್ಮಕ ರೂಪವನ್ನು ಹೊಂದಿದೆ ಎಂದು ಅವರು ಕಂಡುಹಿಡಿದರು. ಪ್ರೋಗ್ರಾಮರ್‌ಗಳು ತಾವು ಮೂಲತಃ ಬರೆದದ್ದಕ್ಕಿಂತ ಹೆಚ್ಚಾಗಿ ಅಂಗೀಕೃತ ರೂಪಕ್ಕೆ ಆದ್ಯತೆ ನೀಡಿದರು.

ಪ್ಯಾಸ್ಕಲ್

ಬರ್ಕ್ಲಿಯಲ್ಲಿ ಸ್ಯೂ ಗ್ರಹಾಂ ಅವರ ಗುಂಪಿನಿಂದ ರಚಿಸಲಾದ ಕಂಪೈಲರ್‌ನಲ್ಲಿನ ಸಿಂಟ್ಯಾಕ್ಸ್ ಡಯಾಗ್ನೋಸ್ಟಿಕ್ಸ್ ನಾನು ನೋಡಿದ ಅತ್ಯಂತ ಸಹಾಯಕವಾಗಿದೆ ಮತ್ತು ಅದು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮಾಡಲ್ಪಟ್ಟಿದೆ. ಸಿಂಟ್ಯಾಕ್ಸ್ ದೋಷದಲ್ಲಿ, ಪಾರ್ಸಿಂಗ್ ಅನ್ನು ಮುಂದುವರಿಸಲು ಟೋಕನ್ ಅನ್ನು ಸೇರಿಸಲು ಕಂಪೈಲರ್ ನಿಮ್ಮನ್ನು ಕೇಳುತ್ತದೆ. ತಪ್ಪು ಏನು ಎಂದು ವಿವರಿಸಲು ಪ್ರಯತ್ನಿಸುವುದಿಲ್ಲ. ಈ ಕಂಪೈಲರ್‌ನೊಂದಿಗೆ, ಕೈಯಲ್ಲಿ ಯಾವುದೇ ಕೈಪಿಡಿಯಿಲ್ಲದೆ ನಾನು ಒಂದು ಸಂಜೆ ಪಾಸ್ಕಲ್ ಕಲಿತಿದ್ದೇನೆ.

ಭಾಗಗಳು

WWB (ರೈಟರ್ಸ್ ವರ್ಕ್‌ಬೆಂಚ್) ಮಾಡ್ಯೂಲ್‌ನೊಳಗೆ ಮರೆಮಾಡಲಾಗಿದೆ parts ಲೋರಿಂಡಾ ಚೆರ್ರಿ ಕೇವಲ ಸಣ್ಣ ನಿಘಂಟು, ಕಾಗುಣಿತ ಮತ್ತು ವ್ಯಾಕರಣ ನಿಯಮಗಳ ಆಧಾರದ ಮೇಲೆ ಇಂಗ್ಲಿಷ್ ಪಠ್ಯದಲ್ಲಿನ ಪದಗಳಿಗೆ ಮಾತಿನ ಭಾಗಗಳನ್ನು ನಿರ್ಧರಿಸುತ್ತಾರೆ. ಈ ಟಿಪ್ಪಣಿಯ ಆಧಾರದ ಮೇಲೆ, WWB ಪ್ರೋಗ್ರಾಂ ವಿಶೇಷಣಗಳ ಪ್ರಭುತ್ವ, ಅಧೀನ ಷರತ್ತುಗಳು ಮತ್ತು ಸಂಕೀರ್ಣ ವಾಕ್ಯಗಳಂತಹ ಪಠ್ಯದ ಸ್ಟೈಲೋಮೆಟ್ರಿಕ್ ಸೂಚಕಗಳನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ. ಲೊರಿಂಡಾ ಅವರನ್ನು NBC's Today ನಲ್ಲಿ ಸಂದರ್ಶಿಸಿದಾಗ ಮತ್ತು WWB ಪಠ್ಯಗಳಲ್ಲಿನ ನವೀನ ವ್ಯಾಕರಣ ಪರಿಶೀಲನೆಯ ಕುರಿತು ಮಾತನಾಡಿದಾಗ, ಇದು ದೂರದರ್ಶನದಲ್ಲಿ Unix ನ ಮೊದಲ ಉಲ್ಲೇಖವಾಗಿತ್ತು.

ಉದಾ

ಅಲ್ ಅಹೋ ತನ್ನ ನಿರ್ಣಾಯಕ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿ ಪರಿಹಾರಕವು ಕೆನ್‌ನ ಕ್ಲಾಸಿಕ್ ನಾನ್-ಡಿಟರ್ಮಿನಿಸ್ಟಿಕ್ ಪರಿಹಾರಕವನ್ನು ಹಿಂದಿಕ್ಕುತ್ತದೆ ಎಂದು ನಿರೀಕ್ಷಿಸಿದನು. ದುರದೃಷ್ಟವಶಾತ್, ಎರಡನೆಯದು ಈಗಾಗಲೇ ಸಂಕೀರ್ಣ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳ ಮೂಲಕ ಪಾಸ್ ಅನ್ನು ಪೂರ್ಣಗೊಳಿಸುತ್ತಿದೆ egrep ತನ್ನದೇ ಆದ ನಿರ್ಣಾಯಕ ಯಾಂತ್ರೀಕರಣವನ್ನು ನಿರ್ಮಿಸಿದ. ಇನ್ನೂ ಈ ಓಟವನ್ನು ಗೆಲ್ಲಲು, ಅಲ್ ಅಹೋ ಆಟೊಮ್ಯಾಟನ್‌ನ ಸ್ಟೇಟ್ ಟೇಬಲ್‌ನ ಘಾತೀಯ ಬೆಳವಣಿಗೆಯ ಶಾಪವನ್ನು ಸುತ್ತುವರೆದರು, ಗುರುತಿಸುವಿಕೆಯ ಸಮಯದಲ್ಲಿ ವಾಸ್ತವವಾಗಿ ಭೇಟಿ ನೀಡಿದ ಕೋಷ್ಟಕದಲ್ಲಿನ ನಮೂದುಗಳನ್ನು ಮಾತ್ರ ಫ್ಲೈನಲ್ಲಿ ನಿರ್ಮಿಸುವ ಮಾರ್ಗವನ್ನು ಕಂಡುಹಿಡಿದರು.

ಏಡಿಗಳು

ಬ್ಲಿಟ್ ವಿಂಡೊಯಿಂಗ್ ಸಿಸ್ಟಮ್‌ಗಾಗಿ ಲುಕಾ ಕಾರ್ಡೆಲ್ಲಿಯ ಆಕರ್ಷಕ ಮೆಟಾ-ಪ್ರೋಗ್ರಾಂ ವರ್ಚುವಲ್ ಏಡಿಗಳನ್ನು ಬಿಡುಗಡೆ ಮಾಡಿತು, ಅದು ಖಾಲಿ ಪರದೆಯ ಜಾಗದಲ್ಲಿ ತಿರುಗುತ್ತದೆ, ಸಕ್ರಿಯ ವಿಂಡೋಗಳ ಅಂಚುಗಳನ್ನು ಹೆಚ್ಚು ಹೆಚ್ಚು ಕಚ್ಚುತ್ತದೆ.

ಕೆಲವು ಸಾಮಾನ್ಯ ಆಲೋಚನೆಗಳು

ಇದು ಹೊರಗಿನಿಂದ ಗೋಚರಿಸದಿದ್ದರೂ, ಈ ಹೆಚ್ಚಿನ ಕಾರ್ಯಕ್ರಮಗಳ ರಚನೆಯಲ್ಲಿ ಸಿದ್ಧಾಂತ ಮತ್ತು ಕ್ರಮಾವಳಿಗಳು ನಿರ್ಣಾಯಕ ಪಾತ್ರವನ್ನು ವಹಿಸಿವೆ: ಟೈಪೋ, ಡಿಸಿ, ಸ್ಟ್ರಕ್ಟ್, ಪ್ಯಾಸ್ಕಲ್, ಎಗ್ರೆಪ್. ವಾಸ್ತವವಾಗಿ, ಇದು ಅತ್ಯಂತ ಆಶ್ಚರ್ಯಕರವಾದ ಸಿದ್ಧಾಂತದ ಅಸಾಮಾನ್ಯ ಅಪ್ಲಿಕೇಶನ್ ಆಗಿದೆ.

ಪಟ್ಟಿಯ ಸುಮಾರು ಅರ್ಧದಷ್ಟು - ಪ್ಯಾಸ್ಕಲ್, ಸ್ಟ್ರಕ್ಟ್, ಭಾಗಗಳು, ಇಕ್ಎನ್ - ಮೂಲತಃ ಮಹಿಳೆಯರಿಂದ ಬರೆಯಲ್ಪಟ್ಟಿದೆ, ಇದು ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನದಲ್ಲಿ ಮಹಿಳೆಯರ ಜನಸಂಖ್ಯಾಶಾಸ್ತ್ರವನ್ನು ಮೀರಿಸುತ್ತದೆ.

ಡೌಗ್ಲಾಸ್ ಮ್ಯಾಕ್ಲ್ರಾಯ್
ಮಾರ್ಚ್, 2020


ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ