مقدمه ای بر زبانهای برنامه نویسی

زبان برنامه نویسی یک زبان رسمی در جهان است، ممکن است شما به زبانهای مختلفی که مربوط به ملل گوناگون است آشنا باشید و به آنها تکلم کنید، اما اگر بخواهید با یک ماشین دیجیتال سخن بگویید حتما باید به یکی از زبانهای برنامه نویسی آشنا باشید. در ابتدا زبان های برنامه نویسی برای یک ماشین زبان دستوری بودند اما امروزه زبان های برنامه نویسی برای توسعه فن آوری هوشمند سازی ماشین ها و حتی اشیاء بکار می روند.میتوانم بگویم زبان برنامه نویسی مجموعه ای از رشته ها را تشکیل می دهد که انواع مختلفی از خروجی کد ماشین را تولید می کند. در یک زبان برنامه نویسی و برای فهم آن از روش های پیاده سازی و طراحی الگوریتم ها استفاده می شوند. از اوایل دهه 1800، برنامه‌هایی برای هدایت رفتار ماشین‌هایی مانند دستگاه‌های بافندگی ژاکارد، جعبه‌های موسیقی و پیانوهای پخش مورد استفاده قرار گرفته‌اند. برنامه‌های این ماشین‌ها رفتار متفاوتی در پاسخ به ورودی‌ها یا شرایط مختلف ایجاد نمی‌ کردند. امروزه هزاران زبان برنامه نویسی مختلف ساخته شده اند و هر ساله تعداد بیشتری نیز ساخته می شوند. بسیاری از زبان های برنامه نویسی به صورت دستوری نوشته می شوند، در حالی که زبان های دیگری هم هستند که از فرم اعلانی استفاده می کنند (یعنی نتیجه دلخواه مشخص شده است، نه نحوه دستیابی به آن). توصیف یک زبان برنامه نویسی معمولاً به دو جزء نحو (فرم) و معناشناسی (معنا) تقسیم می شود. برخی از زبان ها توسط یک سند مشخصات تعریف می شوند (به عنوان مثال، زبان برنامه نویسی C توسط یک استاندارد ISO مشخص شده است) در حالی که زبان های دیگر (مانند Perl) یک پیاده سازی غالب دارند که به عنوان یک مرجع در نظر گرفته می شود. البته برخی از زبان ها هر دو را دارند. در مجموع زبانهای برنامه نویسی زیر شاخه ای از علوم کامپیوتر است که به طراحی، پیاده سازی، تجزیه و تحلیل، خصوصیات و طبقه بندی زبان های برنامه نویسی می پردازد.اولین زبان‌ های برنامه ‌نویسی شناخته شده کدهای پیچیده ماشین بودند که به‌صورت دستی وارد ماشین‌های محاسبات اولیه می‌شدند. همان‌طور که خواهید دید، برنامه‌نویسی رایانه به‌سرعت از کدهای ماشین به کدهای کاملاً خودکار قابل خواندن توسط انسان توسعه می‌یابد.سال 1944 تا 1945: Plankalkülبین سال‌های 1944 و 1945 ، Konrad Zuse اولین زبان برنامه ‌نویسی "واقعی" را به نام Plankalkül ایجاد کرد. زبان زئوس امکان ایجاد رویه‌هایی را فراهم می‌کرد که تعداد زیادی کد را ذخیره می‌کرد که بارها و بارها برای انجام کارهای معمول فراخوانی می‌شدند.· سال 1949: زبان اسمبلیزبان اسمبلی در ماشین‌حساب خودکار ذخیره با تأخیر الکترونیکی (EDSAC) استفاده شد. زبان اسمبلی نوعی زبان برنامه ‌نویسی سطح پایین بود که زبان کد ماشین را ساده می‌کرد. به‌عبارت‌دیگر، دستورالعمل‌های خاص لازم برای کار با کامپیوتر است.· سال 1949: ShortcodeShortcode یا کد کوتاه اولین زبان سطح بالا بود که توسط جان مک کالی در سال 1949 پیشنهاد شد. با این ‌وجود ویلیام اشمیت بود که آن را برای کامپیوترBINAC در همان سال و برایUNIVAC در سال 1950 پیاده‌سازی کرد.· سال 1952: Autocodeاتوکد یک اصطلاح عمومی است که برای خانواده‌ای از زبان‌ های برنامه ‌نویسی استفاده می‌شود. Autocode برای اولین‌بار توسط Alick Glennie برای رایانه‌ای به نام Mark 1 در دانشگاه منچستر توسعه داد که اولین زبان کامپایل شده برای اجرا بود به این معنی که می‌توان آن را مستقیماً به کد ماشین با استفاده از برنامه‌ای به نام کامپایلر ترجمه کرد. از اتوکد علاوه بر Mark 1 در ماشین‌های محاسباتی اولیه Ferranti Pegasus وSirius نیز استفاده شد.· سال 1957: FORTRANFORmula TRANslation یا FORTRAN توسط John Backus ایجاد شده است و به‌عنوان قدیمی‌ترین زبان برنامه ‌نویسی مورد استفاده امروز شناخته می‌شود. این زبان برنامه‌نویسی برای محاسبات علمی، ریاضیاتی و آماری سطح بالا ایجاد شده است. FORTRAN هنوز هم در پیشرفته‌ترین ابررایانه‌های جهان در حال استفاده است.· سال 1958: ALGOL یا(Algorithmic Language)زبان الگوریتمی یا ALGOL توسط کمیته مشترکی از دانشمندان کامپیوتر آمریکایی و اروپایی ایجاد شده است. ALGOL به‌عنوان نقطه آغازین برای توسعه برخی از مهم‌ترین زبان‌های برنامه‌نویسی از جمله Pascal ، C++ ، C و Java به‌کاررفته است.· سال 1958: LISP یا(List Processor)پردازنده لیست یا LISP توسط جان مک‌کارتی در انستیتوی فناوری ماساچوست (MIT) اختراع شد. هدف اصلی آن ساخت هوش مصنوعی بود، LISP یکی از قدیمی‌ترین زبان ‌های برنامه ‌نویسی است که امروزه همچنان مورداستفاده قرار می‌گیرد و می‌توان آن را به‌جای Ruby یا Python استفاده کرد. شرکت‌هایی مانند Acceleration ،Boeing و Genworks هنوز از LISP در پشته‌های فناوری خود استفاده می‌کنند.· سال 1959: COBOL یا(Common Business Oriented Language)این زبان برنامه ‌نویسی پشت بسیاری از پردازنده‌های کارت اعتباری، دستگاه‌های خودپرداز، تماس‌های تلفنی و تلفن همراه، سیگنال‌های بیمارستانی و سیستم‌های سیگنال راهنمایی‌ورانندگی است. توسعه این زبان توسط دکتر گریس موری هاپر انجام شد و به‌گونه‌ای طراحی شد که در همه مارک‌ها و انواع رایانه‌ها قابل‌اجرا باشد. COBOL هنوز هم عمدتاً برای سیستم‌های بانکی استفاده می‌شود.· سال 1964: BASIC یا (Beginner’s All-Purpose Symbolic Instruction Code)زبان BASIC توسط گروهی از دانشجویان کالج دارتموث ساخته شده است. این زبان برای دانش آموزانی نوشته شده است که درک درستی از ریاضیات یا کامپیوتر ندارند. این زبان توسط بنیان‌گذاران مایکروسافت بیل گیتس و پاول آلن بیشتر توسعه یافت و به اولین محصول قابل‌فروش این شرکت تبدیل شد.· سال 1970: PASCALاین زبان به افتخار ریاضی‌دان فرانسوی بلیز پاسکال نام‌گذاری شد، اما نیکلاوس ویرث زبان برنامه‌نویسی را توسعه داد. این ابزار به‌عنوان ابزاری برای یادگیری برنامه‌نویسی رایانه توسعه یافت که به معنای آسان بودن یادگیری آن بود. به دلیل سهولت استفاده و قدرت آن، در روزهای ابتدایی موردعلاقه شرکت اپل قرار گرفت.· سال 1972:زبان برنامه نویسی Smalltalkاین زبان که در مرکز تحقیقات زیراکس پالو آلتو توسط آلن کی، آدل گلدبرگ و دن اینگالس ساخته شد، به برنامه‌نویسان رایانه اجازه تغییر کد در حین پرواز را داد. این برنامه جنبه‌های مختلفی از زبان برنامه ‌نویسی را معرفی می‌کند که امروزه زبان‌های نظیر پایتون، جاوا و روبی هستند. شرکت‌هایی مانند Leafly ،Logitech و CrowdStrike اظهار داشتند که آنها از Smalltalk در دسته فناوری خود استفاده می‌کنند.· سال 1972: زبان Cاین زبان برنامه‌نویسی توسط دنیس ریچی در آزمایشگاه‌های تلفن بل برای استفاده از سیستم‌عامل یونیکس ساخته شده است. به آن C می‌گفتند زیرا این زبان مبتنی بر زبان قبلی به نام B بود. بسیاری از زبان‌های برجسته فعلی مشتقات C هستند از جمله زبان های برنامه نویسی C# ، Java ، JavaScript ،Perl ،PHP وPython. همچنین توسط کمپانی‌های بزرگی مانند گوگل، فیس‌بوک و اپل مورداستفاده قرار گرفته است.· سال 1972: زبان برنامه نویسی SQL یا (SEQUEL at the time)اس کیو ال اولین‌بار توسط محققان IBM یعنی ریموند بویس و دونالد چمبرلین ساخته شد. SEQUEL برای مشاهده و تغییر اطلاعات ذخیره شده در پایگاه داده استفاده می‌شود. امروزه این زبان مخفف اختصاری SQL است که مخفف Structured Query Language است. شرکت‌های زیادی هستند که از زبان برنامه نویسی SQL استفاده می‌کنند و برخی از آنها شامل Microsoft و Accenture هستند.· سال 1980 تا 1981: Adaآدا در ابتدا توسط تیمی به سرپرستی ژان ایچبیا تحت نظارت وزارت دفاع ایالات متحده طراحی شده است. آدا که از ریاضی‌دانان اواسط قرن نوزدهم آدا لاولاس نام‌گرفته است، یک زبان برنامه‌نویسی سطح بالا، ساختاریافته، تایپ استاتیکی، طیف گسترده و شی گرا است. Ada از دیگر زبان‌های برنامه‌نویسی معروف در آن زمان مانند Pascal نشات‌ گرفته است. Ada برای سیستم‌های مدیریت ترافیک هوایی در کشورهایی مانند استرالیا، بلژیک و آلمان و همچنین مجموعه‌ای دیگر از پروژه‌های حمل‌ونقل و فضایی استفاده می‌شود.· سال 1983: زبان برنامه نویسی ++CBjarne Stroustrup در آزمایشگاه‌های بل زبان C را تغییر داد، ++C اکستنشنی از C با پیشرفت‌هایی در کلاس‌ها، توابع مجازی و الگوها است. این زبان از سال 1986 در 10 زبان برنامه‌نویسی برتر فهرست شده و در سال 2003 جایزه Hall of Fame status را کسب کرده است. ++C در MS Office ،Adobe Photoshop، موتورهای بازی و سایر نرم‌افزارهای با کارایی بالا استفاده می‌شود.· سال 1983: Objective-C توسط برد کاکس و تام لاو توسعه‌یافته است، زبان اصلی برنامه‌نویسی است که برای نوشتن نرم‌افزار برای macOS و iOS و سیستم‌عامل‌های اپل استفاده می‌شود.· سال 1987: زبان برنامه نویسی Perlاین زبان توسط لری وال ایجاد شده است و یک زبان برنامه‌نویسی برای اهداف عمومی و سطح بالا است. در ابتدا به‌عنوان یک زبان اسکریپت نویسی برای ویرایش متن طراحی شده است اما امروزه به طور گسترده‌ای برای بسیاری از اهداف مانند CGI ، برنامه‌های پایگاه داده، مدیریت سیستم، برنامه‌نویسی شبکه و برنامه‌نویسی گرافیکی استفاده می‌شود.· سال 1990: Haskellهاسکل یک زبان برنامه ‌نویسی عمومی است که به نام منطق‌دان و ریاضی‌دان آمریکایی Haskell Brooks Curry نام‌گذاری شده است. این زبان یک زبان برنامه‌نویسی کاملاً کاربردی است یعنی در درجه اول مختص ریاضی است. این مورد در چندین صنعت به‌ویژه در صنایعی که با محاسبات پیچیده استفاده می‌شود. مانند بسیاری دیگر از زبان‌ های برنامه‌ نویسی از این دوران، دیدن Haskell برای استفاده در برنامه‌های شناخته شده بیش از حد معمول نیست. با این اوصاف، از این زبان برنامه ‌نویسی برای نوشتن تعدادی بازی استفاده شده است که یکی از آنها Nikki and the Robots است.· سال 1991: زبان برنامه نویسی Pythonپیتون به افتخار گروه کمدی انگلیسی به نام Monty Python نام‌گذاری شد و توسط Guido Van Rossum توسعه یافت. این یک زبان برنامه‌ نویسی سطح بالا و کاربردی است که برای پشتیبانی از انواع سبک‌های برنامه‌نویسی و استفاده سرگرم‌کننده ایجاد شده است. پایتون، تا به امروز، یکی از محبوب‌ترین زبان‌ های برنامه ‌نویسی در جهان است که توسط شرکت‌هایی مانند Google ،yahoo و Spotify استفاده می‌شود.· سال 1991: Visual Basicویژوال بیسیک که توسط مایکروسافت توسعه‌یافته است، به برنامه‌نویسان اجازه می‌دهد تا از سبک کشیدن و رهاکردن در انتخاب و تغییر تکه‌های کد از پیش انتخاب شده از طریق رابط کاربری گرافیکی استفاده کنند. این روزها از این زبان برنامه نویسی زیاد استفاده نمی‌‌شود، بااین‌وجود مایکروسافت از قسمت‌های ویژوال بیسیک برای تعدادی از برنامه‌های خود مانند Word ،Excel و Access استفاده کرده است.· سال 1993: زبان برنامه نویسی Rubyروبی که توسط یوکیهیرو ماتسوموتو ایجاد شده است، یک زبان برنامه‌نویسی سطح بالا است. این زبان تحت تأثیر پرل، آدا، لیسپ و اسمالتاک است. کاربرد اصلی Ruby برای توسعه برنامه‌های وب و Ruby on Rails است. Twitter، Hulu وGroupon نمونه‌های مشهوری از شرکت‌هایی هستند که از روبی استفاده می‌کنند.· سال 1995: زبان جاواجاوا یک زبان عمومی و سطح بالا است که توسط جیمز گاسلینگ برای یک پروژه تلویزیونی تعاملی ایجاد شده است. این زبان دارای عملکرد کراس پلتفرمی است و به طور مداوم در میان برترین زبان‌های برنامه‌نویسی جهان قرار دارد. جاوا را می‌توان در همه‌جا یافت، از کامپیوتر گرفته تا تلفن‌های هوشمند گرفته تا پارکومتر.· سال 1995: زبان PHPاین زبان مخفف Hypertext Preprocessor است، PHP توسط Rasmus Lerdorf توسعه داده شد. کاربردهای اصلی آن شامل ساخت و نگهداری صفحات وب پویا و همچنین توسعه در سمت سرور است. برخی از بزرگ‌ترین شرکت‌ها از سراسر جهان از PHP از جمله Facebook ، Wikipedia ، Digg ، WordPress و Joomla استفاده می‌کنند.· سال 1995:زبان JavaScriptزبان برنامه نویسی JavaScript توسط Brendan Eich ایجاد شده است، این زبان در درجه اول برای توسعه پویای وب، اسناد PDF ، مرورگرهای وب و ابزارک‌های دسک تاپ مورداستفاده قرار گرفت. تقریباً همه وب‌سایت‌ها از JavaScript استفاده می‌کنند. Gmail ، Adobe Photoshop و Mozilla Firefox مثال‌های شناخته شده‌ای دارند.· سال 2000:زبان #Cسی شارپ در مایکروسافت با امید ترکیب توانایی محاسبه ++C با سادگیVisual Basic توسعه‌یافته است، #C مبتنی بر ++C است و شباهت‌های زیادی با جاوا دارد. این زبان تقریباً در تمام محصولات مایکروسافت مورداستفاده قرار می‌گیرد و اصولاً در توسعه برنامه‌های دسکتاپ دیده می‌شود.· سال 2003: Scalaاسکالا توسط مارتین اودرسکی توسعه‌یافته است که ترکیبی از برنامه‌ریزی عملکردی ریاضی و برنامه‌نویسی شی گرا است. سازگاری اسکالا با جاوا ارزش استفاده آن را در اندروید دوچندان می کند. Linkedin ، Twitter ، Foursquare و Netflix فقط چند نمونه از شرکت‌های است که از Scala در پشته‌های فناوری خود استفاده می‌کنند.· سال 2003: Groovyمشتق شده از جاوا، Groovy توسط James Strachan و Bob McWhirter ساخته شد. این زبان به دلیل مختصر بودن و یادگیری آسان، بهره‌وری را بهبود می‌بخشد. برخی از شرکت‌های مشهوری که ازGroovy در پشته فن آوری خود استفاده می‌کنند، StarBucks ، Transferwise و Craftbase هستند.· سال 2009: زبان برنامه نویسی Goاین زبان توسط گوگل ساخته شد تا مواردی را که به دلیل سیستم‌های نرم‌افزاری بزرگ رخ می‌دهد برطرف کند. Go به دلیل ساختار ساده و مدرن خود، در میان بزرگ‌ترین شرکت‌های فناوری در سراسر جهان مانند Google ،Uber ،Twitch و Dropbox محبوبیت یافته است.· سال 2014: زبان برنامه نویسی Swiftسوئیفت به‌عنوان جایگزینی برای ++C,C و Objective-C توسعه داده شده است، سوئیفت با این هدف توسعه‌یافته است که از زبان‌های فوق‌الذکر آسان‌تر باشد و فضای خطای کمتری ایجاد کند. برنامه پیشرو زبان یعنیDuolingo با این زبان پیاده‌سازی شده است.