شاید شما هم قصد داشته باشید که شروع به برنامه نویسی نمایید و این سوال برای شما پیش اومده که چگونه برنامه نویسی را شروع کنیم و یا چطور برنامه نویسی کنیم این سوال بیشتر کسایی است که اصلی شغل محبوب برنامه نویسی آشنا میشوند و قصد داراهستند برنامه را رشته ای شروع نمایند . خوندن این مقاله کمکت میکنه حساس ویژگیهای مختلفی که دربین زبانهای برنامه نویسی تمایز ایجاد میکنه آشنا بشی. این فعالیت منجر میشه بتونی راحتتر مسیرت رو تعیین کنی. به علاوه انتخابت منطقیتر و مطمئنتر میشه. پس تا پایان نوشته همراهم باش!
بهترین گویش برنامه نویسی به جهت آغاز چیست؟
برای تعیین زبان برنامه نویسی مورد عشق و علاقه ات لازمه ویژگیها و کاربردهای زبانهای برنامه نویسی رو بدونی. بایستی بدونی که میخوای به جهت چه پلتفرمی برنامه بنویسی. اصلا چی میخوای بنویسی! دوست داری چه جور شغلی داشته باشی؟ اون خصوصیت چه مزایایی رو در اختیارت قرار میده و…
هر ویژگی که یک زبان برنامه نویسی خاص داره نباید به دید مزیت یا این که عیب مطلق اون گویش برنامه نویسی چشم بشه. نکته دارای اینه که میزان مهربانی و بدی، تعیین هر لهجه برنامه نویسی در جای درست خودشه.
برنامه نویسی تراز بالا و برنامه نویسی تراز پایین
اگر به دنبال یادگیری یک لهجه برنامه نویسی باشی به احتمال مضاعف اسامی زبانهای “سطح بالا” و “سطح پایین” تا به هم اکنون مضاعف به گوشت خورده. می بایست بگم که مفهوم سطح بالا یا این که سطح زیر بودن یک زبان مورد قضیه ای نسبیه به این معنی که بسته به زبان هایی که دارن اساسی هم مقایسه میشن یک زبان برنامه نویسی ممکنه تراز بالا یا سطح زیر محسوب بشه.
به این خاطر که فقط معنا قابل شعور برای کامپیوتر اعداد صفر و یکه، گویش خودرو به عنوان تنها لهجه قابل شعور برای کامپیوتر صرفا از اعداد و ارقام صفر و یک تشکیل شده. اما حرف زدن با کامپیوتر به لهجه صفرها و یکها عمل خیلی صبر فرساییه به این ترتیب زبانهای برنامه نویسی وارد عرصه شدن. لهجه برنامه نویسی اسمبلی به عنوان نزدیکترین گویش به لهجه کامپیوتر به وجود اومد و بدین ترتیب از حیث نزدیکی به لهجه انسان در پایینترین مرحله ممکنه. هرچه میزان نزدیکی به گویش انسان و abstraction یا انتزاع یک زبان برنامه نویسی زیادتر باشه اون گویش تراز بالاتر و از زبان اتومبیل به دور تره!
اولین زبانهای مرحله بالا فرترن و کوبول بودن. ممکنه در نگاه اولیه به زبانهای برنامه نویسی تراز زیر برچسب بد یا این که ضعیف و به زبانهای برنامه نویسی سطح بالا برچسب عالی یا قوی بزنید. البته بایستی بگم همین اعتقادوباور کاملا اشتباهه! ضعیف یا قادر بودن یک لهجه کاملا بستگی به آیتم به کار گیری شما داره و زبانهای برنامه نویسی سطح بالا و تراز ذیل مزایا و معایب خاص خودشون رو دارن.
زبانهای مضاعف سطح زیر میتونن مستقمیا و بدون نیاز به کامپایلر یا این که مفسر اجرا بشن. حیاتی اونها میتونید در دست گرفتن کاملی بر روی مموری کامپیوتر داشته باشی. به این خاطر کارایی فراوان مضاعف مهربانی دارن. با زبانهای سطح ذیل میتونی برای طاقت فرسا افزارها برنامه بنویسی و یا سیستم عامل بسازی. البته اساسی وجود کلیه این مزایا برنامه نوشتن کلیدی اونا مضاعف سخته. براین اساس مدت زمانه بسط قابل انعطاف افزار اساسی اونها به شدت ارتقاء پیدا میکنه.
بر بر خلاف زبانهای برنامه نویسی سطح پایین، خوندن، تایپ کردن و حفظ و بهبود برنامههای متن شده به زبانهای برنامه نویسی سطح بالا مانند جاوا، سی شارپ و PHP زیاد راحته. زبانهای سطح بالا به معماری سخت افزار وابسته نیستن و اصلی اونها شما به جای سر و عمل داشتن کلیدی خونههای حافظه، اهمیت توابع، اشیاء و … سر و فعالیت دارید.
انواع پلتفرمهای برنامه نویسی
برای اینکه به مبحث انواع پلتفرمها بپردازیم نیازه که اولیه بدونیم پلتفورم چیه. پلتفورم در واقع بستریه که یه قابل انعطاف افزار میتونه در اون اجرا بشه. غالبا پلتفورم دارای سیستم دلیل غلط گرفته میشه در حالی که پلتفورم به مجموع دشوار افزار (مثل موبایل، کامپیوترهای دسکتاپ یا این که لپتاپ، کنسولها و…) و سیستم عاملهای متفاوت (مثل ویندوز 32 بیت یا 64 بیت، مکینتاش، اندروید، IOS و…) و حتی نسخههای اونها (مثل ویندوز 2008 یا این که مک او اس سیرا) گفته میشه.
با احتساب توضیحات بالا به طور کلی ما میتونیم بر روی سه بستر یا این که پلتفورم حیاتی موبایل، وب و دسکتاپ برنامه بنویسیم. ولی من توی این مقاله با همین سه جور از پلتفورمهای اساسی سر و کار دارم و صد ولی که پلتفورمهای دیگه ای مانند ساعتهای هوشمند، اسباب خانگی هوشمند و… با سیستمهای برهان و نسخههای متعدد وجود دارن.
برنامه نویسی موبایل
برنامههای موبایل غالبا به دو جور برنامههای اندرویدی و برنامههای IOS تقسیم میشن. بدون شک اصلی همین دو سیستم برهان از قبل آشنا هستی. به جهت تالیف اپلیکیشنهای اندروید میتونی از زبانهای برنامه نویسی مانند جاوا، سی شارپ، کاتلین، سی پلاس پلاس و… استفاده کنی. اما توی کشور ایران گویش جاوا به جهت این عمل همگانی تره.
به علاوه به جهت نوشتن اپلیکیشنهای IOS میتونی از زبان هایی نظیر swift و objective c به کارگیری کنی.
برنامه نویسی وب
برنامههای وب به دو نوع برنامههای سمت عضو (client side) و برنامههای سمت سرور (server side) تقسیم میشن. برنامههای سمت عضو برنامه هایی هستن که روی مرورگر عضو اجرا میشن و برنامههای سمت سرور برنامه هایی هستن که روی یک کامپیوتر سرور اجرا میشن ونتایج اجرای اون ها، به کامپیوتر کاربران قابل انعطاف افزار ارسال میشه.
اگر قصد وارد شدن به راستا برنامه نویسی وب رو داری برای انتخاب گویش برنامه نویسی اولیه بایستی مشخص کنی اون لهجه رو به جهت سمت کاربر میخوای یا این که برای سمت سرور. البته به طور معمول در موقع شروع فعالیت برنامه نویسی وب اولین قدم ها، چه قصد رفتن به سمت کلاینت رو داشته باشید و چه سمت سرور یادگیری زبانهای html و css هست. چون همین دو گویش مبنا برنامه نویسی وب محسوب میشن البته فارغ از اونها نیز آغاز یادگیری برنامه نویسی سمت سرور ممکنه.
برای حوزه سمت کاربر لهجه جاوا اسکریپت رو یاد بگیر. به جهت حوزه سمت سرور به تناسب نیاز و هدف گذاریت میتونی میان زبانهای برنامه نویسی زیادی مثل PHP، جاوا اسکریپت، روبی و… گویش برنامه نویسی گزینه علاقه ات رو گزینش کنی.
برنامه نویسی دسکتاپ
برنامه نویسی دسکتاپ اکثر به برنامه نویسی برای قابل انعطاف افزارهای ویندوز و مکینتاش (به علاوه لینوکس) اشاره میکنه. میتونی اهمیت به کارگیری از گویش هایی مانند جاوا، سی شارپ، پایتون و… که اغلب کراس پلتفورم هستن برنامه بنویسی.
برنامه نویسی کراس پلتفرم
با برنامه نویسی کراس پلتفورم میتونی برای همه پلتفورمها نظیر اندروید، ios، کامپیوترهای ویندوزی و … فقط اصلی یک بار کد زدن برنامه بنویسی. برنامه نویسی کراس پلتفورم همینطور حساس عنوان برنامه نویسی مالتی پلتفورم شناخته میشه. این مدل برنامه نویسی به دو دسته مهم تقسیم میشه:
برنامه نویسی کراس پلتفورم بومی native cross-platform
هر سیستم ادله موبایلی بر روی بسته توسعه نرم افزاری یا software development kit (SDK) مختص خودش اجرا میشه. هر SDK از گویش برنامه نویسی خاصی پشتیبانی میکنه. به عنوان مثال اپلیکیشنهای IOS بر روی swift و objective c اجرا میشن و اپلیکیشنهای اندروید روی java. اپلیکیشن هایی که مستقیما ذیل این SDKها اجرا میشن به اپلیکیشنهای ساکن یا این که native دارای اسمو رسم هستن.
اما میشه کاری کرد که یک API یا این که framework واحد دربین همین SDK و اپلیکیشن به عنوان یک واسط قرار بگیره .به این ترتیب اجرای اون اپلیکیشن از لهجه برنامه نویسی مستقل میشه! تولید کننده همین API غالبا یک نرم افزار IDE یا محیط گسترش نرم افزار یکپارچه رو در اختیار برنامه نویسها قرار میده تا برنامه نویسها بتونن به راحتی و با استعمال از اون IDEها اهمیت نوشتن یک توشه کد، به جهت همگی پلتفورمهای پشتیبانی شده خروجی بگیرن.
با این طرز این اپلیکیشنها در غایت از SDK مستقر هر پلتفورم به جهت اجرا شدن به کارگیری میکنن .یعنی در غایت تفاوت آنچنانی اصلی برنامههای مستقر ندارن. به طور نمونه Xamarinو React Native جز این گونه هستن!
روش برنامه نویسی کراس پتلفورم مزایا و معایب مختص خودش رو داره:
مزایا شروع برنامه نویسی کراس پلتفورم
- رابط کاربری تقریبا بومی
- پرفورمنس یا عملکرد بالا نسبتاً نزدیک به اپلیکیشنهای بومی
- کاهش هزینههای منابع انسانی و مالی
- توسعه سریع
- امکان به کارگیری از APIهای بومی هر پلتفورم مثل مکان یابی، دسترسی به حافظه و…
معایب شروع برنامه نویسی کراس پلتفورم
- نیاز به تایید مجدد مارکتهای اپلیکیشن مانند اپ استور برای هر بار به روزرسانی
- کاملا ساکن نبودن رابط کاربری بخاطر تفاوتهای زیاد رابط کاربری اندروید و IOS
- امنیت پایین
شروع برنامه نویسی کراس پلتفورم ترکیبی hybrid cross-platform
در برنامههای موبایلی بیشتر بار پردازشی در سمت سرور یا این که بک اند انجام میشه. بدین ترتیب بزرگترین بخش این برنامهها به رابط کاربری یا این که GUI اختصاص داره. بستههای نرم افزار یا این که SDKهای اندروید و IOS امکانی به نام Webview در خودشون دارن که دارای استفاده از اون یک مرورگر به اپلیکیشن بیش تر میشه. این مورد قضیه چه خبر خوشی برای ما داره؟
با استفاده از webview میتونی به سادگی اساسی استفاده از HTML، CSS و جاوا اسکریپت اپلیکیشنهای گوشی بسازی! به همین عامل به همین برنامه ها، برنامههای ترکیبی میگن. اما نقص همین نوع از برنامه نویسی اینه که برای رابطه با APIهای بومی مثل مکان یابی و دسترسی به حافظه به یک واسط فی مابین جاوا اسکریپت و گویش برنامه نویسی مستقر احتیاج هست. همین طرز هم مانند طرز قبل مزایا و معایب یگانه خودش رو داره:
مزایا
- نوشتن یک توشه کد برای همه پلتفرم ها
- کم نمودن هزینههای نگهداری اپلیکیشن به دلیل مشترک بودن کد ها
- دیباگ و انواع گیری سوای احتیاج به مشابه ساز هر پلتفورم
- صرفه جویی در هزینههای منابع انسانی و دوران (به این استدلال برای موقعیتهای اهمیت مهلت وقتی قلیل یکی بهترین تعیین هاست!)
- راحتی کدنویسی به جهت برنامه نویسان وب
متبع: https://sabzlearn.ir
مقالات مشابه
- نرخ ترجمه
- من رفتم به یک فروشگاه مایکروسافت و من تو را دیدم سیب خنده
- دستگاه آب انار گیری دستی
- شرکت صادرات و واردات کالاهای مختلف از جمله کاشی و سرامیک و ارائه دهنده خدمات ترانزیت و بارگیری دریایی و ریلی و ترخیص کالا برای کشورهای مختلف از جمله روسیه و کشورهای حوزه cis و سایر نقاط جهان - بازرگانی علی قانعی
- Dev ویندزور لباس تمرین نگه داشتن کوچکتر و کوچکتر در Instagram–مجنون!
- شرکت صادرات و واردات کالاهای مختلف از جمله کاشی و سرامیک و ارائه دهنده خدمات ترانزیت و بارگیری دریایی و ریلی و ترخیص کالا برای کشورهای مختلف از جمله روسیه و کشورهای حوزه cis و سایر نقاط جهان - بازرگانی علی قانعی
- دفاع آغاز اولین مرحله از استرالیا فضا دامنه آگاهی قابلیت
- پخته چاشنی غذای مرکب از گوشت وارد
- شرکت صادرات و واردات کالاهای مختلف از جمله کاشی و سرامیک و ارائه دهنده خدمات ترانزیت و بارگیری دریایی و ریلی و ترخیص کالا برای کشورهای مختلف از جمله روسیه و کشورهای حوزه cis و سایر نقاط جهان - بازرگانی علی قانعی
- مایکروسافت حذف ویندوز 10 2004 بلوک در سطح دستگاه های