Јава је широко коришћен објектно оријентисани програмски језик и софтверска платформа. Ради на милијардама уређаја укључујући преносне рачунаре, мобилне уређаје, играчке конзоле и многе друге.
Поседовање таквих могућности долази са ценом. Јава може бити тешка за научити, са дуготрајном компликованом синтаксом. Он је статички откуцан, што може бити мање згодно. И док је независна од платформе, успон платформе рачунарства у облаку чини независност мањом победом.
Ово су само неки од разлога због којих Јава можда пада у немилост.
1. Јава постаје све мање популарна
Прво и најважније, чини се да Јава полако пада у популарности. Годинама је било један од најбољих програмских језика за учење, али сада више није у тренду. То значи да ће током времена програмери писати све мање нових апликација у Јави.
Овај тренд имплицира да ће Јава на крају нестати. Предузећа широм света ће наставити да ангажују Јава програмере да одржавају застареле кодне базе, али то неће трајати вечно.
Ипак, ако желите да фокусирате своју каријеру на изградњу нових ствари, уместо на одржавање постојећих програма, Јава можда није најбољи избор за вас.
Програмски језик | мај 2022 |
---|---|
Питхон | 1 |
Ц | 2 |
ЈаваСципт | 3 |
Ц++ | 4 |
Ц# | 5 |
Вижуал бејзик | 6 |
Јава | 7 |
Ассембли Лангуаге | 8 |
СКЛ | 9 |
ПХП | 10 |
2. Јава није једноставна
Јава је можда лака за учење, али није једноставна. Језик је лако научити јер је Јава код једноставан за писање, организовање и компајлирање. Али то није једноставно јер код написан у Јави обично буде опширнији и заморнији за писање.
Такође морате да га компајлирате, што Јава чини много мање погодном од језика као што је Питхон. Дакле, ако сте почетник који први пут учи да кодирате, Јава није добар језик за почетак.
Ако сте професионалац који жели да произведе једноставан, елегантан код и брзо га примени, Јава такође није идеалан избор.
3. Геттери и Сеттери
Геттери и сеттери су скоро обавезни део употребе језика и многи оквири подстичу њихову употребу. Међутим, Јава-ови геттери и сеттери могу бити непотребно опширни.
Управљање кодом украшеним Јава геттерима и сеттерима је паклено и компликовано. Недостатак смисленог решења проблема геттера и сетера само је врх леденог брега.
јавностикласаВозило{
приватни Низ боја;// Геттер
јавности Низ гетЦолор(){
повратак боја;
}
// Сеттер
јавностипразнинасетЦолор(Стринг ц){
ово.цолор = ц;
}
}
4. Нема синтактичког залеђивања
Радите на колекцији. Желите прву ставку. Шта радиш? Наравно, позивате метод уместо да користите цоммон [] оператер. Све зато што не можете преоптеретити операторе.
За готово сваку операцију морате користити разречено име методе чак и ако би то урадио оператор од једног знака.
Јава подржава концепт; језик вам омогућава да повежете низове са + оператера, на пример. То једноставно не дозвољава вама, програмеру, да урадите исто.
5. Проглашавање изузетака методом која може бити одбачена
Јава захтева да декларишете изузетке које метода може да избаци. Чини се корисним, зар не? Користећи дату методу, знате шта можете очекивати.
Проблем је у томе што је код живи организам и дешава се да метода коју користите почне да даје више изузетака. Шта ће се тада десити? Па, ваш код је управо престао да се компајлира.
Морате се носити са ситуацијом или додати изузетак на листу бацања. Претпоставимо да се АПИ који користите не мења. У Јави постоји таква ствар као што је РунтимеЕкцептион. Ако ваш метод може да избаци овај изузетак или једног од његових потомака, морате га прогласити.
Јавини изузеци могу донети много проблема са одржавањем кода.
// Јава програм који демонстрира употребу тхров
класаТхровЕкцеп
{
статичнепразнина забавно()
{
покушати
{
бацитиНова НуллПоинтерЕкцептион("демо");
}
улов (НуллПоинтерЕкцептион е)
{
Систем.оут.принтлн("Ухваћен унутар забаве().");
бацити е; // враћање изузетка
}
}
јавности статичнепразнина главни(Низ аргс[])
{
покушати
{
забавно();
}
улов (НуллПоинтерЕкцептион е)
{
Систем.оут.принтлн("Ухваћен у главном.");
}
}
}
6. Компликоване ИДЕ
Јава програмери често користе ИДЕ као што су Ецлипсе или ИнтеллиЈ. Ови ИДЕ су моћни, али су сложени за интеракцију, посебно за почетнике или средње програмере. Мораћете да уложите много труда да научите свој ИДЕ изнутра и споља да би био продуктивнији и мање болни за вас.
7. Независност платформе је мање важна у 2022
Чињеница да је Јава веома независна од платформе данас је вероватно мање важна него пре 10 или 20 година.
Разлог зашто живимо у софтверски дефинисаном свету. Данас виртуелне машине, контејнери и услуге у облаку олакшавају покретање апликације где год желите, без бриге о основном окружењу.
Другим речима, не морате да мењате свој код да би ваша апликација радила тамо где вам је потребна. Уместо тога, можете променити окружење за хостовање.
Ово не значи да преносивост апликација више није битна. То једноставно није тако критично као што је некада било, и то чини Јава мало мање важном као проширење.
8. Статичко куцање
Јава врши проверу типа током времена компајлирања. То значи да морате декларисати тип сваке променљиве у време компајлирања. Исто је и са језицима као што су Ц и Ц++, али други језици, као што су Сцала и Хаскелл, нуде неки облик закључивања типа.
Код статичког куцања, променљивим генерално није дозвољено да мењају типове. Ово чини Јава синтаксу помало компликованом, посебно када се пише код за велики пројекат.
Многи програмери преферирају динамичко програмирање где се провера типа јавља у току извршавања. То значи да се тип променљиве може променити током свог животног века.
Научите нове програмске језике
Није да Јава није добра ни за шта, али њена синтакса је незграпна и не погодује читању кода. Јава-ино управљање зависношћу дозвољава злоупотребу и доводи до грешака које је тешко открити.
Технологија се стално мења и, као програмеру, увек је корисно бити у току са програмским језицима у настајању. Оно што је данас у моди ускоро може бити јучерашње вести.