یکی از اشتباهات رایج در مقوله برنامه نویسی یکسان دانستن جاوا و جاوااسکریپت است. هر دو زبان برنامه نویسی هستند ولی می توان گفت تنها شباهت میان این دو اشتراک کلمه “جاوا” در نام هر دو است. در این سری مقاله ها، سعی بر این است که به معرفی جاوا و جاوااسکریپت پرداخته و تفاوت های میان این دو را بررسی کنیم.
جاوا یک زبان برنامه نویسی است که از زبان C مشتق شده و ساختاری مشابه با C و ++C دارد. بطور خلاصه، از ویژگی های بارز جاوا می توان به موارد زیر اشاره کرد:
۱) جاوا یک زبان ساده است: اگرچه جاوا بعد از C و ++C شکل گرفته است اما پیچیدگی های آن ها را ندارد. یکی از ویژگی هایی برای جاوا لازم است اما در ++C/C دیده نمی شود garbage-collection facility یا امکان پاک سازی است که بطور خودکار اشیاء را پاک می کند.
۲) جاوا یک زبان شی گراء است: تمرکز شی گرایانه جاوا به برنامه نویسان کمک می کند تا از جاوا برای حل مشکلات استفاده نمایند و این امر با یک زبان ساختاربندی شده مانند C کاملاً متفاوت است.
۳) جاوا یک زبان مطمئن است: برنامه های جاوا در محیط های شبکه ای/گسترده مورد استفاده قرار می گیرند. ارآنجایی که برنامه های جاوا قابلیت انتقال دارند و بر پلتفرم های متعدد شبکه اجرا می شوند، این امر حائز اهمیت است که این پلتفرم ها در برابر کدهای مخرب محافظت شده و از گسترش ویروس ها، دزدی اطلاعات شخصی یا انجام اقدامات مخرب جلوگیری شود. در همین راستا، جاوا باید از ویژگی های امنیتی از قبیل مدل امنیتی sandbox و کدگذاری بهره مند باشد. با وجود این مشخصات، از ورود ویروس ها و کدهای خطرناک جلوگیری می شود.
۴) جاوا یک زبان معماری خنثی است: شبکه ها، بوسیله معماری های مختلف پلتفرم ها را به هم متصل می سازند و این معماری ها بر اساس سیستم عامل ها و میکروپردازشگرهای متعدد می باشند. نمی توان از جاوا انتظار ایجاد دستورالعمل ها با پلتفرم ویژه را داشت که بعدها این دستورات توسط تمامی پلتفرم ها قابل فهم باشند. درعوض، جاوا دستورالعمل های مستقل از بایت کد را ایجاد می کنند که برای هر پلتفرمی قابل فهم و تفسیر است.
۵) جاوا یک زبان پرتابل یا قابل حمل است: معماری خنثی جاوا منجر به قابل حمل بودن آن نیز می شود. علاوه براین، مجموعه جاوا در قابل حمل بودن آن نیز نقش دارد. قابلیت حمل جاوا بدین معناست که بایت کدهای جاوا بر هر نرم افزار قابل اجراست.
۶) جاوا یک زبان چند ریسه ای است: برای اجرای برنامه هایی که باید چند کار را با هم انجام دهند جاوا بخوبی از مفهوم اجرای ریسه ای پشتیبانی می کند.
این نسخه برای توسعه برنامه های Client-side یا سمت کاربر می باشد که در دسکتاپ اجرا می شوند یا برای اپلت ها (Applet) که در مرورگرهای وب اجرا می شوند.
این نسخه برای توسعه برنامه های سازمانی و با کاربری زیاد بکار می رود. برنامه های سمت سرور یا Server-side که اصطلاحاً سرولت نامیده می شوند مشابه اپلت ها بوده که بجای کاربر، بر سرور اجرا می شوند.
این نسخه برای توسعه MIDlet ها، بکار می رود که برنامه های جاوا مربوط به وسایل پرتابل را اجرا می کند. علاوه براین، نسخه ME برای Xlet ها هم کاربرد دارد.
منبع: www.javaworld.com