در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

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

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

شروع برنامه نویسی و تبدیل شدن به یک برنامه نویس موفق

مرحله 1 : داشتن علاقه = صبور بودن

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

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

برنامه نویسی شب و روز نداره، اکثر برنامه نویس ها شب زنده دار هستن (به قول معروف که من مرد تنهایی شبم :دی). موقعیت هایی پیش میاد که شاید تو 48 ساعت بیشتر از 5 ساعت نتونید بخوابید. پس یادتون باشه، مهمترین موضوع اینه که به برنامه نویسی علاقه مند باشید و این علاقه هست که توی کار به شما صبر میده و کمک میکنه تا بتونید با بی خوابی ها و مشکلات یک برنامه نویس کنار بیایید.

شروع برنامه نویسی و تبدیل شدن به یک برنامه نویس موفق

مرحله 2 : انتخاب راه

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

کد نویسی Back-End (نوشتن کدهای مربوط به یک برنامه که توسط کاربر نهایی قابل دیدن نیست)، صبر و حوصله میخواد، برعکس کار طراحی واسط کاربری و طراحی وب که بیشتر خلاقیت و هنر در اون حرف اول رو میزنه. برای مثال، افرادی که علاقه زیادی به حل مسائل پیچیده دارند تو زمینه برنامه نویسی Back-End و البته برنامه نویسی سیستمی میتونن موفق باشند، همچنین این دسته از افراد تو زمینه نوشتن Framework های نرم افزاری موفق خواهند بود.

 

مرحله 3 : مطالعه

شک نکنید که باید مطالعه داشته باشید. دنیای برنامه نویسی دائماً در حال تغییر است و سالانه تکنولوژی ها و نسخه های جدید از زبان های برنامه نویسی به بازار عرضه می شوند. برای مثال، برای زبان برنامه نویسی سی شارپ تا این لحظه 6 نسخه عرضه شده و هر نسخه شامل قابلیت های جدید است. باید زمانی رو برای مطالعه کتاب ها اختصاص بدید و این زمان همیشگی است. مطالعه دائمی شرط موفقیت شما است.

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

شخصی که مطالعه نمی کند مثل آب داخل یک برکه است که جریان ندارد. سعی کنید تا حد امکان از منابع به زبان انگلیسی استفاده کنید. (البته ITPRO رو از این مورد فاکتور بگیرید :دی) خیلی افراد با مطالعه کتاب ها با زبان انگلیسی مشکل دارند، اما در صورت اتمام یک کتاب، مطالعه کتاب های بعدی برای شما خیلی راحت می شود. اکثر منابعی که به زبان فارسی وجود دارند به دلیل وجود اشتباه در ترجمه یا حتی زیاده روی در ترجمه تنها باعث سردرگمی شما می شوند.

 

مرحله 4 : انتخاب زبان برنامه نویسی

خیلی از افراد در انتخاب زبان برنامه نویسی دچار مشکل می شوند. اینکه چه زبانی را انتخاب کنید که مبتنی بر علایق شما باشد بسیار مهم است. همانطور که گفتیم شاخه برنامه نویسی به زیر شاخه های بسیاری تقسیم می شود، مانند Desktop Application و Web Application یا برنامه های موبایل و همچنین برنامه های تحت وب. هر یک از این شاخه ها نیازمند یادگیری یک یا چند زبان برنامه نویسی هستند.

 

  1. برنامه نویسی موبایل :  برنامه های موبایل مبتنی بر چندین پلاتفرم مختلف نوشته می شوند. برای مثال برای Android شما می بایست حتماً زبان برنامه نویسی جاوا را یاد بگیرید. نوشتن برنامه های Android شدیداً وابسته به زبان جاوا هستند. البته فرم ورک های دیگری نیز وجود دارند مانند Ionic یا Apache Cordova و همینطور Xamarin که بوسیله آن ها می توانید برنامه هایی برای Android بنویسید.اما برنامه های Android به صورت مستقیم با زبان جاوا نوشته می شوند که اصطلاحاً به آن ها برنامه های Native می گویند. برای برنامه های IOS، شما باید با Swift که رابطه مستقیمی با زبان Objective-C دارد آشنا باشد. یا برای برنامه های Windows Phone امکان نوشتن برنامه ها با زبان سی شارپ یا HTML و CSS و JavaScript وجود دارد.
  2. برنامه نویسی وب : اگر قصد دارید کار برنامه نویسی وب انجام دهید ابتدا باید مشخص کنید که از چه تکنولوژی می خواهید استفاده کنید. معروف ترین ها در حوزه برنامه نویسی وب PHP و ASP.NET هستند، البته تکنولوژی های دیگری مانند JSP نیز وجود دارند، اما به انداه PHP و ASP.NET بازار کار ندارند. خیلی ها سر اینکه PHP بهتر است یا ASP.NET دائماً در حال بحث کردن هستند. اما این نکته رو بگم که شما چه ASP.NET و چه PHP رو به صورت حرفه ای یاد بگیرید، می توانید هر سایتی را طراحی کنید. در حال حاضر سایت های بزرگی وجود دارند که با PHP نوشته شدند، برای مثال Facebook کاملاً مبتنی بر PHP و MySQL می باشد یا سایت هایی مانند ITPRO و StackOverflow با ASP.NET نوشته شده اند. به نظر شخص خود من، مزیتی که یادگیری ASP.NET نسبت به PHP دارد این است که دست شما برای نوشتن برنامه های دیگر مانند Desktop Application باز خواهد بود، زیرا با یادگیری ASP.NET می بایست زبان سی شارپ را نیز فرا بگیرید. هم PHP و ASP.NET ریشه در زبان سی دارند.در کنار PHP و ASP.NET نیز باید با HTML و CSS و JavaScript نیز آشنایی داشته باشید. همچنین شما باید با بانک های اطلاعاتی نیز آشنا شوید، معمولاً برنامه نویسان PHP از بانک MySQL و برنامه نویسان ASP.NET از بانک SQL Server استفاده می کنند. البته شما در ASP.NET می توانید از بانک MySQL استفاده کنید و بالعکس.تکنولوژی جدید دیگری نیز که معرفی شده NodeJS می باشد که کاملاً مبتنی بر JavaScript است و خیلی از برنامه نویسان، NodeJS را انتخاب خود برای برنامه نویسی وب قرار می دهند و بسیار هم محبوب است.
  3. طراحی وب : خیلی از افرادی که تازه وارد دنیای برنامه نویسی وب می شوند، تفاوت طراحی وب و برنامه نویسی وب را نمی دانند. طراح وب کسی است که پوسته یا قالب یک سایت را طراحی می کند، یعنی ظاهر سایت که کاربر نهایی با آن سر و کار دارد، اما برنامه نویس وب، شخصی است که کد مربوط به یک سایت را می نویسید، کدهایی مانند ارتباط با بانک اطلاعاتی، اعتبار سنجی کاربران و ... یک طراح وب علاوه بر داشتن خلاقیت و زوق هنری باید با موارد زیر آشنایی داشته باشد:

 

 

  1. زبان HTML برای ایجاد صفحات وب

  2. زبان CSS برای استایل دهی به صفحات وب

  3. JavaScript برای نوشتن کدهای سمت کاربر

  4. jQuery که یک کتابخانه مبتنی بر javaScript است

  5. Bootstrap برای راحتی کار در ایجاد صفحات وب

  6. Photoshop برای ایجاد طرح اولیه وب سایت

 


مواردی که گفته شد از الزمات اولیه برای یک طراح وب سایت، در کنار این موارد آشنایی با تئوری رنگ ها، مفاهیم گرافیک نیز بسیار مهم بوده و به ایجاد طرح های جذاب کمک می کنند.

 

4. برنامه نویسی Desktop Application

اکثر ما با این مدل برنامه ها هر روز سر و کار داریم، برنامه هایی مثل Word یا Excel. این ها برنامه های Desktop هستند. یک برنامه نویس Desktop برای ایجاد این برنامه ها می توانند از بین Java و NET. یکی را انتخاب کند. البته تکنولوژی های دیگری نیز وجود دارند مانند C++ MFC یا C++ QT، اما برای راحتی و سرعت کار Java یا NET. توصیه می شود. هر دو زبان بازار کار خوبی دارند، اگر شما Java را انتخاب کنید، یادگیری زبان جاوا باید اولویت شما باشد.

اما در صورت انتخاب NET.، می توانید بین Visual Basic و C# یکی را انتخاب کنید. پیشنهاد من به شما انتخاب C# است، زیرا بازار کار بهتری دارد و منابع و کتاب هایی که در اینترنت وجود دارند اکثراً بر اساس زبان سی شارپ ارائه شده اند. شاید بتوان مزیتی که جاوا نسبت به NET. دارد را قابلیت اجرای برنامه های جاوا بر روی پلاتفرم های مختلف مانند لینوکس، ویندوز و ... ذکر کرد. البته NET. نیز از این قابلیت پشتیبانی می کند، اما نه به صورت کامل! در کنار یادگیری زبان های برنامه نویسی، یادگیری بانک های اطلاعاتی مانند SQL Server یا Oracle را نیز جزو برنامه خود قرار دهید.

شروع برنامه نویسی و تبدیل شدن به یک برنامه نویس موفق

مرحله 5 : ذهن شرطی شده برای الگوریتم ها

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

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

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

 

مرحله 6 : برای خودمان کار کنیم یا در جایی استخدام شویم؟

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

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

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

 

مرحله 7 : از دیگران یاد بگیرید

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

 

مرحله 8 : تمرین کردن

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

خود من بارها همچین پروژه هایی رو برای خودم تعریف می کنم و برای خودم کدنویسی می کنم، موضوعات مختلف هستند، برای مثال چند وقت پیش تصمیم به نوشتن یک ORM گرفتم، ORM های زیادی وجود دارند، مانند Entity Framework و NHibernate که بسیار هم قدرتمند هستند، اما پروژه رو تعریف و شروع به کد نویسی کردم. مهمترین مزیت این کار برای من یادگیری مسائلی بود که قبلاً با آن ها آشنایی نداشتم و تو چندین پروژه همین مسائل به کمک من آمدند.

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

 

مرحله 9 : با تکنیک ها و ابزارهای مختلف آشنا شوید

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


در انتها مروری میکنم بر مواردی که در این مطلب به آن ها اشاره کردم:

 

 

  1. در صورتی وارد کار برنامه نویسی شوید که به آن علاقه دارید

  2. راه خود را بر اساس علاقه مندی های خود انتخاب کنید

  3. هر روز، زمانی را به مطالعه و تحقیق اختصاص دهید

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

  5. ذهن خود را برای الگوریتم ها شرطی کنید

  6. اگر تصمیم دارید برای خودتان کار کنید، در ابتدا حتماً به عنوان کارآموز یا نیرو در شرکتی استخدام شوید.

  7. از تجربیات دیگران استفاده کنید

  8. تمرین کردن زیاد از شما یک انسان حرفه ای می سازد

  9. با تکنیک ها و ابزارهای مختلف در برنامه نویسی آشنا شوید

 

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


نویسنده: حسین احمدی

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

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است

#چگونه_یک_برنامه_نویس_حرفه_ای_بشویم #چگونه_طراحی_وب_را_شروع_کنیم #برنامه_نویسی_رو_از_کجا_شروع_کنم #ویژگی_های_یک_برنامه_نویس_حرفه_ای #شروع_برنامه_نویسی #چگونه_برنامه_نویسی_را_شروع_کنیم #چگونه_یک_طراح_وب_حرفه_ای_شویم #شروع_یادگیری_برنامه_نویسی

12 نظر
سیدرضا بازیار

چند نکته مهم رو هم به فرمایشات این استاد بزرگوار اضافه میکنم:

همه فن حریف باشید، ولی در یک کار استاد باشید

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

شرکت در انجمن های گفتگو و برقرای تماس با دیگر برنامه نویسان

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

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

از تجربیات دیگران استفاده کنیم قبل از اینکه تجربه دیگران شویم

یکی از نکاتی مهم که قبل از شروع برنامه نویسی باید بدانید این است که گاهى موانع بزرگ و مشكلات زياد، انسان را از رسيدن به هدف، مأيوس و نااميد مى‏ سازد؛ ولى استفاده از تجربه ‏هاى ديگران، موانع و مشكلات موجود را برطرف مى ‏سازد و نااميدى را به اميدوارى تبديل مى‏كند؛ از اين رو ديگر براى بدست آوردن راه حلّ، نيازى به تكرار تجربه و يافتن راه حلّ‏ نيست.

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

برای موفقیت برنامه ریزی کنید

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

برای برنامه ریری کافیست یک قلم و کاغذ را به دست بگیرید و کار هایی را که هر روز باید انجام دهید را لیست کنید. کار هایی را لیست کنید که حتما توانایی انجام آنها را دارید.

سعید خلیفی

مرسی حسین جان از مقاله خوبت.

فقط نکته ای که لازم میبینم اضافه کنم اینه که در سال های اخیر، زبان Python هم داره به سرعت جا باز میکنه. الان خیلی از سایت های معروف YouTube، سایت DropBox، سایت Google، سایت Quora، سایت Bitly، سایت Reddit، سایت Yahoo Maps، سایت Pinterest، سایت و نرم افزار محبوب Instagram، سایت Disqus، سایت Spotify، سایت NASA و... از با استفاده از Python + Django نوشته شدن. با توجه به ماهیت Python و ساده بدن یادگیری این زبان، پیش بینی میشه که به زودی بتونه سهم خودش در بازار رو افزایش بده، به طوری که ممکنه جایگاه PHP رو به خطر بندازه.

در مورد Node.js هم خالی از لطف نیست که به زبان های دیگر این مجموعه مثل React.js و Angular.js و Meteor.js و ... هم اشاره بشه که خیلی بین برنامه نویسان محبوب شدن.

باز هم مرسی از مقاله خوب و مفیدت.

soheil One

عالی بود <3 تمام و کمال نکته ها گفته شد

حسین احمدی

مرسی سعید جان بابت نظرت، فقط نکته ای که باید بگم اینه که React.js یا angularjs زبان برنامه نویسی به حساب نمیان، بلکه کتابخانه هایی هستند مبتنی بر JavaScript.

سیدرضا بازیار

توی قدرت پایتون و پیشرفت اون هیچ شکی نیست!

اما چرا می فرمایید جایگاه php رو به خطر بندازه؟ یعنی واسه asp.net خطر نداره؟

ارسطو  عباسی

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

ممنون آقای احمدی خیلی خوب بود. من رو تقریبا از گمراهی خلاص کردید!

سعید خلیفی

آقای بازیار،

زبان ASP.NET و جدیدا Net Core. زبان های بسیار خوب و موفقی هستن. ولی در حال حاضر حدود 80% سهم بازار متعلق به سایت های مبتنی بر PHP هستش که خب سایت های مبتنی بر WordPress و Joomla هم عملا PHP Based هستن.

البته مایکروسافت با ارائه Net Core. و Open Source کردن این زبان، زنگ خطر رو برای بقیه زبان ها به صدا در آورده. ولی باید دید تا چه حد میتونه موفق باشه.

رامین تقی زاده

سلام آقای احمدی.

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

  1. یکی از لازمه های امر طراحی ( حتی طراحی دسکتاپ اپلیکیشن ها) آشنایی با مفاهیم تئوری رنگ ها و روانشناسی رنگ هاست. من قبلا زیاد تو اینترنت در مورد رنگ ها تحقیق کردم و چیزهای خوبی دستگیرم شد. حتی برای نمونه یه سایت مثل color hex رو هم پیدا کردم که رنگ های استاندارد و color paletteهای جالبی رو توش قرار میدن و به نظرم برای رنگ بندی برنامه ها دید خوبی رو به آدم میده. اما بازم دوست دارم که در مورد تئوری رنگ ها و این که موقع طراحی از چه استاندارهایی برای رنگ بندی باید پیروی بشه، بیشتر بدونم. آیا شما منبع یا منابعی رو برای این امر سراغ دارید؟
  2. Cross platform بودن یه برنامه تا چه حد یک امر حیاتی محسوب میشه؟ وقتی میبینیم طرف سفارش دهنده داره از سیستم ویندوزی استفاده میکنه چه نیازی هست که نگران این امر باشیم.؟ و یک مورد دیگر اینکه اگر فردی به ما سفارش طراحی یک اتوماسیون اداری بده و همچنین از ما بخواد که در کنارش یک اپلیکیشن اندرویدی هم درست کنیم، به نظر شما برای طراحی خود اتوماسیون استفاده از سی شارپ کار درست تری هست یا جاوا. ؟ (از لحاظ راحتی و ... و با توجه به اینکه در صورت استفاده از زبان جاوا، برای درست کردن اتوماسیون و اندروید اپلیکیشن در حقیقت از یک زبان استفاده کرده ایم)
  3. خیلی ها برای بیان مزیت یک زبان به متن باز بودن آن اشاره می کنند .متن باز بودن آیا واقعا یک مزیت محسوب میشه؟
حسین احمدی

سلام رامین جان، عذر خواهی میکنم دیر جوابت و دادم، راستش یادم رفته بود، اما در مورد مسائل ای که گفتی:

  1. برای تئوری رنگ ها در زمینه طراحی وب مقالات خیلی زیادی هست، اما بهترین مقاله ای که خودم خوندم، مطلبی بود از سایت smashing magazine که از این لینک میتونی مطلب رو مطالعه کنی.
  2. موضوع Cross Platform بودن کاملاً بستگی به برنامه ای که داری می نویسی داره و اینکه چه اشخاصی می خوان از اون برنامه استفاده کنن. مثال میزنم، فرض کن میخوای برای یه شرکت یه برنامه حسابداری یا انبارداری بنویسی، این برنامه به طور حتم بیشترین استفاده ای که ازش میشه رو پلاتفرم ویندوز هست و نیازی پیدا نمیکنی که برای لینوکس یا مک هم این برنامه رو بنویسی. اما یه برنامه مثل فتوشاپ، شما می تونی هم رو مک نصب کنی و هم رو ویندوز، طبیعی هم هست، به خاطر اینکه شرکت Adobe باید هم گرافیست هایی که تحت ویندوز کار می کنند رو جذب کنه و هم گرافیست هایی که از مک استفاده می کنن.
  3. در مورد Application موبایل برای برنامه، معمولاً App های موبایل بوسیله json با برنامه ها ارتباط میگیرن و ارتباط مستقیمی به تکنولوژی مورد استفاده برای توسعه نرم افزار نداره. شما کافیه برای برنامه ای که میخوای بنویسی یک API بنویسی که خروجی رو به صورت json ارائه بده.
  4. متن باز بودن باز هم بستگی به خود برنامه داره، یه موقعی هست شما یک Framework برای سی شارپ می نویسی و اون رو به صورت Open Source در بستر اینترنت مثلاً سایت GitHub قرار میدی، اما برای برنامه هایی مثل برنامه های سازمانی که یک شرکت یا سازمان ازشون استفاده میکنه شما نه تنها اون نرم افزار رو به صورت Open Source ارائه نمیدی، بلکه شاید برای برنامه اجرایی قفل نرم افزاری یا سخت افزاری هم بزاری.
مصطفی چگنی

مرسی فوق العاده بود دوستان باعث شد خیلی مسائل برام روشن بشه.

معین واحدی

سلام و خسته نباشید

ممنون بابت مقاله بسیار خوبتون

جواب سوالات و ابهاماتی که توی ذهنم بود رو گرفتم

تیمور

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

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

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