برنامه نویس از جلو
بهترین زبان برنامه نویسی چیه؟
میخوای برنامه نویسی یاد بگیری یا برنامه نویس هستی، بیاید باهم ببینیم بهترین زبان برای برنامه نویسی کدومه؟
قبل از هر چیز اگر میخواید بدونید که چطور برنامه نویسی رو شروع کنید این مطلب از من رو بخونید:
اصلا چرا زبان های مختلف برای برنامه نویسی هست؟
اول باید ببینیم اصلا چرا زبان های مختلف برنامه نویسی به وجود اومدن، همین موضوع میتونه به تنهایی جواب سوال مارو بده.
ما انسان ها برای ارتباط با هم از پروتکل های مشخصی استفاده میکنیم که بهش میگیم زبان! توی هر زبان هم قواعد و ساختار مشخصی وجود داره که برای ارتباط درست بین خودمون اون ها رو رعایت میکنیم. برای ارتباط با کامپیوتر هم زبان های مختلفی وجود داره که برای همین هدف شکل گرفتند. فهموندن کاری که ما میخوایم کامپیوتر برامون انجامش بده.
علاقه ای ندارم که تاریخ رو بازگو کنم که فلان زبان در سال فلان بوجود اومد برای این هدف و فلان و فلان! نه! ولی خیلی کلی و به اندازه کافی بدونیم که زبان های برنامه نویسی در زمان های مختلف برای اهداف مختلفی بوجود اومدن. کامپیوتر ها از قدیم تا امروز تنها چیزی که میفهمن کد باینری (۰ و ۱) هست. خب معلومه که هیچکس حوصله کد نوشتن به این شکل رو نداره و کار بسیار مشکلیه. جالبه بدونیم که آدمای زیادی بودن که با این روش در اوایل پیدایش کامپیوتر ها برنامه نویسی میکردند. البته نه برای نوشتن بازی تتریس یا مار و پله! برای کار های علمی و نظامی و کلا کار های مهم!
زبان های برنامه نویسی جدید هم در نهایت کدشون تبدیل میشه به همون کد های باینری (۰ و ۱) که برای کامپیوتر قابل فهم و اجرا باشه ولی ما به عنوان برنامه نویس دیگه درگیر اون لایه نیستیم. (یا حداقل خودمون نمیخوایم که باشیم ولی میتونیم)
پس نتیجه می گیریم که برنامه نویسی مثل امروز انقدر راحت نبوده و راه زیادی رو طی کرده که به اینجا برسه. زبان های سطح بالاتری ابداع شدند که به زبان ما نزدیک تر باشند تا بتونیم راحت تر متوجه شون بشیم و بنویسیم و در نتیجه برنامه نویسی کار آسون تری بشه.
خب تا اینجا خیلی خلاصه متوجه شدیم که چطور شد که زبان های برنامه نویسی بوجود اومدند و چی شد که به مرور زمان به زبان ما نزدیک تر شدند تا جایی که یک زبان برنامه نویسی مثل Python به قدری به زبان محاوره ما نزدیکه که خوندن و نوشتنش مثل حرف زدن با کامپیوتر شده.
زبان ها
امروز که این مقاله نوشته میشه ده ها زبان برنامه نویسی مختلف برای کار های مختلف وجود داره که هر کدوم در جای خودش کاربرد داره. ممکنه بعضی زبان ها محبوبیت خودشون رو از دست داده باشند و امروزه کمتر کسی پیدا بشه که به اون زبان مسلط باشه ولی هنوز هم استفاده میشن.
من نمیدونم نقطه عطف زبان های برنامه نویسی کجا بود! اما میدونم که با پیدایش زبان C و ++C خیلی اتفاقات بزرگی افتاد مثلا برای اینکه متوجه بشیم این زبان ها چه کاربرد های فوق العاده ای داشتند و چه محصولات و چه سرویس هایی به کمک اون ها بوجود اومده: سیستم عامل ویندوز، خیلی برنامه هایی که موشک های ناسا و SpaceX رو به فضا هدایت میکنند، تقریبا همه بازی هایی که روی پلی استیشن و کامپیوتر بازی کردیم یا ساده تر از اونها، خیلی نرم افزار هایی که استفاده میکنیم مثل فتوشاپ و گوگل کروم و حتی زبان های برنامه نویسی دیگه با این زبان بوجود اومدن. زیبا نیست؟
ولی به مرور زبان های دیگه ای هم شکل گرفتند مثل Java و PHP و Python و JavaScript و HTML و CSS و Ruby و ... خیلی خیلی زبان های دیگه.
بوئینگ بهتره یا مرسدس بنز؟
سوال جالبیه! با توجه به شگفت انگیز بودن زبان C و خانواده محترمشون مثل ++C یا #C یا Objective-C شاید نتیجه گیری ما این باشه:
ایول عجب زبون قدرتمندی! بهتر از این نمیشه! من فقط میخوام برم C یاد بگیرم چون میتونم همه کار باهاش انجام بدم و خفن بشم! آرههه
این سوال که کدوم زبون سریع تره، کدوم زبون امن تره، کدوم زبون بهتره و قوی تره و خیلی سوالات از این دست دقیقا مثل اینه که بپرسیم بنز بهتره یا بوئینگ. سگ بهتره یا گربه. لیوان بهتره یا قاشق!
مشخصا جواب همه این ها رو شما میدونید! مقایسه باطلی هست. هر کدوم از اینها در جای خودشون بهترین ابزار و بهترین چیز ها هستند. بستگی به این داره که چطور و کجا بخواید از هر کدوم استفاده کنید. زبان های برنامه نویسی هم همین موضوع در موردشون صدق میکنه. صرفا چون همه شون زبان برنامه نویسی هستند دلیل نمیشه مقایسه های این شکلی رو در موردشون انجام بدیم. اما برای اینکه به یک نتیجه گیری درست برسیم و به این جنگ کدوم بهتره و کدوم نیست پایان بدیم من در قسمت بعد جواب این سوال رو میدم: کدوم زبان برنامه نویسی برای ما بهتره؟
اگر اول راه هستید و میخواید برنامه نویسی یاد بگیرید
اگر تازه کار هستید و علاقه مند به برنامه نویسی، باید یک زبان ساده رو برای شروع انتخاب کنید. زبانی که بتونید باهاش راحت ارتباط برقرار کنید و به دور از مباحث پیچیده بتونید برنامه هایی بنویسید که بعدش به خودتون صدآفرین بدید!
پیشنهاد من برای اینه:
- پایتون (Python): یک زبان بسیار ساده، قابل فهم و روان! بهترین گزینه برای شروع کار به خاطر سادگیش. تقریبا باهاش همه کاری هم میتونید انجام بدید مثل توسعه بازی، دیتا ماینینگ (Data Mining)، وب، هوش مصنوعی و ... . واقعا زبان دوست داشتنی هست و برای شروع خیلی توصیه میشه.
- جاواسکریپت (JavaScript): نسبت به پایتون شاید یکم بدبدن تر باشه ولی در مقابل زبون های دیگه واقعا ساده است. از خانواده زبان C هست (به اصطلاح C Based هست) ولی نکته هم اینه که هییییچ ربطی به Java نداره و صرفا تشابه اسمیه. مثل Car و Carpet یا خر و خربزه. با جاواسکریپت کاری نیست که نتونید انجام بدید مثلا برنامه نویسی موبایل و وب و سرور و سیستم و ... اما جای درخشش جاواسکریپت وب و مخصوصا سمت کاربر* هست. سادگی خوبی داره و تقریبا روی همه سیستم ها (چه موبایل، چه دسکتاپ و چه تبلت و ...)قابل اجراست!
من زبان های دیگه رو برای شروع توصیه نمیکنم ولی به مرور که یکم سر در بیارید از دنیای برنامه نویسی خودتون بهتر میتونید تصمیم بگیرید که چه مسیری رو دنبال کنید.
اگر برنامه نویس هستید و نمیتونید انتخاب کنید
البته اگر برنامه نویس نسبتا تازه کار هستید! اول اینکه دست از مقایسه زبون ها با هم بکشید و اگر کاری میخواید انجام بدید با هر چیزی که بلدید یا بیشتر خوشتون میاد شروع به کار کنید. اصلا به اینکه کدوم زبون سریع تره، کدوم امن تره، کدوم پرفومنس بهتری داره و این داستان ها فکر نکنید!
بهترین و ساده ترین و دم دستی ترین چیزی که بلدید بهترین زبون برای شماست!
اما...
اگر براتون موضوع خیلی حیاتیه، توجه شما رو به این لیست که نوشتم جلب میکنم:
- اگر سرعت برنامه براتون مهمه ولی پیچیدگی زبون مهم نیست: C و ++C و Java
- اگر سادگی براتون مهمه ولی سرعت اهمیت کمتری داره (بی اهمیت نیست): Python و Ruby و JavaScript
- اگر سادگی براتون مهمه و میخواید زودتر برنامه آماده بشه: JavaScript و PHP و Python
- اگر سادگی نسبی میخواید و سرعت خوب و وقت برای یادگیری دارید: Go
- اگر دوست دارید بعدا بتونید تو حوزه های دیگه هم کار کنید: JavaScript
- اگر حل مساله دوست دارید: Python
- اگر کلا ذهن گیک دارید و میخواین خیلی خفن به نظر برسید: C و ++C و Assembly
- اگر دوست دارید بازی بنویسید و حرفه اصلیتون رو توسعه بازی قرار بدید: C و ++C
- اگر برنامه تون قراره کلی کلاینت و مشتری داشته باشه: C و ++C و Java
- اگر برنامه نویسی موبایل رو میخواید ادامه بدید: Java و Swift و JavaScript
- هر کار دیگه هم خواستید بکنید تو کامنت ها بنویسید من اگر بتونم چیزی پیشنهاد میکنم ?
جمع بندی
زبان های برنامه نویسی هر کدوم به منظور خاصی بوجود اومدن و برای کار خاصی استفاده میشن. بعضی ها محبوب تر و بعضی ها شاید طرفدارای کمتری داشته باشند ولی این به ما و هدف ما بستگی داره که کدوم زبون رو برای کارمون یا برای رسیدن به هدفمون انتخاب کنیم. درس فرهنگی که گرفتیم هم این بود که زبان ها رو با هم مقایسه نکنیم! به برنامه نویس ها هم احترام بگذاریم.
من حسان ام! تخصص خودم زبان JavaScript هست و پیشنهاد میکنم شما هم امتحانش کنید، برای یادگیریش توی اینترنت مطالب خیلی زیادی هست که توصیه میکنم برای یاد گرفتنش جستجو کنید. میتونید مقاله های دیگه من هم که در همین رابطه نوشتم بخونید و نظر بدید.
مطلبی دیگر از این انتشارات
Deep Learning را یاد نگیر !
مطلبی دیگر از این انتشارات
سلام Git! من قبلاً ازت متنفر بودم !
مطلبی دیگر از این انتشارات
دروغ اپل آیدی ( Apple ID )