انتخاب زبان برنامه نویسی

  • حمید محمدی صابر
  • برنامه نویسی وب 
    طراحی وب 
    زبان HTML
    زبان CSS
    jQuery
    Photoshop

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

انتخاب زبان برنامه نویسی


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

۱. برنامه نویسی موبایل 
برنامه های موبایل مبتنی بر چندین پلاتفرم مختلف نوشته می شوند. برای مثال برای Android شما می بایست حتماً زبان برنامه نویسی جاوا را یاد بگیرید. نوشتن برنامه های Android شدیداً وابسته به زبان جاوا هستند. البته فرم ورک های دیگری نیز وجود دارند مانند Ionic یا Apache Cordova و همینطور Xamarin که بوسیله آن ها می توانید برنامه هایی برای Android بنویسید. اما برنامه های Android به صورت مستقیم با زبان جاوا نوشته می شوند که اصطلاحاً به آن ها برنامه های Native می گویند. برای برنامه های IOS، شما باید با Swift که رابطه مستقیمی با زبان Objective-C دارد آشنا باشد. یا برای برنامه های Windows Phone امکان نوشتن برنامه ها با زبان سی شارپ یا HTML و CSS و JavaScript وجود دارد. 

۲. برنامه نویسی وب 
اگر قصد دارید کار برنامه نویسی وب انجام دهید ابتدا باید مشخص کنید که از چه تکنولوژی می خواهید استفاده کنید. معروف ترین ها در حوزه برنامه نویسی وب 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 را انتخاب خود برای برنامه نویسی وب قرار می دهند و بسیار هم محبوب است. 

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

  1. زبان HTML برای ایجاد صفحات وب
  2. زبان CSS برای استایل دهی به صفحات وب
  3. JavaScript برای نوشتن کدهای سمت کاربر
  4. jQuery که یک کتابخانه مبتنی بر javaScript است
  5. Bootstrap برای راحتی کار در ایجاد صفحات وب
  6. Photoshop برای ایجاد طرح اولیه وب سایت


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

۴. برنامه نویسی 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 را نیز جزو برنامه خود قرار دهید. 

منبع: 
itpro-tolooco