بیایید برنامه نویس شویم…
پیرو کامنتی که یکی از کاربران، در دو پست قبلم، مبنی بر نوشتن پستی در باب برنامه نویسی و چگونگی شروع به این کار و منابع و… داده بودند، تصمیم به نوشتن این پست کردم. با جست و جویی در گوگل مقالات بسیاری یافتم که نویسندگان آن ها، هر کدام به نحوی از تجربه خودشان و راهکارهایشان برای شروع به این کار نوشته بودند. مناسب ندیدم که با تکرار سخن آنان، نتیجه ای را به نتایج گوگل اضافه کنم که هم وقت کاربران را بگیرم و هم سخن به گزافه بگویم. با این حال نکاتی به ذهنم رسید که امیدوارم تکراری نباشد و راهگشای علاقه مندان تازه کار باشد. گرچه برخی تکرار ها لازمه ی این مقاله هستند!
برنامه نویسی چیست؟
در ساده ترین (نه دقیق ترین) تعریف می توان برنامه نویسی را اینگونه تعریف کرد: عملی برای ساخت یک برنامه که رفتار مورد نظر ما را به نمایش بگذارد که این کار معمولا از طریق یک زبان برنامه نویسی انجام می شود. برنامه نویسان با فراگیری زبان مخصوص هر زبان برنامه نویسی که مجموعه ای از کد ها و دستورات هستند، اقدام به نوشتن برنامه می کنند.
اما چه نیازی به برنامه نویسی و برنامه نویس شدن هست؟ با مثالی منظور را واضح تر بیان میکنم. فرض کنید که نیاز به انجام کاری از طریق کامپیوتر دارید و با گشت و گذار در برنامه های موجود برای آن کار را نمی یابید. تکلیف چیست؟ اینکه خود دست به کار شوید و یا اینکه از یک برنامه نویس برای ساختن برنامه مورد نظر کمک بگیرید.
زبان های برنامه نویسی
گفتیم که برنامه نویسان به کمک زبان های برنامه نویسی اقدام به نوشتن و ساخت برنامه می کنند. زبان های برنامه نویسی را می توان به مانند زبان انسانی در نظر گرفت. البته تفاوت هایی می توان میان آن ها یافت که با دقیق تر شدن در هر دو می توان این تفاوت ها را احساس کرد.
زبان های زیادی وجود دارند که می توان به تناسب نیاز خود یکی (یا چند تا) از آن ها را برای نوشتن برنامه ی مورد نظر استفاده کرد. هر کدام از آن ها ویژگی ها و دستورات خاص خود را دارند و در واقع هر کدام را بهر کاری ساخته اند. اما ما در ابتدای کار از کجا بفهمیم که چه زبانی برای ما مناسب است؟
چه زبانی برای ما مناسب است و کدامشان را برگزینیم؟
بسیاری پاسخ این سوال را از روی سادگیِ یک زبان برنامه نویسی برای شروع می گویند. برخی دیگر کارآمد بودن زبان و برخی دیگر قدرتمندی آن را مناسب می دانند. اما یکی از مهم ترین نکته ها کاربرد آن زبان برنامه نویسی است.
زبان های مختلف کاربرد های مختلفی دارند و شاید بزرگترین دسته بندی برای کاربرد زبان ها، تحت وب و تحت سیستم عامل باشد. شما می خواهید که برنامه هایتان در چه محیطی اجرا شوند؟ نمونه ای از کاربرد های تحت وب را می توان در همین سایتی که پیش روی شماست مشاهد کنید. این سایت با سیستم مدیریت محتوای وردپرس که با زبان php نوشته شده است اجرا می شود. از نمونه های تحت سیستم عامل هم می توان برنامه هایی مثل آفیس، فتوشاپ و… را نام برد.
با اینکه بسیاری علاقه دارند که تحت وب برنامه بنویسند ولی نکته ای دیگر را هم باید مد نظر گرفت و آن این است که وب علی رغم پیشرفت بسیار زیادش، هنوز هم ضعیف است! منظورم این است که برای ساخت یک سایت یا یک وب اپلیکیشنِ باید مهارت های بیشتری را فرا گرفت. به عنوان مثال برای طراحی و ساخت یک سایت داینامیک مستقل با حداقل امکانات، نیاز به فراگیری PHP، MySQL، HTML، CSS و جاوا اسکریپت به شدت احساس می شود. گرچه یادگیری تک تک این موارد در صورت داشتن علاقه سهل و آسان است اما برای شروع (حداقل از جانب منِ نویسنده) پیشنهاد نمی شود.
سخن را کوتاه میکنم. با این که کاربرد یک زبان نکته ی بسیار مهمی است اما امری که اجتناب ناپذیر است ساده بودن آن زبان است که در ابتدای کار فرایند یادگیری را سرعت می بخشد. اینکه یک زبان خاص را به عنوان اولین زبان برای یادگیری به شما معرفی کنیم شاید مثل تجویز دارو برای بیمار بدون در نظر گرفتن نوع بیماری و خصوصیات بیمار و دیگر چیز هاست! اما به ذکر یک استاندارد در مدارس تیزهوشان ایران می پردازم که به نظر استاندارد مناسبی است. دانش آموزان این مدارس در سال دوم راهنمایی با زبان Quick Basic(بیسیک سریع)، سال بعد ویژوال بیسیک(بیسیک بصری) و در نهایت در اول دبیرستان زبان C را می آموزند. اما این هم صرفا یک پیشنهاد است و این را از من قبول کنید که شروع مستقیم با ویژوال بیسیک یا C هم اصلا کار سختی نیست (ولی شروع با Quick Basic می تواند پایه ی شما را قوی تر کند و در درک زبان های دیگر کمک بسزایی داشته باشد). فقط صبر و علاقه و البته همت را می طلبد. ذکر این مورد هم خالی از لطف نیست که بلد بودن چند زبان نشانه ی مهارت زیاد و توانمندی بالا نیست.
مطمئنا بررسی تک تک زبان های برنامه نویسی و ذکر مزایا و معایب آن ها در این مقاله نمی گنجد و البته با جست و جو در گوگل می توانید اطلاعات بیشتری را از این زبان ها به دست آورید.
فرصت را از دست ندهید. هرچه زودتر به آموختن یک زبان بپردازید. مطمئن باشید که در هر رشته ای باشید، زبان برنامه نویسی به کار شما می آید و همینطور در تفکر منطقی شما هم تاثیر بسزایی خواهد داشت. فقط فراموش نکنید که گام به گام پیش بروید و صبر و پشتکار داشته باشید و البته علاقه شما هم مهم ترین امری است که به کمک شما می آید.
پ.ن : این پست صرفا جهت آشنایی تازه کار ها و افراد علاقه مند به برنامه نویسی است و مطمئنا کامل نیست اما خوشحال میشویم که نطرات خود را با ما در میان بگذارید.
سلام
خیلی ممنون از لطفتونو آموزش برنامه نویسی
خیلی دوست دارم برنامه نویسی یاد بگیرم و حتما این آموزش دنبال میکنم
به این میگن یه مقاله درس و حسابی. اگه میشه ادامه بیدین و از اول وپایه یه زبون رو یاد بدین یا
مقاله هایی درمورد کاربرد زبون های مختلف و تفاوت اون ها باهم بزارید
.
………مقله های اخیر سایت خیلی بد بودن اما این میتونه یه شروع خوب باشه برای تبدیل سایت به یه سایت آموزشی اما متفاوت:) ……
البته html یک زبان برنامه نویسی نیست.بلکه یک زیان نشانه گذاری استک
D-:
صد البته. علاوه بر این CSS و حتی MYSQL هم جزو زبان های برنامه نویسی نیستند.منظور این بود که علاوه بر یک زبان مثل php یا asp نیاز به یادگیری موارد دیگر هم هست و همین می تواند موجب دلسردی در ابتدای کار شود.
سلام
من می خواستم یه سایت فروش راه اندازی کنم تقریبا ۹۰% شبیه سایت ۲۹۳۸٫ir می خواستم بدم بیرون آماده کنن گفتن ۲ ۳ تومن میشه واسه همین خواستم که خودم شروع کنم به یادگیری و طراحی. asp.net رو دارم یاد می گیرم.خوشحال می شم اگه راهنماییم کنید که چقد کار داره یادگیریش و تا چه مدت می تونم سایت خودمو راه اندازی کنم. ممنون
سلام.
حالا که برنامه نویس شدن انقدر ساده و بیدردسر شده، باید بگم که دیگه چندان هنری نیست که شما برنامه نویسی یاد بگیری. هنر اینه که ایده پردازی کنی و ایدهات رو عملیاتی کنی و بعد هم خوب تبلیغ کنی.
آره داداش!
http://phpro.ir/%d9%85%d9%82%d8%a7%d9%84%d9%87-%d8%ae%d9%88%d8%af%d8%a2%d9%85%d9%88%d8%b2-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%d8%af%d8%b1-10-%d8%b3%d8%a7%d9%84/
سلام. ممنون
من تازه می خوام شروع کنم ولی درک از برنامه نوسی ندارم! می دونی من مثلا نمی فهمم چطوری با یه کد برنامه ای مثل فتوشاپ ساخته میشه که میشه داخل نقاشی کرد و آبرنگ و… انجام داد! چطوریه؟ هر چیزی رو میشه ساخت؟ گیج شدم!
آیا برنامه نویسی با سخت افزار در ارتباط است؟ چطوری؟
اینطوری نیست که یه کد بنویسیم بعد بشه فتوشاپ . فرض کن من می خوام یه برنامه مثل فتوشاپ بسازم
اول می یای می گی که برنامه من باید چه چیزهایی داشته باشه – مثلا باید یه قسمت داشته باشه به اسم Brsuh یا قلمو.
خوب این ابزار باید چی کار کنه ؟
باید وقتی این ابزار رو انتخاب می کنی و کلیک ماوس رو نگه می داری و می کشی ، مسیر ماوس رنگی بشه
خوب اول برنامه نویس باید ببینه که کاربر ماوس رو کجای صفحه کلیک می کنه (مثلا نقطه 150 – 1200) این رو باید با کد نویسی متوجه بشی
دوم باید ببینی که کاربر ماوس رو تا کی حرکت می ده و تا کدوم نقطه می بره (مثلا نقطه 1000 – 1200) این رو هم باید برنامه نویس با توابع که داره ، بفهمه
بعد که نقطه شروع و پایان معلوم شد ، حالا باید برنامه نویس به یه کد دیگه از نقطه شروع تا پایان رو رنگ کنه
حالا چطوری برنامه نویس این کارو می کنه ؟
تو صفحه یه تعداد پیکسل (نقاط ریز) وجود داره که بسته به برنامه که در حال اجراست ، تغییر رنگ می ده
خوب با این توصیفات برنامه نویس باید اون نقاطی که کاربر ماوسش رو حرکت داده ، اون پیکسل ها رو بفهمه (قسمت اول و دوم) بعد باید اون پیکسل ها رو رنگش رو عوض کنه
که این یعنی برنامه نویس به سخت افزار هم دسترسی داره
حالا فرق زبان های برنامه نویسی در این که نحوه کد نوشتن این سه مرحله فرق می کنه
این فقط برای یه براش با یه رنگ ثابت بود – حالا شما فتوشاپ و امکاناتش رو نگاه کن ببین چقدر وسیعه
به نظر شماها پر کاربرد ترین زبان برنامه نویسی کدومشه؟؟