Java Introduction in Telugu
Introduction for Java
ఈ ట్యుటోరియల్ లో Introduction for Java programming గురించి పరిచయం చేసుకుందాం. అంతే కాకుండా జావా ప్రోగ్రామింగ్ గురించి పూర్తిగా examples తో నేర్చుకుందాం.
Java programming లాంగ్వేజ్ ఎలా వచ్చింది ?
జేమ్స్ గూస్లింగ్ మరియు కొంత మందికి 1980 ప్రాజెక్ట్ వచ్చింది. అది ఎలాంటి ప్రాజెక్ట్ అంటే పరికరాలలో ఒక software ని డెవలప్ చేసి అందులో సెట్ చేస్తే, దాన్ని (అంటే మనషులు ) మనం ఒక రిమోట్ కంట్రొల్ తో ఆపరేట్ చేసే విదంగా ప్రాజెక్ట్ ఉండాలి. ఇదే వారికీ వచ్చిన పెద్ద ప్రాజెక్ట్.
మరి ఈ ప్రాజెక్ట్ ని డెవలప్ చేయడానికి ఏ programming లాంగ్వేజ్ ని use చేసి చేయగలము అనే ఆలోచించడం start చేసారు వీరు. అప్పటికి వీరికి అందుబాటులో ఉండే లాంగ్వేజ్ రెండే రెండు. అవి
- C
- C++
వీరు ఈ రెండు programming language ల మీదా అనలైజ్ చేయడం start చేసారు. చివరకి ఈ ప్రోగ్రామింగ్ లాంగ్వేజ్ లో ఒక disadvantage ఉందని తెలుసుకున్నారు.
మరి ఆ disadvantage ఏమిటి ?
c మరియు c++ ఈ రెండు లాంగ్వేజ్ లు కూడా ప్లాట్ ఫారం మీదా ఆధారపడే లాంగ్వేజ్ లు.
అసలు platform dependent అంటే ఏమిటి ?
ప్లాట్ ఫారం డిపెన్ డెంట్ గురించి తరువాత ట్యుటోరియల్ లో వివరంగా తెలుసుకుందాం. సింపుల్ గా చెప్పాలంటే ఈ లాంగ్వేజ్ లతో డెవలప్ చేసిన softwere లు కొన్ని డివైస్ లలో ( పరికరాలలో ) మాత్రమే పని చేస్తాయి.
అందుకోసమే ఒక కొత్త లాంగ్వేజ్ అంటే ఇండిపెండెంట్ లాంగ్వేజ్ ను కనుకోవాలి అని వారు తమ ప్రయత్నాన్ని start చేసారు. ఆ ప్రయత్నం లో వచ్చిందే ఇప్పుడు మనందరికీ తెలిసిన Java programming లాంగ్వేజ్.
అసలు అప్పుడే ఉన్న లాంగ్వేజ్ లు ఉండగా మరో కొత్త లాంగ్వేజ్ ను ఎందుకు డెవలప్ చేస్తారు ?
ఎందుకంటే c లాంగ్వేజ్ లో disadvantage ఏమిటంటే : ప్రోగ్రామింగ్ కాంప్లెక్సిటీ...
దీనిని overcome చేయడానికి c కి " c + క్లాస్ " ను యాడ్ చేసారు. దింతో c లాంగ్వేజ్ లో ఉన్న disadvantage కి సొల్యూషన్ దొరికిపోయింది. ఇప్పుడు కాస్త ఫంక్షన్స్ మీదా ఉన్న ద్యాస class మరియు object అనే వాటిపై వెళ్ళింది. ఈ కొత్తగా వచ్చిన మెథడ్ లాజి ని object ఒరిఎంటేడ్ ప్రోగ్రామింగ్ అంటారు.
1st దీన్ని c with class అని పిలిచారు. అయితే తరువాత తరువాత దీనిని c ++ అని పిలుస్తూ వస్తున్నారు.
మరి ఈ object oriented programming దేని మీద ద్యాస ఉంటుంది.
ఈ object oriented programming లో కాన్సన్ ట్రేట్ మొత్తం class మరియు object అనే వాటిపై ఉంటుంది. ఫంక్షన్స్ మీదా అస్సలు కాన్సన్ ట్రేట్ ఉండదు.
అవును.. c ++ ఉండగా Java programming ఎందుకు వచ్చింది ?
c మరియు c++ ఈ రెండు లాంగ్వేజ్ లు కూడా ప్లాట్ ఫారం ఢిపెన్ డెంట్ లాంగ్వేజ్ లు. ఏదైనా ఒక ప్రోగ్రామింగ్ లాంగ్వేజ్ ఆ ప్రోగ్రామింగ్ ను ఎగ్జిక్యూట్ చేయడనికి 2 steps ఉంటాయి. అవి :
- compile చేయాలి.
- compile అయిన దాన్ని ఎగ్జిక్యూట్ చేయాలి.
మనం రాసిన ప్రోగ్రామింగ్ ను compile చేస్తాము. ఆ తరువాత . bj అనే ఫైల్ వస్తుంది. ఈ ఫైల్ ను pendrive లో సేవ్ చేసుకొని వేరే సిస్టమ్ లో రన్ చేయాలంటే c మరియు c++ ఈ రెండు లాంగ్వేజ్ లకి సంబంధించి కుదరదు. ఎందుకంటే ఇవి రెండు కూడా ప్లాట్ ఫారం ఢిపెన్ డెంట్ లాంగ్వేజ్ లు. అంటే ఏ సిస్టమ్ లో compile చేస్తామో ఆ సిస్టమ్ లో మాత్రమే రన్ చేయాలి.
Ex : మీరు 32 bit సిస్టమ్ లో గేమ్ ను c మరియు c++ లో డెవలప్ చేసారు. దీన్ని compile తరువాత వచ్చిన ఫైల్ ను సిస్టమ్ కు తగ్గట్టు ఉంటుంది. అదే ఫైల్ ను నీవు 64 bit ఉన్న సిస్టమ్ లో రన్ చేయాలంటే ఇది కాస్త పని చెయ్యదు. ఇది కేవలం 32 bit విండోస్ సిస్టమ్ ఉన్న వాళ్ళకి మాత్రమే పని చేస్తుంది. నీవు ఏ సిస్టమ్ లో డెవలప్ చేసావో దానికి తగ్గట్టు గా compile అవుతుంది. దీనినే ప్లాట్ ఫారం ఢిపెన్ డెంట్ అని అంటారు.
అప్పుడే ఉన్న లాంగ్వేజ్ కంటే కొత్తగా డెవలప్ చేసిన లాంగ్వేజ్ లో extra పిచర్స్ ను అందిస్తుంది.
లేదా అపుడే ఉన్న లాంగ్వేజ్ లో disadvantage లను కొత్త లాంగ్వేజ్ లో సొల్యూషన్ ఇచ్చే విదంగా ఉంటాయి.
c లాంగ్వేజ్ ఉండగా c ++ లాంగ్వేజ్ ఎందుకు వచ్చింది.
హై లాంగ్వేజ్ ప్రోగ్రామింగ్ అనేది c నుండి start అయ్యింది. c లాంగ్వేజ్ ఇప్పటికి కూడా ఎవర్ గ్రీన్ లాంగ్వేజ్. అంతే కాదండి.. ఎప్పటికి కూడా ఎవర్ గ్రీన్ లాంగ్వేజ్. c లాంగ్వేజ్ లో ఒక ఫ్లో ఉంది కాబట్టి c ++ లాంగ్వేజ్ వచ్చింది. ఈ ఫ్లో ను ఓవర్ కమ్ చేయడానికి వచ్చిన లాంగ్వేజే ఈ c ++ .
c లాంగ్వేజ్ లో ఫ్లో ఏమిటి ? :
c లాంగ్వేజ్ అనేది ప్రోసిజర్ oriented programming. అంటే ఫంక్షన్ oriented programming. దీనిలో ఫంక్షన్ కి లేదా ప్రోసిజర్ కి ఎక్కువ ప్రాధాన్యత ఉంటుంది. అంటే మనం ఏ టాస్క్ ను పూర్తీ చేయాలో దాని మీదా ద్యాస ఉంటుంది తప్ప అది ఏ విదంగా చేస్తున్నాము అనే విషయాన్ని ప్రోసిజర్ oriented లాంగ్వేజ్ లు పట్టించుకోవు. దీని వల్ల ప్రాసెసర్ కి ఎక్కువ సమయం వేస్ట్ అయిపోతుంది. ఇలాంటి లాంగ్వేజ్ లో ఏ చిన్న టాస్క్ ను చేయాలన్న ఫంక్షన్ ను రాయాల్సి ఉంటుంది.
Ex :
ఏదైనా ఒక పెద్ద టాస్క్ మనకు వచ్చింది. ఇప్పుడు వీటిని చిన్న చిన్న టాస్క్ లుగా రాస్తాము. ప్రతి టాస్క్ కి ఒక ఫంక్షన్ ను రాస్తాము. ఇందు వల్ల చాలా ఎక్కువ ఫంక్షన్స్ రాయడం వల్ల కోడింగ్ లైన్స్ పెరిగిపోతాయి. అందుకే c లాంగ్వేజ్ లో డేటా స్ట్రాచ్చర్ , క్యూబ్ programmings తీసుకుంటే వీటిని 100 లైన్ లలో కోడింగ్ రాయాల్సి ఉంటుంది. అదే గేమింగ్ programming తీసుకుంటే 1000-10000 కంటే ఎక్కువ లైన్స్ ఉండవచ్చు. programming లైన్స్ పెరిగిపోవడాన్ని టెక్నికల్ గా programming కాంప్లెక్స్ సిటీ అంటారు.
దీనిని overcome చేయడానికి Java ను డెవలప్ చేసారు. జవా లో . bj ఫైల్ కు బదులుగా . class ఫైల్ వస్తుంది. ఈ ఫైల్ లో c మరియు c++ లో మాదిరిగా [0,1] ఉండవు. కానీ దీనికి దగ్గర దగ్గరికి కొన్ని సింబల్స్ ఉంటాయి. ఈ సింబల్స్ ఉన్న ఫైల్ ను బైట్ కోడ్ అంటారు. ఈ బైట్ కోడ్ కేవలం JVM కి మాత్రమే అర్థం అవుతుంది.
మీరు జావా programming లో డెవలప్ చేసిన programming ను ఒకే సారి కంపైల్ చేసి , ఆ తరువాత వచ్చిన బైట్ కోడ్ ను ఎక్కడైనా రన్ చేయవచ్చు.