سەرەتایەک بۆ فێربوونی زمانی جاڤا – ١

سەرەتایەک بۆ فێربوونی زمانی جاڤا – ١

ناوەڕۆكی ئەم وتارە
پێشەکی
به‌رنامه‌ داڕشتن به‌ زمانی جاڤا
ئامێری گریمانەیی جاڤا
وشەپارێزراوەکانی زمانی جاڤا
که‌ره‌سه‌کانی به‌رنامه‌ داڕشتن به‌ جاڤا
وەرگێڕی زمانی جاڤا
جاڤا و جاڤا سکریپت
نموونه‌ی به‌رنامه‌یه‌ک
سه‌رچاوه‌

پێشەکی‌
جاڤا زمانێکی ئاستبەرزی بەرنامەداڕشتنە، لەسەر تەکنیکی (تەنخوازیی OOP) دادەڕێژرێت، وەک بەرهەمێکی نوێی کۆمپانیای (سەن مایکرۆسیستەمز Sun Microsystems) لە نێوانی ساڵەکانی ١٩٩١ و ١٩٩٢ دا پەرەی پێ دراوە. وەشانە سەرەتاییەکانی بە (Oak – Object Application Kernel) ناو دەبرا.لە ساڵی ١٩٩٥ دا، ناوی زمانەکەیان ناونا جاڤا.
ئەمڕۆ جاڤا بەهۆی کڕینی (کۆمپانیای سەن سیستمز)ەوە لە لایەن ئۆراکڵەوە، بووەتە بەشێک لە بەرهەمەکانی (ئۆراکڵ Oracle) و وەشانی نۆیەمی ئەم زمانە دوا وەشانێتی.

زمانی جاڤا بەهۆی پشت نەبەستن بەجۆری سیستەمی کارپێکردن، زوو جێی خۆی کردەوە، بەتایبەتی لەو دەمەدا کە لینوکس لە وەشانە سەرەتاییەکانیدا هەنگاوی گەورەی نا، چ وەکو سیستەمێکی ڕاژەکار و چ وەکو سەکۆیەک بۆ ڕاژەی زمانێکی وەکو جاڤا.
لەم وتارەدا هەوڵ ئەدەم کە ئاکارەکانی زمانی جاڤا بناسێنم، هاوکات بۆ دەست پێ کردن و فێربوون چمکێک بخەمە ڕوو کە بەرنامەداڕێژی کورد بتوانن سوودی لێ ببینن و وەکو هەنگاوێکی سەرەتا و ئاشنابوون بە تایبەتمەندییەکانی.
بۆ تێگەیشتن لەم بابەتە، پێویستە:
– بزانیت چۆن کۆمپیوتەر بەکار دەهێنیت.
– بزانیت فرمان بدەیت بە سیستەمەکەت لە ڕێگەی شێڵەوە.
– ئەلفوبێی بەرنامەداڕشتن بزانیت باشترە.
– زانیاریت لەسەر تەنخوازیی و نواندنی تەنەکان هەبێ باشترە.

به‌رنامه‌ داڕشتن به‌ زمانی جاڤا‌

جاڤا زمانێکی ئاستبەرزە، هاوشێوەی (C, C#, Pascal)و ئەوانیتر. زمانی جاڤا لەسەر زمانەکانی (C, C++) بنچینەی گرتووە، بەڵام نیشاندەری تیا نیە، (garbage-collection)ی لەخۆ گرتوە کە خۆکارانە هەموو تەن و لیستەکان پاش تەواوبوونی بەکارهێنانیان لا دەبات و بیرگەیان لێ پاک دەکاتەوە. کۆمەڵێک کتێبخانە و سەکۆی ڕایەڵە لەم زمانەدا پشتیوانی تەواوی کارکردن لەگەڵ تۆڕی ئینتەرنێت و پرۆتۆکۆلەکانی گواستنەوە ڕێک دەخەن. ئەم کتێبخانانە ئاسانکاری لە داڕشتین مامەڵەکردن لەگەڵ (HTTP, FTP و هیتر) دەکەن.
لێرەوە ئەبێت ئەوەش بڵێن بەهۆی کارکردنیەوە لەم بوارەدا، هەموو هەلومەرجێکی پاراستن و نهێنی کردنی زانیارییەکانیش ئەنجام ئەدات، کە تۆ خەمی شێواوی مامەڵەکردنی و ئاڵوگۆڕی زانیاری هەستیارت نامێنێ لە وێبدا بە تایبەتی، کە زۆرکات کارتی متمانە و هەژماری بانک و زانیاریی خۆت ئاڵوگۆڕ دەکەیت. جاڤا لە ڕێگەی (sandbox security) و نهێنیکردنەوە (encryption) داتاکات دەپارێزێت و هیچی لێ کەم و زۆر نابێ.

زمانی جاڤا پشتبەست نیە بە جۆرە سەکۆیەک، بەرنامەکانی لەسەر هەموو سیستەمێکی کارپێکردن جێبەجێ دەبێت. ئەمەش لە ڕێگەی کتێبجانەی جیاجیا بۆ سازدانی لە کاتی جێبەجێبوون (runtime) دا. بە وەرگێڕانی بەرنامەی جاڤا، زنجیرەکۆدی (bytecode) لێ پەیدا دەبێت، کە سەربەستانە لەسەر هەموو جۆرە سیستەمێک کاری پێ دەکرێت بەهۆی ئامێری گریمانەیی جاڤا (JVM) کە نێوانێکی گونجاو لەگەڵ سیستەمەکان دروست دەکات.

www.zkurd.org

ماوەتەوە بوترێت، کە زمانی جاڤا، ئامراز و کتێبخانەکانی هەموو خۆڕایین. چەندین سەرچاوە و نموونەی خۆڕایش لە وێبدا بەردەستن بۆ بەرنامەداڕێژەران.

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

abstract
assert
boolean
break
byte
case
catch
char
class
const
continue
default
do
double
else
enum
extends
final
finally
float
for
goto
if
implements
import
instanceof
int
interface
long
native
new
package
private
protected
public
return
short

static
strictfp
super
switch
synchronized
this
throw
throws
transient try
void
volatile
while

زمانی کۆمپیوتەر ئینگلیزیە و وشەپارێزراوەکانی هەموو زمانەکانی بەرنامەداڕشتن لێوەی وەرگیروان. ئەو وشانەش چونکە بۆ هەمان کار بەکارچوون لە زمانی ئاخاوتندا، تێگەیشتن و لەبەرکردنیشیان ئاسانە. بۆ نموونە وشەی (private) کە بە واتای تایبەت دێت، بەرانبەر هەر گۆڕراوێک یان پێناسەکراوێک دابنرێت لە بەرنامەدا، ئەزانین کە ئەوە ڕوونکردنەوەیە بۆ ئاکارێکی تایبەتی.

ئامێری گریمانەیی جاڤا Java Virtual Machine (JVM)

نەرمەکاڵایەکی جێبەجێ کارە بۆ کۆدی جاڤا، لە ڕێگەیەوە دەتوانرێت بەرنامەکان لەسەر ناوەندی جیاجیا جێبەجێ بکرێن و کاری خۆیان ئەنجام بدەن. بەشێکە لە ژینگەی کاتی جێبەجێبوونی جاڤا(Java Runtime Environment)، کاری ئەم ئامێرە گریمانەیە بریتیە لە بەجێهێنانی (بایتکۆد bytecode) لەسەر سەکۆ جیاجیاکان. لە پێکهاتەکانی ئەم ئامێرە گریمانەییە:

– بارکەری پۆلەکان (class loader): هەڵدەستێت بە خوێندنەوەی پەڕگەی (.class) و بایکۆدەکانیان لە بیرگەی سەرەکیدا لەبەشی ڕێگەچارەکاندا (method) پاشەکەوت دەکات. – (heap): کە تەنەکان کۆدەکاتەوە. هەر پۆلێک تەنێکی بەرانبەر دروست دەکرێت و لیرەدا کۆگا دەکرێن بۆ ڕێکخستنیان.
– (stack): کە بۆ گێرانەوە و وەرگرتنی نرخە گۆڕاوەکان هەڵدەسوڕێ.
– تۆمارکەر (PC Registers): کە دەریدەخات ئیستا چ ڕێنوێنیەک جێبەجێ دەبێ و دوای ئەویش چ فرمانێکی تر نۆرەی جێبەجێ کردنە. بێگومان هەر فرمانێک سەر بە کارێک یان (ئەرک thread)ێکی تایبەتیە، بەو شێوەیە هەر ئەرکێکیش تۆمار و ژمارەی خۆی وەدەگرێت و دەناسرێتەوە بۆ جێبەجێ کردنی.

هیتر…

www.zkurd.org

که‌ره‌سه‌کانی به‌رنامه‌ داڕشتن به‌ جاڤا

١. ئامرازی پەرەپێدانی جاڤا Java Development Kit (JDK)
نەرمەکاڵای پەرەپێدانی بەرنامەکانە بە زمانی جاڤا، ئامرازێکی گونجاوە بۆ دروست کردنی داوانامە (Application) و ئەپلێت (Applet). بۆ داگرتنی دوا وەشانی سەردانی ماڵپەڕی ئۆراکڵ بکە (http://www.oracle.com/technetwork/java/javase/downloads/index.html). ئەم ئامرازە دەوروبەری بەجێهێنانی جاڤای (JRE) لەخۆ گرتووە. بۆ هەموو سیستەمە جۆراوجۆرەکان وەشانی تایبەتی خۆی هەیە. تۆش بۆ ئەو سیستەمەی دەتەوێت، وەشانی گونجاو دابگرە.
بەهۆی ئەم ئامرازەوە دەتوانیت بەرنامەکانت وەرگێریت و جێبەجێیان بکەیت.
٢. نووسەر یان (دەستکاریکەر Editor)ـێک کە بتوانی سەرچاوەی کۆدەکانتی تیا بنووسیت و وەریبگێڕیت، یەکێک لەمانە:
– ئێکلیپسە (www.eclipse.org)
– نێت بینس (netbeans.org)
– نۆتپاد++ لەگەڵ (پێوەکراوی زمانی جاڤا). (https://sourceforge.net/projects/npcompilejava) هەر کامێک لەو بەرنامانە بەکاربهێنیت، دەتوانیت سەرچاوەی کۆدەکەت وەربگێڕیت و بێ گرفت.

وەرگێڕی زمانی جاڤا

سەرچاوە و کۆدە دڕێژراوەکانی بەرنامەکەت لە پەڕگەیەکدا پاشەکەوت دەکرێن کە درێژکراوەی (.java)ی هەڵگرتوە. ئەم جۆرە پەڕگانە وەکو دەقی ئاسایین کە بێ گرفت ناوەڕۆکەکەی دەبینرێ و دەخوێنرێتەوە. وەرگێڕ دێت لەم کۆدانە دەکۆڵێتەوە و پشتبەست بە ڕێزمانی زمانی جاڤا و جۆری چارەسەری سیستەمی کارپێکردنەکە، هەڵەدۆزی دەکات و دەیگۆڕێت بۆ (بایتکۆد bytecode) لە پەڕگەی جۆری (.class)دا.
بایتکۆد زنجیرەیەک ڕێنوێنی و فرمانن کە لە باوەشی ئامێری گریمانەیی جاڤا (JVM)دا خانەخوێ دەبن و جێبەجێ دەکرێن.
بێگومان وەرگێڕان بۆ ئەوەیە کە لە سەرچاوەی کۆدەکانمان کە نووسیومانە، کۆدێک دروست ببێ کە ئامێرەکە لێی تێ بگات و فرمانەکان جێبەجێی بکات.

جاڤا و جاڤاسکریپت

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

نموونه‌ی به‌رنامه‌یه‌ک

بەرنامەی (سڵاو لە جیهان Hello World) سادەترین بەرنامەیە کە دەقێک لەسەر کۆنسۆڵەکە پیشان ئەدات.
بەم شێوەیە بەرنامەکە دەست پێ دەکەین:
١. بەرنامەکە لە نوووسەرێکدا (وەکو لە سەرەوە ئاماژەی پێدرا) دەنووسینەوە

class HelloWorld
{
public static void main(String[] args)
{
System.out.println(“hello, world”);
}
}

٢. پاشان لە پەڕگەیەکدا بەناو و درێژکراوەی (hello.java) پاشەکەوتی بکە.
٣. بەرنامەکە وەربگێڕە. لە سەر کۆنسۆڵەکەتەوە بەمشێوەیە وەرگێڕی جاڤا بۆ بەرنامەکەت بەکاربهێنە
javac hello.java
ئەگەر سەرکەوتوو نەبوو، ئەوا پەیامی ئاگادارکردنەوە دەنوسێت کە هەڵە لە کویادا کراوە. ئەگەریش هەڵە نەبێت، بایتکۆد دروست دەکات و دەتوانیت بێخەم بچیتە هەنگاوی دواتر.
٤. بەرنامەکە جێبەجێ دەکەین. لە ڕێگەی فرمانی:
java hello
بەرنامەکە جێبەجێ دەبێت.

سەرچاوە
١. جاڤا دوای ٢٢ ساڵ (http://i-programmer.info/news/80-java/10791-java-turns-22-today.html).
٢. بڕوانە پەڕەی فەرمی جاڤا (https://www.oracle.com/java)
٣. فێربوونی زمانی جاڤا – لە وانەکانی ئۆراکڵ
(http://www.oracle.com/technetwork/java/index-138747.html)

کۆتایی بەشی یەکەم

وەڵامێک بنووسە

پۆستی ئەلیکترۆنییەکەت بڵاوناکرێتەوە. خانە پێویستەکان دەستنیشانکراون بە *