Search
Close this search box.

آشنایی با الفبا، مفاهیم پایه و اصطلاحات رایج در برنامه‌نویسی

فهرست مطالب

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

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

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

در همین ابتدای کار باید به شما بگوییم اگر واقعا به برنامه‌نویسی علاقه‌مند هستید این آموزش را دنبال کنید، چرا که به جرئت می‌توان گفت مهم‌ترین عامل موفقیت شما در این زمینه داشتن علاقه و گذاشتن زمان برای اینکار است!

هدف ما از برنامه‌نویسی این است که خواسته‌های خود را به رایانه منتقل کنیم، اما باید به شما بگوییم رایانه مانند شخصی می‌ماند که هیچ چیز نمی‌داند! شما باید تمام در‌خواست‌های خود را مرحله به مرحله به او بگویید وگرنه مطمئنا دچار اشتباه خواهد شد، به همین دلیل می‌گوییم شما باید به اندازه‌ی کافی صبر و حوصله داشته باشید تا بتوانید خواسته‌های خود را به این “ماشین کند ذهن” بفهمانید!

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

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

با دسته‌بندی زبان‌های برنامه‌نویسی آشنا شوید

در حالت کلی سه دسته زبان برنامه‌نویسی وجود دارد، که شامل زبان‌های سطح بالا، زبان سطح میانی و زبان سطح پایین می‌باشد، در ادامه به توضیح آن‌ها می‌پردازیم:

زبان‌های سطح بالا

این دسته از زبان‌های برنامه‌نویسی شباهت بسیار زیادی به زبان انسان داشته و به راحتی توسط انسان‌ها قابل درک هستند، به همین دلیل به آن‌ها زبان سطح بالا (نزدیک به زبان انسان) می‌گوییم، به شدت به شما توصیه می‌کنیم اگر برای اولین بار قصد برنامه‌نویسی دارید به سراغ این زبان‌ها بروید (جاوا، پایتون، سی‌شارپ، آبجکتیو سی و… جزو زبان‌های سطح بالا هستند)

زبان‌های سطح پایین

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

زبان‌های سطح میانی

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

زبان انگلیسی خود را تقویت کنید

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

با مبانی دنیای آی‌تی آشنا باشید

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

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

آیا لازم است برای برنامه‌نویسی به کلاس بروم؟

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

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

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

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

ورودی برنامه (Input)

مجموعه‌ای از داده و دستورالعمل‌ها که با استفاده از ابزارهای ورودی در اختیار رایانه (برنامه) قرار می‌دهیم.

خروجی برنامه (Output)

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

الگوریتم (Algorithm)

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

  • شروع
  • عدد را دریافت کن
  • عدد را بر 2 تقسیم کن
  • اگر باقی‌مانده برابر 0 شد بنویس عدد زوج در غیر این صورت بنویس عدد فرد.
  • پایان

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

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

متغیر (Variable)

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

در برنامه‌نویسی این ظرف‌ها متغیر نام دارند و در حقیقت به خانه‌هایی از حافظه اطلاق می‌شوند که هر کدام برای نگهداری نوع خاصی از داده‌ها (Data Type) به کار می‌روند، نوعی از متغیرها برای نگهداری اعداد استفاده می‌شوند، نوعی دیگر برای نگهداری رشته‌های متنی به کار می‌روند، برخی از آن‌ها برای نگهداری کارکترها مورد استفاده قرار می‌گیرند و… .

در آموزش‌های آینده بیشتر با مفهوم متغیر و Data Type آشنا خواهیم شد و به صورت عملی با آن‌ها کار خواهیم کرد.

دستور (Statement)

بخوان، دریافت کن، بنویس، محاسبه کن، مقایسه کن.

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

دستور شرطی (Condition)

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

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

اگر عدد وارد شده بر 2 بخش‌پذیر بود، بنویس زوج و در غیر این‌صورت بنویس فرد.

دستور تکرار یا حلقه (Loop)

فرض کنید قصد دارید برنامه‌ای بنویسید که یک دستور مشخص و تکراری 10000 را بار انجام دهد، یک روش برای انجام این کار این است که دستور مورد نظر خود را 10000 بار به صورت دستی بنویسید، مسلما این کار به هیچ وجه توجیه مناسبی ندارد!

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

تابع (Function)

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

آرایه (Array)

آرایه نیز به نوعی متغیر است، اگر ابتدای آموزش را به درستی خوانده باشید حتما به یاد دارید که متغیرها ظرف‌هایی بودند که مقادیری را در آن‌ها قرار می‌دادیم، حال فرض کنید بخواهیم 10000 عدد ظرف برای نگهداری مایعات تهیه کنیم، در چنین شرایطی باید از آرایه استفاده کنیم، در واقع آرایه‌ها یک نوع ظرف (متغیر) به تعداد زیاد هستند که با اندیس شماره‌گذاری شده‌اند، ظرف 1، ظرف 2، ظرف 3 و…
توجه داشته باشید که آرایه‌ها در اکثر زبان‌های برنامه‌نویسی از اندیس 0 شروع می‌شوند.

رشته (String)

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

محیط توسعه‌ی مجتمع (IDE)

آی دی ای (IDE) که مخفف واژه‌های Integrated Development Environment می‌باشد، در واقع یک محیط منسجم است از تمام ابزارهایی که برای نوشتن یک برنامه به آن‌ها نیاز خواهید داشت، آی‌دی‌ای‌ها معمولا شامل یک ویرایشگر متن، دیباگر، کامپایلر، لینکر و مجموعه‌ای از سایر ابزارهای مورد نیاز برای برنامه‌نویسی هستند، به عنوان IDEهای معروف می‌توان به موارد زیر اشاره کرد:

  • Eclipse
  • Visual Studio
  • Android Studio
  • Code::Blocks
  • NetBeanse
  • IntelliJ IDEA
  • Xcode
  • و…

چه زبانی را برای برنامه‌نویسی انتخاب کنیم؟

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

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

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

از آنجایی که امروزه استفاده از تلفن‌های هوشمند در بین کاربران از اهمیت ویژه‌ای برخوردار است، برنامه‌نویسی این زمینه نیز می‌تواند بسیار هیجان‌انگیز و در عین حال درآمدزا باشد!

برای اینکه بتوانید برای تلفن‌های هوشمند برنامه بنویسید باید در ابتدا سیستم‌عامل مورد نظر خود را انتخاب کنید، برای کدام دسته از کاربران قصد نوشتن برنامه دارید؟ کاربران اندروید، آی‌او‌اس یا ویندوزفون؟

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

در حال حاضر برای اینکه بتوانید برای پلتفرم اندروید برنامه بنویسید باید با زبان Java آشنایی پیدا کنید.

برنامه‌نویسی آی‌او‌اس

برای اینکه بتوانید برای سیستم‌عامل آی‌او‌اس برنامه بنویسید باید به سراغ زبان برنامه‌نویسی Objective-C یا SWIFT بروید.

برنامه‌نویسی تحت وب

برای اینکه بتوانید برنامه‌های تحت وب (وب اپلیکیشن‌ها) را بنویسید، باید در سه حیطه تسلط پیدا کنید:

برنامه‌نویسی سمت کاربر (Client Side)

این کدها توسط مرورگر پردازش و اجرا می‌شود و اغلب برای طراحی ظاهری و رابط کاربری (UI) یک پروژه به کار می‌روند، HTML ،CSS ،JavaScript و jQuery جزو زبان‌های سمت کاربر محسوب می‌شوند، در صورت علاقه می‌توانید مقالات رایگان زیر را در این خصوص مطالعه کنید:

برنامه‌نویسی سمت سرور (Server Side)

برای نوشتن وب اپلیکیشن‌های داینامیک و پویا باید به یکی از زبان‌های سمت سرور آشنا باشید، PHP ،ASP.NET ،Python ،Java و Ruby جزو زبان‌های برنامه‌نویسی تحت وب محسوب می‌شوند، در این مقاله می‌توانید بیشتر با زبان برنامه‌نویسی PHP آشنا شوید.

کار با بانک‌های اطلاعاتی (Database)

برای اینکه بتوانید یک پروژه‌ی تحت وب را به طور کامل طراحی و اجرا کنید باید با دیتابیس و نحوه‌ی کار با آن نیز آشنایی نسبتا مناسبی داشته باشید، Microsoft SQL Server ،MySQL ،Microsoft Access ،Oracle برخی از محبوب‌ترین بانک‌های اطلاعاتی هستند که با توجه به زبان برنامه‌نویسی مورد نظر خود می‌توانید از آن‌ها استفاده کنید.

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

برای نوشتن برنامه‌های تحت دسکتاپ و اتوماسیون‌های اداری می‌توانید از زبان‌های C++ ،C# ،Java و… استفاده کنید.

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

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

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

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

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

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

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

زبان انگلیسی خودتون رو تقویت کنید!

بارها به دوستام تاکید کردم علم کامپیوتر و آی‌تی و برنامه‌نویسی مال غربی‌هاست!

زبون ما کامپیوتریا انگلیسیه، نمیفهمم چه اصراریه همش دوست دارن فارسی سرچ کنن!

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

منظورم از پاتوق برنامه‌نویسا سایت استک‌اورفلوعه! بعدا بیشتر راجع بهش بحث می‌کنیم…

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

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

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

استک اور فلو یا stackoverflow.com سایتیه که مخصوص برنامه‌نویس‌ها ساخته شده، مشکلات و سوالتشون رو اونجا می‌پرسن و برنامه‌نویس‌های باتجربه‌تر جواب میدن و به کمک هم مشکلات رو حل می‌کنند.

بعید می‌دونم برنامه‌نویسی توی دنیا وجود داشته باشه و حداقل یک بار مسیرش به این سایت نخورده باشه ، هرکی میگه نرفتم یا بدونید خیلی بلده یا داره دروغ میگه 😁

تجربه ثابت کرده برنامه‌نویس خوب کسیه که بتونه خوب داخل اینترنت جستجو کنه! بله!

گفتیم جستجو! یه برنامه‌نویس خوب، در اصل یه سرچر خوبه!

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

اگر زبان انگلیسی رو در حد خوندن و نوشتن بلد باشید می‌تونید خیلی راحت از سوال و جواب‌هایی که در استک اور فلو پرسیده شده استفاده کنید و جواب سوالاتتون رو بگیرید!

پس اینم یک دلیل دیگه برای اینکه چرا باید زبان انگلیسی خودتون رو تقویت کنید، دیگه تاکید نکنما 😊

اما یه مثال درباره‌ی اینکه دقیقا چطور باید جستجو کنیم:

اگر به ارور یا خطای خاصی برخورد کردید که خب تکلیف مشخصه، کافیه متن ارور رو عینا داخل باکس جستجوی گوگل کپی و پیست کنید! تموم!

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

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

برای این منظور کافیه کلیدواژه اصلی که مد نظرتون هست رو + اسم اون زبون برنامه‌نویسی داخل گوگل جستجو کنید.

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

string class in java

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

برای این منظور کافیه اسم زبون مورد نظرتون رو + هلو ورد سرچ کنید! همین!

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

اینجوری:

Python Hello World

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

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

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

پس نگرانش نباشید و حتما امتحانش کنید، این دنیای بزرگ و رایگان اینترنت رو از دست ندید.

الگوریتم و منطق برنامه‌نویسی رو قورت بدید!

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

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

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

یادمه توی دانشگاه ترم اول که استادمون الگوریتم رو بهمون درس میداد پیش خودم میگفتم این مزخرفات چیه، چرا کدنویسی یادمون نمیده!

ولی چند ترم که گذشت دیدم یه اتفاق جالب برام افتاده، من به هر زبونی که دلم می‌خواست برنامه‌نویسی می‌کردم، میدونید دلیلش چی بود دوستان؟

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

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

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

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

صبر و حوصله داشته باشید!

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

البته نگران نباشید، شما هم چند وقت دیگه به این درجه از عرفان می‌رسید 😁

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

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

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

پس باید در این مرحله صبر و حوصله‌ی خودتون رو تقویت کنید، خسته نشید، ناامید نشید و…

خلاقیت داشته باشید!

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

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

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

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

کار سختی نیست، حتما امتحانش کنید!

روی مهارت تایپ 10 انگشتی خودتون کار کنید!

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

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

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

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

یه سری اصول رو بتون آموزش میده و یاد می‌گیرید با 10 انگشت و بدون نیاز به نگاه کردن به کیبورد تایپ کنید.

برنامه‌نویسی رو پروژه محور یاد بگیرید!

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

مثلا فرض کنید می‌خواین زبان PHP رو یاد بگیرید، کافیه یه پروژه‌ی ساده برای خودتون تعریف کنید، مثلا یه برنامه درست کنید که یک متن رو از کاربر بگیره و اون رو به زبان باینری (زبان 0 و 1 کامپیوتر) تبدیل کنه.

الان سعی کنید الگوریتم این برنامه رو بنویسید 🙂

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

برای تبدیل یک کارکتر به زبان باینری کافیه کد اسکی اون رو به مبنای 2 تبدیل کنید! همین.

می‌دونم یه کمی گیج شدید، ولی سعی کنید با جستجو در اینترنت دنبال راه حل بگردید و الگوریتمی بنویسید که یک عدد رو (که در اینجا کد اسکی هست) به مبنای 2  (یعنی زبان باینری) تبدیل کنه.

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

لطفا ریاضی رو با منطق اشتباه نگیرید!

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

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

هیچ‌وقت برای یادگیری برنامه‌نویسی دیر نیست!

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

هیچ زبانی بهترین نیست!

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

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

در یک زمینه‌ی خاص به صورت ویژه کار کنید و حرفه‌ای بشید و سایر موارد رو فقط در حد نیاز بدونید کافیه.

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

با دنیای آی‌تی و تکنولوژی دوست باشید!

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

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

این مقاله را دوست داشتید؟

مقالاتی که «نباید» از دست بدهید!

دیدگاه‌ها و پرسش‌و‌پاسخ

109 پاسخ

  1. سلام : آیا ویژوال بیسیک دات نت برای کارهای اداری و اکسل و ورد مناسب است یا نه . اگر نیست چه زبان برنامه نویسی یاد بگیرم بهتر است . ساده باشد و البته زبان برنامه نویس ام صفر است . لطفا” راهنمایی بفرمایید. با تشکر

  2. سلام : آیا ویژوال بیسیک دات نت برای کارهای اداری و کار با اکسل و ورد مناسب است اگر نیست چه زبان برنامه نویسی مناسب است که یادگیری آن ساده باشد.لطفا” راهنمایی بفرمایید.با تشکر

  3. سلام من می‌خوام جاوا رو برای بازی سازی یاد بگیرم. باید چه زبانی رو قبل از شروع جاوا بلد باشم ؟

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

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

  5. سلام و تشکر مقاله خیلی مفید بود

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

    مهندسش گفت باید سه ترم بیای چون باید c رو یاد بگیری مبتدی-متوسطه-پیشرفته هرکدوم ۲/۵ میلیون
    و هر کدوم یک و نیم ماهه. که نزدیک ۸ میلیون میشه
    من قبلا با یک برنامه نویس سی شارپ صحبت کرده بودم
    گفت تو میخوای سی شارپ یاد بگیری پس c رو میخوای چیکار؟ آموزشگاه یک چیزی گفته تو باور نکن
    فقط میخوان ازت پول اضافه بگیرن!

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

  6. سلام م میخواستم یاد بگیرم
    بنظرتون برای شروعش پایتون بهتره و یا جاوا

  7. سلام من مبتدی هستم و میخواستم یاد بگیرم
    بنظرتون برای شروع پایتون بهتره و یا جاوا

  8. با سلام و خسته نباشید
    عالیه واقعا ممنونم که این مطالب را نوشتید
    خیلی دوست دارم برنامه نویسی یاد بگیرم ریاضی و انگلیسی اذیتم می‌کنه .باتشکر

    1. برای اندروید جاوا
      برای وب php

  9. سلام !از اونجای که زبان سالیدیتی ،زبان مخصوص بازار رمز ارزهاس ،برای یادگیر بیشتر مفاهیم آن توصیه یا راهنمایی شما چیست ؟

    1. سلام
      زبان سالیدیتی سینتکسی بسیار مشابه با زبان ++C و #C و Java داره؛ اگر از قبل با اینجور زبان‌ها آشنا هستید، خیلی راحت می‌تونید یادش بگیرید؛ اما اگر از قبل با برنامه‌نویسی آشنایی ندارید اول باید مفاهیم پایه و منطقی رو یاد بگیرید که آموزش الگوریتم‌نویسی خیلی می‌تونه برای شما مفید باشه؛ ضمنا وب‌سایت cryptozombies.io هم به شکل خیلی جذابی مفاهیم مربوط به بلاک‌چین و سالیدیتی رو آموزش داده که پیشنهاد می‌کنم حتما ازش استفاده کنید.

  10. آیا با زبان پایتون میشه بازی برای اندروید را توسعه داد؟

  11. سلام
    داداش من عاشق برنامه نویسیم برای شغلی که ازش درامد داشته باشم نمی رم توش فقط به خاطر عشقی که بهش دارم میرم
    می خواستم بدونم از چه زبانی شروع کنم الان مبانی اولیه رو می دونم به نظرتون از cشروع کنم خوبه یا مثلا یه زبون دیگه؟

    1. سلام، زبان پایتون می‌تونه گزینه‌ی خوبی برای شروع برنامه‌نویسی باشه.

  12. سلام داداش خوبی داداش من چطوری یک برنامه ساده با گوشی بسازم یا یه برنامه ی که مثل سلام به زبان برنامه نویسی بیاد میشه بگید

  13. سلام …

    توی رشته برنامه نویسی چقدر به خلاقیت و چقدر به هوش نیاز داره ؟!

    چون من ‌‌توی زمینه هوش حرفی برای گفتن دارم اما تو خلاقیت نه برای همین میخواستم بدونم این کار به در من میخوره یا نه ؟!

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

  14. سلام …

    با برنامه نویسی iOS با زبان Swift میشه به آمریکا مهاجرت کرد ؟!

  15. سلام‌
    به نظرتون‌ برای شروع زبانه‌ جاوا‌ یا php مناسبه؟

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

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

    1. سلام حسام عزیز، بله حتما، ضمنا قبلا هم مقاله‌ای در خصوص جاوا اسکریپت در همیار آی‌تی نوشته شده که می‌تونید از طریق لینک زیر بهش دسترسی داشته باشید:
      https://www.hamyarit.com/blog/javascript/

  17. سلام
    ممنون از شما و سایت خوبتون
    خواهشا اگر امکان داره تمام گام های مورد نیاز برای یادگیری و حرفه ای شدن در برنامه نویسی رو بگید {از کجا شروع کنیم ؟ و… }

    1. سلام، به نظر من اولین قدم برای یادگیری درست برنامه‌نویسی اینه که با مفهوم الگوریتم‌ها آشنا بشید، این مقاله رو در این خصوص مطالعه کنید:
      https://www.hamyarit.com/blog/algorithm/

  18. سلام من هرینه ۱۹۰۰۰ تومان برای عضویت ویژه پرداختم جایی عضو نشدم

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

  19. سلام
    برای شدوع برنامه تویسی باید از کجا شروع کنم؟

    1. سلام، به‌نظر من اولین قدم اینه که مفهوم الگوریتم‌نویسی رو درک کنید و بعد از اون می‌تونید به سراغ یک زبان مثل ++C یا پایتون برید.

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

    1. سلام، بستگی داره که بخواین برای چه پلتفرمی بنویسید، مثلا اگر بخواین تحت ویندوز بنویسید می‌تونید از #C استفاده کنید، اگر بخواین برنامه رو برای اندروید بنویسید باید با جاوا یا کاتلین کار کنید و به همین شکل… برای هر پلتفرمی از زبان خاصی استفاده کنید؛ اگر جزئیات دقیق‌تری بگید، فکر می‌کنم بتونم بهتر کمک‌تون کنم.

    2. جزئیات
      برای سیستم عامل ویندوز و مک .سیستم عامل اندروید.سیستم عامل ویندوز فون مایکروسافت. سیستم عاملios

    3. اگر می‌خواین برای همه‌ی این پلتفرم‌ها برنامه‌نویسی کنید (که البته کار غیر منطقی هست) باید سی‌شارت، سوییفت و جاوا یا کاتلین رو یاد بگیرید.

    4. یه تیم جمع می کنم برای اینکار
      خودم c#

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

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

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

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

    2. وارد نشده میخواد هک کنه البته یاد نگیرین بهتر است چون راه سختی پیش دارین زمان بر و پشت کار میخواد و باید به چند زبان برنامه نویسی آشنایی داشته باشین

  23. سلام
    آیا با زبان پایتون میشه بازی برای اندروید را توسعه داد؟

    1. سلام، بله با ابزارهایی مثل PyGame میشه این‌کار رو انجام داد، اما برای ساختن بازی اندروید ابزارهای بهتری هم وجود داره، مثل موتور بازی‌سازی یونیتی و…

  24. سلام خسته نباشید فرق بین reference type و primitive type چیست اگه میشه ی توضیحی بدید ممنون

    1. سلام، Primitives Type به نوع داده‌هایی گفته میشه که به صورت پیشفرض و به عنوان دیتاتایپ‌های اصلی در یک زبان وجود دارند، مثل int یا float و… اما داده‌های References Type به نوعی از متغیرها گفته میشه که به بخشی از حافظه اشاره می‌کنند، در جاوا بهشون میگن رفرنس و در زبانی مثل ++C معادل همون اشاره‌گرها هستند.

  25. سلام نمی دونم سوالم مناسب اینجا هست یا نه ولی می خواستم ببرسم وقتی اموزش های مربوط به برنامه نویسی مثلا برنامه نویسی c رو نگاه می کنم از یک سری علامت های خاصی استفاده میکنن مثل int یا scan f یا … اینا رو از کجا باید معنیشو بفهمم؟یا از کجا باید بخونم؟

    1. سلام دوست عزیز، این موارد کلیدواژه‌های رزرو شده‌ی هر زبانی هستند و معمولا در زبان‌های مختلف می‌تونن متفاوت باشن، مثلا int مخفف integer هست و به برنامه اطلاع میده که نوع متغیری که ایجاد کردیم از نوع عدد صحیح هست، یا مثلا float به معنای اعداد اعشاری هست، البته بعضی از زبان‌ها هم نوع متغیرهای متمایز ندارند (مثلا PHP یا پایتون) برای اینکه بتونید به لیست این موارد دسترسی داشته باشید می‌تونید سایت یا مستندات هر زبان رو بررسی کنید، مثلا لینک زیر مربوط به زبان ++C هست:
      https://en.cppreference.com/w/cpp/keyword

    1. سلام، اصولاً بازار کار آی‌تی در همه جای دنیا خوبه، آلمان‌ هم از این قضیه مستثنی نیست.

  26. سلام .
    استفاده از IDE ها چطوریه؟
    من با لینوکس کار میکنم و پایتون رو توی ترمینال باز میکنم! IDE محیط گرافیکی بهش میده ؟!!

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

  27. سلام
    با توجه به توضیحات شما استفاده از زبان #C در برنامه های تحت وب خیلی منطقی نیست ( شاید برداشت من غلط باشد )
    برنامه هایی مثل Facebook و LinkedIn در کدام گروه قرار میگیرند و زبان برنامه نویسی آنها کدام است؟

    1. سلام دوست عزیز، بله، البته معادل #C در محیط وب زبان ASP هست که از نظر سینتکس خیلی خیلی شبیه به همون #C هست، در خصوص سوال دومتون، فیس‌بوک با زبان PHP و لینکدین با زبان Java نوشته شده.

  28. سلام
    آقا یه سوال داشتم
    بازار کار برنامه نویسی در خارج از کشور چطوریه؟؟؟
    مثلا برای کار تو کشوری مثل روسیه چه زبان برنامه نویسی ای رو باید یاد گرفت؟

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

  29. سلام . من دنبال مفهوم داده هستم میتونید برای من ساده و روون و کامل توضیح بدید داده چی هست ؟

    1. سلام دوست عزیز احتمالا تا الان جوابتون رو پیدا کردین.داده به اطلاعات خام میگن که هنوز هیچ پردازشی روی اون انجام نشده.مثلا اگه مورد ریاضی رو در نظر بگیری اعدادی که وارد کامپیوتر میکنی داده هستند و وقتی یه سری عملیات روشون انجام میشه مثل جمع و…تبدیل میشن به اطلاعات

  30. سلام نام یک وبسایت در موضوع امورش رایگان جا وا میخواستم هرکی می‌دونه لطفاً بگه

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

    2. از سایت ویکی کد wikicod.ir استفاده کنید
      آموزشهای فارسی معادل سایت انگلیسی و مطرح w3scools.comرا داره

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

  31. سلام من می خوام عضو سایت الگوریتم بشم باید چی کار کنم.

    1. سلام، مظورتون رو از سایت الگوریتم متوجه نمیشم دوست گرامی.

  32. سلام
    چگونه وارد صفحه الفبای برنامه نویسی و مراحل گام به گام را یاد بگیریم

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

  33. خیلی ممنونم از سایت خوبتون
    من علاقه ی زیادی به برنامه نویسی داشتم و نمی دوستم باید از کجا شروع کنم
    سایت همیار آی تی کمک زیادی به من کرد که چطور تو برنامه نویسی موفق بشم

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

  34. خیلی عالی بود متشکرم
    درمورد برنامه نویسی توی سایت های مختلفی جستجو کردم ولی بهترین سایتی که برنامه نویسی و واژه های مرتبط با اون رو توضیح داده بود سایت خوب همیار آی تی بود.
    ممنونم ازتون 🙂

    1. خوشحالیم که این آموزش مورد استفاده‌تون بوده.
      توصیه می‌کنم حتما مجموعه آموزش‌های مفاهیم برنامه‌نویسی رو که به صورت رایگان در همیار آی‌تی منتشر کردیم مطالعه کنید:
      https://www.hamyarit.com/programing/

  35. از جمله مهم ترین مواردی که بهش اشاره کردید همان یادگیری زبان انگلیسی هست.
    برای اینکه یه نفر بتونه در برنامه نویسی پیشرفت کنه حتما باید زبان انگلیسی خودش رو تقویت کنه.
    متاسفانه یا خوشبختانه منابع خیلی زیادی در موضوع برنامه نویسی به زبان انگلیسی در دسترسی همه هست. برای موفقیت توی برنامه نویسی طبق تجربه خودم میگم اول از همه زبان انگلیسیتون رو تقویت کنید و در مرحله بعد برید سراغ برنامه نویسی و شروعش کنید.
    https://faradars.org/how-to-learn/programming

    1. بله درسته حرفتون، زبان انگلیسی برای یادگیری برنامه نویسی یه پیشنیاز خیلی مهم هست.

  36. پس میشه لطفا تا چند روز اینده ی مقاله کامل درباره جاوا بزارید ؟ مثلا جاوا چیست و چه کاربردی دارد و …

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

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

    2. این هم لینک یک مقاله‌ی کامل که به درخواست شما کاربر گرامی در سایت منتشر شد:
      https://www.hamyarit.com/blog/java/
      امیدوارم مورد استفادتون قرار بگیره

    1. سلام دوست عزیز، درحال حاضر خیر، برنامه‌ای برای آموزش جاوا در دستور کار نداریم، شاید در آینده بذاریم.

    2. لطفا موارد دیگری نیز بگذارید باتشکر

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

    1. باید سعی کنید اول با مفهوم الگوریتم و فلوچارت آشنا بشید و بعد کد نویسی رو شروع کنید، برای یادگیری این موارد میتونید به این آموزش ها مراجعه کنید:
      https://www.hamyarit.com/blog/algorithm/

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

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

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

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

  40. سلام
    آموزش نوشتن الگوریتم رو نمیذارین؟
    به نظرم الگوریتم نویسی خیلی مهم‌تر از ایناست.

  41. سلام
    اینا که خیلی به دردی نمیخورن.
    لطفا زودتر کدنویسی رو یاد بدین، من منتظرم /-:

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

    2. چی میگی مرد حسابی، به درد نمیخوره؟؟؟؟
      به نظرم کل برنامه‌نویسی رو همین چیزاست.
      اگه اینا رو رعایت نکنی که زود بی خیال برنامه نویسی میشی.

    3. من تجربه زیادی در شروع برنامه نویسی زبان‌های مختلف و رها کردنشون دارم تقریبا همه‌ی عمرم این کارو کردم!!!
      البته که برنامه‌نویسی مهمه ولی دونستن و رعایت این اصول قطعاً میتونه شما رو به یک برنامه‌نویس تبدیل کنه و با عدم رعایت اون‌ها شبیه من میشید. اقیانوسی به عمق نیم متر!!!

  42. سلام
    ادامه ی آموزش ها رو کی در سایت میذارید؟
    من منتظرم.

    1. سلام
      در حال تکمیل آموزش بعدی هستیم، به زودی (امروز یا فردا) در سایت منتشر خواهد شد!

    1. بعد از اینکه که آموزش‌های مقدماتی تموم شه و بخوایم وارد بخش کدنویسی بشیم.

    2. منم با ایشون موافقم، لطفا جاوا رو آموزش بدین. 🙂

  43. سلام
    برای بخش برنامه‌ نویسی (زبانی که می‌ خواین آموزش بدین) از چه زبان برنامه نویسی استفاده می کنید؟
    لطفا جاوا رو آموزش بدین و بعدش هم برین سراغ آموزش اندروید.

    1. احتمالا یه نظرسجی برگزار می‌کنیم و با توجه به اون زبان برنامه‌نویسی رو برای آموزش انتخاب می‌کنیم.

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

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

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *