ఈ రోజు మనం ఫంక్షనల్ ప్రోగ్రామింగ్ను తాకుతాము. మరింత ప్రత్యేకంగా, మేము డిక్లరేటివ్ మరియు ఇంపెరేటివ్ ప్రోగ్రామింగ్ మధ్య వ్యత్యాసాన్ని పరిశీలిస్తాము.
ముందుగా, నిబంధనలను త్వరగా పరిశీలిద్దాం. అప్పుడు మేము ఈ ప్రోగ్రామింగ్ స్టైల్లను పోల్చి చూస్తాము మరియు అవి జావాలో ఎలా కనిపిస్తాయి మరియు భాష వారి సంతోషకరమైన సహజీవనానికి మద్దతు ఇస్తుందో లేదో చూద్దాం.
ఫంక్షనల్ ప్రోగ్రామింగ్ అనేది విధానపరమైన ప్రోగ్రామింగ్లో వలె సబ్రౌటిన్లుగా కాకుండా, గణిత విధులుగా అర్థం చేసుకునే ఒక ఉదాహరణ . అంటే, ఈ రెండు నమూనాలలో "ఫంక్షన్" అనే పదాన్ని వేర్వేరుగా అర్థం చేసుకోవచ్చు. దీన్ని గుర్తుంచుకోండి మరియు వారిని గందరగోళానికి గురి చేయవద్దు. జావా మిమ్మల్ని గందరగోళానికి గురిచేయదు, ఎందుకంటే ఉపప్రోగ్రామ్లను "పద్ధతులు"గా సూచిస్తారు, అయితే విధులు గణిత విధులను సూచిస్తాయి (అలాగే: లాంబ్డా ఫంక్షన్లు లేదా పద్ధతి సూచన).
ఆచరణలో, విధానపరమైన ప్రోగ్రామింగ్లో, ఫంక్షన్లు ఇన్పుట్ వేరియబుల్స్పై మాత్రమే కాకుండా, బాహ్య కారకాలపై కూడా ఆధారపడి ఉంటాయి (ఫంక్షన్ వెలుపల ఇతర వేరియబుల్స్ లేదా సిస్టమ్ యొక్క స్థితి వంటివి). అదే ఫంక్షన్ను ఒకే ఆర్గ్యుమెంట్లతో పిలిస్తే కానీ వేరే సందర్భంలో వేర్వేరు ఫలితాలు రావచ్చు. ఫంక్షనల్ ప్రోగ్రామింగ్లో, అదే ఆర్గ్యుమెంట్లతో ఫంక్షన్ని పిలిచినప్పుడు, అది ఎల్లప్పుడూ ఒకే ఫలితాన్ని ఇస్తుంది, ఎందుకంటే ఫంక్షన్లు ఇన్పుట్ డేటాపై మాత్రమే ఆధారపడి ఉంటాయి.
ఫంక్షనల్ ప్రోగ్రామింగ్ యొక్క ప్రోస్
- మెరుగైన కోడ్ విశ్వసనీయత
- సౌకర్యవంతమైన యూనిట్ పరీక్ష
- సంకలనం సమయంలో కోడ్ ఆప్టిమైజేషన్ కోసం అవకాశాలు
- సమ్మతి కోసం అవకాశాలు
ఫంక్షనల్ ప్రోగ్రామింగ్ యొక్క ప్రతికూలతలు
ఫంక్షనల్ ప్రోగ్రామింగ్ యొక్క ప్రతికూలతలు ఇదే లక్షణాల నుండి ఉత్పన్నమవుతాయి:
-
అసైన్మెంట్ స్టేట్మెంట్లు లేవు. బదులుగా, కొత్త విలువలు కొత్త వేరియబుల్స్లో నిల్వ చేయబడతాయి, ఇది మెమరీని నిరంతరం కేటాయించడం మరియు స్వయంచాలకంగా విడుదల చేయడం అవసరం. ఫలితంగా, అత్యంత సమర్ధవంతంగా చెత్త సేకరణ అనేది ఫంక్షనల్ ప్రోగ్రామ్లను అమలు చేసే ఏదైనా సిస్టమ్లో ముఖ్యమైన భాగం.
-
నాన్-స్ట్రిక్ట్ మూల్యాంకనం అంటే ఫంక్షన్ కాల్ల క్రమం ఊహించలేనిది, ఇది ఆపరేషన్ల క్రమం ముఖ్యమైనది అయినప్పుడు I/O సమస్యలను సృష్టిస్తుంది.
ఇది ఫంక్షనల్ ప్రోగ్రామింగ్ యొక్క మా శీఘ్ర సమీక్షను ముగించింది. ఇప్పుడు ప్రోగ్రామింగ్ స్టైల్స్కి వెళ్దాం.
ఇంపెరేటివ్ ప్రోగ్రామింగ్ అనేది క్రింది లక్షణాల ద్వారా వర్గీకరించబడిన ప్రోగ్రామింగ్ నమూనా:
-
ప్రోగ్రామ్ యొక్క సోర్స్ కోడ్ సూచనలను (స్టేట్మెంట్లు) కలిగి ఉంటుంది.
-
సూచనలను వరుసగా అనుసరించాలి.
-
మునుపటి సూచనలను అమలు చేయడం ద్వారా రూపొందించబడిన డేటా తదుపరి సూచనల ద్వారా మెమరీ నుండి చదవబడుతుంది.
-
సూచనలను అమలు చేయడం ద్వారా పొందిన డేటా మెమరీకి వ్రాయబడుతుంది.
అత్యవసర భాషల యొక్క ప్రధాన లక్షణాలు ఇక్కడ ఉన్నాయి:
- బూలియన్ వేరియబుల్స్ ఉపయోగం.
- అసైన్మెంట్ ఆపరేటర్ని ఉపయోగించడం.
- సమ్మేళన వ్యక్తీకరణల ఉపయోగం.
- సబ్ట్రౌటిన్ల ఉపయోగం.
అత్యవసర కార్యక్రమం అనేది సహజ భాషలలో అత్యవసర మూడ్లో వ్యక్తీకరించబడిన ఆదేశాలు లాంటిది. మరో మాటలో చెప్పాలంటే, అత్యవసర ప్రోగ్రామ్ ఆదేశాల క్రమం.
అత్యవసరమైన ప్రోగ్రామింగ్ భాషలలో C మరియు C++ ఉన్నాయి.
డిక్లరేటివ్ ప్రోగ్రామింగ్ అనేది ప్రోగ్రామింగ్ నమూనా, దీనిలో సమస్యకు పరిష్కారం పేర్కొనబడుతుంది. అంటే, అంతిమ ఫలితం వివరించబడింది, దానిని సాధించే మార్గం కాదు. HTML అనేది డిక్లరేటివ్ భాషకు ఉదాహరణ. ఈ భాషలో ట్యాగ్లను వ్రాసేటప్పుడు, పేజీలో మూలకాలు ఎలా గీయబడతాయో మనం ఆలోచించము. పేజీ ఎలా ఉండాలో మేము వివరిస్తాము.
మరొక డిక్లరేటివ్ ప్రోగ్రామింగ్ భాష SQL.
నిజ జీవిత ఉదాహరణను పరిగణనలోకి తీసుకోవడం ద్వారా ప్రోగ్రామింగ్ యొక్క రెండు శైలులను పోల్చి చూద్దాం : ఒక నిర్దిష్ట ప్రదేశానికి ఎలా చేరుకోవాలో ఒక వ్యక్తికి ఎలా వివరించాలి?
ఈ పరిస్థితిని ఊహించండి: ఒక వ్యక్తి వీధిలో మా వద్దకు వచ్చి, "నేను మ్యూజియంకు ఎలా వెళ్ళగలను?"
తప్పనిసరి విధానంతో, మేము అతనికి కాలినడకన ఎలా చేరుకోవాలో అల్గారిథమ్ను అందిస్తాము:
- ఇక్కడే తిరగండి
- 2 బ్లాక్లను సరళ రేఖలో నడవండి
- కుడివైపు తిరగండి
- …
డిక్లరేటివ్ విధానంతో, మేము చిరునామాను ఇస్తాము, ఆపై వ్యక్తి తనంతట తానుగా సరైన ప్రదేశానికి చేరుకుంటాడు.
జావా ప్రస్తుతం మల్టీ-పారాడిగ్మ్ ప్రోగ్రామింగ్ లాంగ్వేజ్ . మల్టీ-పారాడిగ్మ్ అంటే భాష అనేక నమూనాలకు మద్దతు ఇస్తుంది.
దాని సుదీర్ఘ పరిణామ సమయంలో, భాష దాని ఆబ్జెక్ట్-ఓరియెంటెడ్ మోడల్ను విస్తరించింది, తద్వారా దాని వినియోగదారులు విభిన్న సాధనాలను కలిగి ఉంటారు మరియు వారి నిర్దిష్ట పని కోసం ఉత్తమమైనదాన్ని ఎంచుకోవచ్చు.
ఫలితంగా, జావా ప్రస్తుతం అత్యవసర విధానం (మెథడ్ కాల్ల కోసం కోడ్ రాయడం వంటివి) మరియు డిక్లరేటివ్ విధానం (రన్టైమ్లో అందుబాటులో ఉన్న ఉల్లేఖనాలు వంటివి) రెండింటికీ మద్దతు ఇస్తుంది.
సారాంశం చేద్దాం:
-
వివిధ ప్రోగ్రామింగ్ నమూనాలు ఉన్నాయి.
-
డిక్లరేటివ్ మరియు అత్యవసర విధానాలు ఉన్నాయి.
-
మీరు చేతిలో ఉన్న పనికి బాగా సరిపోయేదాన్ని ఎంచుకోవాలి.
-
జావా అనేది రెండు విధానాలకు మద్దతిచ్చే బహుళ-పారాడిగ్మ్ లాంగ్వేజ్.
GO TO FULL VERSION