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

محمود عراقی زاده

خیلی خوبه که قصد داری تا به دنیای بزرگ برنامه نویسها وارد بشی، اما لازمه تا در همین قدمهای اول نگرش درستی از برنامه نویسی داشته باشی و بدونی که قراره در این محیط چکار کنی؟ و یا برنامه نویسها چه اهدافی رو دنبال میکنند. در این مقاله قصد داریم تا از تمام دنیای برنامه نویسی صحبت کنیم و مختصری با زبان های مختلف و فضاهای گوناگون این حوزه آشنا بشیم.
برنامه نویسی چیست؟ به چه کاری میاد؟
برنامه نویسی فرآیند آمادهسازی دستوراتی است تا دستگاه ها رو طبق اهدافی از پیش تعریف شده کنترل کنیم و نتایجی ساختاریافته در اختیار داشته باشیم. به این ترتیب هر سیستم مطابق با الگوریتم تعریف شدهی ما رفتار میکنه.
احتمالا دو یا سه بار این تعریف رو بخونی و هنوز نتونی به درستی درکش کنی که برنامه نویسی چی هست؟ واقعاً چه نیازیه تا تعریف برنامه نویسی رو این اندازه سخت و پیچیده کنیم. خیلی ساده برنامه نویسی، نوشتن یه سری دستورالعمل هست. دستورالعملی که به زبان قابل فهم دستگاه و یا سیستم باشه و سیستم طبق همین دستورالعملها کار میکنه. به این ترتیب قراره تا با برنامه نویسی از دستگاه یا کامپیوتر بخوایم که طبق خواستهی ما رفتار کنه. اما این وسط یه سری چالشها وجود داره. اول اینکه سیستم زبان ما رو درک نمیکنه و باید با زبان خودش صحبت کنیم. پس لازمه تا انواع زبان های برنامه نویسی رو یاد بگیری. دوم اینکه سیستم هیچ نگرشی از اهداف و خواستههای ما نداره و لازمه تا اهداف رو به شکل ساختاریافته براش تعریف کنی. مفهوم الگوریتم در برنامه نویسی برای همین نکته کلیدی هست. این شکلی دنیای برنامه نویسی شکل گرفته و توسعه پیدا کرده.
آیا کامپیوترها ذاتاً هوشمند هستند؟
تا حالا در تواناییها و کارهایی که در یه کامپیوتر و یا هر سیستم مشابه انجام میشه دقت کردی؟ قطعاً میدونی که هر کامپیوتر میتونه صدها نوع فعالیت رو در مدت زمانی خیلی کوتاه انجام بده و خیلی محاسبات پیچیده رو مدیریت کنه و اطلاعات بسیار زیادی رو در مدت زمان خیلی کوتاه تحلیل کنه. حتی حالا با مفهوم جدید هوش مصنوعی روبهرو هستیم و قراره تا کامپیوترها مثل ما انسانها و حتی فراتر از ما فکر کنند. در این صورت آیا کامپیوترها ذاتا هوشمند هستند؟
ولی در عمل تمام کامپیوترهای دنیا بدون هوشمندی هستند. در واقع کامپیوترها جز چند قطعه الکترونیکی کنار هم نیستند که قراره با یه سری دستورالعمل کار کنند. این دستورالعمل هست که آنها رو هوشمند میکنه و بدون تعریف این دستورالعمل حتی بهترین کامپیوترها قادر به انجام هیچ کاری نیستند.
فرض کنید قصد مونتاژ وسیلهای دارید و اگر دستورالعمل برای اینکار نباشه، قطعاً با مشکلات زیادی روبرو هستی و نمیتونی به درستی وسیله مورد نظر رو مونتاژ کنید. اما اگه یه دستورالعمل در اختیار داشته باشی، حالا دقیق میدونی که هر قطعه برای چی هست و قراره کجا نصب بشه. نکته کلیدی، عدم هوشمندی کامپیوترها است. اینکه آنها اشتباهات در دستورالعمل رو متوجه نمیشوند. کافیه در برنامه نویسی و تعریف دستورالعمل اشتباه کنی تا کامپیوتر به ظاهر هوشمند شما کل مسیر رو اشتباه بره!
زبان برنامه نویسی چیست؟
دنیای کامپیوترها یه دنیایی باینری هست. دنیایی که به شکل ۰ و ۱ شکل گرفته. اصولاً کامپیوتر خانه شما و یا پیچیدهترین سیستمهای مدرن دنیا چیزی بیشتر از کدهای ۰ و ۱ رو درک نمیکنند. ولی درک همین کدهای ۰ و ۱ برای ما هم خیلی سخت و پیچیده هست. در اینجاست که زبان های برنامه نویسی شکل گرفتند که به ما کمک کنند تا به دنیای باینری کامپیوترها وارد بشیم.
در دنیا، انواع زبان های برنامه نویسی وجود داره که هر کدوم برای هدفی خاص و کار در محیط کد نویسی معینی طراحی شدهاند. تاریخچه برنامه نویسی هم به شکلگیری و تکامل همین زبانها وابسته هست. اما همهی این زبانها در واقع ابزارهای واسطی هستند که دنیای ما رو به دنیای باینری کامپیوترها وصل میکنند. در واقع هر زبان برنامه نویسی محیط قابل فهم برای تعریف دستورالعمل سمت انسانها هست و دستورات رو به کدهای قابل فهم ماشین ترجمه میکنه. البته یادگیری و کار کردن با انواع زبان های برنامه نویسی خیلی سادهتر از کار کردن با کدهای ۰ و ۱ کامپیوتری هست.
انواع زبان های برنامه نویسی در دنیا وجود داره که همه ساله در حال توسعه هستند. زبانهایی مثل پایتون و یا جاوا شهرت و کاربرد زیادی دارند. خیلی از زبانها مثل HTML و یا CSS برای فضاهای خاصی مانند برنامه نویسی فرانت اند (Front end) تعریف شدند و برخی زبانها نیز کاربردهای خاصتری دارند.
تاریخچه برنامه نویسی
تاریخچه برنامه نویسی از زبانهای سطح پایین تا زبانهای پیشرفته و شی گرا خیلی پرفراز و نشیب هست و تاریخی فراتر از آنچه تصور میکنید دارد. در واقع اولین برنامهنویس دنیا آنهم در سالهای خیلی دور میانه قرن ۱۹ یه خانم بود. خانم Lovelace ریاضیدان انگلیسی بود که در سال ۱۸۳۳ با آقای Babbage دیدار کرد و همین ملاقات اولین جرقه شکلگیری دنیای بزرگ برنامه نویسی شد. چون آقای Babbage یه مخترع بود که روی ساخت ماشینی با قابلیت تحلیلی کار میکرد. البته آقای مخترع خودش هم نمیدونست که دستگاهش فراتر از محاسبهگری های صرفاً اعدادی، توانایی اجرای دستورالعملهایی تعریف شده هر چند ساده رو داره. این خانم ریاضیدان داستان ما بود که برای اولین بار برنامهای نوشت تا دستگاه Babbage طبق دستورالعمل اون کار کنه!
البته این ماجراجویی جذاب با مرگ زودهنگام خانم Lovelace پایان یافت و آقای مخترع هم هرگز نتوانست ایده شکلگیری کامپیوتر مکانیکی خودش رو کامل کند. اما حرکت آغاز شده بود و دنیای آینده انتظار میکشید تا برنامه نویسی به شکلی مدرن رو طرح ریزی کند.
آغاز برنامه نویسی در آمریکا
متأسفانه کامپیوتر خیلی ساده اما مکانیکی Babbage با برنامه نویسی خانم Lovelace رو هیچکس جدی نگرفت و تقریباً فراموش شد تا اینکه یه آمریکایی در سال ۱۸۹۰ از همین دستگاه الهام گرفت تا ماشین خودش رو بسازه. البته آقای Holleritn ماشین جدید رو برای اداره سرشماری آمریکا ساخته بود. همین دانشمند آمریکایی بعدها اولین شرکت تولید کننده تجهیزات برنامهریزی شده اما مکانیکی رو ایجاد کرد و دستگاههایی ساخت که با ایده کارتهای پانچ شده یه سری کارهای از پیش تعریف شده رو انجام میدادند.
برنامه نویسی در دنیای الکتریکی قرن بیستم
ایده ماشینهای برنامهپذیر مکانیکی خیلی کارآمد نبود و با ظهور تجهیزات الکترونیکی ابتدای قرن بیستم خیلی سریع فراموش شدند. اما به محض ابداع اولین ماشینهای حسابگر الکترونیکی، ایده شکلگیری زبانهای ساده برنامه نویسی هم مطرح شد. ماجرا به سالهای دهه ۴۰ قرن بیستم برمیگرده که با ابداع اولین ماشینهای حسابگر برقی اولین زبان های برنامه نویسی Assembly هم طراحی شدند. یه سری زبان های سطح پایین که به شکل دستی نوشته میشدند و کارهای ساده اما کاربردی رو اجرا میکردند. البته فرایند نوشتن این زبانها خیلی سخت و خیلی وقتگیر بود. به هر حال لازم بود تا دنیای نوپای برنامه نویسی، دل از ایدههای کلاسیک بکشه و مسیر خودشو در پیش بگیره. مسیری که با شکل زبان های سطح بالا آغاز شده بود.
برنامه نویسی وارد دنیای سطح بالا میشود!
شاید از تنبلی بود که زبان های سطح بالا رو اختراع کردند. چون مهندسین دههی ۴۰ قرن بیستم از کد نویسیهای خیلی طولانی زبانهای ساده اسمبلی حسابی خسته شده بودند. در هر صورت باید کد نویسی سریعتر انجام میشد و لازم بود تا تعریف مهندسی از زبان های برنامه نویسی تغییر کنه. این کار رو یه مهندس آلمانی به نام Konrad Zuse در سال ۱۹۴۳ انجام داد. اما هیچ کسی کار این مهندس رو جدی نگرفت تا اینکه در سال ۱۹۴۹ آقای William F Schmidt آمریکایی اولین زبان سطح بالای برنامه نویسی به نام Short Code رو ابداع کرد.
Short Code زبان خیلی ساده متکی بر عبارتهای ریاضی و قابل فهم برای انسان بود که دنیای برنامه نویسهای اولیه رو متحول کرد، اما در هر بار اجرا شدن باید کل کد ماشین ترجمه میشد. همین نقطه ضعف کافی بود تا حالا سرعت اجرای ماشین خیلی کم بشه. در واقع زبان Short Code کار برنامه نویسی رو ساده کرده بود، اما ماشینهای محاسبهگر رو کند میکرد. تا اینکه Alick Glennic با ابداع زبان Auto Code در سال ۱۹۵۲ این مشکل رو حل کرد. چون Auto Code اولین زبان کامپایلری دنیا بود. ولی اولین زبان محبوب دنیا با تکیه بر قابلیتهای کامپایلر کردن رو باید زبان Fortran معرفی کنیم که در سال ۱۹۵۴ و توسط تیمی از مهندسین IBM ابداع شد. البته این تازه مقدمهای از تاریخچه برنامه نویسی هست و هنوز خیلی زوده تا سروکله زبانهای سطح بالایی مثل Java، C و یا C++ پیدا بشه.
زبان های برنامه نویسی سطح بالا و تحول دنیای مدرن
دنیای برنامه نویسی خیلی ماجراها رو سپری کرده و حالا به مرز پختگی رسیده تا ازش برای کارهای خیلی بزرگ و خارقالعاده استفاده کنید. ولی یه زمانی ایده شکلگیری زبانهای سطح بالا انقلابی بود که دنیارو حیرتزده میکرد. مثل زبان ساده اما بنیادین COBOL که در سال ۱۹۵۹ ابداع شد و پس از اون زبان LISP مطرح شد. این زبان LISP از قابلیت تعریف هوش مصنوعی برخوردار بود و میشد باهاش دستورات انعطافپذیری رو کد نویسی کرد. جالبه که هنوز هم از ورژنهای مدرن همین زبان LISP استفاده میکنند. ولی داستان جدی برنامه نویسی تازه با ظهور Basic آغاز میشه.
زبان Basic و نقطه عطفی که برنامه نویسی رو ساده تر کرد
تا میانهی دهه ۶۰ از قرن بیستم میلادی پیشرفتهای چشمگیری در علم برنامه نویسی اتفاق افتاده بود، اما هنوز این فضا خیلی گنگ و کد نویسی خیلی سخت و وقتگیر بود. تا اینکه دو مهندس آمریکایی اولین زبان سطح بالا با امکان کامل فهم انسان و البته کد نویسی خیلی سادهتر رو ابداع کردند. این زبان Basic نام داشت که هنوز هم خیلیها ازش یاد میکنند. جالبه که بدونید اولین محصولات مایکروسافت بر پایه همین زبان Basic ساخته شد.
زبان برنامه نویسی C و آغاز دوره جدید کامپیوترها
این همه از تاریخچه برنامه نویسی گفتیم تا برسیم به زبان برنامه نویسی C که در سال ۱۹۷۲ توسط شخصی به نام Dennis Ritchie توسعه پیدا کرده و حتی حالا هم کارایی داره. بدون تردید زبان C یه کلاس با همه زبانهای قبل خودش متفاوت بود و آنقدر خوب بود که خیلی سریع در تمام دنیا معروف بشود. جالبه که خیلی از زبانهای مدرن این سالهای اخیر مثل Ruby، Perl، Java، C++ و حتی پایتون رو با تأثیر عمیق از ساختار C طراحی کردند و یه جورایی باید زبان C رو مادر همه زبانهای کد نویسی عصر نوین کامپیوترها معرفی کنیم.
زبان SQL و آغاز تاریخچه پایگاه داده
اگه از یه سری برنامه نویس حرفهای بپرسید که برای مدیریت پایگاه داده چیکار کنیم؟ قطعاً بهت متذکر میشوند که باید زبان SQL و یا زبانهای انشعاب گرفته از SQL رو یاد بگیری. اما همین زبان دست بالا که حالا هم کاربردی گسترده داره خیلی قدیمیتر از خیلی زبانها و در سال 1974 ابداع شد. کلمه SQL هم مخفف عبارت Struetured Query Language هست که میشه زبان پرسوجوی ساختار یافته.
مهندسین باهوش تو سالهای پرجنب و جوش دههی ۷۰ به دنبال یه راهکار در مدیریت دادهها بودند که SQL رو توسعه دادند. چون SQL براساس ساختار طبقهبندی دادهها طراحی شده و قراره تا مدیریت پایگاه داده حالا در هر فضایی مثل وبسایت ها و یا اپلیکیشنهای جدید موبایلی رو دست بگیره. البته حالا یه سری زبانهای انشعاب گرفته از همین SQL توسعه پیدا کردند که وارد شدن توی هر کدوم از آنها یه ماجرای خیلی تخصصیه.
توسعه زبان های برنامه نویسی تا آغاز عصر اینترنت
تقریباً از اوایل دهه ۱۹۹۰ میلادی هست که اینترنت توسعه پیدا میکنه و تاریخچه برنامه نویسی رو متحول کرده. اما تا قبل از اینترنت انواع زبان های برنامه نویسی ساختارهای ساده براساس کارکرد یک یا نهایتا چند دستگاه بودند. مثل:
- زبان Objective-C که اولین زبان توسعه پیدا کرده برند Apple و مادر IOS های امروزی است.
- زبان Perl که در سال ۱۹۸۷ ابداع شد.
- زبان Simular که اولین زبان شی گرا در دنیای رایانهای بود.
- زبان Prolag که اولین زبان منطقی معرفی شد تا برای برنامه نویسهای لاجیک کارایی داشته باشه.
- زبان C++ که از توسعه زبان C شکل گرفت و برای خیلی فضاها از شی گرایی تا کد نویسی سیستمی استفاده شده و هنوز هم کارایی داره.
- زبانهای Ada و یا Eiffel که حالا خیلی اثری از آنها نیست، اما زمان خودشون برای خیلی فضاهای نوین کامپیوتری استفاده شدند.
زبان های برنامه نویسی در عصر اینترنت
اگه قراره تا وارد دنیای برنامه نویسی بشی و این مهارت رو یاد بگیری، نیازی نیست تا به تاریخچه برنامه نویسی عقب برگردی و بخواهی تمام زبانهای ابتدایی و حالا منسوخ شده رو یاد بگیری. چون تو حالا درست در اوج عصر اینترنت هستی و در همین دوران بزرگ با ارتباطات وسیع باید دست به کار بشی تا زبان های برنامه نویسی مدرن رو کار کنید.
اینترنت خودش به تنهایی نقطه عطف تاریخچه برنامه نویسی هست. زبانهایی مثل Javascript و CSS و حتی HTML برای همین دوره هستند که حالا سنگ بنای برنامه نویسی رو شکل دادند. البته نمیشه از انقلاب پایتون عبور کرد. زبان ساده که در سال ۱۹۹۱ آنهم با الهام از زبان C توسعه پیدا کرده و حالا به قلب تپنده و خیلی معروف در دنیای کد نویسی مدرن تبدیل شده. Python رو باید انقلابی بدانیم که نگرش دنیای مدرن به برنامه نویسی رو تغییر داد. البته بعد از پایتون خیلی از زبانهای دیگه مثل PHP ، Ruby و یا Rebol ابداع شدند و عصر زبانهای مدرن با شکلگیری C# و یا GO ادامه پیدا کرده. اگه بخواهیم لیست کنیم شاید باید دهها زبان مستقل رو معرفی کنیم که هر کدوم برای یه هدف تخصصی و کار ویژه توسعه پیدا کردند.
آیا قراره تا همه زبان ها رو یاد بگیری؟
آیا قراره تا همه زبانها رو یاد بگیری؟ و یا بهتره تا کدام زبان رو یاد بگیری و بعدش چکار کنی؟ بهتره بدونی که برای تبدیل شدن به یک برنامه نویس حرفهای اصلاً قرار نیست تا همهی زبانها رو یاد بگیری. اما لازمه تا با نقشه راه یادگیری برنامه نویسی آشنا بشید. یه زمانی وقتی که اولین زبان های برنامه نویسی شکل میگرفتند، هر زبان جدید عملاً زبانهای قبل از خودش رو منسوخ میکرد. این شکلی برنامه نویسها مجبور بودند که خیلی زود برای یادگیری زبان جدید دست به کار باشند. ولی از یه دورهای به بعد با توسعه فضاهای مختلف از قبیل اینترنت و موبایل و یا شبکههای صنعتی مسیر برنامه نویسها از هم جدا شد. حالا هر کدام توی فضای خودشون کاملاً تخصصی کد نویسی میکنند. مثلاً برنامه نویسی بک اند (Back end) کاملاً با محیط برنامه نویسی فرانت اند (Front end) متفاوت است.
دیگه زبان های برنامه نویسی رقیب هم نیستند و یکدیگر رو منسوخ نمیکنند. بلکه هر زبان در سطح و اهداف تخصصی خودش شکل میگیره و توسعه پیدا میکنه. دیگه نیازی نیست تا برنامهنویسها دغدغه یادگیری زبانهای جدید رو داشته باشند و یا بخوان همه زبانها رو یاد بگیرند. ولی این زبانها چه هستند؟
آشنایی با ساختار انواع زبان های برنامه نویسی
حالا که قراره تا یه برنامه نویس حرفهای باشی لازمه تا از همین حالا و در اولین قدم مسیرت رو پیدا کنی. به هر حال دنیای برنامه نویسی خیلی گسترده است و لزومی نداره تا در کل این دنیا وارد بشید. البته انواع زبان های برنامه نویسی رو براساس رویکردها دسته بندی میکنند. اینکه مثلاً یه زبان از نوع پایگاه داده طراحی شد و یا قراره تا برای شی گرایی استفاده بشه. دستهبندی ساختار انواع زبان های برنامه نویسی براساس رویکرد به قرار زیر است.
زبان های برنامه نویسی تابعی
یه سری زبان های برنامه نویسی سطح بالا هستند که براساس استفاده از دادههای ذخیره شده کار میکنند و معمولاً در کد نویسی از توابع برگشتی به جای حلقهها در آنها استفاده شده. زبانهای تابعی در کل ساختار سادهای دارند و هر کس که با اندک آموزش روش کار کردن با این زبانها را یاد میگیرد. اما قدرت عمل کمی دارند و بیشتر برای کد نویسی پروژههای انتزاعی استفاده میشوند. زبان F# برجستهترین مدل تابعی هست که خیلی هم کاربردی نیست. زبانهای گمنام تری مثل هسکل (Haskell) و اسکیم (Scheme) نیز بر پایه همین الگوی تابعی ساخته شدهاند و در کل جز در پروژههای خاص کد نویسی انتزاعی خیلی کاربردی نیستند.
زبان های برنامه نویسی رویهای
زبانهای رویهای ساختار خطی دارند. یعنی اینکه دنبالهای از عبارتها رو برای رسیدن به نتیجهای خاص کد نویسی کنیم. به این ترتیب قراره تا فرایند انجام کاری بزرگتر رو قدم به قدم و با انجام کارهای کوچک اما پشت سرهم کد نویسی کنیم. البته در این نوع زبانها ممکنه که از متغیرهای جداگانه و حتی حلقههای بزرگ یا دامنه اطلاعات زیادی استفاده کنید. ولی بهتره بدونی که خیلی از زبانهای پرکاربرد با همین ساختار رویهای طراحی شدهاند. مثل زبان جاوا اسکلریپت (JavaScript) و یا زبان معروف و زبان توسعه پیدا کرده C++ و خیلی زبانهای دیگه که رویکرد طراحی رویهای دارند و قراره تا کارهای بزرگ رو با کد نویسیهای کوچیک اما زنجیرهوار اجرا کنند.
زبان های برنامه نویسی شیگرا
یه سری زبان خیلی کاربردی هستند که همه چیز رو با شبیه سازی اشیاء درک میکنند. یه جورایی هر نوع داده در این زبانها ساختار شی مانند داره که از یه سری داده داخلی و خارجی تشکیل شده. در این زبانها، برنامهنویس سعی میکنه تا ابعاد بزرگ پروژه را به بخشهای کوچک مربوط به هم تبدیل کند. این شکلی مجموعهای از اشیاء رو در اختیار داره که از هم تفکیک شدند اما در امتداد هم قرار میگیرند تا یه نتیجه نهایی رو شکل بدهند. مفهوم کپسوله سازی با تعریف قرار دادن ماهیت اشیاء در خود اشیاء شکل گرفته. اجرا با استفاده از تکنیکهای وراثت در کد نویسی و یا برنامه نویسی بر پایه چند ریختی (پلی مورفیسم) از اصول این زبان های برنامه نویسی هستند. زبانهای خیلی معروف و کاربردی در همین ساختار شی گرایی قرار دارند. مثل زبان جاوا (Java) و یا ویژوال بیسیک و حتی زبان دست بالای روبی (Ruby) و تا حدودی پایتون در این گروه قرار میگیرند.
زبان های برنامه نویسی اسکریپی
زبانهای اسکریپی یکسری کدهای از پیش تعریف شده زبانهای دیگر هستند. مثلاً میتونید از طریق جاوا اسکریپت و یا پایتون برای خلق زبان اسکریپی اقدام کنید. نکته کلیدی تعریف یه سری دستورات پرکاربرد است. در واقع زبانهای اسکریپی ابداع شدهاند تا دیگه لازم نباشه که برای هر کار ساده و تکراری کد نویسی کنید. بلکه میتونی از برنامههای کوچیک از قبل نوشته شده اسکریپی برای انجام وظایف و خودکار کردن کارها استفاده کنید. البته برای اجرای این زبان نیازی به کامپایل کردن نداری و میتونی با کمک همین زبانهای ساده از بند کارهای تکراری و خسته کننده در کد نویسی رها بشید. در واقع برنامههای این زبانها به جای پردازنده کامپیوتر از طریق دیگر برنامههای مادر اجرا میشوند. زبان پرل (Perl) معروفترین زبان برنامه نویسی اسکریپی هست.
زبان های برنامه نویسی منطقی
زبانهایی هستند که بر پایه عبارتهای اعلانی در سمت کاربر و عبارتهای استدلالی در سمت ماشین کار میکنند. به این شکل که با زبان های برنامه نویسی منطقی میتونی یه سری خط و مشها و یا الگوهای رفتاری را برای رایانه تدارک کنید. به این شکل که به جای تعریف یک دستورالعمل معین از رایانه میخوای که تحت شرایط و یا حضور محدودیتهای کار کنه. برنامه نویس اول ماجرا یه سری عبارتهای اعلانی تعریف میکنه. این عبارتها دستورالعمل نیستند، اما محدوده کار رایانه رو تعریف میکنند. حالا ماشین این اجازه رو داره تا عبارتهای اعلانی رو استدلال کنه و بدونه که قراره تا کجاها محدود باشه. زبان پرولاگ (Prolog) یکی از همین زبان های برنامه نویسی منطقی است.
زبان برنامه نویسی پایگاه دادهای
هر نرمافزار، سایت، اپلیکیشن و در کل هر فضای برنامه نویسی کامپیوتری یه سری اطلاعات داره که باید در حافظه سیستم ذخیره بشه تا بعدها در شرایط مختلف از همین دادهها استفاده کنید. خیلی مهمه که دادههای نرمافزار و یا وبسایت رو به شکل ساختار یافته ذخیره کنید. انواع سیستمهای مدیریت پایگاه داده هم برای همین منظور طراحی شدهاند. زبان های برنامه نویسی پایگاه دادهای برای مدیریت اطلاعات هستند و میتونی از همین زبانها برای معماری پایگاه داده پروژههای خودت استفاده کنید. زبانهای معروف و مهمی مثل SQL ، HTML ، CSS و حتی پایتون با ساختار پایگاه داده طراحی شدهاند و یا میتونیم از این زبانها برای ایجاد و مدیریت پایگاه داده استفاده کنیم.
زبان های برنامه نویسی پردازش موازی (جریان داده)
زبان های برنامه نویسی کلاسیک کارکرد خطی و یا سری دارند. به شکلی که پردازش اطلاعات یکی پس از دیگری انجام میشه. این ماجرا خیلی ساده است و کارها یکی پس از دیگری انجام میشوند و هر چیز سر جای خودشه. اما چطوری میخواهید سرعت اجرای برنامهها خصوصاً توی پروژههای بزرگ رو افزایش بدی؟ تکنیک برنامه نویسی پردازش موازی (جریان داده) برای حل همین مشکل طراحی شده. چون قراره که به جای انجام سری تمام کارها از تفکیک کدنویسی ها در بخشهای مختلف و پردازش موازی اطلاعات برای رسیدن به یک وظیفه کلی استفاده کنیم. ایده برنامه نویسی پردازش موازی از تکنیکهای جدید دنیای برنامه نویسی هست و شاید خیلی زوده تا یه نفر تازهکار سر از این حوزه دربیاره. ولی بهرحال وقتی قراره دنیای سریعتری داشته باشیم، قطعاً ایدهها مثل کد نویسی موازی مورد توجه هر کسی قرار میگیره.
آشنایی با انواع زبان های برنامه نویسی
برنامه نویسی دنیای بزرگیه که حالا پس از نیم قرن سابقه تعداد بسیار زیادی از زبانهای مختلف رو در اختیار داره. از زبانهایی که قدرت بالایی برای حضور در فضاهای مختلف دارند و اصطلاحا چند سکویی هستند تا زبانهایی که انحصاراً برای یه سری کارهای خاص طراحی شدهاند. بهتره خیلی مختصر و مقدماتی با چند تا از کاربردیترین این زبانها آشنا بشید.
زبان برنامه نویسی C
زبان C نقطه عطف تاریخچه برنامه نویسی بود. یه زبان قدیمی که سال ۱۹۷۲ نزدیک به نیم قرن پیش معرفی شد و هنوز هم قابلیتهای کاربردی خوبی داره. زبان خیلی قدیمیه و یه زمانی بهترین و قویترین ابزار کد نویسی برای سیستمهای قدیمی و پردازندههای نسبتاً کند بود. ولی خیلی خوب خودش رو با دنیای رو به جلوی کامپیوترها با پردازندههای قوی سازگار کرد و حالا هنوز هم استفاده میشه.
از همان ۵۰ سال پیش تا همین حالا زبان C رو به عنوان یه ابزار کد نویسی برای تعریف نرمافزارهای سریع میشناسند. خصوصاً که کتابخانه استاندارد زبان C در طول این سالها خیلی توسعه پیدا کرده و برای خیلی از فضاها توابع کاملاً کاربردی در اختیار میذاره. اما احتمالا تنها نقطه ضعف زبان C شرایط کد نویسی سخت این زبان باشه. با این حال توسعهدهندگان زبان C بیکار نبودند و در این سالها یه سری زبان خیلی قدرتمندرو بر پایهی همین زبان C توسعه دادند. مثل C++ و یا C# که هر دو در دستهبندی بهترین و کاربردیترین زبانهای روز دنیا قرار میگیرند.
زبان برنامه نویسی C++
زبان برنامه نویسی C آنقدر خوب بود که منسوخ نشه، اما آنقدر محدود بود که پاسخگوی نیازهای جدید نباشه. برای همین زبان برنامه نویسی C++ رو با توسعه زبان C ابداع کردند. زبانی که همون قابلیتهای زبان C رو با چند ویژگی کاربردیتر مثل شیگرایی ارائه میکنه.
C++ در دستهبندی انواع زبان های برنامه نویسی جایگاه متوسطی داره و با عنوان یه زبان با ساختار قدیمی اما برای پلتفرمهای سریع و قدرتمند در دنیای جدید معرفی شده. بازار کار زبان C++ هم تقریباً خوبه و متخصصین این زبان میتونند در برنامه نویسی سیستمها، توسعه سختافزار سطح پایین و حتی خدمات تحت وب و در کل کارهای عمومی فعالیت کنند. اما در کل مسیر یادگیری زبان C++ سخت ولی کتابخانه قدرتمندی داره که اگه به اندازه کافی بر این فضا مسلط باشید، بهت اجازه میده تا در خیلی از پروژهها دست باز کد نویسی کنی و حرفهای حاضر باشی. ولی در C++ مثل تمام خانواده زبانهای C یه مقدار قدیمی شده و حالا کمتر کسی رغبت میکنه تا وارد این زبان خیلی سخت و قدیمی بشه.
زبان برنامه نویسی C#
آخرین اقدام برای بهروز کردن زبانها بر پایه ساختار C در سال 2000 اتفاق افتاد. زمانی که مایکروسافت تصمیم گرفت تا یه زبان خوش دست و تقریباً ساده اما کامپایل شده و شی گرا بر پایه زبان C رو توسعه بده. نتیجه کار زبان برنامه نویسی C# (سی شارپ) است که حالا به عنوان کاملترین زبان خانواده C معرفی شده.
یادگیری C# ساده نیست، ولی به نسبت از C و حتی C++ خیلی دم دستتر و قابل فهمتر طراحی شده و در امکان ایجاد ساختارهای شی گرا عملکرد خوبی داره. خصوصاً که یه پلتفرم چند سکویی است که از ویندوز تا لینوکس و مک اجرا میشه. کافیه کد نویسی با زبان برنامه نویسی C# رو یاد بگیری تا در خیلی فضاها مثل کد نویسی اپلیکیشنهای موبایلی، کد نویسی تحت وب و در کل تمام فضاهای متکی بر فناوریهای مایکروسافت فعالیت کنید. جالبه که C# خیلی قبلتر از گوشیهای هوشمند طراحی شده؛ اما حالا به عنوان زبان کاربردی برای برنامه نویسی اندروید و IOS کارایی داره.
زبان برنامه نویسی جاوا
در دنیای برنامه نویسی کمتر زبانی رو سراغ داریم که همه کاره باشه، اما جاوا (Java) یه همچین زبانی هست. زبان قدرتمندی که برای کد نویسی در هر نوع محیط کامپیوتری تا تحت وب قدرتمند و دست باز کار میکنه. البته جاوا زبان جدیدی نیست. تازه خیلی هم قدیمیه و در سال ۱۹۹۱ معرفی شده، اما در تمام این سالها توسعه پیدا کرده تا حالا به عنوان یه زبان برنامه نویسی سطح بالا از نوع کامپایل شده با امکان مدیریت حافظه شناخته میشه.
جالبه که بدونید جاوا تا حدودی زبان بهینه شده C هست. در واقع ساختار جاوا رو خیلی شبیه به C و یا حداقل C++ طراحی کردهاند، اما نسبت به زبانهای خانواده C فضای کاربردیِ قویتر و قدرت اجرایی بهتری داره. خصوصاً که با مدیریت خودکار حافظه طراحی شده که در زمان عرضه یعنی حدوداً ۳۰ سال پیش قابلیت منحصر به فرد و خیلی خاصی بود. از طرفی جاوا یه زبان چند پلتفرمی خوش ساخته که میتونه از سکوهایی مثل ویندوز، لینوکس، مک و حتی سیستم عاملهای موبایلی برای اجرای دستورات خودش استفاده کنه. متخصصین جاوا میتونن در زمینه توسعه نرمافزارها، کد نویسی و توسعه وبسایت ها، طراحی اپلیکیشنهای موبایلی و خیلی جاهای دیگه فعالیت کنند.
زبان برنامه نویسی جاوا اسکریپت
جاوا اسکریپت (Java Script) از قویترین، محبوبترین و البته کاربردیترین انواع زبان های برنامه نویسی سطح بالا است. البته بهتره بدونی که جاوا اسکریپت هیچ ارتباطی با زبان جاوا (Java) نداره و کاملاً مستقل طراحی شده و توسعه پیدا کرده. جاوا اسکریپت یه زبان پویا و البته تفسیری هست و برخلاف زبانهای کامپایلی هر خط کد نویسی این زبان مستقل از دیگر بخشها ترجمه و همزمان اجرا میشه.
اگرچه زبان جاوا اسکریپت کاملاً مستقل هست، ولی در تاریخچه ابداعش یه ارتباطاتی با زبان جاوا داره. در واقع تیم سازنده جاوا اسکریپت در ابتدا قصد داشتن که یه زبان اسکریپتی و مکمل جاوا که کامپایلی هست، طراحی کنند. برای همین اسم این زبان برگرفته از ترکیب جاوا با اسکریپت ساخته شده. ولی در عمل نه تنها انشعابی از جاوا نیست، بلکه حتی متفاوت از جاوا به شکل تفسیری کار میکنه.
جاوا اسکریپت در سال ۱۹۹۵ و تقریباً با رشد سریع فضاهای اینترنتی به عنوان زبانی قدرتمند برای برنامه نویسی فرانت اند (Front-end) معرفی شد. تا جاییکه همین حالا هم یکی از بهترین زبانها برای توسعه وبسایت ها در سمت کلاینت هست. البته اگه بخواین از قدرتنمایی جاوا اسکریپت سمت سرور یعنی برنامه نویسی بک اند (Back end) استفاده کنید، لازمه تا پلتفرم Nod.js رو اجرا کنید.
زبان برنامه نویسی پایتون
امکان نداره در دنیای بزرگ برنامه نویسی حاضر باشی و برای یادگیری خیلی از زبانها اقدام کنی و چیزی از اهمیت پایتون ندونی! پایتون (Python) قدرتمندترین و البته محبوبترین زبان برنامه نویسی دنیا هست که چند سکویی طراحی شده تا در هر زمینه و برای هر نوع پلتفرم اجرا بشه. از طرفی یه زبان خیلی ساده از نوع تفسیری هست که با قابلیت مدیریت خودکار حافظه طراحی شده و امکان برنامه نویسی شی گرا رو پشتیبانی میکنه.
پایتون از جمله انواع زبان های برنامه نویسی همه کاره هست که کد نویسی با اون ساده و مسیر یادگیری سرراستی داره. همین سادگی و البته قدرتمند بودن کافیه تا به عنوان کاربردیترین زبان برنامه نویسی دنیا معرفی بشه. پایتون زبان جدیدی نیست. اولین نسخه این زبان در سال ۱۹۸۹ میلادی معرفی شده و البته در تمام این سالها خیلی خوب آپدیت شده تا به راحتی با انواع سیستمهای جدید خصوصاً سیستمهای عامل موبایلی سازگار باشه. کافیه آموزش پایتون رو جدی بگیری تا به راحتی در بازار کار بزرگ و پویای این زبان وارد بشی و درآمد عالی داشته باشی. از پایتون تقریباً در تمام فضاهای برنامه نویسی استفاده میکنند.
زبان برنامه نویسی ویژوال بیسیک
ویژوال بیسیک (Visual Basic) زبان برنامه نویسی است که توسط مایکروسافت معرفی شده و توسعه پیدا کرده و به وسیله زبان واسط دات نت (.NET) کامپایل میشه. به هر حال میتونه یه زبان برنامه نویسی توسعهیافته باشه، اما خیلی محبوب نیست و عملاً برای کد نویسی در پروژههای تجاری و یا کسب و کارها قافیهرو به زبانهای قدرتمندتری مثل C++ و حتی پایتون باخته. به هر حال برنامه نویسی با ویژوال بیسیک خیلی پرطرفدار نیست و از جمله برنامههای منسوخ شده قدیمی هست و حالا چندان جایگاهی نداره. اما اگه بخوای این زبان نه چندان محبوب رو یاد بگیری، میتونی ازش در توسعه برنامههای عمومی و تحت وب استفاده کنی.
زبان برنامه نویسی PHP
PHP از بهترین و محبوبترین انواع زبان های برنامه نویسی سمت سرور (بک اند) هست و در همون فضا کاربردهای زیادی داره. در سراسر دنیا همه ساله خیلیها برای آموزش PHP وقت میذارند و در مقابل برنامهنویسهای زیادی از همین زبان برای توسعه انواع اپلیکیشن موبایل، برنامههای دسکتاپی یا تحت وب استفاده میکنند. به هر حال اگه بخوای سمت سرور بدون دغدغه کد نویسی کنی و از طرفی علاقه داری تا یه زبان ساده و کاربردی رو یاد بگیری، بهت توصیه میکنم که برای کار با PHP آماده بشی.
ابتدا قرار بود تا از PHP به عنوان زبان واسط مشترک برای پشتیبانی از فرمهای HTML و پایگاه داده استفاده کنند. اما ماجرای ساخت PHP خیلی جدیتر شد تا از دل کدهای HTML فضایی مشابه اما خیلی قدرتمند تولید بشه. فضایی که حالا به عنوان زبان PHP میشناسیم و ساختار تفسیری خیلی قدرتمندی داره. PHP محبوب و کاربردی هست؛ چون زبان سادهای هست که مسیر یادگیری آسانی داره و در عین حال زبان برنامه نویسی پایه برای نرمافزارهای مبتنی بر وب مثل وردپرس و یا جوملا معرفی شده. PHP یه زبان سطح بالای سمت سرور و خیلی امن هست که برای تعامل با پایگاه داده کارایی مطمئنی داره.
زبان برنامه نویسی HTML
HTML نوعی زبان نشانهگذاری هست که با استفاده از اون میتونی ساختار یک صفحه وب رو شکل بدی و مدیریت کنی. در واقع برای تعریف ساختار در میان صفحات هر سایت به زبان نشانهگذاری HTML نیاز داری. در ادامه میتونی از طریق CSS ظاهر مناسب این ساختار رو طراحی کنی.
خوبه بدونی که با کمک زبان نشانهگذاری HTML قادر هستی تا فضاهای کاربردی هر صفحه وب را در سایتهای گوناگون طراحی کنی. تاحالا چندین نسخه از زبان HTML معرفی شده که در حال حاضر HTML5 پیشرفتهترین نسخه هست. تمام برنامه آموزش HTML رو برای مفاهیم پایه و پیشرفته نسخه ۵ همین نرمافزار انجام میدن. البته مبانی HTML در تمامی نسخهها یکسان هست و با آموزش یکی از نسخهها زمینه کافی کسب مهارت در تمامی ساختارهای HTML رو دارید.
زبان برنامه نویسی SQL
SQL بهترین و کاملترین زبان برنامه نویسی برای مدیریت پایگاه داده هست و بهت کمک میکنه تا خیلی ساده و البته حساب شده بتونی اطلاعات رو در محیطهای نرمافزاری مثل وبسایت و یا اپلیکیشنها مدیریت کنید. البته SQL تقریباً از قدیمیترین زبان های برنامه نویسی پایگاه داده هست و حالا نرمافزارهای بانک اطلاعاتی زیادی براساس همین زبان مثل PL/SQL و یا T-SQL و حتی Postgre SQL ابداع شده. هر چند SQL یه زبان برنامه نویسی عمومی نیست، اما یادگیری اون برای خیلی از توسعه دهندگان مفیده. تا جاییکه اکثر برنامهنویسهای فول استک برای تکمیل مهارتها در زمینه پایگاه داده از همین زبان برنامه نویسی SQL استفاده میکنند.
همین نکته که SQL بهترین زبان مدیریت پایگاه داده هست، کافیه تا بازار کار خوبی داشته باشه. به هر حال از وبسایتها تا طراحی نرمافزارها و حالا انواع اپلیکیشنهای موبایلی و حتی ابزارهای جامع اینترنتی برای ارتباط و خدمات میلیونها نفر کاربر همگی پایگاه داده دارند و باید در آنها از SQL استفاده بشه. کافیه مهارت کد نویسی با SQL رو بلد باشی تا در این بازار کار پویا و تمام نشدنی وارد بشوید.
دیگر زبان های برنامه نویسی
اشاره به همه زبان های برنامه نویسی خیلی ساده نیست و اگه بخوایم در مورد هر کدوم مفصل صحبت کنیم، این مقاله خیلی طولانی میشه. در این مقاله چندتایی از پرکاربردترین انواع زبان های برنامه نویسی رو معرفی کردیم. ولی دنیای بزرگ برنامه نویسی فقط به همین چند زبان عمومی و البته کاربردی محدود نیست و یه سری زبانها با کاربردهای خاصتر نیز وجود دارند. مثل:
- زبان برنامه نویسی CSS
- زبان برنامه نویسی دلفی و پاسکال شی گرا
- زبان برنامه نویسی روبی
- زبان برنامه نویسی متلب
- زبان برنامه نویسی اسمبلی
- زبان برنامه نویسی سوئیفت
- زبان برنامه نویسی پرل
- زبان برنامه نویسی Scala
- و…
دسته بندی زبان های برنامه نویسی براساس ماهیت و اجرا
فکر میکنی لازمه تا همه این زبان های برنامه نویسی رو یاد بگیری؟ و آیا همه این زبانها ماهیت کم و بیش یکسانی دارند؟ در این صورت منظور از زبانهای سطح پایین یا سطح بالا چیه؟ بگذارید برای روشن شدن مطلب در مورد اینکه اصولاً زبانها از نظر طراحی، الگوی کد نویسی و در نهایت کاربرد چه تفاوتهایی دارند، با یه سری نکات دسته بندی کنیم.
دسته بندی انواع زبان های برنامه نویسی از نظر سطح انتزاعی
در این دستهبندی میتوانیم انواع زبان های برنامه نویسی را در گونههای زبانهای سطح پایین و یا بالا قرار بدهیم. مانند:
زبان های سطح پایین
یه سری زبان هستند که مستقیم با سختافزار کامپیوتر کار میکنند و عملیاتهای سطح پایین در زبان ماشین مثل مدیریت حافظه رو انجام میدن. منظور از سطح پایین این نیست که زبانهای سادهای باشند، بلکه با استفاده از زبان سطح ماشین نوشته میشوند و خیلی هم سخت هستند. مثل زبان اسمبلی که کاربردیترین نوع زبان سطح پایین هست.
زبان های سطح بالا
یه سری زبان برنامه نویسی هستند که با قابلیتهای انتزاعی بالاتری طراحی شدن تا مسیر کد نویسی رو سادهتر کنند. در واقع زبانهای نزدیک به زبان ما آدمها هستند. از طرفی به نسبت از زبانهای سطح پایین قابل فهمتر نوشته شده و کد نویسی سادهتری دارند. مثل زبان پایتون، جاوا، سی شارپ و حتی جاوا اسکریپت.
دسته بندی زبان های برنامه نویسی از نظر الگوی طراحی (پارادایم)
منظور از پارادایم روش کد نویسی به زبان برنامه نویسی هست. اینکه قراره دستورات چه شکلی کد نویسی بشن و چه شکلی در مرحله اجرا قرار بگیرند. این دستهبندی به قرار زیر هست:
- زبانهای پروسهای: زبانهایی هستند که دستورات در آنها به شکل متوالی انجام میشه. زبان C و حتی پاسکال این شکلی نوشته میشن.
- زبانهای شیء گرایی: زبانهایی هستند که از تعریف اشیاء برای توصیف دادهها استفاده میکنند. جاوا و یا C++ از معروفترین زبانهای شیء گرایی هستند.
- زبانهای کارکردی: در این زبانها دستورات به شکل توابع تعریف شده و قراره تا یه سری از توابع رو کنار هم قرار بدیم تا دستور نهایی شکل بگیره. زبان Scala نمونه برجستهای از همین زبانهای کارکردی هست.
- زبانهای رویداد گرا: این زبانها براساس واکنش به وقایع (رویدادها) کد نویسی شدن. مثل زبان جاوا اسکریپت که از بهترین و کاربردیترین زبانهای دنیا محسوب میشه.
دسته بندی زبان های برنامه نویسی براساس کاربرد
از طراحی وبسایت ها تا طراحی اپلیکیشنهای موبایلی و حتی بازیها به انواع زبان های برنامه نویسی نیاز داریم. ولی هر زبان کاربرد خاص خودش رو داره مثل:
- زبانهای مناسب طراحی وبسایت ها: برای طراحی وبسایت ها البته برنامه نویسی فرانت اند (Front end) و یا بک اند (Back end) از زبانهای مخصوص این حوزه مثل HTML، PHP، Java Script، CSS و حتی Rubby استفاده میکنند.
- زبانهای مناسب برای دادهکاوی و علوم داده کامپیوتری: زبانهای مناسب این فضا از قابلیت خوبی برای تحلیل دادهها حوزه کامپیوتر برخوردار هستند. مثل پایتون (Python) و حتی زبان R که در این فضا استفاده میشوند.
- زبانهای مناسب طراحی اپلیکیشن موبایلی: البته زبان طراحی آپ برای اندروید و IOS متفاوته. از زبان Java برای طراحی اپلیکیشنهای اندرویدی و از زبان Swift برای ساخت اپلیکیشن IOS استفاده میکنند. البته حتی میتونی برای آموزش فلاتر هم اقدام کنید.
- زبان های مناسب برای سیستم عامل: یه سیستم عامل پلتفرم اجرایی خیلی از زبانهای دیگه و نرمافزارهای مختلف هست. سیستمهای عامل خیلی بزرگ و پیچیده هستند و برای کد نویسی به زبانهای قدرتمندی مثل C و یا C++ نیاز دارند.
- زبانهای مناسب بازیسازی: اگر هم برای ساخت بازی دست به کار بشی، بهترین زبانها هم میتونه از میان C# و یا C++ انتخاب بشه.
مزایا و قابلیت های زبان های محبوب دنیا
تجربه نشون داده که حتی قدرتمندترین زبانها هم یه روزی باید کنار برن، چون زبانهای خیلی سطح بالاتری در راه هستند. البته برخی زبانها مثل پایتون و یا C ثابت کردهاند که میتونن همقدم با دنیای مدرن شده حرکت کنند و همچنان محبوبترینها باشند. چطوره که با محبوبترین زبان های برنامه نویسی حال حاضر دنیا آشنا بشی.
- پایتون (Python): پایتون محبوبترین هست؛ چون خیلی ساده و خوانا کد نویسی میشه و برای خیلی جاها از توسعه وب تا علوم داده و هوش مصنوعی و اینترنت اشیاء کارایی داره.
- جاوا اسکریپت (Java Script): جاوا اسکریپت محبوبترین زبان حوزه وبسایت هست و برای ایجاد رابطهای کاربری پویا و حتی طراحی اپلیکیشنهای تعاملی استفاده میشه.
- جاوا (Java): خیلیها جاوا رو به خاطر چند پلتفرمی بودن دوست دارند. البته نمیشه از امنیت بالا و استفاده در نرمافزار اندرویدی و یا برنامههای وب چشمپوشی کرد.
- PHP: PHP واقعاً از محبوبترین زبان های برنامه نویسی توسعه وبسایت های پویا هست و کارایی زیادی برای مدیریت محتوا داره.
- Swift: وقتی گوشیهای آیفون محبوبترین در دنیا هستند، قطعاً زبان برنامه نویسی آپهای IOS هم در فهرست بهترینها قرار میگیره. زبان Swift همین زبان محبوب و کاربردی هست.
پیش نیازهای یادگیری برنامه نویسی
یاد گیری برنامه نویسی خیلی سخت نیست و هر کسی با تلاش و البته سختکوشی و تهیه منابع آموزشی خوب به راحتی میتونه برنامه نویسی رو یاد بگیره. پیش نیازهای یادگیری برنامه نویسی مقدمه ای است تا مطمئن باشید که حداقل توانایی کار با کامپیوتر رو بلد هستید. لذا اگه کار با کامپیوتر رو میدونی و از اصول کار با اینترنت آگاهی داری و در عین حال به زبان انگلیسی به اندازه کافی اصطلاحات کامپیوتری آشنا هستی برای یادگیری برنامه نویسی آماده هستی و میتونی با جدیت این فضا رو آغاز کنید.
زبان برنامه نویسی مناسب شما کدام است؟
اگر در ابتدای دنیای برنامه نویسی هستی و قراره تازه وارد این میدان بزرگ بشی، احتمالا در میان این همه زبان متفاوت گیج بشی که کدوم یکی رو شروع کنی؟ اصلاً کدوم زبان به کارت میاد؟ برای انتخاب بهترین زبان برنامه نویسی مربوط به خودت بهتره تا اول در مورد نیازها و اهدافت فکر کنی و وقتی متوجه شدی که قراره در کجاها کار کنی، حالا بهتر میدونی که باید سراغ کدوم زبانها بری. ولی لازمه تا در میان همین زبانها با کاربرد یکسان هم تحقیق و مقایسه کنی. یادت باشه که هر چه زبانی محبوبتر و کاربردیاش در کل دنیا بیشتر باشه، زبان بهتر و کاربردیتری هست و بازار کار بهتری هم داره. در ضمن حتما منابع آموزشی زبان مورد نظرت رو پیدا کن. همه زبانها مثل PHP و یا پایتون آنقدر محبوب نیستند که بشه به راحتی آموزش مناسبی پیدا کرد!
سوالات متداول برنامه نویسی چیست؟
سوال 1
بله
سوال 2
خیر