Article

EDP

C & DS

Engg.Chemistry

Engg.Physics



సులభంగా 'సీ' పాఠాలు..!
  •      ప్రారంభంలో కంప్యూటర్‌కు సూచనలు ఇవ్వడానికి, మెషిన్ లాంగ్వేజీని ఉపయోగించేవారు. ఈ మెషిన్ లాంగ్వేజీలో ఏ విషయాన్నయినా చెప్పడానికి జీరోలు, ఒకట్లలో తెలపాల్సి ఉంటుంది. ఇది మనకు కొంచెం కష్టమైన పనే.

    అందువల్ల 1950లలో మనం వాడే భాష(ఇంగ్లిష్)కు దగ్గరగా ఉండే లాంగ్వేజీలను అభివృద్ధి చేయడంపై ప్రధానంగా దృష్టి సారించారు. ఈవిధమైన ప్రోగ్రామింగ్ లాంగ్వేజీలను High Level లాంగ్వేజీలు అంటారు. మనం ఉపయోగించే భాషకు దగ్గరగా ఉండే భాషలకు చెందినవారికి కూడా ఇవి సులభంగా అర్థమవుతాయి. అంతేకాకుండా, మెషిన్ లాంగ్వేజీలు కంప్యూటరు, కంప్యూటరుకూ మారుతూ ఉంటాయి. అదే High Level లాంగ్వేజీలు ఏ కంప్యూటరులోనైనా పనిచేస్తాయి. దీన్నే "Portability" అంటారు. ఇది ఒక ప్రోగ్రామింగ్ లాంగ్వేజ్ యొక్క మంచి లక్షణం.
    1950లో IBM కంపెనీ FORTRAN అనే High Level లాంగ్వేజీని అభివృద్ధి చేసింది. ఇప్పటికీ దీన్ని సైంటిఫిక్ కంప్యూటింగ్ (వాతావరణ పరిస్థితులను అంచనా వేయడం, ఉపగ్రహాలను కక్ష్యలో ప్రవేశపెట్టే విధానం)లో ఉపయోగిస్తున్నారు.
    AT&T Bell ల్యాబ్స్‌కు చెందిన కెన్ థాంప్సన్, డెన్నిస్ రిచీ 1969-73 మధ్య 'సీ' లాంగ్వేజీని అభివృద్ధి చేశారు. అంతకుముందు అభివృద్ధి చేసిన లాంగ్వేజీలను B, BCPL అని పిలవడం వల్ల ఈ కొత్త లాంగ్వేజీకి సీ అని పేరు పెట్టారు. ఎలాంటి HW Architecture ఉండే కంప్యూటరులోనైనా పనిచేయగలగడం FORTRAN లాంటి లాంగ్వేజీలతో పోలిస్తే, సీ లాంగ్వేజీకి ఉన్న ప్రత్యేక లక్షణం.
    సాఫ్ట్‌వేర్లను ప్రధానంగా రెండు రకాలుగా విభజించవచ్చు. అవి:
    1) సిస్టమ్ సాఫ్ట్‌వేర్ 2) అప్లికేషన్ సాఫ్ట్‌వేర్.
    ఆపరేటింగ్ సిస్టం, నెట్‌వర్క్ డ్రైవర్స్, డివైస్ డ్రైవర్స్ మొదలైనవాటిని సిస్టమ్ సాఫ్ట్‌వేర్‌లు అంటారు. బ్యాంకింగ్ సాఫ్ట్‌వేర్, గేమ్స్, రైల్వే రిజర్వేషన్ సాఫ్ట్‌వేర్‌లు, సెల్‌ఫోన్‌లో ఉపయోగించే సాఫ్ట్‌వేర్లను అప్లికేషను సాఫ్ట్‌వేర్‌లు అంటారు. సీ లాంగ్వేజీని ముందు రోజుల్లో సిస్టమ్ సాఫ్ట్‌వేర్‌లను అభివృద్ధి చేయడానికి ఉపయోగించేవారు. ఉదాహరణకు UNIX ఆపరేటర్ సిస్టంను 'సీ' లాంగ్వేజీలో అభివృద్ధి చేశారు. మొదటి Microsoft windows వెర్షన్లను కూడా 'సీ'లోనే అభివృద్ధి చేశారు. అంతేకాకుండా Oracle, ఇంజిన్, జావా కంపైలర్ల లాంటివాటిని కూడా సీ లాంగ్వేజీలోనే అభివృద్ధి చేశారు.
    అసలు లాంగ్వేజీ ఎందుకు?
          ఏ భాషనైనా ప్రధానంగా భావ వ్యక్తీకరణ కోసమే ఉపయోగిస్తాం. మనం సరైన పద్ధతిలో వ్యాకరణాన్ని ఉపయోగించి మాట్లాడితే ఎవరికైనా ఒకేవిధంగా అర్థమవుతుంది. సినిమాల్లో కమెడియన్లు చెప్పే డైలాగులను గమనించండి. వాటిని ఒక్కొక్కరు ఒక్కోవిధంగా అర్థం చేసుకుంటారు. ఎవరికి అర్థమైనవిధంగా వారు నవ్వుకుంటారు. పదాలకు ఒకటి కంటే ఎక్కువ అర్థాలు ఉండటం కూడా దీనికి కారణం. ఇదేమాదిరిగా ఒక వాక్యానికి రెండు మూడు అర్థాలు ఉండేట్లు కంప్యూటరుకు చెబితే, అది ఏ అర్థాన్ని తీసుకొని పని చేయాలి? ఇలాంటి సమస్యలు లేకుండా High Level లాంగ్వేజీల్లో Strict గ్రామర్ ఉంటుంది. ఇది సీ లాంగ్వేజీకీ వర్తిస్తుంది.
    అంతేకాకుండా 'సీ'కి Low Level లాంగ్వేజీలకు ఉండే లక్షణాలు కూడా ఉన్నాయి. Direct మెషిన్ పార్ట్‌లను Access చేయడం 'సీ'లోనూ సాధ్యమవుతుంది. అందువల్ల 'సీ'ని 'Medium Level language' అని కూడా అంటారు. 1983లో అమెరికన్ నేషనల్ స్టాండర్డ్స్ ఇన్‌స్టిట్యూట్ (ANSI) సీ లాంగ్వేజీకి స్టాండర్డ్స్ నిర్ణయించింది. 'సీ'ని ANSIC లాంగ్వేజీ అని కూడా అంటారు.
    ఒక భాషలో పట్టుసాధిస్తే దాన్ని ఉపయోగించి పొగడవచ్చు లేదా తిట్టవచ్చు. అదేవిధంగా సీ లాంగ్వేజీని కూడా మంచి పనులకు ఉపయోగిస్తున్నారు, వైరస్‌లను అభివృద్ధి చేయడానికీ వాడుతున్నారు. సీ లాంగ్వేజ్ లేకుంటే వైరస్ సాఫ్ట్‌వేర్లను సృష్టించడమే సాధ్యమయ్యేది కాదంటే అతిశయోక్తి కాదు.
    సీ లాంగ్వేజీ నుంచే C++, java, Object C అనే లాంగ్వేజీలు వృద్ధిలోకి వచ్చాయి. సీ తెలిస్తే, మిగిలినవాటిని సులభంగా నేర్చుకోవచ్చు. ప్రపంచవ్యాప్తంగా Gaming Enginesలో ఎక్కువ భాగం C++ నే వాడుతున్నారు. Internet, మొబైల్ ప్రోగ్రాములలో జావాను ఎక్కువగా ఉపయోగిస్తున్నారు. ఉదాహరణకు బ్లాక్‌బెర్రీ ఫోనుకు సంబంధించిన ఆప్స్‌ను Object C లో అభివృద్ధి చేస్తున్నారు. ఈవిధంగా సీ లాంగ్వేజీని గత 45 సంవత్సరాలుగా వివిధ అప్లికేషన్లలో ఉపయోగిస్తున్నారు. సీ ప్రాధాన్యాన్ని గుర్తించి, అన్ని రకాల డిగ్రీ, ఇంజినీరింగ్, సీఏ కోర్సుల్లో దీన్ని తప్పనిసరి సబ్జెక్టుగా ప్రవేశపెట్టారు. అంతేకాకుండా ఎంబెడెడ్ సిస్టమ్స్, సిస్టమ్ ప్రోగ్రామింగ్, టెలికమ్యూనికేషన్ రంగాల్లో సీ లాంగ్వేజీ తప్పనిసరి. క్యాంపస్ ఇంటర్వ్యూల్లోనూ సీ లాంగ్వేజీపైనే ఎక్కువగా ప్రశ్నలు అడుగుతున్నారు. సీ లాంగ్వేజీపై పట్టులేకపోవడం వల్ల చాలామంది అభ్యర్థులు ఉద్యోగావకాశాలను అందిపుచ్చుకోవడంలేదు. వీటన్నింటినీ దృష్టిలో ఉంచుకొని అన్నిరకాల అభ్యర్థులకు తేలిగ్గా అర్థమయ్యేరీతిలో సీ పాఠాలను అందిస్తున్నాం..

    NB Venkateswarlu
    M.Tech(IIT-Kanpur)
    Ph.D (BITS),PDF(UK),
    Sr.Prof., CSE, AITAM, Tekkali

  • Industry      Interaction

    Higher Education

    Job Skills

    Soft Skills

    Comm. English

    Mock Test

    E-learning