منو
 صفحه های تصادفی
همدردی رهبران دینی با مردم
نابودی تدریجی صوفیان در دولت صفوی
سرگذشت ریاضیات 1
زیرخانواده زبان های هند و ایرانی
نظرخواهی معاویه از سعید بن عاص درباره امام حسین علیه السلام
فکر نکردن به درد در ذن
آخرین سفارش پیامبر در مسجد
آمیبیاز
مارچوبه
خشم فاطمه علیهاسلام
 کاربر Online
1034 کاربر online
 : کامپیوتر
برای پاسخ دادن به این ارسال باید از صفحه قبلی اقدام کنید.   کاربر offline دبیر گروه کامپیوتر 3 ستاره ها ارسال ها: 1679   در :  دوشنبه 30 آذر 1394 [15:53 ]
  چرا جاوا زبانی جالب است؟
 

- مرور قسمت اول
ساده: Simple
جاوا یك زبان ساده است. طراحان جاوا سعی در این داشتند تا زبانی بوجود بیاورند كه برنامه نویسان بتوانند به سرعت آن را یاد بگیرند. بنابراین تعداد ساختارهای این زبان تقریبا كم است. هدف دیگر طراحی این زبان این بود كه به منظور راحتی انتقال آن، آن را طوری طراحی كنند كه برای عده‌ی زیادی از برنامه نویسان آشنا باشد. اگر شما یك برنامه نویس C یا C++ هستید، خواهید فهمید كه جاوا از بسیاری از ساختار های C و C++ استفاده می‌كند .
برای اینكه این زبان را هم به طور ساده و هم آشنا و ملموس و هم كوچك نگه دارند بسیاری از خصوصیات C و C++ را در آن حذف كردند. اینها خصوصیاتی بودند كه باعث می‌شدند برنامه نویسی ضعیفی صورت بگیرد یا آنهایی بودند كه به ندرت در برنامه استفاده می‌شدند. برای مثال جاوا از دستور goto استفاده نمی‌كند، در عوض از دستورهای break , continue در مواقع نیاز استفاده می‌كند.
جاوا از سر فایل‌ها(header files) استفاده نمی‌كند و پردازشگر C را هم حذف كرده است. به این دلیل كه جاوا یك زبان شی گرا است، ساختارهای C مثل struct , union از آن برداشته شده است. جاوا حتی بارگذاری مجدد و خواص چندگانه ارث بری از C++ را هم حذف كرده است. شاید مهم‌ترین پارامتر ساده بودن جاوا عدم استفاده این زبان از اشاره گرها باشد. اشاره گرها یكی از بیشترین موجودیت‌های دردسرساز در C , C++ هستند. چون جاوا ساختمان ندارد و آرایه‌ها و رشته‌ها اشیاء آن هستند، بنابراین احتیاجی به اشاره گر نیست. جاوا به طور خودكار آدرس‌دهی و دسترسی به محتوای موجود در یك آدرس را برای شما انجام می‌دهد.

قدرتمند: Robust
جاوا برای نوشتن نرم افزارهای قدرتمند و بسیار ایمن ساخته شده است. جاوا هنوز هم به طور قطع نرم افزار ها را تضمین نمی‌كند. تقریبا هنوز هم امكان نوشتن برنامه‌های مشكل ساز در جاوا وجود دارد، هرچند كه جاوا برخی از انواع مشخص خطاهای برنامه نویسی را حذف كرده كه به طرز چشمگیری نوشتن نرم افزارهای ایمن را آسان تر كرده است .
جاوا یك زبان تایپ شده قدرتمند است،‌ كه اجازه چك شدن مشكلات و خطاهای تایپی را در زمان كامپایل می‌دهد. جاوا بسیار قویتر از C++ تایپ شده است كه بسیاری از خصوصیات انعطاف پذیر در زمان كامپایل را از C به ارث برده است. مخصوصا هنگام اعلان توابع، جاوا به مدل اعلان صریح احتیاج دارد. این مسئله ما را از اینكه كامپایلر می‌تواند خطاهای زمان اعلان را بدست آورد، مطمئن می‌كند. مسئله‌ای كه منجر به ایجاد برنامه‌های ایمن‌تری می‌شود.
یكی از چیزهایی كه باعث شده كه جاوا ساده باشد عدم وجود اشاره‌گر ها ومحاسبات بر روی آنها است. این ویژگی حتی قدرت جاوا را هم با از میان بردن یك كلاس سراسری اشاره گر افزایش می‌دهد.

ایمن: Secure
یكی از دلایل پرطرفدار بودن جاوا این است كه یك زبان ایمن است. این ویژگی مخصوصا به خاطر طبیعت توزیع شده‌ی آن بسیار مهم است. بدون وجود امنیت شما قطعا نمی‌خواهید كه یك كد را از یك سایت تصادفی اینترنت بارگذاری كنید و به آن اجازه اجرا شدن روی كامپیوتر خودتان را هم بدهید. این دقیقا همان چیزی است كه مردم هرروز با یك كد جاوا انجام می‌دهند. جاوا به صورت ایمن طراحی شده و چندین لایه كنترل امنیت به وجود می‌آورد كه شما را در برابر كد های خطرساز محافظت می‌كنند و به كاربر اجازه می‌دهد كه برنامه‌های ناشناخته را با خیال راحت اجرا كند .
كدهای بایتی خراب یا خطرساز ممكن است از ضعف‌های اجرایی در مفسر جاوا سوء‌ استفاده كنند. لایه‌ای كه در اینجا ما را به طور ایمن محافظت می‌كند، مدل جعبه شنی (Sand box) است: كدهای ناشناخته در یك جعبه شنی قرار می‌گیرند جایی كه می‌توانند به صورت ایمن اجرا شوند، بدون اینكه هیچ صدمه‌ای به بقیه اجزاء یا محیط جاوا بزنند .
وقتی یك برنامه كاربردی یا دیگر كدهای ناشناخته در جعبه شنی در حال اجرا است،‌ چند محدودیت در مورد كاری كه می‌تواند انجام دهد، وجود دارد. واضح‌ترین این محدودیت‌ها این است كه هیچ دسترسی به هیچ یك از فایل‌های محلی سیستم وجود ندارد. در جعبه شنی محدودیت دیگری هم وجود دارد كه به وسیله كلاس مدیریت امنیت اعمال می‌شود. این مدل در ابتدا از اینكه سیستم‌های امنیتی را نصب كرده‌اید یا نه، مطمئن می‌شود، چرا كه همه كلاسهای جاوا نیاز به عملیات حساسی مانند دسترسی به سیستم فایل را دارند . اگر فراخوانی به وسیله یك كد ناشناخته به صورت مستقیم یا غیر مستقیم انجام شد،‌ مدیر امنیت مورد استثناء‌ را می‌فرستد و عملیات صورت نمی‌گیرد .
و سرانجام در جاوا 1-1 یك راه حل ممكن دیگر برای مشكلات امنیتی وجود دارد، به وسیله ضمیمه كردن یك امضاء دیجیتالی به كد جاوا كه اصل آن كد می‌تواند به صورت پنهانی و نهفته ساخته شود. اگر شما اعتماد خود را به یك شخص یا یك سازمان مشخص كرده باشید، كدی كه امضاء آن هویت مورد اعتماد روی آن قرار دارد،‌ ایمن و مطمئن است. حتی زمانیكه در حال بارگذاری شدن در شبكه است و ممكن است حتی بدون جلوگیری توسط جعبه شنی اجرا شود.

عملكرد سطح بالا: High Performance
جاوا یك زبان تفسیر شده است ، بنابر این هرگز به سرعت زبان كامپایل شده‌ای مثل C نخواهد بود . كد C كامپایل شده 10 برابر سریع تر از كد های تفسیر شده‌ی جاوا اجرا می‌شود. اما قبل از اینكه به خاطر این موضوع مایوس شوید، آگاه باشید كه این سرعت بیشتر از آن چیزی است كه برای برنامه‌های پرسرعت، كاربردهایGUI (Graphical User Interface ) ، برنامه‌های برمبنای شبكه، جایی كه برنامه كاربردی معمولا آماده برای اجرا شدن است، انتظار برای كاربر كه یك دستوری اعمال كند و یا انتظار برای دریافت از شبكه، لازم است .
به علاوه قسمت‌هایی كه به سرعت‌های بالا نیاز دارند، كه كارهایی از قبیل الحاق رشته‌ها و مقایسه را انجام می‌دهند، با كد محلی جاوا اجرا می‌شوند .
علاوه بر این كارایی، بسیاری از مفسرهای جاوا اكنون شامل كامپایلرهای فقط در زمان ` just in time ` نیز هستند كه می‌تواند كدهای بایتی جاوا را برای هر نوعCPU در زمان اجرا به كد ماشین ترجمه كند.
اگر شما خواهان این هستید كه قابل حمل بودن كد ها را قربانی بهبود در سرعت آن كنید ، میتوانید بخش قابل توجهی از برنامه خود را در C و C++ بنویسید و از روش های مخصوص جاوا برای مشترك كردن با این كد محلی جاوا استفاده كنید.

چند نخ كشی شده: Multitbreaded
در یك برنامه كاربردی بر مبنای GUI شبكه‌ای، مثل مرورگر وب، تصور اینكه چند چیز بتوانند به طور همزمان اجرا شوند، آسان است. یك كاربر می‌تواند همزمان با اینكه دارد یك صفحه وب را می‌خواند به یك كلیپ صوتی گوش دهد و همزمان در پس زمینه مرورگر یك عكس را بارگذاری كند.
جاوا یك زبان چندنخ كشی شده است، كه از چندین رشته اجرایی (گاهی پردازش سبك وزن خوانده میشود) پشتیبانی می‌كند و می‌تواند چندین كار را انجام دهد. یكی از مزیت‌های چندنخ كشی شده این است كه عملكرد سطح بالایی برای كاربردهای گرافیكی برای كاربر فراهم می‌كند.
اگر شما سعی كرده اید كه با نخ ها در C و C++ كار كنید، می‌دنید كه كمی مشكل است. جاوا برنامه نویسی با نخ‌ا را بسیار آسان‌ر كرده است، با به وجود آوردن زبان درون ساخته شده‌ی كه از نخ‌ها پشتیبانی می‌کند. بسته jana.lang یك كلاس بوجود آورده است كه از روش هایی برای شروع و پایان یك نخ، و مرتب كردن ترتیب گره ها در میان چیزهای دیگر، پشتیبانی می‌كند .
به دلیل اینكه جاوا استفاده از نخ‌ها را بسیار ساده می‌كند، كلاس جاوا در شماری از جاها از این نخ‌ها استفاده می‌كند. برای مثال هر برنامه كاربردی كه انیمیشن اجرا می‌كند، از نخ ها استفاده كرده است.

  امتیاز: 0.00