چگونه برنامه نویسی را شروع کنیم؟

چگونه برنامه نویسی را شروع کنیم؟

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

چگونه برنامه نویسی را شروع کنیم؟

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

برنامه نویسی سطح بالا یا سطح پایین

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

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

پلتفرم‌های برنامه نویسی

برای اینکه به مبحث انواع پلتفرم‌ها بپردازیم نیازه که اول بدونیم پلتفورم چیه. پلتفورم در واقع بستریه که یه نرم افزار می‌تونه در اون اجرا بشه. معمولا پلتفورم با سیستم عامل اشتباه گرفته میشه در حالی که پلتفورم به مجموع سخت افزار (مثل موبایل، کامپیوتر‌های دسکتاپ یا لپتاپ، کنسول‌ها و…) و سیستم عامل‌های مختلف (مثل ویندوز ۳۲ بیت یا ۶۴ بیت، مکینتاش، اندروید، IOS و…) و حتی نسخه‌های اون‌ها (مثل ویندوز ۲۰۰۸ یا مک او اس سیرا) گفته میشه.

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

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

برنامه‌های موبایل معمولا به دو دسته برنامه‌های اندرویدی و برنامه‌های 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‌های بومی مثل مکان یابی و دسترسی به حافظه به یک واسط بین جاوا اسکریپت و زبان برنامه نویسی بومی احتیاج هست. این روش هم مثل روش قبل مزایا و معایب خاص خودش رو داره:

مزایا

  • نوشتن یک بار کد برای همه پلتفرم ها
  • کم کردن هزینه‌های نگهداری اپلیکیشن به دلیل مشترک بودن کد ها
  • دیباگ و اشکال گیری بدون احتیاج به شبیه ساز هر پلتفورم
  • صرفه جویی در هزینه‌های منابع انسانی و زمان (به همین دلیل برای موقعیت‌های با مهلت زمانی کم یکی بهترین انتخاب هاست!)
  • راحتی کدنویسی برای برنامه نویسان وب

معایب

  • دسترسی محدود به بعضی امکانات پلتفورم
  • احتیاج به وجود یک واسط جاوا اسکریپت به native برای دسترسی به API‌های بومی
  • آسیب پذیری و امنیت پایین
  • وجود نداشتن رابط کاربری مجزا و بومی برای هر پلتفورم

 

برای ایجاد یک تبلیغات موفق، طراحی وب سایت حرفه ای و مشاوره برای ساخت کسب و کار آنلاین با سایت ساز سایتچین در ارتباط باشید!

امتیاز شما برای این مطلب

به مشاوره نیاز دارید؟
اطلاعات تماس خود را وارد نمایید تا تیم مشاوره سایتچین در زمان انتخابی، با شما تماس بگیرند.





    از ساعت
    تماس بگیرید

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