Теория и практика на програмирането

Възникване на Java

В началото на 90-те години на миналия век, увеличаване на мощта на компютърните мрежи за подпомагане дейности от всекидневния живот беше радикална визия. През 1991 г., една малка група инженери от фирмата Sun, позната като „Зеления тим“ ("Green Team") и ръководена от Джеймс Гослинг, вярва, че следващия голям пробив ще бъде в обединяването на потребителските дигитални устройства с компютрите. Първоначално, „Зеления тим“ демонстрира новия език с интерактивен контролер за домашно забавление, предназначен за цифрова кабелна телевизия.

За времето си концепцията на езика е значително напредничава за първоначалното си предназначение. За сметка на това, е била изключително пригодна за започващия да набира скорост Интернет. През 1995 г. екипът обявява, че интернет браузърът на Netscape ще поддържа Java технологата.

Приложение на Java

Най-краткото (и може би най-точното) определение на езика може би е това на Sun Microsystems: "Java is a simple, object-oriented, distributed, interpreted, robust, secure, architecture neutral, portable, multithreaded, and dynamic." Днес, Java не само че е тясно свързана с Интернет, но също така е невидимата сила зад много от приложенията и устройствата, които захранват нашите ден за ден живот - от мобилни телефони и мобилни устройства, игри, навигационни системи и е-бизнес приложения до облачни архитектури и Интернет на нещата (Internet of Things). Java е навсякъде! От 1995 год. Java променя света на информационните технологии.

Java Logo

Java Virtual Machine (JVM)

JVM първоначално разработена в Sun Microsystems, е виртуална машина за изпълнение на байткод. Обикновено този код се генерира от компилатор за Java, въпреки че JVM е също целева машина за компилатори и за други езици за програмиране. JVM е ключов компонент на Java платформите. Наличието на JVMs за различни хардуерни и софтуерни платформи дава възможност самият език да оперира като мидълуер и платформа. JVM осигурява преносимост на приложенията, написани на Java. Оттук и слоганът - "Пиши веднъж, изпълнявай навсякъде" ("Write once, run anywhere").

Името Java

Първоначално новосъздаваният език е наречен от Джеймс Гослинг "Greentalk" (с разширение на файловете .gt). Впоследствие, като част Зеления проект, е преименуван на “Oak“ (дъбът е символ на мощ и е избран като национален символ на много държави). Оказва се обаче, че името е вече запазена марка на Oak Technologies. По тази причина, през 1995 година езикът е преименуван в Java. (Междувременно са били дискутирани различни предложения за име - "dynamic", "revolutionary", "Silk", "jolt", "DNA". Както разказва историята, след много часове разисквания относно новото име, екипа отива да пие кафе и … Java е роден). Java е име, не е акроним.

Направления

Java се разработва в следните направления:

  • Java Standard Edition - базовата версия която се използва за разработка на клиентски приложения; 
  • Java Enterprise Edition – обикновено се използва за иизграждане на сървърни приложения в Интернет; 
  • Java Micro Edition - олекотена версия за работа на устройства с ограничена изчислителна мощност като мобилни телефони, смартфони, PDA устройства.

Версии на езика

Към настоящият момент съществуват следните версии на езика:

  • Java 1 (1.0, 1.1);
  • Java 2 (1.2, 1.3, 1.4);
  • Java 5 (1.5);
  • Java 6 (1.6);
  • Java 7 (1.7) - тази версия на езика изключва неодобрените (deprecated) методи от предните версии;
  • Java 8 (1.8).

Парадигми за програмиране

Обикновено Java се разглежда като език за разработване на приложения за Интернет. В действителност той език с общо предназначение, който може да се използва независимо от Интернет. Java е хибриден език за програмиране, поддържат следните програмни парадигми:

  • Императивно (процедурно) програмиране;
  • Обектно-ориентирано програмиране;
  • Генетично програмиране (от Java 5);
  • Функционално програмиране (oт Java 8).

Java и MyDeLC

MyDeLC предлага различни лекционни курсове, разглеждащи различни аспекти на програмирането с Java. Следното учебното съдържание е достъпно за студентите в бакалавърските и магистърските програми на Факултетата по Математика и Информатика на Пловдивския университет „Паисий Хилендарски:

  • "Програмиране на Java" – лекционният курс е въведение в езика за програмиране Java. Запознава обучаемите с основните конструкции на езика, възможности за структуриране и обработка на данните, както и с основните принципи и подходи за структуриране на програми. Представят се също основните принципи на обектно-ориентираното програмиране. С множество примери се демонстрират разликите между императивния и обектно-ориентирания подход за разработване на софтуер;
  • "Обектно-ориентирано програмиране (Java)" – лекционният курс разглежда детайлно възможностите на езика Java за разработване на обектно-ориентирани приложения;
  • "Езици и среди за програмиране в Интернет" – лекционният курс е фокусиран върху разработване на Интернет-базирани приложения с многослойна клиент-сървър архитектура;
  • "Интегриране на бази от данни в уеб среда" – специализиран лекционен курс, разглеждащ възможностите за интегриране на релационни бази данни в Интернет-базирани приложения в Java среда;
  • "Практикуми Java" – провежда се в две части. В първата част обучаемите придобиват базови умения за използване на езика за разработване на приложения. Във втората част обучаемите затвържават и разширяват уменията си посредством реализиране на комплексни примери.