آشنایی با زبان های JVM
Java Virtual Machine و یا به اختصار JVM, یک platform مدرن است که بر روی آن میتوان نرم افزار ها را ایجاد و منتشر کرد. همانطور که از نام آن مشخص است, این platform برای زبان هایی است که با استفاده از زبان جاوا و یا زبان هایی که کد های آن ها به Java Byte Code تبدیل میشوند, قابل استفاده است.
تاریخچه
در سال ۱۹۹۵, شرکت Sun Microsystems اولین نسخه جاوا و JVM را منتشر کرد. این زبان در ابتدا برای ایجاد Internet Applications ایجاد شد. قابلیت اجرا بر روی تمام سیستم ها, یکی از اهداف پایه ای ایجاد زبان های JVM بود که این امر را یکی از مهم ترین عوامل محبوبیت آن میتوان دانست. برای رسیدن به این هدف, جاوا فرمت اجرایی مخصوص به خود, Java Byte code را انتخاب کرد. برای اجرای Java Byte Code ها باید از JVM استفاده شود. در این مقاله به معرفی پنج زبان مشهور JVM میپردازیم.
کاربرد های JVM
در این مقاله سه مورد از استفاده های JVM را بررسی میکنیم:
- Web Application : وقتی کارایی ملاک باشد, زبان های JVM یکی از بهترین انتخاب ها برای پیاده سازی Web Application ها است. وقتی Web Application ها به درستی پیاده سازی شوند, خواسته های پروژه هایی با ابعاد وسیع را به خوبی پشتیبانی میکند.
- Big Data Analysis : یکی از مباحث بسیار پرکاربرد دنیای تکنولوژی امروز Big Data است. Hadoop و Spark دو تکنولوژی بسیار مشهور در این امر هستند که با استفاده از زبان های JVM ایجاد شده اند. در حقیقت Hadoop عمدتا با جاوا و Spark با Scala نوشته شده است.
- Internet of Thing (IOT) : همانطور که اشاره شد, یکی از مهم ترین اهداف جاوا, اجرا شدن آن برروی تمام سیستم ها است. بنابراین زبان های JVM یکی از بهترین گزینه ها برای پیاده سازی بر روی Embedded Device ها است.
Java
جاوا چندین توزیع دارد و هریک در سطوح گوناگونی قابل استفاده است. این توزیع ها به مرور زمان تکمیل و یا کمرنگ تر شده اند اما با این حال هنوز مورد استفاده قرار میگیرند. توزیع های جاوا به شرح زیر است:
- Java Standard Edition (JavaSE)
- Java Enterprise Edition (JavaEE)
- Java Micro Edition (JavaME) : تا پیش از رشد Android و IOS, یکی از مشهور ترین سیستم عامل های گوشی های همراه Java بوده است. اما با رشد این سیستم عامل ها, استفاده از جاوا به عنوان سیستم عامل تلفن های همراه بسیار کمتر شد. با رشد تکنولوژی IoT, زبان JavaME جانی دوباره گرفت.
مقالات پیرامون JavaEE و JavaSE را میتوانید در اینجا مشاهده کنید.
Scala
Scala یک زبان برنامه نویسی بسیار قدرتمند است که به خوبی از Functional programming پشتیبانی میکند. علاوه بر Functional Programming, به خوبی از شی گرایی نیز پشتیبانی میکند. Scala, با استفاده از scalac Compiler, کد ها را به Java Byte code تبدیل میکند. Scala از Library های مختص به خود استفاده میکند که به عنوان مکمل Java Class Library ها است. Scala Library ها شامل Class هایی است که برای استفاده در زبان scala بهینه شدهاند. همانند باقی زبان های JVM این زبان مجموعه کلاس های مختص به خود را دارد و با کلاس های زبان جاوا نیز سازگار است.
Clojure
زبان Clojure بیشتر از زبان Lisp الهام گرفته است. برخلاف زبان جاوا و Scala, زبان Clojure یک زبان dynamic است. متغیر ها نوع ثابتی ندارد و در هنگام Compile, عمل type checking صورت نمیگیرد. همچنین باید اشاره کرد که زبان Clojure, یک زبان شی گرا نیست.
Kotlin
Kotlin یک زبان برنامه نویسی است که توسط شرکت JetBrains طراحی شده است. Kotlin مانند جاوا, یک زبان statically typed است و همچنین از شی گرایی پشتیبانی میکند و قابلیت procedural programming را نیز دارد. منظور از Procedural programming این است که متغیر ها و توابع, بدون اینکه کاملا درون کلاس پیاده سازی شوند, میتوانند تعریف شوند. همچنین مانند باقی زبان های شی گرا, Functional Programming را هم پشتیبانی میکند.
Groovy
Groovy برای ایجاد یک زبانی مشابه python در JVM ایجاد شد. این زبان به صورت dynamic type است. همچنین متد ها برخلاف اینکه در زمان Compile فراخوانی شوند, در هنگام Runtime فراخوانی میشوند. در زبان Groovy میتوان کلاس هایی را به صورت statically type تعریف کرد. این کلاس ها در زمان Compile بررسی میشوند.
در این مقاله سعی بر این شد تا پنج زبان مشهور JVM را شناخته و کاربرد های آن را مورد بررسی قرار دهیم.
با ما همراه باشید.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.