برنامه نویسی را از کجا شروع کنیم چه زبان هایی را فرا بگیریم؟
توضیحاتی در مورد زبانهای برنامهنویسی:
یکسری از زبانها چندسکویی (CrossPlatform) هستند. به این معنی که میتوان برای بسترهای متفاوتی برنامهنویسی کرد. مانند زبان برنامهنویسی جاوا (Java) که به کمک آن میتوان برای ویندوز، مک، لینوکس، اندروید و وب برنامهنویسی کرد. ولی برنامهنویسی برای سیستمهای مختلف به این سادگیها هم نیست و تقریباً برای هر بستر (Platform) نیاز به مهارتِ خاصی است.
یکسری اصول در اکثر زبانهای برنامهنویسی عمومیت دارند که معمولا در زبانهای مختلف تفاوتی ناچیز دارند. مثلا شرط در اکثر زبانها وجود دارد. بنابراین اگر شما در ابتدای کار هستید رادوو به شما پیشنهاد میکند که ابتدا مقدمات کلی برنامهنویسی را یاد بگیرید و روی یک زبان خاص اصرار نداشته باشید.
بعضی از زبانها متخص وب هستند مانند زبان برنامهنویسی PHP و بعضی مختص سیستم عاملی خاص.
چارچوبهای برنامه نویسی با زبان برنامهنویسی متفاوت هستند و به اشتباه بعضی از چارچوبها، زبان برنامهنویسی خطاب میشوند مانند
ASP.Net
بررسی ویژگیهای زبانهای مختلف:
جاوا | Java
یک زبان برنامهنویسی چند منظوره است که در سال 1995 عرضه شد. جاوا یک زبان برنامهنویسیِ شیءگرا است و در سال 2015 میلادی جاوا محبوبترین زبان نزد برنامهنویسان جهان شناخته شد. این زبان شبیه به ++C است اما مدل شیءگرایی آسانتری دارد و از قابلیتهای سطح پایین کمتری پشتیبانی میکند. یکی از قابلیتهای بنیادین جاوا این است که مدیریت حافظه را بطور خودکار انجام میدهد. ضریب اطمینان عملکرد برنامههای نوشتهشده به این زبان نسبت به زبانهای نسل اول C بالا است. برنامههای جاوا به صورت بایت کد (کامپایل) میشوند و توسط JVM (ماشین مجازی جاوا) به کدهای ماشین تبدیل و اجرا میشوند. در صورت وجود JVM مانند سایر زبانهای مبتنی بر آن که وابسته به سیستمعامل خاصی نیستند برنامه های نوشته شده به جاوا بر روی هر نوع سیستم عامل و هرگونه وسیله ی الکترونیکی قابل اجرا میباشند.
بیش از 9 میلیون نفر در سراسر دنیا به این زبان برنامه نویسی
می کنند که این خود نشان دهنده فضای مناسب برای این زبان و تعداد زیادی از
برنامه های کاربردی و ... میباشد
طبق آخرین آمار انجمن برنامه نویسان TIOBE ، زبان برنامه نویسی جاوا به
لحاظ کارایی و استفاده ، دارای بالاترین رنکینگ در سرتا سر دنیاست ، یعنی
رتبه اول را از آن خود نموده است
جاوا اصلیترین زبانی است که گوگل برای توسعه برنامههای آندرویدی از آن استفاده میکند. اگر آرزوی برنامهنویس شدن را دارید، باید بدانید که یادگیری جاوا به معنای فرصتهای شغلی بسیار است و معمولا حقوقهای بالایی را خواهد داشت.
جاوا اسکریپت | Java Script
ابتدا به این نکته توجه داشته باشید که جاوا اسکریپت و جاوا هیچ ارتباطی باهم ندارند و جاوا اسکریپت در واقع یک زبان اسکرپیتنویسی است که همهی مرورگرها از آن پشتیبانی میکنند.
JavaScript یک زبان اسکریپتنوسیِ شی گرا و سطح بالا است. فریم ورکهای بسیاری برای این زبان طراحی شده است مانند جی کوئری (JQuery) و آنگولار جی اس (AngularJS). کاربرد جاوااسکریپت در سایتها و صفحات اینترنتی است، بنابراین یادگیری جاوا اسکریپت مستلزمِ یادگیریِ یکسری استانداردها و ویژگیهای وب است و شما نیاز به یادگیری سطحی HTML و CSS خواهید داشت.
سی پلاس پلاس | ++C
سی پلاس پلاس جانشینی برای زبان برنامهنوسیِ سی به شمار
میرود که اساسا برای تعیین عملیات و انجام وظایف توسط کامپیوتر ساخته شده
است. زبان برنامهنویسیِ سی پلاس پلاس شیءگرا، سطح بالا و چندرگه است.
در حال حاضر از سی پلاس پلاس (++C) در برنامهنوسی سمت سرور، بازیهای ویدیویی، برنامهنویسی سیستمی و درایورها استفاده میشود.
C++ اهداف بیشتری را نسبت به C پوشش میدهد. بطوریکه باید به عنوان یک زبان
مجزا آموزش داده شود. برای یادگیریِ این زبان نیازی به یادگیری زبان C
بعنوان پیش نیاز نمیباشد.
پی اچ پی | PHP
زبان مورد علاقهی بسیاری از توسعهدهندگان وب است. این زبان
مختص وب است و فقط میتواند توسط توسعه دهندگان وب مورد استفاده قرار
میگیرد. کدهای پی اچ پی توسط یک وب سرور که نرمافزار پی اچ پی روی آن نصب
شده است، تفسیر میشود.
PHP نسبت به روزهای اولیه خود، تغییرات اساسی داشته است و برنامه زمانی
دقیقی برای آن طراحی شده است؛ به این صورت که هر نسخه از این زبان تا سه
سال پشتیبانی میشود، تا دو سال تمامی بهروزرسانی را دریافت میکند و در
سال سوم فقط بهروزرسانیهای امنیتی برای هر نسخه از آن ارائه میشود.
این زبان در حال حاضر یکی از رایج ترین زبانهای توسعه وب به شمار میرود و رقابتی بین این زبان و ASP.Net مایکروسافت برقرار است.
اِی اِس پی داتنِت | APS.Net
APS.Net یک چارچوب کاربردی برای وب است که توسط شرکت مایکروسافت عرضه شده تا برنامه نویسان بتوانند برای ساخت وب سایتها، برنامهها تحت وب پویا، سرویسهای وب و سرویسهای XML از آن استفاده کنند. ASP.Net یک چارچوب است و نمیتوان گفت یک زبان برنامهنویسی مجزا میباشد. هسته سیستمهایی که با ASP.Net تولید میشوند میتواند با زبانهای مختلف مانند VB و #C نوشته شده باشد بنابر این یادگیری یکی از این زبانها و فراگیریِ ASP.Net میتواند شما را به یک توسعه دهنده وب تبدیل کند.
سی شارپ | #C
سی شارپ یک زبان یک زبان همه فن حریف است که برپایه مدرن
بودن، سادگی، شیءگرایی و همه منظوره بودن ساخته شده است، و برای ساخت طیف
گستردهای از برنامهها مورد استفاده قرار میگیرد.
سی شارپ (#C) توسط شرکت مایکروسافت طراحی شده است و بسیاری از محصولات
حرفهای سیستمعامل ویندوز که کاربران همه روزه از آنها استفاده میکنند،
با این زبان پیاده سازی شده است.
شما با یادگیریِ سی شارپ نه تنها برای ویندوز بلکه برای مک و چندین توزیع
محبوب لینوکس (به واسطهی Net Core.) برنامه نویسی کنید. با پشتیبانیِ
فوقالعادهی مایکروسافت از سیشارپ و ابزارات مختلف این شرکت شما
میتوانید با استفاده از این زبان برای سیستم عاملهای اندروید (Android)،
ویندوز موبایل (Windows Phone) و آی اُ اِس (IOS) برنامهنویسی کنید. زبان
#C، زبان اصلیِ هسته اکثر وبسایتهای مطرح دنیا است که یکی از آنها که هر
روزه توسط برنامهنویسان استفاده میشود StackOverFlow است. بنابر این
دنیای گستردهی وب نیز در تسلط این زبان گنجانده میشود.
پایتون | Python
پایتون یک زبان همه منظوره و سطح بالا است. این زبان در اواخر
دهه 80 (میلادی) طراحی شده است. پایتون از جمله زبانهای برنامهنویسی
قدرتمندی است که توانایی ورود به حوزههای مختلفی همچون محاسبات علمی را
دارد.
لازم به ذکر است که در ساخت سیستمهای بزرگی مانند دراپباکس و یوتیوب از
زبان برنامهنویسی Python استفاده شده است. پایتون همچنین استفاده وسیعی از
صنعت ایمنی اطلاعات میکند. مثلاً در چندین ابزار پیشنهاد شده توسط تأمین
امنیت و امنیت مرکزی و اسکنر امنیت کاربردی وب واپیتی. پایتون معمولاً در
توسعه کاربرد مورد استفاده قرار میگیرد.
رابی | Ruby
رابی یک زبان برنامهنویسی انعطافپذیر، پویا و شیءگرا است که
در اواسط دهه 90 (میلادی) در ژاپن طراحی شد. این زبان فرصتهای شغلی خوبی
را برای برنامهنویسان به وجود آورده است. امروزه بسیاری از برنامههای
کاربردی وب، سرویسهای ذخیرهساز ابری، شبکههای اجتماعی و تجارت الکترونیک
با استفاده از این زبان ساخته شده است.
سینتکس رابی بسیار شبیه سینتکس پایتون است. رابی دو پیادهسازی اصلی دارید:
مفسر رسمی روبی که بیشتر مورد استفاده قرار میگیرد، و JRuby که یک
پیادهسازی براساس جاوا است.
توسعه و مشارکت در برنامهها
یکی از کارهای پسندیدهای که برنامهنویسان حرفهای انجام میدهند انتشار کدهای نوشتهشدهشان در محیط اینترنت است. این کار باعث میشود که در ابتدا برنامهنویسان مبتدی بتوانند تجربیاتی از کدهای آنها کسب کنند. برنامهنویسان حرفهای و نیمهحرفهای هم میتوانند برنامههایشان را از این طریق توسعه داده و آنها را به برنامههای بهتری تبدیل کنند. سایت «گیتهاب» (GitHub) یکی از وبسایتهای بسیار معروف در این زمینه است که با جستوجو در آن میتوانید پروژههای انجام شده بهوسیلهی سایر برنامهنویسان را مشاهده و دانلود کنید. شما میتوانید برنامهها را توسعه دهید و دوباره منتشر کنید. حتی میتوانید به برنامهای قابلیت جدیدی اضافه کنید.
اگر تا به اینجای کار هنوز پروژهای برای دوستان یا آشنایانتان انجام ندادهاید و کمی استرس دارید که شاید از پس پروژههای تجاری برنیایید، به شما پیشنهاد میکنم با جستوجوی ساده در گوگل (البته به زبان انگلیسی) در انجام پروژهای داوطلبانه شرکت کنید. پروژههای داوطلبانه معمولا بهوسیلهی چند نفر با تخصصهای مشابه و شاید هم متفاوت انجام میشوند و از آنها درآمدی عاید شما نمیشود. برنامهنویسی برای بیمارستانها، خیریهها و سایر موسسات غیرانتفاعی از نمونه پروژههای داوطلبانه هستند که در انتهای پروژه شما چند دوست خارجی، مقدار زیادی اعتمادبهنفس و یک نمونه کار دارید.