سفارش تبلیغ
صبا ویژن

پایتون و جاوا چه تفاوت هایی دارند؟

پایتون و جاوا چه تفاوت هایی دارند؟

تفاوت های پایتون و جاوا

اگر تازه کار باشید و از کسی بپرسید که جاوا بهتر است یا پایتون، احتمالا به شما جواب میدهد که هردوی این زبان ها برای تازه کارها مناسب هستند. خب این که نشد جواب!

برای انتخاب یک زبان برنامه نویسی باید به موارد زیادی توجه کنید، این که هدفتان از برنامه نویسی چیست؟ مسیر راحت را ترجیح میدهید یا مسیر سخت؟ و.. 

در این مقاله ما شما را راهنمایی میکنیم تا از بین جاوا و پایتون یکی را انتخاب کنید به طوری که این انتخاب برای شما درست و موثر واقع شود.

در آخر باید بگویم که هر کدام از زبان ها را که انتخاب کردید به آن بچسبید و تا حدخوبی آن را یاد بگیرید و جلو ببرید سپس اگر خواستید میتوانید به زبان دیگری هم روی بیاورید.


ساختن و اجرا کردن برنامه ها


شاید بتوان گفت که بزرگترین تفاوت بین پایتون و جاوا در نحو ساخت و اجرای برنامه هاست. 

 

جاوا 


وقتی که برنامه تان را با جاوا نوشتید، برای اجرا، آن کدها باید به Java Bytecode در بیایند. یعنی خروجی کار شما به صورت فایل هایی با پسوند .class و .java میباشد. همچنین اگر بخواهید از برنامه خروجی نهایی بگیرید فایلی به صورت .jar هم خواهید دید. 

سپس برای اجرای فایل های .java نیاز دارید که ماشین مجازی جاوا را نصب کنید. اگر قبلا تلاش کرده اید که بدون ماشین مجازی جاوا یا JVM کدهای جاوا را اجرا کنید احتمالا کامپیوتر به شما خطایی برمبنای لطفا ماشین مجازی جاوا را نصب کنید نشان داده است!

همچنین برای اجرای کدهای جاوا به محیط اجرای جاوا یا JRE هم نیاز دارید. 

به طور خلاصه در جاوا ابتدا کدها به صورت Java Bytecode و با پسوندهای .class یا .jar در می آیند و سپس ماشین مجازی جاوا آنها را ترجمه و اجرا میکند. شاید به نظرتان این مراحل زیادی باشد اما راهی است که هر برنامه جاوا برای اجرا شدن، طی میکند! 


پایتون


پایتون برخلاف جاوا، یک زبان کمپایلری نیست. یعنی کدها قبل از اجرا نیازی به کمپایل شدن ندارند، به دسته زبان های برنامه نویسی مثل پایتون اصطلاحا زبان اسکریپتی میگویند.

برای اجرای کدهای پایتون فقط به مفسر پایتون نیاز دارید که میتوانید آن را از وبسایت رسمی آن (python.org) دانلود کنید. 

وقتی مفسر پایتون را اجرا میکنید صفحه ای برای شما به نمایش در می آید که منتظر است دستوری بنویسید تا آن را اجرا کند. البته میتوانید کل برنامه را در یک فایل .py بنویسید و به مفسر بدهید تا آنرا اجرا کند.

این روش بهتر و کارآمدتر است و معمولا اگر بخواهید برنامه نویسی پایتون انجام دهید بهتر است کل برنامه را در یک فایل .py بنویسید و سپس از مفسر بخواهید آن را اجرا کند.

 

نوع برنامه نویسی یا Programming Type


تفاوت دیگر این دو زبان در نوع برنامه نویسی آن هاست. به صورت خلاصه جاوا از نوع برنامه نویسی استاتیک پشتیبانی میکند و پایتون از دینامیک. 

 

زبان برنامه نویسی جاوا


در جاوا وقتی شما میخواهید یک شی ایجاد کنید حتما و حتما باید نوع آن را هم مشخص کنید. مثلا فرض کنید ما میخواهیم دو متغیر یکی عددی و یکی رشته ای تعریف کنیم:


;int var1 = 10
;"String var2 = "Hello World

در جاوا وقتی که یک متغیر را تعریف کردید و نوع آن را هم تعیین کردید دیگر نمیتوانید نوع آن را عوض کنید. برای مثال شما نمیتوانید در مثال بالا از متغیر var1 به عنوان یک متغیر رشته ای استفاده کنید چون نوع آن را int تعیین کرده اید. 

بیشتر برنامه نویس ها معتقد اند چنین ویژگی باعث میشود امنیت در برنامه هایتان بالا برود و تعداد خطاها و باگ ها هم پایین بیاید. 


زبان برنامه نویسی پایتون


متغیرها در پایتون نوع دینامیکی به خود گرفته اند. یعنی هر متغیری در هر نوعی که بخواهید میتواند مورد استفاده قرار بگیرد. برای مثال:


x = 10 + 12
x = "Hello World"

این مثال در جاوا غیر قابل اجرا است! ولی در پایتون کاملا قانونی است. دلیلش این است که مفسر پایتون کدها را خط به خط میخواند و اجرا میکند و نوع داده را به طور خودکار خودش تشخیص میدهد.

این ویژگی در زبان های برنامه نویسی نوع پویا (دینامیک) مثل پایتون باعث میشود برنامه نویسی راحتتر شود اما به همان نسبت خطا در برنامه نویسی هم افزایش می یابد. 

تفاوت زبان برنامه نویسی پایتون و جاوا

سینتکس

در حالی که هم جاوا و هم پایتون از قاعده های برنامه نویسی سنتی پیروی میکنند، سینتکس و نحو نوشتاری متفاوتی دارند. یکی از قابل توجه ترین تفاوت ها در بلاک بندی کلاس ها، توابع، شرط ها و حلقه هاست. 

 

 سینتکس جاوا


جاوا از براکت های فرفری {} برای شروع و پایان بلاک های کد استفاده میکند. ببینید:


}class SimpleJavaClass 
       ;   int var1
     {    () public SimpleJavaClass
               ;var1  = 0
         {
      }    (public void addToVar(int x
            ;   var1 = var1 + x
          {
{


از آنجایی که براکت های فرفری، کدها را محاصره میکنند دیگر حتی نیازی به فاصله گذاشتن بین کدها هم نیست و تمام کدهای بالا را میتوانید فقط در یک خط و پشت سر هم بنویسید و باز هم کار میکند! (گرچه کمی زشت میشود)

 

سینتکس در پایتون


اما سینتکس در پایتون کمی متفاوت تر است! در مثال زیر همان کلاسی که برای جاوا نوشتیم را میبینید اما با ظاهری کاملا متفاوت:


:class SimplePythonClass
    var1 = 0
  : ( def addToVar(x
        var1 = var1 + x


تفاوت های زیادی در این دو نوع کلاس میتوانید ببینید اما احتمالا بزرگترینشان نبود براکت های فرفری است! در پایتون برای اینکه شما نشان بدهید هر قطعه کد برای چه بخشی است باید از تو رفتگی ها و بیرون آمدگی ها استفاده کنید.

مثلا در کدبالا var1=0 کمی از خط بالایش یعنی class فاصله اش از اول خط بیشتر است. یعنی متعلق به بخش class است و به همین ترتیب کد var1 = var1 + x کمی از خط بالاییش یعنی def… فاصله اش بیشتر است پس متعلق به بخش تابع است و به همین ترتیب...

این مدل نوشتن باعث میشود که خوانایی کد بالا برود و باعث میشود کد تمیز تر به نظر برسد.


دیگر تفاوت های جزئی پایتون و جاوا


این دو زبان سایر تفاوت های جزئی هم دارند که در ادامه میبینیم:

جاوا


;int x = 10
;int y = 20

پایتون


x = 10
y = 20

همچنین در شرط ها و حلقه ها و..

جاوا


{ }(if (x > 5)

پایتون


:if x > 5

همانطور که دیدید جاوا و پایتون تفاوت هایی در نحو نوشتن کد و تعریف اشیا دارند که به صورت کلی میتواند به انتخاب شما اثر بگذارد. شما چه تفاوت هایی برای پایتون و جاوا میدانید؟ کامنت کنید...