انتخاب زبان برنامه نویسی
انتخاب زبان برنامه نویسی موبایل
خیلی از افراد در انتخاب زبان برنامه نویسی موبایل دچار مشکل می شوند. اینکه چه زبانی را انتخاب کنید که مبتنی بر علایق شما باشد بسیار مهم است. همانطور که گفتیم شاخه برنامه نویسی به زیر شاخه های بسیاری تقسیم می شود، مانند 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. طراحی وب
خیلی از افرادی که تازه وارد دنیای برنامه نویسی وب می شوند، تفاوت طراحی وب و برنامه نویسی وب را نمی دانند. طراح وب کسی است که پوسته یا قالب یک سایت را طراحی می کند، یعنی ظاهر سایت که کاربر نهایی با آن سر و کار دارد، اما برنامه نویس وب، شخصی است که کد مربوط به یک سایت را می نویسید، کدهایی مانند ارتباط با بانک اطلاعاتی، اعتبار سنجی کاربران و ... یک طراح وب علاوه بر داشتن خلاقیت و زوق هنری باید با موارد زیر آشنایی داشته باشد:
زبان HTML برای ایجاد صفحات وب
زبان CSS برای استایل دهی به صفحات وب
JAVASCRIPT برای نوشتن کدهای سمت کاربر
JQUERY که یک کتابخانه مبتنی بر JAVASCRIPT است
BOOTSTRAP برای راحتی کار در ایجاد صفحات وب
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 را نیز جزو برنامه خود قرار دهید.
شروع برنامه نویسی و تبدیل شدن به یک برنامه نویس موفق
خیلی از افراد در انتخاب زبان برنامه نویسی موبایل دچار مشکل می شوند. اینکه چه زبانی را انتخاب کنید که مبتنی بر علایق شما باشد بسیار مهم است. همانطور که گفتیم شاخه برنامه نویسی به زیر شاخه های بسیاری تقسیم می شود، مانند 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. طراحی وب
خیلی از افرادی که تازه وارد دنیای برنامه نویسی وب می شوند، تفاوت طراحی وب و برنامه نویسی وب را نمی دانند. طراح وب کسی است که پوسته یا قالب یک سایت را طراحی می کند، یعنی ظاهر سایت که کاربر نهایی با آن سر و کار دارد، اما برنامه نویس وب، شخصی است که کد مربوط به یک سایت را می نویسید، کدهایی مانند ارتباط با بانک اطلاعاتی، اعتبار سنجی کاربران و ... یک طراح وب علاوه بر داشتن خلاقیت و زوق هنری باید با موارد زیر آشنایی داشته باشد:
زبان HTML برای ایجاد صفحات وب
زبان CSS برای استایل دهی به صفحات وب
JAVASCRIPT برای نوشتن کدهای سمت کاربر
JQUERY که یک کتابخانه مبتنی بر JAVASCRIPT است
BOOTSTRAP برای راحتی کار در ایجاد صفحات وب
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 را نیز جزو برنامه خود قرار دهید.
شروع برنامه نویسی و تبدیل شدن به یک برنامه نویس موفق