محیط برنامه نویسی اسکالا با 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
نتانیاهو مدعی دستکاری در انتخابات شد + فیلم