Java ծրագրավորում. Ուժեղ և թույլ կողմերը
Ողջույն։ Եթե ձեզ հետաքրքրում է տեխնոլոգիական աշխարհը, ապա java լեզվի մասին հաստատ լսել եք, ամենաքիչը մեկ անգամ։ Եկեք ավելի լավ ծանոթանանք այս լեզվին
Ամեն ինչ սկսվեց 1990-ականների սկզբին, երբ Sun Microsystems -ի թիմը որոշեց ստեղծել C++ լեզվի կատարելագործված տարբերակը, որը կլիներ սկսնակների համար ավելի հեշտ, կունենար հիշողության կառավարման համակարգ և կլիներ դյուրակիր։ Հետազոտությունները հանգեցրեցին լրիվ նոր լեզվի ստեղծման, և թիմը Հավաքվեց հանդիպումների սենյակում, ու սկսեց որոշել այս նոր լեզվի համար անվանում։ Հանդիպման մասնակիցները, մեկը մյուսի հետևից բղավում էին տարբերակներ՝ հուսալով, որ հենց իրենց տարբերակը կընտրվի որպես այս նոր լեզվի անվանում։ Եվ ահա, մասնակիցներից մեկը բղավեց․ «Java~»: Ոչ մի հատուկ բան, պարզապես իր սիրելի սուրճի տեսակի անունն էր։ Հրաշալի անուն, այս նոր սրճաբույր լեզվի համար․ չէ՞ որ այն ստեղծելիս օրնիբուն աշխատող ծրագրավորողները java սուրճի բազմաթիվ բաժակներ էին դատարկել (դե իսկ ծրագրավորողների սերը կոֆեինի հանդեպ այլևս ոչ մեկի համար գաղտնիք չէ :) ): ։ Ինչևէ, 1990ականների սկզբին ստեղծված այս լեզուն, շուտով գրավեց աշխարհը և մինչ այժմ համարվում է ամենապահանջված լեզուներից մեկը։
Google, Amazon, Instagram, Spotify, Uber, Airbnb, Netflix, Pinterest- այս ընկերությունները և ավելի քան 9000 տեխնոլոգիական ընկերություններ ամբողջ աշխարհում կիրառում են Java-ն իրենց աշխատաքնում․ լինի դա բջջային կամ վեբ հավելված, արհեստական բանականություն, տվյալների բազա, cloud-based հավելվածներ․․․ մի խոսքով java- ն ամենուր է։ Այն ունի մի շարք առավելություններ։ Եկե՛ք տեսնենք, թե որոնք են դրանք։
Java ծրագրավորման առավելությունները
1. Օբյեկտ-կողմնորոշված ծրագարվորում (Object-oriented programming, OOP)
Java-ն օբյեկտ-կողմնորոշված լեզու է, ասել է, թե ծրագրավորելիս տվյալների համար սահմանվում է ոչ միայն տեսակ և կառուցվածք, այլ նաև այդ տվյալներին վերագրվում են ֆունկցիաներ։ Այս կերպ, ձեր տվյալների կառուցվածքը դառնում է օբյեկտ, որի միջոցով կարելի է ստեղծել այլ տարբեր օբյեկտների հետ հարաբերություններ։ Գիտեմ, հիմա այս տողերը սյուրռեալիստիկ են թվում, բայց հենց լեզուն սովորեք ամեն բան իր տեղը կընկնի։
2․ Բարձր մակարդակի լեզու, պարզ սինտաքս և սովորելու սահուն ուղի
Java-ն բարձր մակարդակի լեզու է, ինչը նշանակում է, որ այն մոտ է մարդկային լեզվին։ Ի տարբերություն ցածր մակարդակի լեզուներին, որոնք մեքենայական կոդին են մոտ, բարձր մակարդակի լեզուները կոմպիլյատորների (compiler) և interpreter-ների միջոցով են փոխարկվում մեքենայական կոդի, ինչը հեշտացնում է այդ լեզվով գրել, կարդալն ու հասկանալը։
Java-ն ճիշտ է, իր սինտաքսը վերցրել է C++-ից, սակայն, եթե համեմատենք C++-ի հետ, Java-ի սինտքասը ավելի պարզ է, և թույլ է տալիս ավելի արագ այն սովորել։ Բայց, դե իհարկե, այս հարցում Java-ն զիջում է Python-ին․ վերջինս ավելի պարզ սինտաքս ունի և սկսնակների համար առավել հարմար է սովորել։ Շարունակե՜ք կարդալ, որպեսզի վերջում տեսնեք այս 2 լեզուների վիզուալ տարբերությունը։
3. «Գրի՜ր մեկ անգամ, օգտագործիր ցանկացած տեղ»
«Գրիր մեկ անգամ, օգտագործիր ցանկացած տեղ» (Write Once Run Anywhere) - այս նախադասությամբ բնորոշում են Java-ի՝ պլատֆորմից կախվածություն չունենալը։ Նշանակում է․ դու կարող ես գրել ծրագիր օրինակ Windows համակարգի վրա, և օգտագործել այն օրինակ Mac OS -ում։ Գործընթացը հետևյալն է․ կոմպիլյատորի միջոցով ձեր գրած կոդը փոխարկվում է բիթ-կոդի, ապա Java Virtual Machine (JVM) -ը ապահովում է այլ պլատֆորմի վրա ձեր գրած կոդի աշխատանքը։ Հավելենք, որ բոլոր խոշոր օպերացիոն համակարգերը ունեն JVM:
4. Հիշողության կառավարման համակարգ
Java ծրագրավորողները կոդ գրելիս կարիք չունեն մտահոգվելու հիշողության կառավաման հարցերի մասին։ Java-ն ունի հիշողության կառավարման և “աղբի” մաքրման համակարգ, որոնք ավտոմատ կերպով լուծում են հիշողության տեղակայման հարցերը, իսկ garbage collector-ը կարող է տեղորոշել այն օբյեկտները, որոնք երկար ժամանակ չեն օգտագործվել ձեր ծրագրի կողմից, և հեռացնել դրանք՝թեթևացնելով հիշողությունը:
5. Բազմահոսքայնություն (Multithreading)
Բազմահոսքայնությունը թույլ է տալիս ծրագրին մի քանի առաջադրանք/ գործողություն կատարել միաժամանակ։ Սա հատկապես կարևոր է օրինակ խաղային կամ անիմացիաներով ծանրաբեռնված ծրագրերի դեպքում։
6․ Կայունություն և մեծ համայնք
Ինչպես արդեն նշեցինք, այս լեզուն ունի 2 տասնամյակից ավել պատմություն, կատարելագործվում է շարունակաբար, օգատագործվում է շատ ընկերությունների կողմից և ունի մեծ մասնագիտական համայնք։ Java-ն ունի նաև գրադարանների և ֆրեմվորքերի մեծ էկոհամակարգ։
Մասնագետները կփաստեն, որ այս լեզվի առավելությունները սրանցով չեն սահմանափակվում, բայց այն, իհարկե, զերծ չէ թերություններից։
Java ծրագարվորման թերությունները
1․ Թարմացումների վճարներ
2019 թվ․-ին Oracle -ը հայտարարեց, որ Java-ի թարմացումները ստանալու համար, ընկերությունները պետք է դրա դիմաց վճարեն՝ ըստ օգտատերերի քանակի։
2․ Դանդաղ աշխատանք։
Հիշում եք, չէ՞, որ Java-ն բարձր մակարդակի լեզու է, և կոմպիլյատորի միջոցով է փոխակերպվում մեքենայական կոդի։ Հենց այս պրոցեսի պատճառով է, որ բարձր-մակարդակի լեզուները մեղմ ասած դանդաղկոտ են։
3․ Բազմաբառ կոդ
Կոդի բազմաբառ լինելը օգնում է հասկանալ գրվածը, սակայն երկար ու բարդ նախադասությունները ծանրաբեռնում են կոդն ու ընթացքում դարձնում այն դժվար ընթեռնելի։ Ինչը չես ասի Java-ի գլխավոր մրցակից Python-ի մասին։
Ամփոփելով, փաստենք, որ Java-ն, լինելով ծրագրավորման առաջատար լեզուներից մեկը, արդեն 3 տարի շարունակ հեղինակավոր TIOBE Index-ի առաջատարն է։ Արևմուտքում այն նաև դասավանդվում է համալսարաններում։ Այս ամենը կարդալով դեռևս տատանվու՞մ ես՝ սովորել Java թե ոչ։ Այսքան առավելություններից հետո, մենք միայն կարող ենք ասել, որ Java-ն այն լեզուներից է, որն հաստատ արժի սովորել։