با سپهر دیجیتال در ارتباط باشید.
تاریخچهی زبانهای برنامه نویسی :
5نسل زبان های برنامه نویسی : از نسل سوخته تا نسل برافروخته
اولین زبان های برنامه نویسی ای که پایشان را به دنیای IT گذاشتند، خیلی سخت بودند و بهسادگی نمیشد سر از زبانشان درآورد. مهندسین IT به این زبانها، سطح پایین میگویند. منظورشان این است که این زبانها بیشتر به سبک ماشینها حرف میزنند به همین دلیل برای انسانها بهراحتی قابلفهم و قابلیادگیری نیستند.
اما بهمرور زبان های برنامه نویسی سطح بالا روی کار آمدند که درکشان برای انسانها هم راحتتر بود. بگذارید برای اینکه بهتر با این زبانها آشنا شوید، برویم سراغ معرفی 5 نسل زبان برنامه نویسی تا از این به بعد بدانید که هر کدام از این زبانهای امروزی از چه نسل هستند.
نسل اول : زبان های برنامه نویسی دارای زبان ماشین (زبان صفر و یک) بودند.
نسل دوم : زبانهای قابلدرکتری برای انسان بودند (مانند زبان اسمبلی)
نسل سوم : به کامپایلر نیاز دارند و دستوراتشان برای انسان قابلفهم است، مثل زبان .COBOL (کامپایلر یا مفسر برنامهای است که دستورات برنامه نویسی را به دستورات صفرویک تبدیل میکند.)
نسل چهارم : زبان محاورهای دارند، مثل Oracle و SQLها.
نسل پنجم : بهوسیلهی الگوریتمهایی که برنامهنویس مینویسد قابلدرکاند. مثل prplog وVisual basic
اولین زبان های برنامه نویسی دنیا کداماند؟
برای شناخت اولینها باید کمی به عقب برگردیم، یعنی خیلی عقبتر دقیقش میشود سال 1945، همان وقتی که جان وان نیومن، محقق انستیتوی تحقیقات عالی، دو اصل اساسی در زمینهی توسعهی برنامهنویسی ارائه کرد:
طبق اصل اول که تکنیک برنامهی مشترک (Shared-program technique) نام دارد، سختافزارها باید ساده باشند و با ترکیب این دستورات ساده، یک دستور نرمافزاری پیچیده ساخته شود. بهاینترتیب سختافزارها ساده و دستورات نرمافزاری پیچیده شدند.
دومین اصل، انتقال کنترل بهصورت شرطی (Conditional Control Transfer) است. طبق این اصل، یک برنامه کامپیوتری میتواند چندین بلوک بهنام زیرروال (Subroutin) داشته باشد. بلوکهایی که از دستورات کوچکترند و میتوانند در هر قسمتی از برنامه قرار بگیرند. براساس این اصل، امکان استفاده از دستورات منطقی مثل Then، IF و For هم فراهم شد.
حالا میتوانیم برویم سراغ اولین زبان های برنامه نویسی :
کد کوتاه (Short Code): بعد از ارائهی اصلهای وان نیومن، درست در سال 1949 «زبان برنامهنویسی کد کوتاه» پا به عرصه گذاشت. این زبان از نسل اول زبان های برنامه نویسی و دارای زبان صفر و یک بود. زبان Short Cod بهنوعی خشت اول دنیای بزرگ برنامهنویسی امروز به حساب میآید.
اسمبلی (Assembly): زبان اسمبلی کلمات نمادین را جایگزین صفرویکها کرد. اصل حرف زبان اسمبلی این بود: «راحتی برنامهنویس خیلی مهمتر از راحتی کامپیوتر است!». حتماً برایتان جالب است اگر بدانید بازیهای کنسول آتاری و سگا و همینطور نرمافزار لوتوس (جد اکسل) با این زبان نوشته شدهاند.
در سال 1951 گریس هاپر اولین کامپایلر دنیای IT را ابداع کرد. کامپایلری بهنام A-0 که برنامهنویسها را از از ورود به دنیای چغر صفرویکها خلاص کرد. برای همین از اینجا به بعد رشد برنامهنویسی با دور تندتری ادامه پیدا کرد.
فورترن (FORTRAN): اولین زبان برنامهنویسیِ شبیه زبانهای امروزی در سال 1957 اختراع شد. زبانی به نام فورترن که شرکت IBM آن را ارائه کرد. خوب است بدانید FORTRAN مخفف عبارت formula translating system و بهمعنای سیستم تبدیل فرمول است.
زبانی بسیار ساده و محدود که تنها دارای دستورات IF، DO و GOTO بود. دادههایی مثل متغیرهای صحیح، حقیقی، منطقی و همینطور اعداد با دقت مضاعف برای اولین بار در این زبان تعریف شدند. البته به سادگیاش نگاه نکنید این زبان منشا زبانهای مهم دیگری مثل COBOL، Lisp، C، Smalltalkو جاوا است. زبانی که هنوز هم در حوزهی اَبَرمحاسبات کاربرد دارد.
لیسپ (Lisp): ازآنجاکه رشد برنامهنویسی روی دور تند بود سال بعد از تولد فورترن، یعنی سال 1958، لیسپ به دنیا آمد! این زبان دارای ساختار منطقی if-then-else بود. ساختاری که هنوز هم در زبانهای مدرن دیده میشود. زبانهای بسیاری مثل اسمال تاک، جاوا، جاوااسکریپت، روبی و پایتون وجودشان را مدیون لیسپ هستند.
کوبول (COBOL): بعد از اینکه کامپیوترها سر از دنیای تجارت درآوردند، زبان COBOL بهوجود آمد. COBOL مخفف Common Business-Oriented Language است و همانطورکه از اسمش پیداست، برای بهکارگیری در امور مالی و تجاری استفاده شد. این زبان با داشتن انواع دادهایِ عددی و رشتهی متنی ، مدیریت داده را ساده کرده بود.
سیمولا(Simula): با ورود سیمولا، مفهوم شیگرایی به دنیای برنامهنویسی سلام کرد و Objectها و Classها غلتیدند میان کدها! سیمولا ریشهی همهی زبانهای شیگرا مثل سی شارپ، جاوا و جاواسکریپت است.
اسمال تاک (Smalltalk): با اینکه اسمال تاک ادامهی زبان سیمولا بود اما بهتنهایی توانست تحول بزرگی در دنیای برنامه نویسی ایجاد کند. زبانهای مدرنی مثل جاوا، سی شارپ، Objective C از این زبان تاثیر گرفتهاند. زبان روبی هم به نوعی همزاد مدرن اسمال تاک به حساب میآید.
اینطوری بود که زمینه برای ارتقای نرمافزارهای مربوط به ذخیرهسازی و بازیابی اطلاعات هم فراهم شد. سرعت این پیشرفت آنقدر زیاد بود که تا سال 1979 با ظهور 200 زبان، دنیای IT حسابی شلوغ شده بود
مهمترین زبانهای برنامه نویسی تا به امروز :
شکی نیست هر زبانی که تا به امروز پا به عرصهی IT گذاشتهاند به نوبهی خودشان مهم بودهاند و بعضیهایشان هنوز هم مهماند. گذشت زمان و پیشرفت تکنولوژی عیار و اهمیت زبانها را نشان میدهد و مطمئناً هر زبانی که نتواند مطابق با پیشرفت علم، رشد کند از این قافله عقب میماند.
در این قسمت با مهمترین آنها در تاریخچهی زبانهای برنامه نویسی آشنا خواهید شد. زبانهایی که دنیای امروز را شکل دادهاند
سی و سی پلاس پلاس (C++)
با وجود اینکه C عمری طولانی دارد و میشود گفت حق مادری به گردن همهی زبانهای برنامه نویسی مدرن دارد اما ثابت کرده که هنوز هم دود از کنده بلند میشود. چراکه همهی سیستمعاملها از ویندوز و لینوکس تا اندروید و iOS به زبان سی یا یکی از مشتقاتش نوشته شدهاند.
موزیلا فایرفاکس به زبان سی و برنامهی آفیس به زبان C++ و C# نوشته شدهاند. بسیاری از بازیهای کامپیوتری شناختهشده، مبتنی بر C و C++ هستند. به جز زبانهای C++ و C#، جاوا و جاوااسکریپت هم از سی منشا گرفتهاند.
کوبول (COBOL)
دنیای تجارت به زبان کوبول مدیون است و انبوهی از نرمافزارهای مهم دنیا، با این زبان نوشته شدهاند. براساس گزارش گروه گارتنر (Gartner Group) تا سال 1997، 80% بیزنسهای دنیا با کوبول پیش رفتهاند.
پی اچ پی (PHP)
جهان وب (World Wide Web) یا همان wwwهای خودمان وجودشان را مدیون PHP و Perl هستند. از طرف دیگر بسیاری از سایتهای مهم مثل فیسبوک، ویکیپدیا و وردپرس با پیاچپی نوشته شدهاند. بهعلاوه بخشهای زیادی از لینکدین، یاهو، تامبلر و فلیکر با استفاده از این زبان نوشته شدهاند.
زبان جاوا (Java)
زبان جاوا یکی دیگر از محبوبترین و مهم ترین زبان های برنامه نویسی است. یک زبان کراسپلتفرم یا چندمنظوره که با شعار «یکبار بنویس، همهجا اجرا کن!» دل برنامهنویسها برده است. این زبان شیگرا کاربردهای بسیاری دارد، از توسعهی بکاند گرفته تا برنامهنویسی برای اندروید! یک زبان قدرتمند و همهفنحریف که هر سال نامش در بین زبانهای پرکاربرد میدرخشد.
نرمافزارهای تجاری مهمی مثل بورس سهام آمریکا، سایت آمازون، بخشهایی از گوگل و سیستمعامل اندروید با کدهای جاوا ساخته شدهاند. به همین دلیل در دیتابیس بانکها، ابررایانههای تحقیقاتی، تلویزیون و تلفنهای همراه میتوانید ردپای جاوا را ببینید.
Objective C
آبجکتیو سی تا حد زیادی ترکیبی از زبان سی و اسمالتاک است. طرفداران سینهچاک اپل باید آبجکتیو سی را روی سر بگذارند چون آیفون، آیپد و سیستمعامل mac 10 با این زبان توسعه پیدا کردهاند.
جاوااسکریپت (JavaScript)
نتایج سایت StackOverflow نشان میدهد که جاوااسکریپت یکی از مهمترین و پرکاربردترین زبان های برنامه نویسی چندمنظوره است. این زبان در یک دههی اخیر رشد شگفتانگیزی داشته است. قابلیتهای فراوان این زبان هم روزبهروز به محبوبیتش اضافه میکند. بهطوریکه استیو یِگه (Steve Yegge) از کارمندان ارشد گوگل و آمازون اعتقاد دارد جاوااسکریپت در آینده به بزرگترین زبان برنامه نویسی دنیا تبدیل خواهد شد.
همین الان هم سمت فرانتاندِ جهان وب در دستان قدرتمند جاوااسکریپت قرار دارد. شما اگر سایتتان را با استفاده از HTML و CSS طراحی کنید برای تعاملی کردنش حتماً به زبان جاوااسکریپت احتیاج پیدا میکنید. شاید باورتان نشود اما طبق نتایج سایت StackOverflow، 75% از فریمورکهای محبوب برنامهنویسها (مثل React، React Native و Nodejs مبتنی بر زبان جاوااسکریپت هستند(
روبی (Ruby)
زبان روبی به سادگیِ نگارش و زبان شبهمحاورهاش شناخته میشود. ویژگیهایی که از آن یک زبان محبوب ساخته است. روبی ریلیز (Rails) هم فریمورک قدرتمندی است که بر پایهی همین زبان است و در حوزهی برنامههای استارتاپی و توسعهی وب بسیار طرفدار دارد. جالب است بدانید که شبکهی اجتماعی محبوب توئیتر هم به زبان روبی نوشته شده است.
جاوااسکریپت (Javascript)
همانطورکه گفتیم جاوااسکریپت پرکاربردترین زبان برنامه نویسی در دنیاست. به دلیل قابلیتهای فراوان و در دسترس بودن انواع فریمورکهای قدرتمند، به یکی از بهترین و پولسازترین زبان های برنامه نویسی تبدیل شده است.
پایتون (Python)
چند سالی است که این مار خوشخطوخال حسابی خودش را در دل برنامهنویسها و کمپانیهای بزرگی مثل ناسا، گوگل، یوتیوب و بسیاری دیگر جا کرده است. چراکه در عین سادگی در زمینههای مختلفی مثل توسعهی برنامههای تحتوب، دستکتاپ، هوش مصنوعی، مدیریت سرور، تحلیل دادهها و هک کاربرد دارد.
پی اچ پی (PHP)
در بین بسیاری از برنامهنویسهای سمت وب، زبان پی اچ پی بسیار محبوب شده است. php زبانی شیگرا، منعطف و قدرتمند است که طراحی وبسایتهای دینامیک 80% بازار برنامهنویسی وب را به دست گرفته است. علاوهبراین از فریمورکهای محبوبی مثل لاراول هم مبتنی بر زبان پی اچ پی است.
سوئیفت (Swift)
باوجود اینکه این پرندهی اپل عمر زیادی ندارد اما با داشتن قابلیتهای فراوان توانسته بسیاری از برنامهنویسان mac و iOS را به سمت خود بکشاند.جالب اینجاست که کدهای این زبان متنباز بسیار شبیه زبان سی و جاواست و از طرف دیگر یکی از امنترین زبانهای برنامهنویسی هم محسوب میشود.
سی شارپ (C#)
شرکت مایکروسافت زبان سی شارپ را در بستر دات نت (.NET) ابداع کرد. یک زبان شیگرا، چندمنظوره و سطح بالا که تا الان بیشتر از 90% برنامههای تحت ویندوز به وسیلهی آن توسعه داده شدهاند. علاوهبر ویندوز، نوشتن برنامههای سمت وب و موبایل را هم میتوان با C# انجام داد. با چنین کاربرد وسیعی تعجبی ندارد که سی شارپ، یک زبان پردرآمد باشد.
معرفی افرادی که در تاریخچهی زبانهای برنامه نویسی تاثیر گذار بودهاند :
Grace Hopper: گریس هاپر از اعضای نیروی دریایی ارتش امریکا و از اولین زنان برنامهنویس تاریخ بوده است. کسی که نقش مهمی در ایجاد زبان COBOL داشته است. زبانی که در سال 1959 توسعه پیدا کرد و همانطورکه قبلاً هم گفتیم در امور مالی و تجاری بسیار از آن استفاده میشد.
Jean Sammet: جین سَمِت یکی از زنان ریاضیدان شرکت IBM بود که بعدها در کنار گریس هاپر بهعنوان بنیانگذاران COBOL شناخته شدند. بعدها جین سمت، در ادامهی FORTRAN، زبان FORMAC را ابداع کرد. FORMAC اولین زبانی بود که در آن زمان در محاسبات ریاضیاتی پارامتری استفاده میشد.
Cynthia Solomon: سینتیا سالومون یکی از محققان زن آمریکایی در زمینهی هوش مصنوعی بود. او در اواخر دههی 1960 میلادی با تکیه بر زبان Lips، زبان برنامه نویسی جدیدی بهنام Logo را خلق کرد. زبانی مبتنی بر گرافیک که در آموزش برنامهنویسی به کودکان مورداستفاده قرار گرفت.
:Adele Goldberg در دههی 70 میلادی، ادل گلدبرگ نقش مهمی در توسعهی زبان Smaltalk داشت. زبانی شیگرا و دینامیک که از ترکیب با زبان سی، در توسعهی سیستمعامل iOS استفاده شد.
: Barbara Liskov بارابارا لیسکُف یکی از تاثیرگذارترین زنان آمریکایی در زمینهی علوم کامپیوتری است. او علاوهبر سرپرستی تیم ابداعکنندهی زبان CLU، به دلیل خلق زبان های برنامه نویسی مختلف و ابداع روشهای توسعهی برنامهنویسی شیگرا، در سال 2008 موفق به دریافت جایزهی معتبر Turing شد.
Dennis Ritchie : دنیس ریچی مخترع زبان C و از بنیانگذاران Unix است. یکی از موثرترین دانشمندان علوم کامپیوتری که جوایز معتبر مختلفی مثل جایزه Turing و Hamming را دریافت کرده است.
Bjarne Stroustrup : بیارن استراستراپ برنامهنویس دانمارکی و استاد دانشگاههای معتبر آمریکاست. کسی که تمام مراحل ساخت زبان C++ را برعهده داشته است.
: Donald Knuth دونالد ناث پدر علم تحلیل الگوریتم و استاد سابق دانشگاه استنفورد است. او پژوهشهای زیادی در زمینهی محاسبات الگوریتمی و روشهای ریاضیاتی سیستماتیک انجام داده و همینطور در ابداع سیستمهای رندرینگ نقش مهمی داشته است.
: Ken Thompson تامپسون مخترع سیستمعامل لینوکس و زبان B است. او سابقهی فعالیت در شرکت گوگل را نیز دارد و در همان زمان هم زبان گو (Go) را ابداع کرده است.
: Guido van Rossum گیدو وا راسِم، خالق زبان پایتون است. اینطور که معلوم است یا گوگل در شکار نابغهها مهارت است یا عرصهی گوگل برای خلاقیت وسیع است. چون گیدو هم زمانی که کارمند شرکت گوگل بوده زبان پایتون را اختراع کرده است! البته او درحال حاضر کارمند شرکت DropBox است.
: James Gosling خوب است بهعنوان حسن ختام این آشناییها، با خالق زبان پرطرفدار جاوا آشنا شوید. جیمز گاسلینگ علاوهبر این زبان، کامپایلر و ماشین مجازیاش را هم ابداع کرده است. گاسلینگ بااینکه کانادایی است اما به دلیل داشتن نقش غیرقابل انکارش در عرصهی تکنولوژی بهعنوان یکی از اعضای ویژهی آکادمی مهندسی آمریکا انتخاب شده است.