Java näme? Başlangyç düşünje
Java Programmirleme dili
Java dünýäde iň meşhur programmirleme dilleriniň biri.
Onuň iň ajaýyp tarapy: sen bir gezek kod ýazsaň, ol Windowsda-da, Linuxda-da, Android telefonynda-da işläp biler. Bir ýerde ýazdyň, ähli ýerde işledýärsiň! Göwneňiz gelýärmi?
Java ilkinji gezek 1995-nji ýylda Sun Microsystems tarapyndan döredildi (häzir Oracle-yň elinde). Diliň şygary aýdylyşy: "Write Once, Run Anywhere" ýagny "Bir gezek ýaz, ähli ýerde işlet". Hakykatdanam şeýle!
JVM, JRE, JDK bu harplaryň manysyny çözeliň
Bu üçüsi Java-nyň dürli bölümlerini aňladýar, ýöne olaryň hersiniň maksady başga. Geliň, olary kinostudiýa mysalynda düşündireýin.
-
JVM (Java Virtual Machine) => bu kinoteatrdaky projektor.
- Ol filmi (bytecode-i) okaýar we ony ekranda görkezýär.
- Her operasion sistemasynyň öz projektory bar (Windows, Linux, MacOS üçin aýratyn JVM), ýöne film (bytecode) ähli ýerde görkezilip bilýär.
- JVM diňe filmi görkezýär, filmi düşürmeýär!
-
JRE (Java Runtime Environment) => bu kinoteatryň özi.
- İçinde projektor (JVM) bar, oturgyçlar bar, kalonkalar bar ýagny film görkezmek üçin ähli zat taýýar.
- Ýöne kamera ýok, ýagny sen täze film düşürip bilmersiň, diňe bar filmi görersiň.
-
JDK (Java Development Kit) => bu kinostudiýa!
- Bu ýerde hemme zat bar: kameralar (compiler), mikrofonlar, redaktoryň kompýuteri, effekt programmalary, ýagny täze film (programma) döredip bolýar.
- Elbetde, film düşürilenden soň ony kinoteatra (JRE) iberip, projektor (JVM) arkaly görkezýärsiň.
Gysgaça düşündiriş:
Maksat | Analogiýa | Näme edýär? |
---|---|---|
JVM | Projektor | Bytecode görkezýär (işledýär) |
JRE | Kinoteatr | Film görkezmek üçin ähli gurallar bar |
JDK | Kinostudiýa | Täze film (programma) döretmek üçin doly gurallar bar |
💡 Netije:
- Programma ýazmak isleýän bolsaň => JDK gerek (film düşürmek).
- Diňe taýýar programmany işletmek isleýän bolsaň => JRE ýeterlik (film görmek).
- Bytecode-y ýerine ýetirýän zat => JVM (projektor).
Java nähili işleýär?
Seniň kodyň (.java) => javac kompýlýator => .class (bytecode) => JVM => Maşyn kodi => Netije
Java kodyň ilki bytecode diýilýän "orta dil" görnüşine öwrülýär. JVM şol "bytecode"-i alyp, seniň kompýuteriň üçin düşnükli dile öwürýär.
Şeýlelikde, sen bir gezek kod ýazsaň, JVM islendik operasiýa sistemasyna terjime edip biler. Bu Java-nyň syrydyr!
💡 Bytecode — Adamlar okap bilmeýän, ýöne JVM üçin düşnükli orta-derejeli kod. Onuň üstünligi: Windowsa-da, Linuxa-da, Maca-da işleýär!
Ilkinji programmamyz: "Hello World!" 👋
Geliň, ilkinji Java programmaňy ýazalyň. Programmirlemede däp boýunça başlangyç programma "Hello World" (Salam Dünýä) diýilýär:
public class Hello {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
Her setiriň manysyny düşüneliň:
public class Hello
=> bu programmanyň ady. Java-da ähli zat "class" (klass) içinde bolmaly.main
=> programmanyň başlangyç nokady. Java-da ähli ýazylýan programmalarmain
metoddan başlaýar, başgaça başlamaz!System.out.println()
=> terminala tekst çykarmak üçin. Içine näme ýazsaň, şony terminalda görersiňiz.
Programmany işletmek üçin:
javac Hello.java # Kompýlýasiýa edýäris (kody bytecode-a öwürýäris)
java Hello # Işledýäris (JVM bytecode-y ýerine ýetirýär)
Netijede ekranda "Hello World!" ýazgysy görüner.
Näme üçin Java-ny saýlamaly?
- Platforma saýlamaýar: Bir gezek ýaz, islendik ýerde işlet
- Güýçli OOP (Obýektler bilen gurulan programmirleme): Kody guramak aňsat
- Howpsuz we durnukly: Uly kompaniýalaryň köpüsi ulanýar
- Uly community goldawy: Kynçylyk çeken wagtyň Google-da taparsyň!
- Library-lar köp: Spring Boot, Hibernate, JDBC we başgalar, islän zadyňyz taýýar bar
- Iş tapmak aňsat (Daşary ýurtlarda!): Java bilýän programmistlere isleg örän köp!
Java nirede ulanylýar?
Ugur | Näme üçin ulanylýar | Mysallar |
---|---|---|
Backend | Websaýtlaryň arka tarapy | REST API, mikroserwisler (Spring Boot) |
Android | Mobil programma ýazmak | WhatsApp, Instagram (Kotlin bilen bile) |
Enterprise (Uly kompaniýalar) | Bank we kompaniýa ulgamlary | Onlaýn banking, CRM ulgamlary |
Artykmaçlyklary we kemçilikleri
✅ Artykmaçlyklary:
- Her ýerde işletmek mümkin: bu hakykatdanam uly artykmaçlyk!
- Güýçli OOP gurluşy: kody düşünmek we ýazmak aňsat
- Köp gural we IDE goldawy (IntelliJ IDEA, Eclipse): kod ýazmak has aňsat
❌ Kemçilikleri
- Syntax biraz uzyn: başlangyçda "Why so much typing?" diýip pikir etdirýär :)
- JVM kody başladýança biraz wagta alýar: ýöne soň çalt işleýär
- Käwagt köne we "boring" diýilýär: ýöne iş tapmak isleseň, Java bilmeli!
Ýalňyş düşünjeler (Myth Busters!)
Geliň, Java barada köp ýaýran ýalňyş pikirleri düzedeliň:
-
❌ "Java = JavaScript": YOK! Bular düýbünden başga iki dil. "Maşyn" bilen "Kir maşyn" bir zat däl boluşy ýaly!
-
❌ "Java diňe Android üçin ulanylýa": Ýok! Java esasan serwer tarapynda (backend) giňden ulanylýar. Android diňe bir bölegi.
-
❌ "Java haýal işleýä": Köne gürrüň! Häzirki wagtda JVM optimizasiýasy güýçli we Java örän çalt işleýär. Käbir ýagdaýlarda C++-dan hem çalt işleýär!
-
❌ "Java köneldi, täze diller bara": Ýok! Java 2025-nji ýylda hem iň köp ulanylýan dilleriň biri. Kotlin, Scala ýaly täze diller hem JVM-de işleýär!
Üstünlikleri arzuw edýärin! Coding happy!