Post: #1
ఈనాడు దినపత్రిక నుండి : ప్రోగ్రామింగ్‌పై పట్టు సాధిద్దాం! ( 25 జనవరి 2010 )
- రవిచంద్ర ఇనగంటి - అప్లికేషన్స్‌ ఇంజినీర్‌, ఒరాకిల్‌ ఇండియా

కంప్యూటరు రంగంలో ఉన్న విద్యార్ధులకి ఈ వివరణ చక్కగా ఉపయోగపడుతుందని ఇక్కడ పొందుపర్చబడింది .
ఈ విషయాన్ని వివరించిన వారు You are not allowed to view links. Register or Login to view. నిర్వాహకులలో ఒకరైన You are not allowed to view links. Register or Login to view. .

[info] బీటెక్‌, బిఎస్‌సీ (కంప్యూటర్స్‌) విద్యార్థులు 'ప్రోగ్రామింగ్‌' కూడా మిగతా సబ్జెక్టుల్లాంటిదేనని భావిస్తుంటారు. అది సరి కాదు. దీనిపై ప్రత్యేక శ్రద్ధ చూపిస్తేనే లక్షల మందిలో మీ ప్రత్యేకత నిరూపించుకోగలుగుతారు. దానికి మార్గదర్శకాలు ఇవిగో!

కంప్యూటర్‌తో ఏదైనా పనిచేయించాలంటే దానికి ఆదేశాలు ఇవ్వాలి. వాటి సముదాయమే కంప్యూటర్‌ ప్రోగ్రామ్‌. ప్రోగ్రాములను రాయడం, పరీక్షించడం, పర్యవేక్షించడం మొదలైనవన్నీ కలిపి ప్రోగ్రామింగ్‌ అనవచ్చు.

కంప్యూటర్లు ప్రాథమిక దశలో ఉన్నపుడు ప్రోగ్రాములను 0, 1 లతో కూడిన బైనరీ భాషలో రాసేవారు. ఇది కంప్యూటర్‌కు నేరుగా అర్థమయ్యే 'యాంత్రిక భాష'. ప్రోగ్రాములు చిన్నవిగా ఉన్నంతకాలం ఈ ప్రక్రియ పెద్దగా కష్టంగా ఉండేది కాదు. కానీ ప్రోగ్రాముల్లో క్లిష్టత పెరగటంతో దీన్ని తేలిగ్గా, వేగంగా చేయటం కోసం అసెంబ్లీ భాష ప్రాచుర్యంలోకి వచ్చింది. ఇందులో ప్రతి ఆదేశాన్నీ సూచించడానికి కొన్ని పదాలను ఉపయోగించేవారు. కానీ ఈ ఆదేశాలు కంప్యూటర్‌కు నేరుగా అర్థం కావు కాబట్టి అసెంబ్లర్‌ అనే మరో ప్రోగ్రామ్‌ను ఉపయోగించి యాంత్రికభాషలోకి మార్చేవారు.

కంప్యూటర్ల అవసరాలు పెరిగేకొద్దీ ప్రోగ్రాములు కూడా మరింత సంక్లిష్టంగా తయారవసాగాయి. దాంతో హైలెవెల్‌ భాషలు అవసరమయ్యాయి. ప్రస్తుతం తరచూ మనం వింటున్న C, C++, Java మొదలైన భాషలన్నీ హై లెవెల్‌ భాషలే. ఈ భాషల ప్రోగ్రాములను కంప్యూటర్‌కు అర్థమయ్యేలా అనువదించాలంటే కంపైలర్‌ అనే మరో ప్రోగ్రాం అవసరమవుతుంది.

కంప్యూటర్లలో ఉండే నిర్వహణ వ్యవస్థ (ఆపరేటింగ్‌ సిస్టమ్‌), గేమ్స్‌, ఆఫీస్‌ అప్లికేషన్లు, ఇతర ఎలక్ట్రానిక్‌ ఉపకరణాలు మొదలుకొని న్యూక్లియర్‌ రియాక్టర్లను పనిచేయించే సాఫ్ట్‌వేర్‌ వరకూ అన్నీ ప్రోగ్రాములే!

ప్రోగ్రామింగ్‌ను శాస్త్రంగానే కాక కళగా అభివర్ణించారు- ఈ రంగంలో విశేష కృషి చేసిన శాస్త్రవేత్త డొనాల్డ్‌ నూత్‌. మంచి ప్రోగ్రామర్‌ కావాలంటే సాధనతో పాటు సృజనాత్మకతా ఉండాలి.

'3 రోజుల్లో C++నేర్చుకోండి,' '24 గంటల్లో జావా నేర్చుకోండి'- లాంటి పుస్తకాలను మీరు చూసేవుంటారు. ఇంత తక్కువ వ్యవధిలో మహా అయితే భాష వ్యాకరణం నేర్చుకోవచ్చు గానీ దాన్ని ఎలా వాడాలో తెలుసుకోలేరు. ఇలా నేర్చుకునే అరకొర జ్ఞానం ప్రమాదకరం. ఒక పద్ధతి ప్రకారం ప్రోగ్రామింగ్‌ నేర్చుకోవటానికి వ్యవధి పడుతుంది.

కేవలం పుస్తకాలు చదవటం, శిక్షణ కేంద్రాల వెంట పరుగులు తీయడం మాత్రమే సరిపోదు. నేర్చుకున్న సూత్రాలపై పట్టు రావాలంటే సాధన తప్పనిసరి.

తిరుగు లేకుండా...!
ఏదైనా కంప్యూటర్‌ భాష నేర్చుకోవడం ఒక ఎత్తయితే, దాన్ని నిజజీవితంలో ప్రోగ్రాములకు అన్వయించి ఆచరణలో పెట్టటం మరొక ఎత్తు. ఈ రెండో దశ చాలా కీలకమైనది.

ప్రోగ్రామింగ్‌ అంటే కోడింగ్‌ మాత్రమే కాదు. ఇచ్చిన సమస్యను పరిపూర్ణంగా అవగాహన చేసుకోవటం, భవిష్యత్తులో వచ్చే సమస్యలను ముందుగానే ఊహించి వాటికి అనుగుణంగా ప్రోగ్రాం రాయటం, రేపటి అవసరాల కోసం తేలిగ్గా మార్పులు చేయగలిగేలా రూపకల్పన చేయటం.

ప్రోగ్రాంను ఎలా రాయదలచుకున్నారో దానికి సంబంధించిన అల్గారిథం/ఫ్లో చార్టును పేపర్‌ మీద ప్రణాళిక వేసుకుంటే పని సులువవుతుంది.

ఒక సమస్యను సాధించటానికి ఏదో విధంగా ప్రోగ్రాం రాయడం పెద్ద కష్టమేమీ కాదు. చేయాల్సింది- తక్కువ మెమరీని వాడుకుని, తక్కువ సమయంలో నడిచేలా రాయటం. ప్రోగ్రాముకు ఊహించని ఇన్‌పుట్స్‌ ఎదురైనపుడు అది ఎలాంటి పరిస్థితుల్లో విఫలమైందో తెలిపే సంక్షిప్త సందేశం వాడుకరి (user)కి అందించటం ఓ కళ.

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

సరళత ముఖ్యం
'ఆది నుంచీ ఆప్టిమైజ్డ్‌ కోడ్‌ రాయటానికి ప్రయత్నించడమే అన్ని సమస్యలకూ మూలం' అంటాడు You are not allowed to view links. Register or Login to view.‌. సాధ్యమైనంతవరకూ సరళమైన కోడ్‌ రాయటానికి ప్రయత్నించాలి. ముందు సరళత, కచ్చితత్వం, తర్వాతే వేగం సంగతి!

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

ప్రోగ్రాం రాశాక కూడా తరచి చూస్తే దాన్ని ఎక్కడెక్కడ మెరుగుపరిచే వీలుందో తెలుస్తుంది.

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

మీరు రాసిన ప్రోగ్రాం సులభంగా వాడుకునేలా ఉండాలి. ఇందుకోసం ఎలా వాడాలో తెలిపే వివరణాత్మక డాక్యుమెంటేషన్‌ కూడా అత్యంత అవసరం.[/info]

[alert]విద్యార్థులు ఏం చేయాలి?
* ప్రోగ్రామింగ్‌ను ఆరాధించండి.
* వీలైనన్ని ప్రోగ్రాములు- మొక్కుబడిగా కాకుండా మిమ్మల్ని మెరుగుపరచుకోటానికి రాయండి.
* మీ ప్రస్తుత సామర్థ్యాన్ని సవాలు చేసే సమస్యలను సాధించటానికి ప్రయత్నించండి. క్లిష్టమైన సమస్యను సాధిస్తే కలిగే మానసిక సంతృప్తి వెలకట్టలేనిది.
* ఆ ప్రయత్నంలో మీ విధానాలనూ, మీరు చేసే పొరపాట్లనూ విశ్లేషించుకుంటే చక్కటి నైపుణ్యం సంపాదించవచ్చు.
* ఇంటర్నెట్‌లో సమయమంతా మెయిల్స్‌, చాటింగ్‌ లాంటి వాటికి వెచ్చించకుండా ప్రోగ్రామింగ్‌పై ప్రముఖుల వ్యాసాలు, మంచి ప్రోగ్రామర్లు రాసిన కోడ్‌ చదివి, మీ నైపుణ్యానికి మెరుగులు దిద్దుకోవచ్చు.
* మీరు బాగా రాశాననుకున్న ప్రోగ్రాములను భద్రంగా దాచుకోండి. తర్వాత మీకవి రెఫరెన్సుగా పనికొస్తాయి.
* ప్రోగ్రాముల్లో తరచూ అవసరమయ్యే కోడ్‌ కూడా లైబ్రరీలాగా నిర్వహించుకోవడం మంచిది.
* విధివిధానాలు ఒక్కసారి పాటించి వదిలేసేవి కావు; నిరంతరం సాధన చేస్తూనే ఉండాలి. అనుభవం గడించేకొద్దీ దీనిలో ఉపయోగాలేమిటో అవగతమవుతాయి.
* C సృష్టికర్త You are not allowed to view links. Register or Login to view. రాసిన 'The C Programming Language' ఆధునిక ప్రోగ్రామింగ్‌కు ప్రామాణిక రచనలాంటిది. ఇందులో ఇచ్చిన ఉదాహరణల ప్రోగ్రాములను పరిశీలించటం, అభ్యాసాలను సాధించటం చేస్తే ప్రోగ్రామింగ్‌లో బలమైన పునాది వేసుకోవచ్చు.[/alert]

* above article is available in pdf format You are not allowed to view links. Register or Login to view.
Quote this message in a replyReply

Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)