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

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

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


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

بیشتر بخوانید:

چرا باید سراغ برنامه نویسی اندروید برویم؟

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

تعیین زبان برنامه نویسی برای شروع، به این بستگی دارد که می‌خواهید چه کاری انجام بدهید و هنگامی که شما زبان برنامه نویسی مورد نظر را یاد گرفتید، می‌توانید IDE و ابزارهایی را که با زبان مورد نظر شما همخوانی دارند را پیدا کنید.

انتخاب زبان برنامه نویسی اندروید

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

در اینجا به طور مختصر در مورد هر زبان توضیح داده شده است.  شما می‌توانید با بررسی هر کدام و انجام تحقیقات بیشتر، هر کدام از زبان‌ها که به نظر شما جالب‌تر بود را انتخاب کنید. 

برنامه نویسی اندروید

برای برنامه نویسی اندروید، زبان‌های مختلفی مورد استفاده قرار می‌گیرند، که در ادامه چند تا از آن‌ها را به شما معرفی می‌کنیم.

بیشتر بخوانید:

محبوب‌ترین زبان‌های برنامه نویسی دنیا کدام هستند؟

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

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

بیشتر بخوانید:

زبان برنامه نویسی جاوا چیست و چه کاربردی دارد؟

اولین قدم در برنامه نویسی اندروید نصب برنامه Android Studio است. این برنامه با اندروید SDK  (مجموعه‌ای از ابزارهایی که برای توسعه برنامه‌های اندروید طراحی شده اند) بسته بندی می‌شود و این یعنی همه چیزهایی را که نیاز داریم در یک جا جمع شده است.

برنامه نویسی اندروید

«آموزش رسمی و اسناد» از گوگل شروع کار را برای ما راحت می‌کن، و بیشترین تعداد زیادی کتابخانه (کد رایگان برای ارتقاء برنامه ها) و آموزش‌هایی که روی این روش تمرکز می‌کنند را در این صفحه گوگل می توان پیدا کرد.

جاوا توسط Sun Microsystems در سال 1995 منتشر شد و در قسمت‌های زیادی از برنامه نویسی مورد استفاده قرار گرفت. کدهای جاوا توسط یک ماشین مجازی روی دستگاه‌های اندروید تفسیر و اجرا می‌شوند.

متاسفانه، جاوا مقداری پیچیده است و این پیچیدگی بزرگ‌ترین مانع برای بسیاری از افرادی است که می خواهند شروع به برنامه نویسی اندروید کنند. اندروید یک زبان برنامه نویسی شی گرا با موضوعات گیج کننده است، مانند ساختارها، خطاهای اشاره گر و بسیاری از ساختارهای پیچیده دیگر که اگر جاوا SDK را به این‌ها اضافه کنیم، همه چیز پیچیده‌تر می شود. وقتی برای اولین بار سراغ کدنویسی اندروید می‌روید، باید به مبارزه‌ای برای دانستن اینکه جاوا چیست و اندروید چگونه کار می‌کند، بروید. برنامه نویسی با استفاده از جاوا همچنین نیاز به درک پایه‌ای از مفاهیم گریدل ( مانند Manifest Android و XML ) است.

بیشتر بخوانید:

با اصطلاحات برنامه نویسی اندروید آشنا شوید

البته همه این‌ها به این معنی نیست که جاوا یک زبان برنامه نویسی بد است. برخلاف آن، این اشتباه است که یک زبان را بد بدانیم. همچنین درست است که بسیاری از ناراحتی های جاوا وجود دارد، ولی می‌توان با جاوا یک کد تمیز (Clean Code) را نوشت. به همین دلیل بسیاری از مردم جاوا را دوست دارند و همچنین یکی از گسترده‌ترین زبان‌های برنامه نویسی اندروید در دنیا است که تقریبا همه کاره است. با توجه به جدول PYPL (محبوبیت زبان های برنامه نویسی)، جاوا محبوب‌ترین زبان برنامه نویسی بین برنامه نویسان است.

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

برنامه نویسی اندروید

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

یک نکته:

 
گفتنی است که امکان استفاده از جاوا در Unity نیز وجود دارد. در رابطه با Unity در بخش سی شارپ توضیح داده شده است . توجه داشته باشید که زبان جاوا شاید مقداری پیچیده باشد ولی راحت تر میتوان به Android Studio انتقال داد. 

Kotlin

کوتلین اخیرا به عنوان یک زبان رسمی دیگر برای اندروید معرفی شده است. بعضی از گمانه زنی‌ها نشان می‌دهد که زبان کوتلین به سرعت در حال پیشرفت است و احتمالا می‌تواند به Swift بعدی تبدیل شود.

همانند جاوا، زبان کوتلین هم در ماشین مجازی جاوا اجرا می‌شود. تفاوت کوتلین با جاوا در این است که پیچیدگی‌های جاوا را ندارد و این یعنی که زبانی ساده‌تر برای یادگیری است. همچنین خطاهایی مانند Null point exceptions و Excuses در کوتلین وجود ندارند. به طور خلاصه اگر اولین بار است که می‌خواهید برنامه نویسی اندروید را شروع کنید، این زبان انتخاب مناسبی برای شما است.

برنامه نویسی اندروید

قطعا کوتلین بهترین نقطه شروع برای مبتدیان است و با کوتلین هم می‌توان از اندروید استودیو استفاده کرد. با این وجود هنوز هم نمی‌توانیم بگوییم زبان‌هایی چون C# یا Unity ساده‌تر هستند و همچنین پشتیبانی از این زبان‌ها نسبی است.

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

++C / C

عادلانه است اگر بگویم که بهتر است از این زبان برای برنامه نویسی اندروید استفاده نکنید. اندروید استودیو از کدهای سی و سی پلاس پلاس با استفاده از Android NDK پشتیبانی می‌کند. این بدین معنی است که نمی توان کدها را در دستگاه مجازی اندروید اجرا کرد و به صورت اولیه روی دستگاه اجرا می‌شود و این امکان را می‌دهد که روی مواردی مانند حافظه کنترل بیشتری داشت. برای برنامه‌های سنگین همانند بازی‌های 3D این امکان وجود دارد که عملکردهای اضافی را از روی دستگاه برداشت تا یک برنامه بهینه داشته باشیم. همچنین می‌توان از کتابخانه‌های C یا ++C استفاده کرد.

برنامه نویسی اندروید

با این حال، باز هم استفاده از این زبان بسیار سخت است و اگر قصد تولید یک بازی دارید بهتر است از موتورهای بازی‌سازی استفاده کنید.

زبان برنامه نویسی #C

سی شارپ یک نسخه ساده تر و شی گرا از C و ++C است که توسط مایکروسافت طراحی شده است. این زبان دارای قدرت ++C و آسان بودن ویژوال بیسیک است و همچنین به عنوان یک نسخه ساده از جاوا نیز نام برده می شود. همانند جاوا، سی شارپ نیز قابلیت بازیافت حافظه (زباله‌روبی ) را دارد و این یعنی نیازی به نگرانی در مواردی مانند کمبود حافظه و آزاد کردن رم وجود ندارد. در عین حال سی شارپ جدید تر از جاوا است. انتخاب بهترین زبان برای برنامه نویسی اندروید معمولا بستگی به سلیقه فرد دارد.

بیشتر بخوانید:

سی شارپ چیست و آیا برای برنامه نویسی مناسب است؟

اگر میخواهید شروعی آسان و در عین حال قدرتمند داشته باشید پیشنهاد میشود از ترکیب #C و Unity استفاده کنید. یونیتی یک موتور بازی سازی ( یعنی میتواند محاسبات فیزیکی و رندرهای گرافیکی 3D را انجام دهد) و یک IDE همانند اندروید استودیو است. یونیتی یک ابزار رایگان است و به کمک آن میتوان بازی ها را به طرز باورنکردنی به راحتی ایجاد کرد، و فقط با چند خط کد میتوان یک بازی را در کمتر از یک ساعت ایجاد کرد. بدون اغراق یونیتی واقعا قدرتمند است، و ابزار مورد استفاده بسیاری از استودیوهای بازی سازی در گوگل پلی است. و همچنین یونیتی مولتی پتفرمی است.

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

ولی اگر برای یادگیری یونیتی مشتاق نیستید میتوانید از Unreal و یا GameMaker استفاده کنید.

همچنین سی شارپ میتواند با Xamarin در ویژوال استودیو مورد استفاده قرار گیرد. که میتوان از مزیت چند سکویی ( cross platform ) نیز استفاده کرد ( یک پایه کد برای اندروید و iOS ) . برای یک مبتدی این مسیر مقداری دشوار است اما برای یک شرکت کوچک که میخواهد یک برنامه برای اندروید و iOS ایجاد کند مناسب است.

یاد بگیرید:

دوره آموزش سی شارپ دات نت ( C#.NET)

BASIC

در قسمت سی شارپ گفتیم که سی شارپ داری قدرت C و آسانی Visual Basic است. زبان برنامه نویسی Basicیک نقطه شروع لذت بخش برای یادگیری برنامه نویسی است. اما متاسفانه به طور رسمی توسط اندروید استودیو پشتیبانی نمی‌شود و نمی‌توان از بیسیک در Unity یا Xamarin استفاده کرد. اما خبر خوب این است که یک گزینه کم‌تر شناخته شده در بیسیک به نام B4A وجود دارد. B4A مخفف BASIC 4 Android و همانطور که از اسم آن معلوم است، امکان استفاده از بیسیک در اندروید را ایجاد می‌کند. B4A اولین انتخاب برای برنامه نویسان نیست، اما همیشه بهتر است گزینه‌های بیشتری داشته باشید.

برنامه نویسی اندروید

B4A به عنوان یک RAD یا Rapid Application Development طراحی شده است. این زبان یک گزینه عالی برای برنامه نویسی است و می توان با آن برنامه‌های قدرتمندی ساخت، ولی این زبان برای بازی سازی مناسب نیست و نکته دیگر این که B4A تنها زبانی است که در فهرست ما وجود دارد و به صورت رایگان در دسترس نیست.

Corona برای اندروید

کورونا یکی دیگر از گزینه‌های ساده برای برنامه نویسی اندروید است که بسیار قدرتمند است و قدرت کنترل بسیاری ارائه می‌دهد. در LUA می‌توان کد نویسی کرد که این کدنویسی بسیار ساده تر از جاوا است و همچنین توسط Corona SDK (کیت توسعه نرم افزار) همه چیز ساده‌تر هم می‌شود. پشتیبانی از تمام کتابخانه‌های بومی، اجازه می‌دهد تا شما برنامه خود را برای سیستم عامل‌های مختلف منتشر کنید. از کورونا به طور کلی برای تولید بازی استفاده می‌شود اما در موارد مختلفی دیگری هم مورد استفاده قرار می‌گیرد. باید از یک ویرایشگر متن مثل Notepad++ برای وارد کردن کدهای خود استفاده کنید و می‌توانید کدها را در شبیه‌ساز بدون اینکه کامپایل شوند اجرا کنید و به کمک ابزار آنلاین به راحتی می‌توان از برنامه اندروید نوشته شده، خروجی APK گرفت.

برنامه نویسی اندروید

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

PhoneGap

در نهایت آخرین گزینه ما برای برنامه نویسی اندروید استفاده از PhoneGap است. PhoneGap توسط Apache Cordova طراحی شده و اجازده می‌دهد تا با استفاده از کدهایی که برای ایجاد یک وب سایت (HTML, CSS and JavaScript) استفاده می‌کنیم یک برنامه اندروید ایجاد کنیم. در واقع همانند نمایش یک صفحه وب عمل می‌کند اما یک برنامه اندروید در خروجی می‌دهد. PhoneGap همانند یک پل عمل می‌کند و به برنامه نویس اجازه دسترسی به برخی ویژگی‌ها مانند دوربین یا شتاب‌سنج را می‌دهد.

برنامه نویسی اندروید

در واقع این برنامه نویسی اندروید نیست و تنها برنامه نویسی واقعی JavaScript است. برای بسیاری از وظایف این گزینه مناسب است اما اگر می‌خواهید بگویید که یک برنامه نویس اندروید هستید، بهتر است یکی دیگر از گزینه‌های موجود در لیست را انتخاب کنید.

نتیجه گیری

خب تمام شد امیدوارم که خسته نشده باشید! گزینه‌های ساده دیگری همچون Python هم وجود دارد، اما در غیر این صورت از گزینه‌های مختلفی همچون Java و Kotlin و C و #C و BASIC هم می‌توان استفاده کرد.

برنامه نویسی اندروید

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


لیدا وب


برنامهنویسی شیءگرا چیست؟

 

برنامه‌نویسی شی‌ءگرا چه میباشد؟ 

در حالتی که تا به امروز هر سیرتکامل برنامه‌نویسی انجام داده باشید و یا این که حتی تنهاً لهجه‌های متعدد برنامه‌نویسی را باز بینی کرده باشید، احتمالاً تا به امروز با عبارت «برنامه‌نویسی شی‌ءگرا» مواجه گردیده‌اید. توضیحات فنی مختلفی درباره‌ی مضمون‌ برنامه‌نویسی شی‌ءگرا موجود هست؛ البته درین نوشته قصد داریم تعریف‌و‌تمجید این معنا برنامه‌نویسی را به روشی معمولی بیان کنیم.

 

سرآغاز: گویش‌های راه‌ای

برای این که بدانیم برنامه‌نویسی شی‌ءگرا چه می‌باشد، نخست بایستی نقیض آن را بشناسیم. لهجه‌های برنامه‌نویسی اول به طور راه و روش‌ای بودند. برهان این نامگذاری آن بود که در‌این لهجه‌ها، برنامه‌نویس بایستی گروه خاصی از راه و روش‌ها را تمجید می‌نمود که رایانه آنها‌را به ترتیب اجرا می کرد.

 

 

 

در طول‌های در آغاز برنامه‌نویسی، خط مش‌ها بر روی کارت‌های پانچ نوشته می‌شدند. رایانه‌ها به این ترتیب داده‌ها را گرفته، یک توالی از اقدامات را بر روی داده‌ها انجام داده و آنگاه داده‌های تازه را در خروجی ارائه می‌کردند.

 

لهجه‌های راه‌ای تا مقطع‌ها به نیکی عمل می‌کردند و برخی از آن ها نیز همچنان گزینه استعمال قرار میگیرند. ولی وقتی که قرار بود برنامه‌نویس کاری را بیرون از ترتیب مقدماتی پروسه انجام دهد، رئیس لهجه‌های برنامه‌نویسی مشقت بار می شد. به این ترتیب لهجه‌های برنامه‌نویسی شی‌ءگرا وارد عرصه شدند.

 

 

انگیزه از برنامه‌نویسی شی‌ءگرا

سؤالی که دراین مکان مطرح می گردد، این میباشد که برنامه‌نویسی شی‌ءگرا چه می باشد؟ اولیه گویش برنامه‌نویسی شی‌ءگرا (که عموماً اعتقاد و باور بر این میباشد Simula بوده میباشد) ایده شی ءها را معرفی کرد. شی ها گروه‌ای از داده ها میباشند که تحت عنوان واحدی منفرد با آنان خلق می شود.

 

این معنا را با ارائه مثالی در‌پی اضافه توضیح میدهیم؛ البته در آغاز در باب کلاس‌ها سخن می کنیم. کلاس‌ها نوعی از اشیای مقدماتی می‌باشند. آنها فهرستی از مختصات دارا‌هستند که زمانی تعریف‌و‌تمجید می شوند، تبدیل به یک شیء میگردند.

 

 

 

مثلا به یک بازی شطرنج اشاره می کنیم. در بازی شطرنج میتوانیم کلاسی به اسم «مهره» (Piece) داشته باشیم. داخل این کلاس مهره، فهرستی از مختصات را به طور تحت داریم:

 

رنگ

طول

صورت

جنبش‌های مجاز

هر شیئی فقطً یک وهله یگانه از چیزی که به آن کلاس وابستگی داراست را تعریف و تمجید میکند. براین اساس میتوانیم شیئی به اسم وزیر سپید داشته باشیم. این شیء قادر است تعاریفی برای هر چهار ویژگی خویش داشته باشد (رنگ: سپید، طول: بلند، صورت: استوانه‌ای دارنده تاج، جنبش: به تعداد نامحدود در هر جهت) این شیء میتواند متدها یا این که تابع‌هایی نیز داشته باشد.

 

اصول برنامه‌نویسی شیء گرا

سؤالی که در‌این مرحله ممکن میباشد بپرسید این میباشد که چه چیزی منجر می گردد برنامه‌نویسی شی‌ءگرا بهتر از برنامه‌نویسی خط مش‌ای باشد؟ به صورت خلاصه می بایست ذکر کرد که لهجه‌های برنامه‌نویسی شی‌ءگرا مانند جاوا قابلیت سازمان‌دهی داده‌ها و کد را به ترتیبی آماده میسازند که در پروژه‌های وسیع‌خیس سازش بیشتری داشته باشند. برای این که‌این مورد را طولانی تر توضیح دهیم درپی چهار اصل برنامه‌نویسی شی‌ءگرا را توضیح خوا هیم بخشید.

 

 

مضمون‌ تجرید در برنامه‌نویسی شی‌ءگرا

 

 

این که قصد دارید از چیزی به کار گیری فرمائید، ادله نمیشود که شیوه فعالیت آن را میدانید. مثلا یک دستگاه اسپرسو تماماً پیچیده میباشد، ولی شما لازم وجود ندارد شیوه فعالیت آن را بدانید. شما کافی میباشد بدانید که زمانی دکمه پر‌نور دستگاه را می‌زنید، اسپرسو اخذ خواهید کرد.

 

 

 

همین قضیه در امر برنامه‌نویسی شی‌ءگرا نیز صحت مینماید. در نمونه بازی شطرنج می توانیم یک متد ()move داشته باشیم. این متد ممکن میباشد مستلزم مقادیر بالایی از داده‌ها و متدهای دیگر باشد. همینطور ممکن میباشد مستلزم متغیرهایی به طور شرایط اول و پایانی مهره باشد. علاوه بر این موردها ممکن میباشد به یک متد دیگر برای هنگامی که مهره‌ای یک مهره دیگر را می زند نیاز داشته باشد.

 

البته نیاز وجود ندارد که‌این‌ها را بدانید و کلیه آنچه که می بایست بدانید این میباشد که هنگامی که از مهره‌ای می خواهیم تکان نماید، مهره جنبش می کند. این معنی تجرید میباشد.

 

مضمون‌ کپسوله‌سازی در برنامه‌نویسی شی‌ءگرا

 

 

کپسوله‌سازی یکی‌از طریق‌هایی میباشد که برنامه‌نویسی شی‌ءگرا برای تولید تجرید به کارگیری می‌نماید. هر شیء گروه‌ای از داده‌ها میباشد که با آن تحت عنوان یک واحد منقطع واکنش میشود. باطن این شی ءها نیز داده‌ها به طور متغیر و متد قرار دارا هستند.

 

متغیرهای باطن شیء در مجموع جداازهم باقی می مانند و این بدان معنا میباشد که اشیاء و متدها نمی‌توانند به همدیگر دسترسی داشته باشند. شی ها صرفا از روش استعمال از متدهایشان تأثیر می‌پذیرند.

 

یک شیء وزیر می تواند دربرگیرنده یک سری بخش از داده ها باشد. برای مثال قادر است متغیری به اسم «حالت» داشته باشد که مکان آن را روی ورقه گزینش می کند. این متغیر برای استعمال از متد ()move لازم میباشد. و همینطور یک متغیر رنگ نیز دارااست.

 

با اعلان محرمانه متغیر شرایط و اعلان همگانی متد ()move برنامه‌نویس می تواند از تأثیرپذیری متغیرهای جنبش از اشیای دیگر خودداری کند. رنگ مهره نیز در صورتیکه به طور سری اعلان شود، اشیای دیگر نمی‌توانند آن را تغییر‌و تحول دهند؛ مگر این که متدی اذن این فعالیت را به آنان بدهد. ولی در این زمینه چنین کاری مجاز وجود ندارد زیرا رنگ مهره‌های شطرنج همواره اثبات میباشد.

 

مضمون‌ وراثت در برنامه‌نویسی شی‌ءگرا

 

 

زبان هاب برنامه نویسی  برنامه‌نویسی شی‌ءگرا علاوه بر کلاس دارنده زیرکلاس نیز می‌باشند. این زیرکلاس‌ها مشتمل بر کلیه خصوصیاتی می‌باشند که کلاس‌های والدشان دارا‌هستند؛ ولی می توانند مختصات دیگری را نیز بپذیرند.

 

درخصوص نمونه بازی شطرنج، مهره‌های پیاده به متدی نیاز دارا هستند که در چهره پیروزی در وصال به انتهای برگه، آنها را به وزیر تبدیل نماید. به عنوان مثالً این متد را می‌قدرت ()transformPiece نامید.

 

تمامی مهره‌ها به چنین متدی نیاز ندارند. براین اساس لازم وجود ندارد که‌این متد را در کلاس مهره‌ها در اختیار بگذاریم. بلکه میتوانیم یک زیرکلاس از کلاس مهره‌ها به اسم «پیاده» تولید کنیم. از‌آنجا که زیرکلاس‌ها کلیه مختصات کلاس «مهره» را ارث می برند، این وهله از زیرکلاس «پیاده» نیز دربرگیرنده رنگ، طول، صورت و جنبش‌های مجاز خواهد بود.

 

 

ولی علاوه بر مختصات فوق یک متد ()transformPiece نیز در آن تعریف‌و‌تمجید میکنیم. در این صورت لازم وجود ندارد که نگران به کار گیری غلط از این متد بر روی مهره صورت (قلعه) باشیم.

 

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

 

معنا چندریختی در برنامه‌نویسی شی‌ءگرا

 

 

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

 

برای مثال فرض فرمائید در کلاس «مهره»-ها که در بخش‌های پیشین تمجید کردیم یک متد move() داشتیم که هر مهره را در همگی جهات به اندازه یک واحد تکان می‌اعطا کرد. این متد برای مهره سلطان اثرگذار میباشد؛ ولی تنها برای این مهره به درد میخورد و راجع به مهره‌های دیگر به عمل نمی‌آید. برای حل این ایراد میتوانیم متد ()move جدیدی در زیرکلاس «مهره چهره» تعریف‌و‌تمجید کنیم که به طور جنبش به تعداد نامحدود در سمت‌های جلو، عقب، چپ و راست باشد.

 

در‌این‌صورت هنگامی که برنامه‌نویس متد ()move را فراخوانی می کند، گونه مهره را نیز تحت عنوان محل ورود (آرگومان) متد ارسال مینماید تا برنامه بداند که دقیقاً چه مهره‌ای را می بایست جنبش دهد. بنابراین مقدار زمانه متعددی صرفه‌جویی می گردد. این دوران سوای وجود چندریختی می بایست صرف این می شد که تشخیص دهید چه دسته حرکتی می بایست انجام دهید.

 

برنامه‌نویسی شی‌ءگرا به طور خلاصه

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

 

برنامه‌نویسی شی‌ءگرا اطلاعاتی را در واحدهای منفرد به اسم شیء جمع آوری می نماید.

هر شی‌ء وهله منفردی از یک کلاس میباشد

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

کپسوله‌سازی، متغیرها و متدهای داخل شی ءها را به هم دارای ربط می‌سازد و از آن ها حفاظت می کند.

وراثت، قابلیت استعمال زیرکلاس‌ها از مختصات کلاس‌های والد را آماده می‌سازد.

چندریختی به شی ها و متدها قابلیت و امکان رئیس شرایط‌های متعدد با یک رابط منفرد را می دهد.

درصورتی که موردها فوق را به خیال و خاطر بسپارید، شعور قابل قبولی از معنا برنامه‌نویسی شی‌ءگرا خواهید داشت. شعور چهار اصل برنامه‌نویسی شی‌ءگرا به عبارتی‌طور که اشاره کردیم ممکن میباشد عمل دشواری باشد؛ البته هنگامی که آغاز به برنامه‌نویسی بکنید برایتان بدیهی‌خیس میشوند.

 

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


ساخت یک ربات 10 دلاری برای آموزش برنامه نویسی به کودکان

محققان دانشگاه هاروارد توانسته‌اند رباتی 10 دلاری بسازند که AERobot نام دارد و به بچه‌ها کمک می‌کند تا برنامه‌نویسی یاد گرفته و اطلاعاتی در مورد هوش مصنوعی کسب کنند.

این ربات برای استفاده در دبیرستان‌ها و یادگیری مهارت‌های مربوط به فناوری اطلاعات بسیار مناسب است. امید می‌رود که این ربات تعداد بیشتری از دانش آموزان مدارس را به علم، فناوری، مهندسی و ریاضیات علاقه‌مند کند.

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

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

برای استفاده از ربات مذکور، زبان برنامه نویسی موسوم به minibloqs ابداع شده که عمدتاً بر مبنای دریافت دستورات گرافیکی عمل می‌کند. لذا برای استفاده از آن باید از تصاویر و نه کدهای پیچیده بهره گرفت. تصاویر یاد شده بر روی یک نمایشگر آل ای دی که بر روی ربات نصب شده ظاهر می‌شوند.

منبع : wired


جشنواره های برنامه نویسی موبایل ایران ( بروزرسانی )

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

 

  برای ورود به سایت هر جشنواره و آگاهی از جزییات، روی عنوان آن کلیک کنید.

 

 

images

جشنواره نرم افزارهای موبایل ایران

این جشنواره برای اولین بار در سال 92، در دو روز  (30 بهمن و 1 اسفند) برگزار گردید. گفتنی است، این جشنواره در اسفند ماه 91، به صورت همایشی تخصصی در زمینه نرم افزارهای موبایل و وب ایران برگزار شده بود. این جشنواره، در چهار بخش اندروید، IOS، ویندوزفون و موبایل وب برگزار شد. برای دانلود گزارش این جشنواره اینجا کلیک کنید.

 

 

246267_390

مسابقه بین‌المللی برنامه‌نویسی بیان

یک رقابت علمی بین برنامه نویسان تمام دنیا. با هر زبان برنامه نویسی می توانید در آن شرکت کنید و هیچ محدودیتی وجود ندارد. سومین دوره ی این مسابقات، به صورت انفرادی و در 5 مرحله برگزار می شود. تمام مراحل، به جز مرحله ی فینال نهایی، به صورت آنلاین برگزار می شود. دور قبلی این مسابقات هم به صورت بین المللی برگزار شده بود که شرکت کنندگانی از 54 کشور دنیا در آن حضور داشتند. برای ثبت نام در این مسابقه، تا 17 مهرماه 93 مهلت دارید. مرحله‌ی ورودی، به عنوان اوّلین مرحله‌ی رسمی این دوره از مسابقات برنامه‌نویسی بیان، از ساعت 9:30 پنج‌شنبه 17 مهر آغاز شده و به مدّت 72 ساعت در جریان خواهد بود. حلّ یک سؤال جهت راهیابی به مرحله‌ی بعدی از مسابقات کافیست.

 

 

SW_kauffman_green2

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

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

 

 

baner1android2

جشنواره برنامه نویسی موبایل شریف

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

 

 

 

icma

مسابقه برنامه نویسی موبایل ایرانسل

این مسابقه، از طرف ایرانسل برگزار گردید. مهلت ارسال آثار تا 31 اردیبهشت بود و هر شخص می توانست تا 5 برنامه را ارسال نماید. جالب اینکه، جایزه نفر اول، 40 میلیون تومان! بود. مسابقه با محوریت زندگی دیجیتال، 9 نرم افزار برتر را انتخاب کرد. همچنین جوایزی به نرم افزار های موبایل با محوریت سلامت، آموزش و کسب و کار و بهترین طراحی تجربه کاربری، بهترین ایده نوآوری و خلاقیت و بهترین ایده تجاری تعلق گرفت. برنامه های ارسالی تحت سیستم عامل های Android و یا iOS و یا Mobile Web App بود.

بروزرسانی :

ایران موبی کد

ایران موبی کد93، عنوان دومین دوره مسابقات ایده پردازی و برنامه نویسی ابزارهای هوشمند، است که آذرماه 93 در دانشگاه امیرکبیر و با شعار ابزار هوشمند در خدمت اقتصاد و فرهنگ برگزار خواهد شد. شما می توانید تا 10 آبان 93، ایده یا برنامه ی خود را ارسال نمایید. برنامه هایی که قبلا هم منتشر شده اند، می توانند در این مسابقه شرکت کنند و محدودیتی برای تعداد برنامه های ارسالی وجود ندارد. این مسابقه در چهار پلتفرم اندروید، ویندوزفون، IOS و Mobile web قابل پذیرش است.

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

درباره این نویسنده

ناهید سادات ریاحی ، زاده ی اردیبهشت 69 و دانشجوی دکترای شیمی کوانتوم محاسباتی در دانشگاه شهید بهشتی است. او علاقمند به دنیای کوانتوم، تکنولوژی، فوتبال و موسیقی (رپ/راک) بوده و علاوه بر سردبیری دیپ لوک، به طراحی وب و نویسندگی در گجت نیوز، بیگ تم و ماهنامه جیبی GSM مشغول است. ( لینکدایناینستاگرام )

با 15 زبان برنامه نویسی محبوب آشنا شوید

برنامه نویسی از مهارت هایی است که برخورداری از آن فرصت های شغلی بسیاری را نصیب فرد کرده و حتی امکان کار کردن به صورت مستقل را برای وی فراهم می کند.

برای مثال برخی از برنامه نویسان ساکن در کشورهایی نظیر پاکستان و هند سفارشات کدنویسی یا اصلاح برنامه ها را از کشورهای اروپایی و آمریکا دریافت می کنند؛ حالا با توجه به قیمت ارزهای خارجی در ایران، اگر شما به عنوان یک برنامه نویس سفارشات کاربران خارجی را انجام می دادید ، چقدر در ماه عایدتان می شد؟

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

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

 

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

وب سایت GitHub با برخورداری از 24 میلیون کاربر از سراسر جهان، یکی از بزرگترین سایت های اشتراک کد است و از آن به عنوان «فیسبوک برنامه نویسان» یاد می شود. در ادامه به 15 مورد از محبوب ترین زبان های برنامه نویسی بر اساس لیست GitHub اشاره شده است.

نکته قابل توجه در لیست مذکور این است که پایتون با رشد 40 درصدی و پشت سرگذاشتن جاوا به دومین زبان برنامه‌نویسی محبوب در GitHub تبدیل شده است. زبان نسبتا جدید TypeScript هم از جایگاه پانزدهم به رتبه یازدهم محبوب ترین زبان های برنامه نویسی صعود کرده است.

1. جاوا اسکریپت

اول از همه بگوییم که این زبان ارتباطی به جاوا نداشته و یک زبان برنامه نویسی مستقل است که بیشترین کاربرد را در وب دارد. جاوا اسکریپت به توسعه دهندگان اجازه می دهد عناصر تعاملی را به وب سایت ها اضافه کنند. برای تسهیل برنامه نویسی با این زبان می توان از کتابخانه غنی «جی کوئری» بهره برد که زمان توسعه پروژه را به شکل چشمگیری کاهش می دهد.

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

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

3. جاوا

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

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

4. روبی 
زبان های برنامه نویسی

روبی (که به عنوان Ruby on Rails نیز شناخته می شود) یکی از تامین کنندگان اصلی اپلیکیشن های وب بوده و به خاطر یادگیری ساده، پیچیدگی کم و قدرت بالا محبوب است. در حال حاضر موقعیت های شغلی زیادی برای افراد مسلط به این زبان وجود دارد.

5. PHP

PHP که مخفف عبارت Hypertext Preprocessor به معنی «پیش‌پردازنده ابرمتن» است اغلب در توسعه اپلیکیشن ها و وب سایت های داینامیک با حجم داده سنگین کاربرد دارد. این زبان قدرتمند قلب تپنده غول هایی از قبیل وردپرس و فیسبوک است. آنچه جذابیت PHP را دو چندان می کند منبع باز بودن است که باعث شده ماژول های پیش ساخته فراوانی برای آن منتشر شود.

یادگیری این زبان نه چندان دشوار برای علاقمندان به توسعه وب الزامی است.

6.++C
زبان های برنامه نویسی

++C و پاسکال جزو نخستین زبان های برنامه نویسی هستند که در دانشگاه های کشور تدریس می شدند و حالا بیش از یک دهه از آن زمان گذشته است، با این حال ++C آنقدر ها هم که به نظر می رسد قدیمی و بلا استفاده نیست.

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

7. CSS

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

8. #C
زبان های برنامه نویسی

افرادی که هیچ آشنایی با زبان های برنامه نویسی ندارند احتمالا این زبان را به صورت «سی هشتگ» تلفظ کنند در صورتی که تلفظ صحیح آن «سی شارپ» است. #C از نظر دستوری تقریبا با جاوا یکسان است و در صورتی که بر هریک از آنها تسلط داشته باشید، یادگیری زبان دیگر برایتان چندان دشوار نخواهد بود. اگر به توسعه برنامه های ویندوزی علاقه دارید، #C منتظر شماست.

9. GO

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

10. C
زبان های برنامه نویسی

C به عنوان یکی از قدیمی ترین زبان های برنامه نویسی جهان که هنوز هم کاربرد دارد در اوایل دهه 70 میلادی طراحی شد. در سال 1978 راهنمای افسانه ای این زبان با عنوان «زبان برنامه نویسی C» برای نخستین بار منتشر شد که پس از گذشت چهار دهه هنوز هم خوانندگانی دارد.

11. TypeScript

این زبان که طبق استانداردهای برنامه نویسی هنوز نوپا محسوب می شود در سال 2012 منتشر شد. دستور زبان TypeScript شباهت های زیادی به جاوا اسکریپت دارد و برای اجرای اپلیکیشن های بزرگ طراحی شده است.

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

12. Shell

Shell پیش از آنکه یک زبان برنامه نویسی باشد، اسکریپتی است که فرمان اجرای لیستی از دستورات پیش ساخته را به سیستم عامل می دهد. برای مثال یک اسکریپت Shell ممکن است پس از اجرا فرمان تبدیل فایل های bmp به jpg را به سیستم عامل بدهد.

13. سویفت
زبان های برنامه نویسی

اپل این زبان متن باز را در سال 2014 و به عنوان راهکاری بهتر و ساده تر برای توسعه نرم افزار منتشر کرد و مدعی است که الگوریتم‌های جستجوی سویفت تا 2.5 برابر سریع‌تر از C شی گرا اجرا می شوند.

Swift در همین مدت کوتاه به لطف نگارش‌های ساده‌تر و امنیت بالا محبوبیت زیادی پیدا کرده و از مهم ترین اپلیکیشن های بهره مند از آن می توان به سرویس حمل و نقل اینترنتی Lyft اشاره کرد.

یکی دیگر از مزایای این برنامه درآمد بالای توسعه دهندگان آن است که برخی آن را تا 115 هزار دلار در سال نیز ذکر کرده اند.

14. Scala

Scala در سال 2004 و به عنوان جایگزینی برای جاوا طراحی شد و طرفداران آن عقیده دارند که روشی مناسب برای توسعه نرم افزارها در مقیاس بزرگ است.

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

15. C شی گرا

بسیاری از اپلیکیشن های iOS با استفاده از این زبان برنامه نویسی توسعه پیدا کرده اند. اگر چه سویفت به عنوان زبان جدید اپل در حال گسترش است، با این حال علاقمندان به توسعه برنامه برای آیفون و آیپد، بهتر است برنامه نویسی را از C شی گرا شروع کنند.

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

منبع:
octoverse