PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : چرا جاوا زبانی جالب است؟



sunyboy
09-25-2008, 02:15 AM
در یکی از مقالات شرکتsun (http://iranictnews.ir/tags/7631/T______sun.htm)، زبان جاوا (http://iranictnews.ir/tags/44383/T______زبان-جاوا.htm) را با این خصوصیات شرح می دهد: جاوا (http://iranictnews.ir/tags/11448/T______جاوا.htm) یک زبان ساده (http://iranictnews.ir/tags/253965/T______زبان-ساده.htm)، شی گرا (http://iranictnews.ir/tags/42524/T______شی-گرا.htm)، توزیع شده، تفسیر شده (http://iranictnews.ir/tags/253977/T______تفسیر-شده.htm)، قدرتمند، ایمن، با معماری خنثی (http://iranictnews.ir/tags/253972/T______معماری-خنثی.htm)، قابل حمل (http://iranictnews.ir/tags/252473/T______قابل-حمل.htm)، با عملکرد سطح بالا (http://iranictnews.ir/tags/253974/T______عملکرد-سطح-بالا.htm)چند نخ کشی شده (http://iranictnews.ir/tags/253975/T______چند-نخ-کشی-شده.htm) و پویا است.

sun (http://iranictnews.ir/tags/7631/T______sun.htm) تصدیق می کند که به طور قطع این کلمات رشته هایی از واژه های متداول در زبان برنامه نویسی هستند، اما حقیقت این است که این واژه ها به طور ماهرانه ای خصوصیات این زبان را شرح می دهند. حال به برخی از خصلت های جاوا (http://iranictnews.ir/tags/253981/T______خصلت-های-جاوا.htm) در پشت این واژه ها می پردازیم.


شی گرا (http://iranictnews.ir/tags/42524/T______شی-گرا.htm)object oriented (http://iranictnews.ir/tags/108053/T______object-oriented.htm) :
جاوا (http://iranictnews.ir/tags/11448/T______جاوا.htm) یک زبان برنامه نویسی شی گرا (http://iranictnews.ir/tags/42524/T______شی-گرا.htm) است. برای یک برنامه نویس این به این معنا است که به جای فکر کردن به قسمت های رویه (http://iranictnews.ir/tags/1632/T______رویه.htm) برنامه، باید به کاربرد داده ها (http://iranictnews.ir/tags/253985/T______کاربرد-داده-ها.htm) و روش هایی که روی آن داده ها عمل می کنند، توجه شود.اگر شما به برنامه نویسی با اعلان رویه در c (http://iranictnews.ir/tags/253986/T______اعلان-رویه-در-c.htm) عادت کرده اید، ممکن است دریابید که به هنگام استفاده از جاوا (http://iranictnews.ir/tags/253988/T______استفاده-از-جاوا.htm) مجبور به تغییر در روش و چگونگی برنامه تان هستید. هنگامی که فهمیدید این الگوی جدید (http://iranictnews.ir/tags/253990/T______الگوی-جدید.htm) چقدر قدرتمند است، به سرعت (http://iranictnews.ir/tags/118137/T______سرعت.htm) با آن هماهنگ می شوید . در یک سیستم شی گرا (http://iranictnews.ir/tags/253991/T______سیستم-شی-گرا.htm)، یک کلاس (http://iranictnews.ir/tags/253992/T______کلاس.htm)مجموعه ای از داده ها (http://iranictnews.ir/tags/253993/T______مجموعه-ای-از-داده-ها.htm) و روش هایی است که روی آن داده عمل می کنند.

همراه بودن داده ها و متد ها (http://iranictnews.ir/tags/253994/T______همراه-بودن-داده-ها-و-متد-ها.htm)رفتار و حالت یک شی (http://iranictnews.ir/tags/253995/T______رفتار-و-حالت-یک-شی.htm) را بیان می دارد. کلاس (http://iranictnews.ir/tags/253992/T______کلاس.htm) ها به صورت سلسله مراتبی (http://iranictnews.ir/tags/253998/T______سلسله-مراتبی.htm) مرتب شده اند، بنابر این یک زیر کلاس (http://iranictnews.ir/tags/253999/T______زیر-کلاس.htm) می تواند رفتار هایی را از کلاس بالاتر (http://iranictnews.ir/tags/254000/T______کلاس-بالاتر.htm) به ارث ببرد. یک کلاس سلسله مراتبی (http://iranictnews.ir/tags/254002/T______کلاس-سلسله-مراتبی.htm) همیشه یک کلاس ریشه (http://iranictnews.ir/tags/254003/T______کلاس-ریشه.htm) دارد که کلاس (http://iranictnews.ir/tags/253992/T______کلاس.htm)ی است با رفتار های کاملا عمومی .

جاوا (http://iranictnews.ir/tags/11448/T______جاوا.htm) به همراه (http://iranictnews.ir/tags/12/T______همراه.htm) دسته گسترده ای از کلاس (http://iranictnews.ir/tags/253992/T______کلاس.htm) هایی است که در بسته هایی مرتب شده اند و شما می توانید از آنها در برنامه خود استفاده کنید. یک شی کلاس (http://iranictnews.ir/tags/254004/T______شی-کلاس.htm)(in (http://iranictnews.ir/tags/2000/T______in.htm) the java.lang (http://iranictnews.ir/goto/?url=http%3A%2F%2Fjava.lang) package) به عنوان ریشه کلاس سلسله مراتبی جاوا (http://iranictnews.ir/tags/254006/T______ریشه-کلاس-سلسله-مراتبی-جاوا.htm) انجام وظیفه می کند .
درست است که جاوا (http://iranictnews.ir/tags/11448/T______جاوا.htm) طوری طراحی شده است که مثل c++ (http://iranictnews.ir/tags/254008/T______c--.htm) باشد و خاصیت (http://iranictnews.ir/tags/102715/T______خاصیت.htm) های آن را داشته باشد، اما هنگامی که با آن کار کنید خواهید فهمید که بسیاری از پیچیده گی های آن زبان را از بین برده است .
اگر شما یک برنامه نویس c++ (http://iranictnews.ir/tags/254008/T______c--.htm) هستید حتما لازم است که ساختار های شی گرایی در جاوا (http://iranictnews.ir/tags/254011/T______ساختار-های-شی-گرایی-در-جاوا.htm) را به دقت مطالعه کنید. اگرچه ترکیب و شیوه دستورات آن تقریبا شبیه c++ (http://iranictnews.ir/tags/254008/T______c--.htm) است، اما رفتار های آن خیلی مشابه نیست .

[/URL]
[URL="http://iranictnews.ir/goto/?url=http%3A%2F%2Fdev.ir%3Cbr%3E"]
(http://iranictnews.ir/goto/?url=http%3A%2F%2Fdev.ir%3Cbr%3E)

sunyboy
09-25-2008, 02:16 AM
تفسیر شده (http://iranictnews.ir/tags/253977/T______تفسیر-شده.htm)in (http://iranictnews.ir/tags/2000/T______in.htm)terpreted :
جاوا (http://iranictnews.ir/tags/11448/T______جاوا.htm) یک زبان تفسیر شده (http://iranictnews.ir/tags/253969/T______زبان-تفسیر-شده.htm) است. کامپایلر جاوا (http://iranictnews.ir/tags/254015/T______کامپایلر-جاوا.htm) به جای ایجاد کد محلی ماشین (http://iranictnews.ir/tags/254017/T______ایجاد-کد-محلی-ماشین.htm)، کد بایتی (http://iranictnews.ir/tags/254020/T______کد-بایتی.htm) برای ماشین مجازی جاوا (http://iranictnews.ir/tags/49520/T______ماشین-مجازی-جاوا.htm) ایجاد می کند. برای اجرای دقیق برنامه، از مفسر جاوا (http://iranictnews.ir/tags/254022/T______مفسر-جاوا.htm) برای اجرای کد های بایتی کامپایل شده (http://iranictnews.ir/tags/254024/T______اجرای-کد-های-بایتی-کامپایل-شده.htm) استفاده می شود. به دلیل اینکه کدهای بایتی جاوا (http://iranictnews.ir/tags/11448/T______جاوا.htm) به نوع کامپیوتر (http://iranictnews.ir/tags/254028/T______نوع-کامپیوتر.htm) بستگی ندارند، برنامه های جاوا (http://iranictnews.ir/tags/11448/T______جاوا.htm) می توانند روی هر نوع کامپیوتر (http://iranictnews.ir/tags/254028/T______نوع-کامپیوتر.htm)ی که jvm (http://iranictnews.ir/tags/254030/T______jvm.htm) (java (http://iranictnews.ir/tags/38483/T______java.htm) )virtual machine (http://iranictnews.ir/tags/254029/T______virtual-machine.htm) را دارند، اجرا شوند . در محیط تفسیر شده (http://iranictnews.ir/tags/254032/T______محیط-تفسیر-شده.htm)، مرحله لینک استاندارد (http://iranictnews.ir/tags/254033/T______لینک-استاندارد.htm) توسعه برنامه از دید کاربر (http://iranictnews.ir/tags/254035/T______دید-کاربر.htm) پنهان است. اگر جاوا (http://iranictnews.ir/tags/11448/T______جاوا.htm) تنها یک مرحله لینک (http://iranictnews.ir/tags/254036/T______مرحله-لینک.htm) داشت، فقط بارگذاری کلاس جدید (http://iranictnews.ir/tags/254037/T______بارگذاری-کلاس-جدید.htm) به محیط پردازش (http://iranictnews.ir/tags/254039/T______محیط-پردازش.htm) می شد که این خصوصیت با چرخه کامپایل-لینک-اجرا (http://iranictnews.ir/tags/254040/T______چرخه-کامپایل-لینک-اجرا.htm) ی آرام و طاقت فرسای زبان هایی مانند c یا c++ (http://iranictnews.ir/tags/254008/T______c--.htm) در تضاد است .

sunyboy
09-25-2008, 02:17 AM
معماری خنثی (http://iranictnews.ir/tags/253972/T______معماری-خنثی.htm) و قابل حمل (http://iranictnews.ir/tags/252473/T______قابل-حمل.htm):
به دلیل اینکه برنامه های جاوا (http://iranictnews.ir/tags/11448/T______جاوا.htm) در فرمت کد بایتی (http://iranictnews.ir/tags/254044/T______فرمت-کد-بایتی.htm) با معماری خنثی (http://iranictnews.ir/tags/253972/T______معماری-خنثی.htm)کامپایل شده (http://iranictnews.ir/tags/254027/T______کامپایل-شده.htm) اند، برنامه کاربردی جاوا (http://iranictnews.ir/tags/11448/T______جاوا.htm) می تواند در هر سیستمی اجرا شود.البته با این شرط که آن سیستم توانایی پیاده سازی ماشین مجازی جاوا (http://iranictnews.ir/tags/254046/T______پیاده-سازی-ماشین-مجازی-جاوا.htm) را داشته باشد. این مسأله تقریبا برای کاربردهای توزیع شده روی اینترنت (http://iranictnews.ir/tags/254047/T______کاربردهای-توزیع-شده-روی-اینترنت.htm) و یا دیگر شبکه های ناهمگن (http://iranictnews.ir/tags/254049/T______شبکه-های-ناهمگن.htm) مهم است. اما روش معماری خنثی (http://iranictnews.ir/tags/254050/T______روش-معماری-خنثی.htm) برای کاربردهای بر مبنای شبکه (http://iranictnews.ir/tags/254051/T______کاربردهای-بر-مبنای-شبکه.htm) مفید است .

به عنوان یک توسعه دهنده (http://iranictnews.ir/tags/254053/T______توسعه-دهنده.htm) برنامه های کاربردی، در بازار نرم افزاری امروز (http://iranictnews.ir/tags/254056/T______بازار-نرم-افزاری-امروز.htm) ممکن است بخواهید مدل های کاربردی (http://iranictnews.ir/tags/254057/T______مدل-های-کاربردی.htm) خود را توسعه دهید، به طوری که بتواند رویpc (http://iranictnews.ir/tags/666/T______pc.htm)، مکینتاش (http://iranictnews.ir/tags/3609/T______مکینتاش.htm) و سیستم عامل unix (http://iranictnews.ir/tags/35028/T______سیستم-عامل-unix.htm) اجرا شود .با وجود گونه های مختلف unix (http://iranictnews.ir/tags/13242/T______unix.htm) win (http://iranictnews.ir/tags/2000/T______in.htm)dows روی pc (http://iranictnews.ir/tags/666/T______pc.htm) و مکینتاش (http://iranictnews.ir/tags/3609/T______مکینتاش.htm) قوی جدید، رفته رفته تولید نرم افزار (http://iranictnews.ir/tags/10949/T______تولید-نرم-افزار.htm) برای همه انواع این کامپیوتر ها (http://iranictnews.ir/tags/3230/T______کامپیوتر-ها.htm) سخت می شود. اگر شما برنامه تان را در جاوا (http://iranictnews.ir/tags/11448/T______جاوا.htm) بنویسید می تواند روی همه این کامپیوترها (http://iranictnews.ir/tags/20190/T______کامپیوترها.htm) اجرا شود. در حقیقت تفسیر شده بودن جاوا (http://iranictnews.ir/tags/254059/T______تفسیر-شده-بودن-جاوا.htm) و تعریف یک استاندارد، معماری خنثی (http://iranictnews.ir/tags/253972/T______معماری-خنثی.htm) داشتن و فرمت کد بایتی (http://iranictnews.ir/tags/254044/T______فرمت-کد-بایتی.htm) آن از بزرگترین دلایل قابل حمل بودن (http://iranictnews.ir/tags/254060/T______دلایل-قابل-حمل-بودن.htm) آن به شمار می آیند . اما جاوا (http://iranictnews.ir/tags/11448/T______جاوا.htm) باز از این هم بیشتر گام برمی دارد، با اطمینان حاصل کردن از اینکه هیچیک از جنبه های وابستگی اجرایی زبان (http://iranictnews.ir/tags/254061/T______جنبه-های-وابستگی-اجرایی-زبان.htm) را ندارد. برای مثال جاوا (http://iranictnews.ir/tags/11448/T______جاوا.htm) به طور صریح اندازه هریک از انواع داده (http://iranictnews.ir/tags/254062/T______انواع-داده.htm) را تعریف می کند که این با c تفاوت دارد، برای مثال هریک از انواع صحیح (http://iranictnews.ir/tags/254064/T______انواع-صحیح.htm) می تواند بسته به نوع کامپیوتر (http://iranictnews.ir/tags/254028/T______نوع-کامپیوتر.htm)16-32 یا 64 بیت طول داشته باشد . هنگامی که به صورت تکنیکی امکان نوشتن برنامه های غیر قابل حمل (http://iranictnews.ir/tags/252473/T______قابل-حمل.htm) در جاوا (http://iranictnews.ir/tags/11448/T______جاوا.htm) فراهم شد، جلوگیری از چند خاصیت (http://iranictnews.ir/tags/102715/T______خاصیت.htm) وابسته به نوع کامپیوتر (http://iranictnews.ir/tags/254028/T______نوع-کامپیوتر.htm) که توسط جاوا (http://iranictnews.ir/tags/11448/T______جاوا.htm) api تولید شده و به طور قطع قابل حمل (http://iranictnews.ir/tags/252473/T______قابل-حمل.htm) نوشته شده است، آسان است . یک برنامه جاوا (http://iranictnews.ir/tags/11448/T______جاوا.htm) به تولید کنندگان نرم افزار (http://iranictnews.ir/tags/151460/T______تولید-کنندگان-نرم-افزار.htm) کمک می کند تا از قابل حمل بودن کد (http://iranictnews.ir/tags/254067/T______قابل-حمل-بودن-کد.htm) هایشان اطمینان حاصل کنند.

برنامه نویسان فقط برای پرهیز از دام غیر قابل حمل (http://iranictnews.ir/tags/252473/T______قابل-حمل.htm) بودن برنامه احتیاج به یک تلاش ساده دارند که شعار تجارتی شرکتsun (http://iranictnews.ir/tags/7631/T______sun.htm) را زنده نگهدارند و آن شعار این است : « یک بار بنویس، همه جا اجرا کن»


منبع:dev.ir
(http://iranictnews.ir/goto/?url=http%3A%2F%2Fdev.ir%3Cbr%3E)