محیط برنامه نویسی اسکالا با 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 باشه.





نظرات کاربران
ارسال نظر
با تشکر، نظر شما پس از بررسی و تایید در سایت قرار خواهد گرفت.
متاسفانه در برقراری ارتباط خطایی رخ داده. لطفاً دوباره تلاش کنید.
موارد بیشتر برای شما
معنی اسم فوژان و نام های هم آوا با آن + میزان فراوانی در ثبت احوال
معنی اسم فوژان و نام های هم آوا با آن + میزان فراوانی در ثبت احوال
معنی اسم راتا و نام های هم آوا با آن + میزان فراوانی در ثبت احوال
معنی اسم راتا و نام های هم آوا با آن + میزان فراوانی در ثبت احوال
معنی اسم سرینا و نام های هم آوا با آن + میزان فراوانی در ثبت احوال
معنی اسم سرینا و نام های هم آوا با آن + میزان فراوانی در ثبت احوال
حکمت | تنها حکومت ولایی در طول تاریخ / استاد عالی
music_note
حکمت | تنها حکومت ولایی در طول تاریخ / استاد عالی
معنی اسم دالیا و نام های هم آوا با آن + میزان فراوانی در ثبت احوال
معنی اسم دالیا و نام های هم آوا با آن + میزان فراوانی در ثبت احوال
معنی اسم لیدا و نام های هم آوا با آن + میزان فراوانی در ثبت احوال
معنی اسم لیدا و نام های هم آوا با آن + میزان فراوانی در ثبت احوال
معنی اسم روژان و نام های هم آوا با آن + میزان فراوانی در ثبت احوال
معنی اسم روژان و نام های هم آوا با آن + میزان فراوانی در ثبت احوال
معنی اسم مایسا و نام های هم آوا با آن + میزان فراوانی در ثبت احوال
معنی اسم مایسا و نام های هم آوا با آن + میزان فراوانی در ثبت احوال
معنی اسم دانیار و نام های هم آوا با آن + میزان فراوانی در ثبت احوال
معنی اسم دانیار و نام های هم آوا با آن + میزان فراوانی در ثبت احوال
معنی اسم سارینا و نام های هم آوا با آن + میزان فراوانی در ثبت احوال
معنی اسم سارینا و نام های هم آوا با آن + میزان فراوانی در ثبت احوال
معنی اسم کاملیا و نام های هم آوا با آن + میزان فراوانی در ثبت احوال
معنی اسم کاملیا و نام های هم آوا با آن + میزان فراوانی در ثبت احوال
معنی اسم شایلین و نام های هم آوا با آن + میزان فراوانی در ثبت احوال
معنی اسم شایلین و نام های هم آوا با آن + میزان فراوانی در ثبت احوال
راسخون برگزار می‌کند: قرعه‌کشی بزرگ کمک هزینه پیاده‌روی اربعین
راسخون برگزار می‌کند: قرعه‌کشی بزرگ کمک هزینه پیاده‌روی اربعین
معنی اسم بلال و نام های هم آوا با آن + میزان فراوانی در ثبت احوال
معنی اسم بلال و نام های هم آوا با آن + میزان فراوانی در ثبت احوال
معنی اسم ویان و نام های هم آوا با آن + میزان فراوانی در ثبت احوال
معنی اسم ویان و نام های هم آوا با آن + میزان فراوانی در ثبت احوال