5 سوال کلیدی برای شروع برنامه نویسی

5 سوال کلیدی برای شروع برنامه نویسی

5 سوال کلیدی برای شروع برنامه نویسی

اگر در زمینه برنامه‌نویسی تقریبا تازه‌کار هستید، مطمئناً سؤالاتی دارید:

  • چگونه باید شروع کنم؟
  • ابتدا باید چه چیزی را باید یاد بگیرم؟
  • «توسعه نهایی یک پروژه» به چه معناست؟

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

1-ابتدا باید چه زبان برنامه نویسی را یاد بگیرم؟

واقعاً مهم نیست! مطمئناً زبان‌هایی وجود دارند که انتخاب آن‌ها برای مبتدیان آسان‌تر است، مانند Python، Ruby یا JavaScript. اما بیشتر زبان‌های برنامه‌نویسی دارای مفاهیم مشترک زیادی هستند، درواقع می‌توان گفت که مفاهیم اصلی معمولاً مشابهنددر بیشتر موارد، سینتکس (syntax) یا دستور نحو (کلمات کلیدی، ساختار و معناشناسی) زبان‌های برنامه‌نویسی با یکدیگر متفاوت است و در مفاهیم اساسی شباهت‌های بسیار زیادی دارند.

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

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

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

شروع برنامه نویسی

2- چگونه زبان‌های برنامه‌نویسی را دسته‌بندی کنم؟

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

  • کامپایلری
  • تفسیری یا مفسری
  • از نوع استاتیک (static type)
  • از نوع پویا یا داینامیک (Dynamic type)
  • شی‌گرا

در زیر، شرح کوتاهی از هر یک از این دسته‌ها به همراه فهرست کوتاهی از زبان‌ها برای هر کدام ارائه شده است.

زبان‌های برنامه‌نویسی کامپایلری

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

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

زبان‌های برنامه‌نویسی کامپایلری محبوب:

  • C
  • C++
  • Java
  • Rust
  • Go

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

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

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

زبان‌های برنامه‌نویسی رایج تفسیری:

  • Python
  • JavaScript
  • Ruby

زبان‌های برنامه‌نویسی از نوع ایستا یا استاتیک (static type)

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

زبان‌های برنامه نویسی رایج با تایپ استاتیک:

  • C
  • C++
  • Java

زبان‌های برنامه نویسی از نوع پویا یا داینامیک (dynamic type)

Dynamic-typing  به این معنی است که انواع دادههای متغیر در طول اجرای برنامه ایجاد شده و همچنین زمان اجرای برنامه (اصطلاحا runtime) نیز شناخته می‌شوند.

زبان‌های برنامه نویسی رایج با تایپ داینامیک:

  • Python
  • JavaScript
  • Ruby

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

برنامه‌نویسی شی گرا (OOP) یک الگوی کد نویسی است که به برنامه نویسان اجازه می دهد «اشیاء یا objects» را ایجاد کرده و با آن‌ها کار کنند. یک شی، نمایش یا مدلی از چیزی است که برنامه‌نویس باید آن را از طریق کد توصیف کندتقریباً هر چیزی را می‌توان به عنوان یک object در کد مدل‌سازی کرد. اشیاء اغلب چیزهای واقعی را نشان می‌دهند، مانند محصولات برای فروش در یک فروشگاه یا مشتریانی که آن محصولات را می‌خرنداما اشیا همچنین می‌توانند موارد دیجیتالی مانند فرم‌های وب، و حتی موارد انتزاعی‌تر مانند نقاط انتهایی URL، سوکت‌های شبکه و غیره را نشان دهند.

3-تفاوت بین توسعه  front-end، back-end و full-stack چیست؟

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

قسمت front به بخش‌هایی از برنامه اشاره دارد که کاربران (که به عنوان کلاینت شناخته می‌شوند) به طور مستقیم با آن‌ها تعامل دارند. برای یک برنامه وب، قسمت front مجموعه‌ای از صفحات وب (و قابلیت‌ها) است که در مرورگر کاربر ارائه می‌شود. برای یک برنامه تلفن همراه، قسمت front مجموعه‌ای از صفحه نمایش است که کاربر در دستگاه تلفن همراه خود با آن‌ها تعامل داردوظایف توسعه مربوط به قسمت front شامل طراحی تجربه کاربری (UX)، ایجاد رابط کاربری(UI)، شبکه سمت کلاینت، ادغام و استفاده از کتابخانه‌های سمت کلاینت، و جمع‌آوری/تأیید اعتبار/ارائه اطلاعات ورودی کاربر استبه عنوان یک توسعه‌دهنده فرانت‌اند، شما این وظایف را عمدتاً با استفاده از HTML برای تعریف ساختار صفحات وب، CSS برای اضافه کردن استایل و جاوااسکریپت برای افزودن تعامل انجام خواهید داد.

قسمت back به بخشهایی از برنامه اشاره دارد که در پشت صحنه اجرا می‌شوند و کاربر / مشتری مستقیما با آن در ارتباط نیستند.

اکنون که back-end و front-end را توضیح دادیم، تعریف فول استک، آسان‌تر شده است. Full-stack به سادگی شامل هر دو قسمت front و back می‌شود! فول‌استک از اصطلاح stack بوده که شکل کوتاه شده «software stack» است. پشته نرم افزار یا software stack مجموعه‌ای از ابزارها، چارچوب‌ها، زبان‌های برنامه‌نویسی و سیستم‌عامل‌هایی است که برای پشتیبانی از یک Application استفاده می‌شود.

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

4-از کدام ویرایشگر متن یا IDE استفاده کنم؟

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

اگر اساساً با زبان‌های تفسیر شده و پویا مانند پایتون، جاوا اسکریپت، روبی یا PHP کار می‌کنید، توصیه می‌کنم با یک ویرایشگر مبتنی بر رابط کاربری گرافیکی مانند Sublime Text یا Visual Studio Code  شروع کنید. اینها دو تا از محبوب‌ترین ویرایشگرهای متنی هستند و ویژگی‌ها و سفارشی‌سازی‌های فراوانی را ارائه می‌کنند تا زندگی شما را به عنوان یک توسعه‌دهنده آسان‌تر کنند! اگر با جاوا کار می‌کنید، Eclipse یا IntelliJ IDEA را پیشنهاد می‌کنیم که ویژگی‌های زیادی را ارائه می‌کنند و به طور خاص برای کار در اکوسیستم جاوا ساخته شده‌اند.

5-آیا مهم است که از چه سیستم عاملی استفاده کنم؟

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

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

خط فرمان یا CLI (واسط خط فرمان):

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

در این مقاله، به 5 سوال متداولی که معمولا برای کدنویسان جدید به وجود می‌آید، پاسخ دادیم. اگر سؤالی دارید که دراین وبلاگ به آن پاسخ داده نشده، می‌توانید در قسمت تماس با ما یا بخش نظرات، سوالاتتان را برای ما ارسال کنید.



مطالب زیر را حتما مطالعه کنید


نظرات


برای ثبت نظر وارد وبسایت شوید

ما را در اینستاگرام دنبال کنید @RobaticSchool