مێژینە و تایمەتمەندییەکانی زمانی بەرنامەسازیی جاڤا (وانەی یەکەم)

وەرگێڕانی: موحەممەد موحەممەدئەمینی

ماستەری ئەندازیاریی ئایتی، زانکۆی تەربیەت مۆدەڕس، تاران، ئێران،

mohammad@asosoft.com

زمانی بەرنامەسازیی جاڤا لە لایەن کۆمپانیای سان میکرۆسیستمز و بە دەستی جەیمز گۆسلینگ پەرەی پێدرا و وەشانی یەکەم لە ساڵی ١٩٩٥دا لە کرۆکی[۱] جاڤا بە ناوی (Java 1.0 [J2SE]) بڵاو کرایەوە.

دوایین وەشانی ستانداردی جاڤا Java SE 8یە. لەبەر ئەوەی کە جاڤا جێ پەسەند و بەربڵاوە بۆ سەکۆ جیاجیاکانیش وەشانی تایبەتی هەن بۆ وێنە J2EE بۆ بەرنامەی کارپێکەریی بازرگانی و J2ME بۆ بەرنامەی کارپێکەریی مۆبایل. وەشانە نوێیەکانی J2 ئەم ناوانەیان لێنراون: Java SE،  Java EE,  و  Java ME. دروشمی جاڤا ئەوەیە: لە یەک شوێن بینووسە لە هەموو شوێنێک ڕانی  بکە.

 

تایبەتمەندییە گرینگەکانی جاڤا بریتین لە:

  • تەنخوازی[۲]– لە جاڤادا هەر شتێک وەک تەن[۳]  چاوی لێدەکرێت، بەرفراوانکردنی جاڤا لەبەر ئەوەی لە مۆدێلی تەن پەیڕەوی دەکات زۆر سادەیە.
  • سەربەخۆ لە سەکۆ[۴]– بە پێچەوانەی زۆر زمانی بەرنامەسازیی دیکە وەک  C و C++، جاڤا کامپایل[۵]  ناکرێتە سەر کۆدێک کە تایبەت بە سەکۆیەک و پلەتفۆرمیکی تایبەت بێت، بەڵکوو وەردەگێڕدرێت بۆ سەر کۆدێک کە سەربەخۆیە لە پلەتفۆرمەکان و پێی دەگوترێت: بایت کۆد[۶]. بایت کۆد لە ڕێگەی ماشینی مەجازیی جاڤا[۷] ڕاڤە[۸] دەکرێت، واتە هەر پلەتفۆرمێک کە ماشینی مەجازیی جاڤای لەسەر بێت، دەتوانێت بایت کۆدەکان جێبەجێ بکات.
  • سادەیی[۹]فێربوونی زمانی جاڤا سادەیە ئەگەر چەمکی بنەمایی OOP فێر ببن، فێربوونی زمانی جاڤا زۆر سادەتر دەبێتەوە.
  • پارێزاروی[۱۰]– لە ڕێگەی تایبەتمەندیی پارێزراویی جاڤا[۱۱] دەتوانن بەرنامەیەک بنووسن کە ڤایرۆس نەتوانێت هێرشی بکاتە سەر، تەکنیکەکانی دڵنیابوونەوە لە ڕاستییەتیی[۱۲] لەسەر بنەمای ڕەمزکردنی کلیلی گشتین[۱۳].
  • سەربەخۆ لە مێعماریکامپایلێری جاڤا فایلێکی ئابجێکت[۱۴] ساز دەکات کە سەربەخۆیە لە مێعماری و هەر پرۆسێسۆرێک کە سیستمی  Java runtimeی لەسەر بێت دەتوانێت کۆدەکانی جاڤا جێبەجێ بکات.
  • هەڵگرتەنی[۱۵]– سەربەخۆیی جاڤا لە مێعماری دەبێتە هۆی ئەوەی کە تایبەتمەندیی هەڵگرتەنی بە زمانی جاڤا ببەخشرێت. کامپایلێری جاڤا بە زمانی ANSI C نووسراوە و جاڤا دەکاتە هەڵگرتەنی.
  • پتەوی[۱۶]– جاڤا هەوڵ دەدات بەرگری لە دۆخێک بکات کە هەڵەیەک تێیدا ڕوو دەدات ئەو کارەش بە تایبەت بە پێداگری لەسەر پێداهاتنەوە بۆ هەڵە لە کاتی کامپایل و چێککردن لە کاتی جێبەجێ بووندا دەکات.
  • چەندهەودایی[۱۷]– بە تایبەتمەندیی چەندهەودایی جاڤا دەتوانین بەرنامەیەک بنووسین کە بە شێوەی هاوکات چەندین ئەرک جێبەجێ دەکات. ئەم تایبەتمەندییە یارمەتیی بەرنامەسازەکان دەدات بتوانن ئەو بەرنامانە بنووسن کە لەگەڵ یەکتر پەیوەندیی کارلێکییانەیان[۱۸] هەیە.
  • ڕاڤەکراو[۱۹]– بایت کۆدی جاڤا وەردەگێڕدرێتە سەر فەرمانەکانی ئەو ماشینەی کە لەسەری جێبەجێ دەبێت. ئەم تایبەتمەندییە دەبێتە هۆی ئەوەی کە پڕۆسەی پەرەدانی نەرمامێر زۆر خێراتر ببێت.
  • کارامەیی بەرز [۲۰]– لە ڕێگەی بەکارهێنانی کامپایلێرەکانی Just-In-Time کارامەیی زمانی جاڤا بەرز دەبێتەوە.
  • دابەشکراو– جاڤا بۆ ژینگەی دابەشکراو وەک ئینتەرنێت داڕێژراوە.

مێژووی جاڤا

زمانی جاڤا سەرەتا لە ساڵی ١٩٩١ لە لایەن جەیمز گۆسلینگەوە پەرەی پێدرا، ئەم زمانە سەرەتا ناو نرا Oak’ ،کە ئەم وشەیە واتای داربەڕوو دەدات، چون داربەڕوویەک لە بەردەم نووسینگەکەی گۆسلینگدا بوو، دواتر ناو نرا  Green و لە کۆتاییدا  لەناو چەندین وشەدا بە شێوەیەکی بەختەکی وشەی Java هەڵبژێردرا.

هەر لە یەکەم وەشانی جاڤاوە واتە Java 1.0 لە ۱۹۹۵ ئەم دروشمە لە لایەن جاڤاوە جێبەجێ کرا: لە یەک شوێن بینووسە لە هەموو شوێنێک ڕانی بکە[۲۱]، ئەم کارەش بەبێ هیچ تێچوویەک لەسەر سەکۆ باوەکان ئەنجام  دەدرێت.

لە نۆڤەمبری سالی ٢٠٠٥، کۆمپانیای سان بەشێکی زۆر لە جاڤای بە شێوەی کۆدی سەرچاوەکراوە[۲۲] و بە خۆڕایی بڵاو کردەوە، ئەم کارەش لە ژێر مۆڵەتنامەی GNU General Public License (GPL)  ئەنجام درا.

لە ٨ مانگی مەی٢٠٠٧ دا، کۆمپانیای سان ئەم پڕۆسەیەی تەکمیل کرد و هەموو جاڤا جگە لە بەشێکی بچوک کە سان مافی کۆپیڕایتی نەبوو، بە شێوەی خۆڕایی و سەرچاوەکراوە بڵاو کردەوە.

ئەو ئامرازانەی بۆ بەرنامەسازیی جاڤا پێویستن

بۆ ئەوەی کە دەست بکەن بە بەرنامەسازیی جاڤا کۆمەڵێک ئامرازتان پێویستن کە بریتین لە:

  • سیستمی کارپێکردنی لینوکس یان ویندەوز
  • Java JDK 8
  • ئێدیتۆرێکی ساکار وەک مایکرۆسافت Notepad
  • بۆ ئەوەی کە بتوانن کۆدەکانتان لە ژینگەیەکی ڕێکوپێکتردا پەرە پێبدەن دەتوانن کەڵک لە یەکێک لەم IDEیانە وەربگرن:

 

 

[۱] core

[۲] Object Oriented

[۳] Object

[۴] Platform Independent

[۵] compile

[۶] byte code.

[۷] Virtual Machine (JVM)

[۸] interpret

[۹] simple

[۱۰] Secure

[۱۱] Java’s secure

[۱۲] authenticity

[۱۳] public-key encryption

[۱۴] Object file

[۱۵] portable

[۱۶] Robust

[۱۷] Multithreaded

[۱۸] interactive

[۱۹] Interpreted

[۲۰] High Performance

[۲۱] Write Once, Run Anywhere (WORA

[۲۲] open-source