محیط برنامه نویسی اسکالا با Scala 2.7.7 final

Scala یک زبان برنامه نویسی هست که از عمرش زیاد نمیگذره و در سال ۲۰۰۳ معرفی شد. این زبان جزو زبان هایی هست که برای اجرا روی JVM یا همان ماشین مجازی جاوا طراحی شده. اما چیزهایی در مورد این زبان هست که باعث میشود با زبان های دیگه ایی که برای JVM طراحی شدن فرق داشته باشه. امروز برای شما محیط برنامه نویسی این زبان برنامه نویسی را مهیا کرده اییم. سعی ما تلاش برای یادگیری و بهتر دیدن این زبان برنامه نویسی است
شنبه، 9 بهمن 1389
تخمین زمان مطالعه:
موارد بیشتر برای شما

محیط برنامه نویسی اسکالا با Scala 2.7.7 final

Scala یک زبان برنامه نویسی هست که از عمرش زیاد نمیگذره و در سال ۲۰۰۳ معرفی شد. این زبان جزو زبان هایی هست که برای اجرا روی JVM یا همان ماشین مجازی جاوا طراحی شده. اما چیزهایی در مورد این زبان هست که باعث میشود با زبان های دیگه ایی که برای JVM طراحی شدن فرق داشته باشه. امروز برای شما محیط برنامه نویسی این زبان برنامه نویسی را مهیا کرده اییم. سعی ما تلاش برای یادگیری و بهتر دیدن این زبان برنامه نویسی است
محیط برنامه نویسی اسکالا با Scala 2.7.7 final

محیط برنامه نویسی اسکالا با Scala 2.7.7 final

Scala یک زبان برنامه نویسی هست که از عمرش زیاد نمیگذره و در سال ۲۰۰۳ معرفی شد. این زبان جزو زبان هایی هست که برای اجرا روی JVM یا همان ماشین مجازی جاوا طراحی شده. اما چیزهایی در مورد این زبان هست که باعث میشود با زبان های دیگه ایی که برای JVM طراحی شدن فرق داشته باشه.
امروز برای شما محیط برنامه نویسی این زبان برنامه نویسی را مهیا کرده اییم.
سعی ما تلاش برای یادگیری و بهتر دیدن این زبان برنامه نویسی  است
محیط برنامه نویسی اسکالا با Scala 2.7.7 final

این زبان توسط آقای Martin Odersky ابداع شده که یکی از پرفسورهای فعال در «موسسات تکنولوژی فدرال سوییس» یا EPFL هست و از تخصص های اصلیش تحقیق در مورد زبان های برنامه نویسی و آنالیزکد هاست.ایشان طراح و توسعه دهنده ی اصلی کامپایلر حال حاظر جاوا، یعنی javac ، و یکی از طراحان اصلی Generic ها در زبان برنامه نویسی جاوا هستش. با این معرفی متوجه میشوید که ایشان ممکنه جاوا رو بهتر از خود جیمز گوسلینگ بشناسه.
اکثر زبان های کامپایلری، قبل از کامپایل مستقیم به زبان ماشین، از یه زبان میانی استفاده می‌کنن تا لایه ایی از آنالیز و بهینه سازی رو در کدها انجام بدن. مثلا اکثر کامپایلر های C اول کدها رو به اسمبلی تبدیل میکنند. یا خیلی از کامپایلر های ++C و Fortran اول کدها رو به زبان C تبدیل میکنند. برنامه های جاوا از یک ماشین مجازی استفاده میکنند. یعنی به جای تبدیل کدها به زبان CPU دستگاه شما (زبان ماشین)، اون ها رو به زبان CPU یک دستگاه فرضی تبدیل میکنند. این کدنهایی به «بایت‌کد»  جاوا معروف هست و برای ماشین مجازی جاوا حکم همان زبان ماشین یک دستگاه معمولی رو دارد. این کار باعث میشود برنامه های جاوا به جای وابسته شدن به معماری CPU های مختلف، فقط به معماری CPU این ماشین مجازی وابسته بشن. و هر جایی که بشه این ماشین مجازی رو اجرا کرد، میشود برنامه های جاوا رو هم اجرا کرد.
خوشبختانه جاوا تنها زبانی نیست که میتونه برای این ماشین مجازی بایت‌کد تولید کنه. یکی از این زبان ها Scala هستش که کدهاش بعد از کامپایل، به بایت‌کدهای JVM تبدیل میشود و هر جایی که JVM وجود داشته باشه برنامه های Scala هم قابل اجرا شدن هستن. پس در وحله ی اول متوجه این موضوع میشیم که هرجا برنامه ایی برای جاوا هست، برای Scala هم میشود برنامه نوشت.
برنامه های Scala از جاوا به عنوان زبان میانی خودشون استفاده میکنند. یعنی کدها قبل از تبدیل به بایت‌کد، اول به کدهای جاوا تبدیل میشن. پس برنامه ی نوشته شده با زبان Scala فرقی با برنامه نوشته شده با جاوا ندارد. این یعنی می تونید از «تمام» کتابخونه ها و یا فریم ورک های موجود برای زبان جاوا، مستقیما در Scala هم بهره ببرید. همچنین اگه کلاسی رو در Scala داشته باشید میتونید خیلی راحت در جاوا هم استفاده اش کنید. در وحله ی دوم متوجه میشیم که با انتخاب Scala هیچ چیزی رو از دنیای جاوا از دست نمی دیم که هیچ، کلی ابزار جدید که برای Scala تولید شدن رو هم به کلکسیون ابزارهای جاوای خودتون اضافه می کنید.
و اما سرعت… می تونید مطمئن باشید که  کسی بهتر از آقای Martin Odersky زبان جاوا رو نمیشناسه. پس وقتی کدهای Scala تبدیل به کدهای جاوا میشن، خیالتون راحته که بهینه ترین کدها تولید شدن.
مساله ی بعدی سینتکس راحت تر و تمیز تر زبانه که بیشتر به پایتون و یا بقیه زبان های دینامیک شبیه هست. در ضمن کدهای شما غالبا کوتاه تر از کدهای متناظر نوشته شده در جاوا خواهند بود و سرعت برنامه نویسی تون بالاتر میره.
نکته ی بعدی پشتیبانی این زبان از اعمال «همروند» هست. جاوا برای اعمال همروند از Multithreading استفاده میکنه در حالی که Scala از همروند سازی به شیوه ی زبان Erlang پشتیبانی میکنه که در حال حاظر بهینه ترین مدل رو در بین زبان های برنامه نویسی دارد. Erlang یک زبان برنامه نویسی هستش که منحصرا برای انجام اعمال همروند در سطح وسیع طراحی شده. در مدل Erlang به جای استفاده از thread ها، از شکل جدیدی از process ها استفاده میشود که سریعتر و سبک تر از thread ها هستن و به جای حافظه ی اشتراکی، از سیستم انتقال پیام (message-passing) بین پروسه ها استفاده میکنند. Scala دقیقا از این روش استفاده نمیکنه ولی همین معماری رو به کار برده.
در حال حاظر این زبان خیلی محبوب شده و استفاده از اون دارد به سرعت رواج پیدا میکنه. نمونش میتونه سایت معروف Twitter باشه.





نظرات کاربران
ارسال نظر
با تشکر، نظر شما پس از بررسی و تایید در سایت قرار خواهد گرفت.
متاسفانه در برقراری ارتباط خطایی رخ داده. لطفاً دوباره تلاش کنید.
موارد بیشتر برای شما
آثار نمازهای بدون ولایت در واقعه عاشورا
آثار نمازهای بدون ولایت در واقعه عاشورا
هکرهای ایرانی در تلاشند تا ما را تخلیه اطلاعاتی کنند!
play_arrow
هکرهای ایرانی در تلاشند تا ما را تخلیه اطلاعاتی کنند!
لحظه‌ی تخریب پُل بخش لاریجان آمل براثر سیل
play_arrow
لحظه‌ی تخریب پُل بخش لاریجان آمل براثر سیل
کار نمادین هلندی‌ها برای حمایت از کودکان غزه
play_arrow
کار نمادین هلندی‌ها برای حمایت از کودکان غزه
سناتور ضد ایرانی رشوه‌گیر از آب درآمد!
play_arrow
سناتور ضد ایرانی رشوه‌گیر از آب درآمد!
انتقاد مجری سیما به طراحیِ لباس کاروان ایران در افتتاحیهٔ المپیک
play_arrow
انتقاد مجری سیما به طراحیِ لباس کاروان ایران در افتتاحیهٔ المپیک
طریق‌الحسین کم کم رنگ و بوی اربعین می‌گیرد
play_arrow
طریق‌الحسین کم کم رنگ و بوی اربعین می‌گیرد
شکنجه اسرای فلسطینی در زندان رژیم صهیونیستی
play_arrow
شکنجه اسرای فلسطینی در زندان رژیم صهیونیستی
چرا به اینترنشنال "شبکه صهیونیستی" می‌گوییم؟
play_arrow
چرا به اینترنشنال "شبکه صهیونیستی" می‌گوییم؟
انهدام ادوات زرهی صهیونیست‌ها توسط القسام در خان یونس
play_arrow
انهدام ادوات زرهی صهیونیست‌ها توسط القسام در خان یونس
نقشه هایتان نقش بر آب شد، همه در کنار ایران هستیم!
play_arrow
نقشه هایتان نقش بر آب شد، همه در کنار ایران هستیم!
افزایش اعتراض‌ها به حضور صهیونیست‌ها در المپیک
play_arrow
افزایش اعتراض‌ها به حضور صهیونیست‌ها در المپیک
هو شدن کاروان رژیم صهیونیستی در افتتاحیه المپیک ۲۰۲۴
play_arrow
هو شدن کاروان رژیم صهیونیستی در افتتاحیه المپیک ۲۰۲۴
مقایسه شیوه روشن شدن مشعل المپیک‌های ۲۰ سال گذشته
play_arrow
مقایسه شیوه روشن شدن مشعل المپیک‌های ۲۰ سال گذشته
فیلم دیده نشده از لحظه به لحظه حادثه 11 سپتامبر از دریچه دوربین عکاس ژاپنی
play_arrow
فیلم دیده نشده از لحظه به لحظه حادثه 11 سپتامبر از دریچه دوربین عکاس ژاپنی