اولین زبان برنامه نویسی ایجاد شد. چگونه هنوز زبان برنامه نویسی (اولین) خود را انتخاب می کنید؟ یا چگونه سوالات درست بپرسیم؟ زبان برنامه نویسی چیست؟
اگر به یادگیری برنامه نویسی فکر می کنید، زبان برنامه نویسی که ابتدا تصمیم می گیرید انتخاب کنید از اهمیت بالایی برخوردار است، باید به کاری که می خواهید در آینده انجام دهید مرتبط باشد و مرتبط باشد. در حالی که برنامه نویسی به طور کلی برای افراد تنبل نیست، یادگیری برخی از زبان ها آسان تر از سایرین است و دارای جوامعی هستند که به یادگیری اختصاص داده شده اند و مهارت های مفیدی را برای یادگیری سایر زبان های برنامه نویسی ارائه می دهند.
طرح انتخاب
سوالاتی وجود دارد که به قدری از آنها پرسیده می شود که نمودارهای کامل برای پاسخ به آنها ایجاد می شود. به عنوان مثال، یکی از آنها به انتخاب اولین زبان برنامه نویسی اختصاص دارد.
هنگام انتخاب اولین زبان برنامه نویسی خود، باید با هوشیاری عوامل زیر را ارزیابی کنید:
- بازار کار.
- چشم اندازهای بلند مدت برای زبان
- مشکل در یادگیری زبان.
- دقیقاً چه چیزی می توانید در فرآیند مطالعه ایجاد کنید و با نشان دادن دیگران، انگیزه خود را حفظ کنید.
محبوبیت و تقاضا
جاوا اسکریپت
جاوا اسکریپت، که نباید با جاوا اشتباه گرفته شود، یک زبان برنامه نویسی است که در دهه 90 توسط برندان ایچ، سابقاً از نت اسکیپ ارتباطات و اکنون از بنیاد موزیلا توسعه یافت. جاوا اسکریپت یکی از فناوری های اساسی است که جامعه وب را آنطور که ما می شناسیم قدرت می دهد. گول نخورید، اگرچه جاوا اسکریپت خارج از مرورگر وجود دارد، اما عمدتاً در زمینه برنامه ها و سرویس های متصل وجود دارد.
خود زبان پویا است و به برنامه نویسان انعطاف پذیری برای استفاده از سبک های برنامه نویسی شی گرا (از آنجایی که خود زبان در درجه اول شی گرا است) و همچنین کاربردی و ضروری را می دهد. بیشتر سینتکس خود را از C مشتق می کند و اگر قصد دارید هر گونه توسعه وب را به هر نحوی انجام دهید، یادگیری جاوا اسکریپت باید در لیست شما باشد.
خوشبختانه، یادگیری جاوا اسکریپت نسبتاً آسان است، در حال حاضر در مرورگر شما برای بازی کردن با آن وجود دارد، و اگرچه مدتی است که وجود دارد، اما به سرعت محبوبیت پیدا می کند. بسیاری از شما که آن را نامزد کردهاید، متوجه شدهاید که سرمایهگذاری شما هنگام یادگیری جاوا اسکریپت بسیار زیاد است، زیرا میتوانید فوراً از آن برای ساختن چیزهایی برای وب استفاده کنید، که ممکن است همان چیزی باشد که بسیاری از افراد کدنویسی را یاد میگیرند.
پایتون
من همچنین می توانم پایتون را توصیه کنم.
علیرغم تعدادی از مشکلات ذاتی پایتون از لحاظ تاریخی، همچنان یک ابزار پیشرو در تعدادی از جایگاه ها است:
چشمگیر است، اینطور نیست؟ در مورد پروژه های بزرگ و محبوبی که در پایتون نوشته شده اند، اینها هیولاهایی مانند:
شما همچنین می توانید در وب سایت ما پیدا کنید.
برنامه نویسی فرآیندی سخت و پیچیده است که همه نمی توانند آن را درک کنند. زبان ماشین متشکل از الگوریتمهای زیادی است و کامپیوترهای امروزی به دلیل برنامهریزی بودن تجهیزات پیشرفتهای هستند. و اگر زبان خاصی برای ماشین هایی که کلمات کلیدی نمادین را به کدهای ماشین ترجمه می کنند، اختراع نمی شد، تاریخ توسعه نرم افزار چندان موفق نبود. بیایید به چگونگی شکل گیری تاریخچه توسعه زبان های برنامه نویسی نگاه کنیم.
اولین کدهای خودکار در سال 1955 با تلاش توسعه دهندگان IBM به رهبری مهندس جان بکوس ظاهر شدند. این یک زبان سطح بالا به نام Fortran بود، نه مجموعه ای از دستورات ساده جدا شده، بلکه سازمانی از کدهای بزرگتر که عملگرها یا زبان های الگوریتمی نامیده می شدند. برای ترجمه آنها به کد ماشین، مترجم هایی اختراع شدند که الگوریتم ها را تغییر می دهند و آن را برای یک کامپیوتر الکترونیکی قابل درک می کنند. این امر به دو صورت است: تفسیر و تألیف. به دلیل سادگی، نسخه های فرترن به سرعت مورد استفاده قرار گرفتند و آخرین آنها هنوز یکی از اصلی ترین رایانه های امروزی است.
با این حال، این تنها کد خودکار برای خودروها نیست. تاریخچه توسعه زبان های برنامه نویسی با ایجاد الگوریتم های الگوریتم که عمدتاً در جامعه علمی مورد استفاده قرار می گیرد و حاوی تعداد زیادی مفاهیم جدید است، ادامه می یابد. این رویداد در سال 1960 رخ می دهد. و کمی بعد، کارمندان کنجکاو IBM با زبان Cobol آشنا شدند که به سمت استفاده در یک محیط تجاری گرایش داشت و برای پردازش اطلاعات پیچیده و حجیم با ماهیت اقتصادی استفاده می شد.
تاریخچه توسعه زبان های برنامه نویسی با استادان کالج دارتسموث، T. Kurtz و J. Kemeny، که معروف BASIC را توسعه دادند، ادامه دارد. این بسیار ساده تر از فرترن است، و بنابراین در آن استفاده شد، اثر انفجاری داشت، به مجموعه اصلی کدهای برنامه نویسی خودکار تبدیل شد و رایانه ها را به مالکیت معمولی ترین کاربران تبدیل کرد.
سهولت استفاده و امکان ارتباط تعاملی از مهمترین مزایای زبان بیسیک است. از معایب آن می توان به عدم محدودیت در تدوین برنامه ها اشاره کرد که اغلب آنها را گیج می کند و آنها را از نظر منطقی غیرقابل درک می کند. برنامه هایی که با استفاده از بیسیک نوشته می شوند کند هستند زیرا نه بر اساس کامپایلر بلکه بر اساس مفسر هستند.
امروزه دانشمندان به کار بر روی بهبود آن ادامه می دهند و سعی می کنند آن را به برنامه پاسکال نزدیک کنند که تاریخ توسعه زبان های برنامه نویسی را بیشتر نشان می دهد. استاد دانشگاه پلی تکنیک زوریخ نیکلاوس ویرث به حق خالق آن در نظر گرفته می شود. و او نام اختراع خود را به افتخار پاسکال، که اولین طراح اولین کامپیوتر بود، گذاشت. این یکی از ساده ترین و در دسترس ترین زبان های برنامه نویسی است که به شما امکان می دهد برنامه های واضح و قابل فهم بنویسید.
تاریخچه توسعه برنامه نویسی بدون زبان Ada ناقص خواهد بود که نام اولین برنامه نویس زن Ada Lovelace، دختر عرق شناخته شده، یک زبان برنامه نویسی پیشرفته تر و جهانی است.
تاریخچه توسعه نرم افزار زبان های برنامه نویسی بسیار بیشتری را در زرادخانه خود دارد که برای حوزه های کاربردی خاص نوشته شده اند. به عنوان مثال از Simul، Simkrit و GPSS در مدل سازی استفاده می شود. برای کنترل تجهیزات از زبان FORT استفاده می شود. به زبان SI نوشته شده اند. پایگاه های داده با استفاده از زبان Kodasil ایجاد می شوند. لوگو، Robik و A.P برای یادگیری برنامه نویسی مناسب هستند. ارشووا.
تاریخچه توسعه برنامه نویسی هنوز به طور کامل نوشته نشده است و بعید است در آینده نزدیک اتفاق بیفتد.
یکی از انقلابی ترین ایده هایی که منجر به ایجاد رایانه های دیجیتال خودکار شد، ایده ای بود که در دهه 20 قرن نوزدهم توسط چارلز بابیج در مورد ثبت پیش دستور کار دستگاه برای اجرای خودکار محاسبات - یک برنامه بیان شد. . و اگرچه ضبط برنامه ها روی کارت های پانچ که توسط Babyge برای کنترل چنین ماشین هایی توسط مخترع فرانسوی جوزف ماری ژاکارد اختراع شده است، از نظر فنی هیچ شباهتی با روش های مدرن ذخیره برنامه ها در رایانه شخصی ندارد، اصل در اینجا اساساً یکسان است. از این لحظه تاریخچه برنامه نویسی آغاز می شود.
Ada Levellace، یکی از معاصران بابیج، اولین برنامه نویس جهان نامیده می شود. او از نظر تئوری تکنیک هایی را برای کنترل توالی محاسبات توسعه داد که امروزه هنوز در برنامه نویسی استفاده می شود. او همچنین یکی از مهم ترین ساختارهای تقریباً هر زبان برنامه نویسی مدرن را توصیف کرد - یک حلقه.
یک لحظه انقلابی در تاریخ زبان های برنامه نویسی، ظهور سیستمی برای رمزگذاری دستورالعمل های ماشین با استفاده از کاراکترهای خاص بود که توسط جان ماچلی پیشنهاد شد. سیستم کدگذاری که او پیشنهاد کرد الهام بخش یکی از همکارانش، گریس موری هاپر بود. در حین کار بر روی کامپیوتر Mark-1، او و گروهش مجبور شدند با مشکلات زیادی روبرو شوند و هر چیزی که به ذهنشان رسید برای اولین بار بود. به طور خاص، آنها با زیربرنامه ها آمدند. و یکی دیگر از مفاهیم اساسی تکنیک برنامه نویسی برای اولین بار توسط هاپر و گروهش معرفی شد: "اشکال زدایی".
در اواخر دهه 40، J. Mauchly سیستمی به نام "Short Code" ایجاد کرد که یک زبان برنامه نویسی سطح بالا اولیه بود. در آن، برنامه نویس مسئله ای را که باید حل شود را به صورت فرمول های ریاضی یادداشت می کرد و سپس با استفاده از جدول مخصوص، کاراکتر به کاراکتر ترجمه می کرد و این فرمول ها را به کدهای دو حرفی تبدیل می کرد. پس از آن، یک برنامه کامپیوتری ویژه این کدها را به کد ماشین دودویی تبدیل کرد. سیستم توسعه یافته توسط J. Mauchly یکی از اولین مفسران بدوی در نظر گرفته می شود.
قبلاً در سال 1951، هاپر اولین کامپایلر جهان را ایجاد کرد و او نیز این اصطلاح را معرفی کرد. کامپایلر Hopper عملکرد ترکیب دستورات را انجام داد و در طول ترجمه، زیر روال ها را سازماندهی کرد، حافظه کامپیوتر را تخصیص داد و دستورات سطح بالا (در آن زمان شبه کدها) را به دستورات ماشین تبدیل کرد. او منشأ اصطلاحی را که ابداع کرد، توضیح داد: «زیرروالها در کتابخانه (کامپیوتر) هستند و وقتی مطالبی را از کتابخانه انتخاب میکنید، به آن کامپایل میگویند.
در سال 1954، گروهی به رهبری G. Hopper سیستمی را توسعه دادند که شامل یک زبان برنامه نویسی و یک کامپایلر بود که بعدها Math-Matic نام گرفت. با تکمیل موفقیت آمیز Math-Matic، هاپر و تیمش شروع به توسعه یک زبان و کامپایلر جدید کردند که به کاربران امکان می داد به زبانی شبیه به انگلیسی معمولی برنامه ریزی کنند. در سال 1958، کامپایلر Flow-Matic ظاهر شد. کامپایلر Flow-Matic اولین زبان برای وظایف پردازش داده های تجاری بود.
تحولات در این راستا منجر به ایجاد زبان COBOL (زبان تجاری مشترک) شد. در سال 1960 ایجاد شد. در این زبان در مقایسه با فرترن و الگول، ابزارهای ریاضی کمتر توسعه یافته اند، اما ابزارهای پردازش متن و سازماندهی خروجی داده ها در قالب سند مورد نیاز به خوبی توسعه یافته اند. این زبان به عنوان زبان اصلی برای پردازش داده های انبوه در حوزه های مدیریت و کسب و کار در نظر گرفته شده است.
اواسط دهه 50 با پیشرفت سریع در زمینه برنامه نویسی مشخص می شود. نقش برنامه نویسی در دستورات ماشین شروع به کاهش کرد. انواع جدیدی از زبان های برنامه نویسی شروع به ظهور کردند که به عنوان واسطه بین ماشین ها و برنامه نویسان عمل می کنند. اولین و یکی از گسترده ترین آنها Fortran (FORTRAN، از FORmula TRANslator - مترجم فرمول) بود که توسط گروهی از برنامه نویسان IBM در سال 1954 (نسخه اول) توسعه یافت. این زبان بر محاسبات علمی و فنی با ماهیت ریاضی متمرکز بود و یک زبان برنامه نویسی کلاسیک برای حل مسائل ریاضی و مهندسی در رایانه شخصی است.
برای اولین زبان های برنامه نویسی سطح بالا، جهت گیری موضوعی زبان ها یک ویژگی مشخص بود.
الگول جایگاه ویژه ای در بین زبان های برنامه نویسی دارد که اولین نسخه آن در سال 1958 ظاهر شد. یکی از توسعه دهندگان Algol، "پدر" فرترن، جان بکوس بود. نام ALGOrithmic Language بر این واقعیت تاکید دارد که برای نوشتن الگوریتم ها در نظر گرفته شده است. به لطف ساختار منطقی واضح خود، الگول به یک ابزار استاندارد برای نوشتن الگوریتم در ادبیات علمی و فنی تبدیل شده است.
در اواسط دهه 60، توماس کورتز و جان کامنی (کارمندان بخش ریاضیات کالج دارتموث) یک زبان برنامه نویسی تخصصی ایجاد کردند که از کلمات ساده انگلیسی تشکیل شده بود. زبان جدید «کد دستورالعمل نمادین همه منظوره مبتدی یا به اختصار BASIC» نام داشت. سال تولد زبان جدید را می توان سال 1964 در نظر گرفت. امروزه زبان جهانی بیسیک (که دارای نسخه های زیادی است) محبوبیت زیادی پیدا کرده است و در بین کاربران رایانه های شخصی از دسته های مختلف در سراسر جهان گسترده شده است. این امر با این واقعیت تسهیل شد که BASIC به عنوان زبان داخلی رایانه های شخصی شروع به استفاده کرد که استفاده گسترده از آن در اواخر دهه 70 آغاز شد. با این حال، BASIC یک زبان بدون ساختار است، و بنابراین برای آموزش برنامه نویسی با کیفیت مناسب نیست. انصافاً باید توجه داشت که آخرین نسخه های BASIC برای رایانه های شخصی (مثلاً QBasic) ساختاری تر شده اند و در قابلیت های بصری خود به زبان هایی مانند پاسکال نزدیک می شوند.
توسعه دهندگان زبان ها را بر روی کلاس های مختلف وظایف متمرکز کردند، آنها را به یک درجه یا درجه دیگر به یک معماری رایانه شخصی خاص گره زدند و سلیقه ها و ایده های شخصی را پیاده سازی کردند. در دهه 60، تلاش هایی برای غلبه بر این "اختلاف" با ایجاد یک زبان برنامه نویسی جهانی انجام شد. اولین زاده فکری این مسیر PL/1 (زبان برنامه یک) بود که توسط IBM در سال 1967 توسعه یافت. این زبان ادعا می کرد که می تواند هر مشکلی را حل کند: محاسبات، پردازش متن، انباشت و بازیابی اطلاعات. با این حال، معلوم شد که خیلی پیچیده است، مترجم از آن به اندازه کافی مطلوب نبود و حاوی تعدادی خطای کشف نشده بود.
با این حال، خط جهانی سازی زبان ها مورد حمایت قرار گرفت. زبان های قدیمی به نسخه های جهانی مدرنیزه شدند: ALGOL-68 (1968)، Fortran-77. فرض بر این بود که چنین زبان هایی توسعه یافته و بهبود می یابند و شروع به جابجایی زبان های دیگر می کنند. با این حال، هیچ یک از این تلاش ها موفقیت آمیز نبود.
زبان LISP در سال 1965 ظاهر شد. مفهوم اصلی در آن مفهوم توابع تعریف شده بازگشتی است. از آنجایی که ثابت شده است که هر الگوریتمی را می توان با استفاده از مجموعه خاصی از توابع بازگشتی توصیف کرد، LISP اساسا یک زبان جهانی است. با کمک آن، یک رایانه شخصی می تواند فرآیندهای بسیار پیچیده، به ویژه، فعالیت های فکری افراد را شبیه سازی کند.
Prolog در سال 1972 در فرانسه برای حل مشکلات "هوش مصنوعی" توسعه یافت. Prologue به شما اجازه می دهد تا به طور رسمی عبارات مختلف، منطق استدلال را توصیف کنید و رایانه شخصی را مجبور می کند تا به سؤالات پرسیده شده پاسخ دهد.
یک رویداد مهم در تاریخ زبان های برنامه نویسی ایجاد زبان پاسکال در سال 1971 بود. نویسنده آن دانشمند سوئیسی نیکلاوس ویرث است. ویرث آن را به افتخار ریاضیدان و فیلسوف مذهبی بزرگ قرن هفدهم فرانسوی بلز پاسکال نامگذاری کرد که اولین وسیله افزودنی را اختراع کرد و به همین دلیل زبان جدید به نام او نامگذاری شد. این زبان در ابتدا به عنوان یک زبان آموزشی برای برنامه نویسی ساخت یافته توسعه داده شد و در واقع اکنون یکی از زبان های اصلی آموزش برنامه نویسی در مدارس و دانشگاه ها می باشد.
در سال 1975، دو رویداد به نقطه عطفی در تاریخ برنامه نویسی تبدیل شدند - بیل گیتس و پل آلن با توسعه نسخه BASIC خود را اعلام کردند، و Wirth و Jensen توصیف کلاسیک زبان "راهنمای کاربر و گزارش پاسکال" را منتشر کردند.
فیلیپ کان، فرانسوی که سیستم توربو پاسکال را در سال 1983 توسعه داد، موفقیت کمتری از جمله مالی را به دست آورد. جوهر ایده او ترکیب مراحل متوالی پردازش برنامه - کامپایل، ویرایش پیوندها، اشکال زدایی و تشخیص خطا - در یک رابط واحد بود. Turbo Pascal نه تنها یک زبان و یک مترجم از آن است، بلکه یک پوسته عملیاتی است که به کاربر اجازه می دهد تا به راحتی در پاسکال کار کند. این زبان از هدف آموزشی خود فراتر رفته و به یک زبان برنامه نویسی حرفه ای با قابلیت های جهانی تبدیل شده است. با توجه به این مزایا، پاسکال منبع بسیاری از زبان های برنامه نویسی مدرن شده است. از آن زمان، چندین نسخه از توربو پاسکال ظاهر شد که آخرین نسخه هفتم است.
Borland/Inprise خط تولید Turbo Pascal را تکمیل کرد و به سمت انتشار یک سیستم توسعه بصری برای Windows - Delphi حرکت کرد.
زبان C (نسخه اول - 1972) که در بین توسعه دهندگان سیستم های نرم افزاری (از جمله سیستم عامل ها) بسیار محبوب است، تأثیر زیادی بر برنامه نویسی مدرن گذاشت. این زبان به عنوان یک زبان ابزاری برای توسعه سیستم عامل ها، مترجمان، پایگاه های داده و سایر برنامه های سیستمی و کاربردی ایجاد شده است. C هر دو ویژگی یک زبان سطح بالا و یک زبان ماشین گرا را ترکیب می کند و به برنامه نویس اجازه می دهد تا به تمام منابع ماشین دسترسی داشته باشد، که زبان هایی مانند بیسیک و پاسکال آن را ارائه نمی دهند.
دوره از اواخر دهه 60 تا اوایل دهه 80 با رشد سریع تعداد زبان های برنامه نویسی مختلف که با بحران نرم افزار همراه بود مشخص شد. در ژانویه 1975، پنتاگون تصمیم گرفت به هرج و مرج مترجمان نظم دهد و کمیته ای را تأسیس کرد که به آن دستور داده شد تا یک زبان جهانی را توسعه دهد. در ماه مه 1979، برنده اعلام شد - گروهی از دانشمندان به رهبری ژان اخبیا. زبان برنده به افتخار آگوستا آدا لولاس، آدا نامگذاری شد. این زبان برای ایجاد و نگهداری طولانی مدت (دراز مدت) سیستم های نرم افزاری بزرگ در نظر گرفته شده است و امکان پردازش موازی و کنترل فرآیند را در زمان واقعی فراهم می کند.
سالها نرمافزار بر اساس زبانهای عملیاتی و رویهای مانند Fortran، BASIC، Pascal، Ada، C ساخته میشد. با تکامل زبان های برنامه نویسی، رویکردهای دیگر، اساساً متفاوت برای ایجاد برنامه ها گسترده شد.
تعداد زیادی طبقه بندی از زبان های برنامه نویسی بر اساس معیارهای مختلف وجود دارد. رایج ترین طبقه بندی ها عبارتند از:
زبان های برنامه نویسی سطح بالا (پاسکال، بیسیک) و سطح پایین (اسمبلر)؛
تایپ دقیق (پاسکال) و تایپ آزاد (BASIC)؛
با و بدون پشتیبانی از برنامه نویسی شی گرا (C++) و غیره.
بیایید طبقه بندی دیگری را در نظر بگیریم. زبان های برنامه نویسی به دو دسته تقسیم می شوند:
1) زبان های ماشین گرا:
- زبان ماشین؛
- زبان های رمزگذاری نمادین؛
کدهای خودکار؛
- ماکرو
۲) زبانهای مستقل از ماشین:
زبان های مسئله محور؛
- زبان های جهانی؛
- زبان های تعاملی؛
- زبان های غیر رویه ای
زبان های ماشین گرا
زبان های ماشین گرا زبان هایی هستند که مجموعه اپراتورها و ابزارهای گرافیکی آنها به طور قابل توجهی به ویژگی های رایانه شخصی (زبان داخلی، ساختار حافظه و غیره) بستگی دارد. زبان های ماشین گرا دارای ویژگی های زیر هستند:
کیفیت بالای برنامه های ایجاد شده (فشرده و سرعت اجرا)؛
توانایی استفاده از منابع سخت افزاری خاص؛
قابلیت پیش بینی کد شی و ترتیب حافظه؛
برای ایجاد برنامه های موثر، باید سیستم فرمان و ویژگی های عملیاتی این رایانه شخصی را بشناسید.
فرآیند پر زحمت نوشتن برنامه ها (به ویژه در زبان های ماشین و JSC) که از خطاها ضعیف محافظت می شود.
سرعت برنامه نویسی کم؛
عدم امکان استفاده مستقیم از برنامه های کامپایل شده به این زبان ها در سایر انواع کامپیوترها.
زبان های ماشین گرا با توجه به درجه برنامه نویسی خودکار به کلاس هایی تقسیم می شوند.
زبان ماشین
یک کامپیوتر منفرد زبان ماشین خاص خود را دارد (که از این پس به عنوان ML نامیده می شود)، برای انجام عملیات مشخص بر روی عملوندهایی که آنها تعریف می کنند تجویز شده است، بنابراین ML یک زبان دستوری است. فرمان اطلاعاتی را در مورد مکان عملوندها و نوع عملیات در حال انجام گزارش می دهد.
در مدلهای رایانههای شخصی جدید، تمایل به بهبود زبانهای داخلی در سختافزار برای اجرای دستورات پیچیدهتر وجود دارد که در عملکردهای عملکردی خود به اپراتورهای زبانهای برنامهنویسی الگوریتمی نزدیکتر هستند.
زبان های رمزگذاری نمادین
زبان های رمزگذاری نمادین (که از این پس SKL نامیده می شود)، درست مانند ML، زبان های دستوری هستند. با این حال، کدهای عملیات و آدرسها در دستورالعملهای ماشین، که دنبالهای از ارقام باینری (در کد داخلی) یا هشتگانه (اغلب در هنگام نوشتن برنامهها استفاده میشوند) هستند، در YSC با نمادها (شناسهها) جایگزین میشوند که شکل نوشتن آن به برنامهنویس کمک میکند. محتوای معنایی عملیات را راحت تر به خاطر بسپارید. این امر کاهش قابل توجهی در تعداد خطاها هنگام کامپایل برنامه ها را تضمین می کند.
استفاده از آدرس های نمادین اولین قدم برای ایجاد YASK است. دستورات کامپیوتر شامل آدرس های نمادین به جای آدرس های واقعی (فیزیکی) است. بر اساس نتایج برنامه کامپایل شده، تعداد سلول های مورد نیاز برای ذخیره مقادیر واسطه اولیه و حاصل تعیین می شود. تخصیص آدرس ها، که جدا از کامپایل برنامه در آدرس های نمادین انجام می شود، می تواند توسط یک برنامه نویس کمتر واجد شرایط یا یک برنامه خاص انجام شود که کار برنامه نویس را بسیار تسهیل می کند.
کدهای خودکار
زبان هایی وجود دارد که شامل تمام قابلیت های YSC، از طریق معرفی گسترده دستورات ماکرو - به آنها کدهای خودکار می گویند.
در برنامههای مختلف، توالیهای دستوری بسیار پرکاربردی وجود دارد که با رویههای خاصی برای تبدیل اطلاعات مطابقت دارند. اجرای موثر چنین رویه هایی با طراحی آنها در قالب دستورات ماکرو ویژه و گنجاندن دومی در یک زبان برنامه نویسی قابل دسترسی برای برنامه نویس تضمین می شود. دستورات ماکرو به دو صورت - ترتیب و تولید - به دستورات ماشین ترجمه می شوند. سیستم مرحلهبندی شامل "اسکلتها" است - مجموعهای از دستورات که عملکرد مورد نیاز را اجرا میکنند که با یک فرمان ماکرو نشان داده شده است. دستورالعملهای ماکرو انتقال پارامترهای واقعی را فراهم میکنند که در طی فرآیند ترجمه، در "اسکلت" برنامه وارد میشوند و آن را به یک برنامه ماشین واقعی تبدیل میکنند.
در یک سیستم تولید، برنامه های خاصی وجود دارد که دستور ماکرو را تجزیه و تحلیل می کند، تعیین می کند که چه تابعی باید اجرا شود و دنباله ای از دستورات لازم را تشکیل می دهد که این تابع را اجرا می کند.
هر دوی این سیستم ها از مترجم های JSC و مجموعه ای از دستورات ماکرو استفاده می کنند که عملگرهای کد خودکار نیز هستند.
کدهای خودکار توسعه یافته اسمبلر نامیده می شوند. برنامه های سرویس و غیره معمولا به زبان های اسمبلی نوشته می شوند.
ماکرو
زبانی که ابزاری برای جایگزینی دنباله ای از کاراکترها است که اجرای اقدامات کامپیوتری مورد نیاز را به شکل مختصرتر توصیف می کند، ماکرو (ابزار جایگزینی) نامیده می شود.
اساساً یک ماکرو برای کوتاه کردن ضبط برنامه اصلی طراحی شده است. جزء نرم افزاری که ماکروها را قادر به عملکرد می کند، پردازنده ماکرو نامیده می شود. ماکروپروسسور متن ماکرو تعریف و منبع را دریافت می کند. پاسخ ماکروپروسسور به تماس، صدور یک متن خروجی است.
ماکروها می توانند هم با برنامه ها و هم با داده ها به طور یکسان کار کنند.
زبان های مستقل از ماشین
زبانهای مستقل از ماشین ابزاری برای توصیف الگوریتمهایی برای حل مسائل و اطلاعاتی هستند که باید پردازش شوند. استفاده از آنها برای طیف گسترده ای از کاربران آسان است و نیازی به دانستن ویژگی های سازماندهی عملکرد رایانه شخصی ندارند.
به این گونه زبان ها، زبان های برنامه نویسی سطح بالا گفته می شود. برنامه های کامپایل شده در چنین زبان هایی دنباله ای از عبارات هستند که بر اساس قوانین مشاهده زبان (وظایف، بخش ها، بلوک ها و غیره) ساختار یافته اند. عملگرهای زبان اقداماتی را که سیستم باید پس از ترجمه برنامه به ML انجام دهد، توصیف می کنند.
بنابراین، توالی دستورات (رویهها، زیرروالها)، که اغلب در برنامههای ماشینی استفاده میشوند، در زبانهای سطح بالا با عبارات فردی نشان داده میشوند. برنامه نویس قادر بود فرآیند محاسباتی را با جزئیات در سطح دستورالعمل های ماشین توصیف نکند، بلکه بر ویژگی های اصلی الگوریتم تمرکز کند.
زبان های مسئله محور
با گسترش حوزه های کاربرد فناوری رایانه، نیاز به رسمیت بخشیدن به ارائه فرمول بندی و حل طبقات جدیدی از مسائل پدید آمد. ایجاد زبان های برنامه نویسی ضروری بود که با استفاده از نمادها و اصطلاحات در این زمینه، امکان توصیف الگوریتم های حل مورد نیاز برای مسائل تعیین شده را فراهم می کرد. این زبان ها بر حل مسائل خاص متمرکز هستند و باید ابزارهایی را در اختیار برنامه نویس قرار دهند که به آنها اجازه دهد به طور خلاصه و واضح یک مسئله را فرموله کنند و نتایج را به شکل مورد نیاز به دست آورند.
زبان های مشکل دار زیادی وجود دارد، به عنوان مثال:
- Fortran، Algol - زبان هایی که برای حل مسائل ریاضی ایجاد شده اند.
- Simula، Slang - برای مدل سازی؛
- Lisp، Snoball - برای کار با ساختارهای لیست.
زبان های جهانی
زبان های جهانی برای طیف وسیعی از وظایف ایجاد شدند: تجاری، علمی، مدل سازی و غیره. اولین زبان جهانی توسط IBM توسعه یافت که در ترتیب زبان ها به PL/1 تبدیل شد. دومین زبان قدرتمند جهانی ALGOL-68 نام دارد.
زبان های مکالمه
ظهور قابلیت های فنی جدید وظیفه ای را برای برنامه نویسان سیستم ایجاد کرده است - ایجاد ابزارهای نرم افزاری که تعامل سریع بین یک شخص و یک رایانه شخصی را تضمین می کند.
این کار در دو جهت انجام شد. زبانهای کنترلی ویژه برای ارائه تأثیر عملیاتی در تکمیل وظایف ایجاد شدهاند که در هر زبانی که قبلاً توسعه نیافته (غیر دیالوگ) جمعآوری شدهاند. زبانهایی نیز توسعه یافتند که علاوه بر اهداف مدیریتی، شرح الگوریتمهایی را برای حل مسائل ارائه میکردند.
نیاز به اطمینان از تعامل سریع با کاربر، مستلزم ذخیره یک کپی از برنامه منبع در حافظه رایانه حتی پس از دریافت برنامه شی در کد ماشین بود. هنگام ایجاد تغییرات در یک برنامه با استفاده از یک زبان تعاملی، سیستم برنامه نویسی با استفاده از جداول خاص، رابطه بین ساختارهای برنامه های منبع و شی را برقرار می کند. این به شما اجازه می دهد تا تغییرات ویرایشی مورد نیاز را در برنامه شی ایجاد کنید.
یکی از نمونههای زبان محاورهای BASIC است.
زبان های غیر رویه ای
زبانهای غیر رویهای گروهی از زبانها را تشکیل میدهند که سازماندهی دادههای پردازش شده را با استفاده از الگوریتمهای ثابت (زبانهای جدولی و تولیدکننده گزارش) و زبانهایی برای برقراری ارتباط با سیستمعاملها توصیف میکنند.
جداول تصمیم که به شما امکان می دهد هم کار و هم اقدامات لازم برای حل آن را به وضوح توصیف کنید، این امکان را فراهم می کند که به وضوح تعیین کنید که چه شرایطی باید قبل از حرکت به هر اقدامی برآورده شود. یک جدول تصمیم، که وضعیت خاصی را توصیف می کند، شامل تمام بلوک دیاگرام های ممکن اجرای الگوریتم های راه حل است.
روش های جدولی به راحتی توسط متخصصان هر حرفه ای تسلط دارند. برنامه هایی که به زبان جدول نوشته شده اند به راحتی موقعیت های پیچیده ای را که در طول تجزیه و تحلیل سیستم به وجود می آیند، توصیف می کنند.
زبانهای برنامهنویسی اهداف مختلفی را دنبال میکنند و انتخاب آنها بر اساس کاربر پسند بودن، مناسب بودن برای یک رایانه و یک کار مشخص تعیین میشود. و مشکلات برای یک کامپیوتر می تواند بسیار متنوع باشد: محاسباتی، اقتصادی، گرافیکی، تخصصی و غیره. این تنوع مسائل حل شده توسط یک کامپیوتر، تنوع زبان های برنامه نویسی را تعیین می کند. در برنامه نویسی، بهترین نتایج با رویکرد فردی بر اساس کلاس مسئله، سطح و علایق برنامه نویس به دست می آید.
تاریخچه ایجاد زبان برنامه نویسی بیسیک و ویژوال بیسیک
زبان برنامه نویسی بیسیک در سال 1964 توسط دو استاد کالج دارتموث به نام های جان کنمی و توماس کورتز برای آموزش مهارت های برنامه نویسی به دانش آموزان ایجاد شد. این زبان آنقدر ساده و قابل فهم بود که پس از مدتی در سایر مؤسسات آموزشی شروع به استفاده از آن کرد. در سال 1975، با ظهور اولین میکروکامپیوترها، بیل گیتس و پل آلن، بنیانگذاران مایکروسافت، باتوم اولیه را به دست گرفتند. آنها بودند که نسخه جدیدی از Basic را برای اولین رایانه های Altair (MITS Altairs) ایجاد کردند که می تواند در 4 کیلوبایت RAM اجرا شود. با گذشت زمان، این نسخه بود که به یکی از محبوب ترین زبان های برنامه نویسی در جهان تبدیل شد. بیسیک در راه رسیدن به اوج شکوه مشکلات زیادی داشت که همیشه با افتخار بر آنها غلبه می کرد و با ظهور اولین کامپیوترهای شخصی IBM PC به استاندارد برنامه نویسی تبدیل شد اما در قالب GW-Basic. سپس Turbo Basic، QuickBasic، Basic PDS وجود داشت، اما همیشه هنگام توسعه یک نسخه جدید از زبان، سازگاری با نسخه های قبلی حفظ می شد و برنامه ای که تقریباً برای اولین Basic نوشته شده بود به خوبی (با تغییرات جزئی) در نسخه های بعدی این زبان کار می کرد. زبان اما زمان های جدیدی فرا رسیده است و در اوایل دهه 90 سیستم عامل ویندوز مایکروسافت با یک رابط کاربری گرافیکی جدید (GUI) ظاهر شد.
زندگی برنامه نویسان تبدیل به جهنم شده است. برای ایجاد یک برنامه ساده، باید چندین صفحه کد بنویسید: ایجاد منوها و پنجره ها، تغییر فونت، پاک کردن حافظه، دکمه های "طراحی" و غیره. با این حال، مزایای رابط جدید آنقدر غیرقابل انکار بود که قبلاً نسخه سوم این سیستم عامل به استاندارد واقعی برای یک رایانه شخصی تبدیل شد. در این زمان، چندین پروژه موازی در مایکروسافت برای ایجاد یک زبان برنامه نویسی جدید برای ویندوز در حال انجام بود. و در سال 1991، تحت شعار "اکنون حتی برنامه نویسان تازه کار می توانند به راحتی برنامه های کاربردی برای ویندوز ایجاد کنند"، اولین نسخه از ابزار جدید مایکروسافت ویژوال بیسیک ظاهر شد. در آن لحظه، مایکروسافت به طور متواضعانه توانایی های این سیستم را ارزیابی کرد و آن را در درجه اول در رده برنامه نویسان مبتدی و غیرحرفه ای قرار داد. سپس وظیفه اصلی عرضه یک ابزار توسعه ساده و راحت به بازار در محیط نسبتاً جدید ویندوز بود که برنامه نویسی در آن حتی برای متخصصان با تجربه نیز مشکل بود. سیستم برنامه نویسی ایجاد شده توسط توسعه دهندگان ویژوال بیسیک این امکان را فراهم می کند که از ساختار پیچیده داخلی ویندوز عقب نشینی کرده و برنامه هایی را از "مکعب" ایجاد کنید، مانند مجموعه ساخت و ساز کودکان. منوها، پنجره ها، لیست ها، دکمه ها، فیلدهای ورودی متن و سایر عناصر رابط ویندوز با استفاده از عملیات کشیدن و رها کردن ساده به برنامه اضافه شدند.
برنامه نویسان VB اولین برنامه خود را در عرض چند دقیقه پس از شروع یادگیری این زبان ایجاد کردند! علاوه بر این، ویژوال بیسیک به توسعهدهندگان اجازه میدهد تا اشیاء مکعب جدیدی ایجاد کنند که میتوانند در برنامهها به همراه موارد استاندارد استفاده شوند. و اگرچه بسیاری از برنامه نویسان C بی سر و صدا به تلاش های مایکروسافت برای ساخت ابزاری ساده و قابل فهم برای توسعه برنامه های ویندوز می خندیدند، ویژوال بیسیک راهپیمایی پیروزمندانه خود را در سراسر جهان آغاز کرد و هیچ چیز نتوانست این روند را متوقف کند. آخرین موانع در سال 1994 با انتشار ویژوال بیسیک برای برنامه ها از بین رفت. در این زمان، پس از گنجاندن VBA در مایکروسافت آفیس، Basic شروع به تبدیل شدن به یکی از استانداردهای اصلی برنامه نویسی برای ویندوز کرد. برای مایکروسافت، زبان Basic در یک زمان از اهمیت ویژه ای برخوردار است، توسعه یک نسخه پایه برای کامپیوتر Altair 8800 آغاز کار برنامه نویسی بنیانگذاران آن، بیل گیتس و پل آلن بود. بنابراین، در یک زمان - در سال 1989، زمانی که زمان توزیع مسیرهای اصلی ایجاد محیط های توسعه در زبان های برنامه نویسی مختلف بین شرکت های مختلف فرا رسید، مایکروسافت QuickBasic را حفظ کرد - محیطی برای توسعه برنامه ها در Basic، به عنوان مثال، از ادامه کار خودداری کرد. روی زبان برنامه نویسی پاسکال کار کنید و آن را به Borland واگذار کنید، که به نوبه خود کار بر روی نسخه Basic خود را متوقف کرد (پاسکال بعداً به زبان دلفی تبدیل شد).
ویژوال بیسیک مایکروسافت که در ابتدا به عنوان یک اسباب بازی در نظر گرفته شده بود، دنیای برنامه نویسی را طوفانی به خود گرفت. محبوبیت آن به دو دلیل است: سادگی نسبی و بهره وری. برنامه های VB نسبت به همتایان C/C++ خود کندتر هستند، اما همچنان برای بسیاری از اهداف تجاری به اندازه کافی سریع هستند و به زمان توسعه بسیار کمتری نیاز دارند. فرم ها همان انتزاع صرفه جویی در تلاش بودند که VB به برنامه نویسان ویندوز ارائه کرد. VB IDE طراحی گرافیکی پنجره ها را با کشیدن کنترل هایی مانند دکمه ها و جعبه های لیست از نوار ابزار بر روی یک فرم ممکن کرد. هنگامی که از ظاهر فرم راضی بودید، می توانید به سمت کد بروید و کنترل کننده رویداد را برای هر کنترل فرم بنویسید.
بنابراین، توسعه یک برنامه کاربردی در VB شامل ایجاد چندین فرم بود که با یکدیگر صحبت می کردند و احتمالاً از یک پایگاه داده برای اطلاعات لازم استفاده می کردند. فرم به دست آمده یک پنجره است که راه بسیار راحت تری را برای استفاده از تکنیک های پنجره ارائه می دهد. VB با حذف برخی از نحو پنهان C/C++ خطاها را کاهش داده است. به جز در موارد خاص، عبارات به یک خط کد محدود می شدند و متغیرها باید در خطوط جداگانه کد اعلام و مقداردهی اولیه می شدند. عملگرهای تخصیص و مقایسه از یک نماد استفاده می کردند، اما دستور زبان VB ایجاب می کرد که این عملگرها به گونه ای استفاده شوند که منظور آنها را روشن کند.
شاید مهمتر از همه، هیچ اشارهای وجود نداشت - یک الزام بیل گیتس از اولین نسخههای مایکروسافت بیسیک. اگرچه اشاره گرها به این دلیل مفید هستند که دسترسی مستقیم به حافظه را در هر آدرسی امکان پذیر می کنند، استفاده از آنها در صورت عدم استفاده دقیق مستعد خطا است. الزام بیسیک برای سادگی گرامری از این واقعیت ناشی می شود که در ابتدا به عنوان یک زبان برای آموزش ایجاد شد: کد آموزشی نمادین همه منظوره "مبتدی." نسخه 6 VB در حال حاضر یک زبان قدرتمند است که می تواند برای ایجاد برنامه های کاربردی توزیع شده با استفاده از آن استفاده شود. کامپوننتهای COM و Microsoft Transaction Server یک رویکرد سهلایه برای معماریهای کلاینت-سرور پیشنهاد کردند که در آن رابطهای کاربری نازک با اجزای VB راه دور برای بازیابی دادهها از یک پایگاه داده یا ماشین دیگر تعامل دارند.
با استفاده از VBScript و VBA (VB for Applications)، می توانید اسکریپت هایی را برای مرورگرهای وب بنویسید و برنامه های Microsoft Office را خودکار کنید. علاوه بر این، از VB6 می توان برای ایجاد کنترل های Active-X که با اینترنت اکسپلورر کار می کنند استفاده کرد، اگرچه این کار به ندرت انجام می شود زیرا نیاز به نصب DLL زمان اجرا VB بر روی ماشین سرویس گیرنده اینترنت دارد. با شروع VB5، برنامه های VB به کد ماشین کامپایل شدند، اما آنها بر اساس استفاده از یک DLL بودند که توابع رایج را ارائه می کرد و قابلیت های شی VB را پیاده سازی می کرد. نکته جالب این است که کامپایلر VB از حالت چند گذر برای ترجمه استفاده می کند و در نهایت به کامپایلر Microsoft C++ برای تولید خروجی کد ماشین پس از کامپایل به یک زبان میانی متکی است. بذرهای دات نت در این ویژگی VB قابل مشاهده هستند - استفاده از کتابخانه زمان اجرا و پشتیبان ++C.
تاریخچه ایجاد زبان برنامه نویسی سی شارپ
زبان سی شارپ در ژوئن 2000 در نتیجه کار پر زحمت گروه بزرگی از توسعه دهندگان مایکروسافت به رهبری آندرس هیلسبرگ متولد شد. این مرد به عنوان نویسنده یکی از اولین زبان های برنامه نویسی کامپایل شده برای رایانه های شخصی IBM شناخته می شود - توربو پاسکال. احتمالاً در قلمرو اتحاد جماهیر شوروی سابق، بسیاری از توسعه دهندگان باتجربه و به سادگی افرادی که برنامه نویسی را به هر شکلی در دانشگاه ها تحصیل کرده اند، جذابیت و سهولت استفاده از این محصول را تجربه کرده اند. علاوه بر این، اندرس هیلسبرگ در حین کار در شرکت Borland به دلیل ایجاد محیط یکپارچه دلفی مشهور شد (او تا زمان انتشار نسخه 4.0 این پروژه را رهبری کرد).
تصادفی نبود که ظهور زبان سی شارپ و ابتکار دات نت در اوایل تابستان سال 2000 رخ داد. در این لحظه بود که مایکروسافت نسخه های صنعتی فناوری های اجزای جدید و راه حل ها را در زمینه پیام رسانی و تبادل داده آماده کرد. همچنین ایجاد برنامه های اینترنتی (COM+، ASP+، ADO+، SOAP، Biztalk Framework). بدون شک بهترین راه برای تبلیغ این محصولات جدید ایجاد یک جعبه ابزار برای توسعه دهندگان با پشتیبانی کامل آنهاست. این یکی از اهداف اصلی زبان جدید سی شارپ است. علاوه بر این، مایکروسافت دیگر نمیتوانست همان ابزارها و زبانهای توسعه را گسترش دهد، و آنها را برای پاسخگویی به خواستههای متناقض پشتیبانی از سختافزار مدرن و حفظ سازگاری با محصولاتی که در اوایل دهه 1990 ایجاد شده بودند، پیچیدهتر و پیچیدهتر میکرد. در اولین ظهور ویندوز زمانی فرا می رسد که برای ایجاد مجموعه ای ساده اما پیچیده از زبان ها، محیط ها و ابزارهای توسعه که به توسعه دهنده اجازه می دهد به راحتی محصولات نرم افزاری مدرن را ایجاد کند، لازم است از ابتدا شروع کرد.
سی شارپ و دات نت نقطه شروع هستند. به بیان ساده، دات نت یک پلتفرم جدید، یک API جدید برای برنامه نویسی در ویندوز است، و سی شارپ زبان جدیدی است که از ابتدا برای کار با آن پلتفرم و برای استفاده کامل از پیشرفت محیط های توسعه و ما ایجاد شده است. درک اصول برنامه نویسی شی گرا در 20 سال گذشته
لازم به ذکر است که سازگاری به عقب از بین نمی رود. برنامه های موجود اجرا خواهند شد و پلت فرم دات نت برای کار با نرم افزارهای موجود طراحی شده است. ارتباط بین اجزا در ویندوز اکنون تقریباً به طور کامل با استفاده از COM انجام می شود. با در نظر گرفتن این موضوع، دات نت این توانایی را دارد که (الف) پوشش هایی را در اطراف اجزای COM موجود ایجاد کند تا اجزای دات نت بتوانند با آنها صحبت کنند، و (ب) پوشش هایی در اطراف اجزای دات نت ایجاد کند تا شبیه اجزای COM معمولی به نظر برسند.
نویسندگان سی شارپ به دنبال ایجاد زبانی بودند که سادگی و بیان زبان های شی گرا مدرن (مانند جاوا) را با غنا و قدرت C++ ترکیب کند. به گفته آندرس هیلسبرگ، سی شارپ بیشتر سینتکس خود را از C++ قرض گرفته است. به طور خاص، این شامل انواع داده های راحت مانند ساختارها و شمارش ها است (یکی دیگر از نوادگان C ++ - جاوا - فاقد این عناصر است، که باعث ایجاد ناراحتی های خاصی در هنگام برنامه نویسی می شود). ساختارهای نحوی سی شارپ نه تنها از C++، بلکه از ویژوال بیسیک نیز به ارث رسیده اند. به عنوان مثال، سی شارپ، مانند ویژوال بیسیک، از ویژگی های کلاس استفاده می کند. مانند C++، سی شارپ اجازه می دهد تا اپراتورها را برای انواعی که ایجاد می کنید بیش از حد بارگذاری کند (جاوا از هیچ کدام از ویژگی ها پشتیبانی نمی کند). سی شارپ در واقع ترکیبی از زبان های مختلف است. در عین حال، سی شارپ از نظر نحوی کمتر از جاوا (اگر نه بیشتر) تمیز است، به سادگی ویژوال بیسیک، و تقریباً قدرت و انعطاف پذیری مشابه C++ را دارد.
ویژگی های سی شارپ:
مجموعه ای کامل و به خوبی تعریف شده از انواع پایه.
- پشتیبانی داخلی برای تولید خودکار اسناد XML. انتشار خودکار حافظه تخصیص یافته به صورت پویا.
- امکان علامت گذاری کلاس ها و متدها با ویژگی های تعریف شده توسط کاربر. این می تواند برای مستندسازی مفید باشد و می تواند بر روند کامپایل تأثیر بگذارد (به عنوان مثال، می توانید روش هایی را که فقط باید در حالت اشکال زدایی کامپایل شوند علامت گذاری کنید).
- دسترسی کامل به کتابخانه کلاس پایه دات نت و همچنین دسترسی آسان به API ویندوز (اگر واقعاً به آن نیاز دارید).
- اشاره گرها و دسترسی مستقیم به حافظه، در صورت نیاز. با این حال، زبان به گونه ای طراحی شده است که تقریباً در همه موارد می توانید بدون آن کار کنید.
- پشتیبانی از ویژگی ها و رویدادهای سبک VB.
- آسان برای تغییر کلیدهای کامپایل. به شما امکان میدهد تا فایلهای اجرایی یا کتابخانههای مؤلفه داتنت را به دست آورید که میتوانند با کدهای دیگر به روش کنترلهای ActiveX (کامپوننتهای COM) فراخوانی شوند.
- امکان استفاده از سی شارپ برای نوشتن صفحات وب پویا ASP.NET.
یکی از حوزههایی که این زبان برای آن در نظر گرفته نشده است، برنامههای با زمان بحرانی و پرتوان است، که در آن مهم است که یک حلقه ۱۰۰۰ یا ۱۰۵۰ چرخه ماشین را اجرا کند و منابع باید فورا آزاد شوند. C++ همچنان بهترین زبان سطح پایین در این زمینه است. سی شارپ فاقد برخی ویژگیهای کلیدی مورد نیاز برای ایجاد برنامههای کاربردی با کارایی بالا است، مانند توابع درون خطی و تخریبکنندههایی که اجرای آنها در نقاط خاصی از کد تضمین شده است. این زبان همچنین به طور فعال برای ایجاد بازی های ویدئویی مدرن استفاده می شود، به عنوان مثال، بازی Battlefield 3 تا حدی به زبان سی شارپ نوشته شده است و به طور کامل با فناوری دات نت نوشته شده است.
شامل نصب کلیدهای کلیدی در پانل جلویی دستگاه محاسباتی است. بدیهی است که فقط برنامه های کوچک را می توان به این شکل نوشت.
با توسعه فناوری رایانه، زبان ماشین ظاهر شد که با کمک آن برنامه نویس می توانست دستورات را تنظیم کند و با سلول های حافظه کار کند و کاملاً از قابلیت های دستگاه استفاده کند. با این حال، استفاده از اکثر کامپیوترها در سطح زبان ماشین دشوار است، به خصوص وقتی صحبت از ورودی/خروجی باشد. بنابراین مجبور شدیم استفاده از آن را کنار بگذاریم.
به عنوان مثال، برنامه نویس برای خواندن یک بلوک از داده ها از یک فلاپی دیسک، می تواند از 16 دستور مختلف استفاده کند که هر کدام به 13 پارامتر نیاز دارند، مانند شماره بلوک روی دیسک، شماره بخش در مسیر و غیره زمانی که دیسک عملیات تکمیل می شود، کنترل کننده 23 مقدار را برمی گرداند که منعکس کننده وجود و انواع خطاهایی است که باید تجزیه و تحلیل شوند.
"کلمات" در زبان ماشین نامیده می شود دستورالعمل ها،که هر کدام یک عمل ابتدایی را برای پردازنده مرکزی نشان می دهد، مانند خواندن اطلاعات از یک سلول حافظه.
هر مدل پردازنده مجموعه ای از دستورالعمل های ماشین مخصوص به خود را دارد، اگرچه اکثر آنها یکسان هستند. اگر پردازنده A به طور کامل زبان پردازنده B را درک کند، گفته می شود که پردازنده A با پردازنده B سازگار است. اگر A دستورالعمل هایی داشته باشد که توسط پردازنده B شناسایی نمی شوند، به پردازنده B گفته می شود که با پردازنده A ناسازگار است.
در طول دهه 60، تقاضا برای توسعه نرم افزار افزایش یافت و برنامه ها بسیار بزرگ شدند. مردم متوجه شدند که ایجاد نرم افزار کاری بسیار دشوارتر از آن چیزی است که تصور می کردند. این امر منجر به توسعه برنامه نویسی ساخت یافته شد. با توسعه برنامه نویسی ساخت یافته، پیشرفت بعدی رویه ها و توابع بود. به عنوان مثال، اگر وظیفه ای وجود داشته باشد که چندین بار اجرا شود، می توان آن را به عنوان یک تابع یا رویه تعریف کرد و به سادگی در حین اجرای برنامه فراخوانی کرد. در این حالت، کد کلی برنامه کوچکتر می شود. توابع به شما امکان می دهند برنامه های مدولار ایجاد کنید.
پیشرفت بعدی استفاده از سازه ها بود که منجر به کلاس ها شد. ساختارها انواع داده های ترکیبی هستند که با استفاده از انواع دیگر ساخته شده اند. مثلا ساختار زمان. این شامل: ساعت، دقیقه، ثانیه است. برنامه نویس می تواند یک ساختار زمانی ایجاد کند و به عنوان یک ساختار جداگانه با آن کار کند. کلاس ساختاری است که دارای متغیرها و توابع خاص خود است که با این متغیرها کار می کند. این یک دستاورد بسیار بزرگ در زمینه برنامه نویسی بود. اکنون برنامه نویسی را می توان به کلاس ها تقسیم کرد و نه کل برنامه را که شامل 10000 خط کد است، آزمایش کرد، اما برنامه را می توان به 100 کلاس تقسیم کرد و هر کلاس را آزمایش کرد. این کار نوشتن یک محصول نرم افزاری را بسیار آسان تر کرد.
زبان اسمبلی
در مواردی که نیاز به داشتن یک برنامه مؤثر است، به جای زبان های ماشین، از زبان های ماشین گرا که نزدیک به آنها هستند - اسمبلرها استفاده می شود. مردم به جای دستورات ماشینی از دستورات حافظه استفاده می کنند.
اما حتی کار با اسمبلر نیز بسیار پیچیده است و نیاز به آموزش خاصی دارد.
برنامهنویسی ساختاریافته شامل ساختارهای کنترلی دقیق، بلوکهای برنامه، دستورالعملهای بدون پرش بدون قید و شرط (GOTO)، برنامههای فرعی مستقل، پشتیبانی از بازگشت و متغیرهای محلی است.
ماهیت این رویکرد، توانایی تقسیم یک برنامه به عناصر سازنده آن است.
نیز ایجاد شده است کاربردیزبان های (کاربردی) (مثال: Lisp - انگلیسی. پردازش فهرست، 1958) و بازی فکریزبان ها (مثال: Prolog - انگلیسی) برنامه نویسی در LOGic, 1972).
اگرچه برنامه نویسی ساختاریافته، زمانی که استفاده می شود، نتایج برجسته ای را به همراه داشته است، حتی زمانی که برنامه به طول معینی می رسد، با شکست مواجه می شود. برای نوشتن یک برنامه پیچیده تر (و طولانی تر)، رویکرد جدیدی برای برنامه نویسی مورد نیاز بود.
OOP
در نتیجه، اصول برنامه نویسی شی گرا در اواخر دهه 1970 و اوایل دهه 1980 توسعه یافت. OOP بهترین اصول برنامهنویسی ساختاریافته را با مفاهیم جدید قدرتمند ترکیب میکند، که مفاهیم اساسی کپسولهسازی، چندشکلی و وراثت نامیده میشوند.
نمونه هایی از زبان های شی گرا عبارتند از Object Pascal، C++، Java و غیره.
OOP به شما این امکان را می دهد که برنامه ها را با شکستن یک مشکل به اجزای آن و کار با هر یک به طور جداگانه سازماندهی کنید. برنامه ای در یک زبان شی گرا که مشکل خاصی را حل می کند، اساساً بخشی از جهان مربوط به این مشکل را توصیف می کند.
نمونه ای از نوشتن برنامه به زبان های مختلف
زبان سطح بالا (دلفی)
X : = گناه (y* Pi) + 1 ;
اسمبلر x86 (همپردازنده)
Fldpi fmul qword ptr [Y] fsin fld1 fadd p st (1)، st (0) fstp qword ptr [X]
کد ماشین (هگزادسیمال، هر دستور در یک خط جدید شروع می شود)
D9 EB DC 0D D0 97 40 00 D9 FE D9 E8 DE C1 DD 1D 98 97 40 00
کد ماشین (نمایش باینری)
11011001 11101011 11011100 00001101 11010000 10010111 01000000 00000000 11011001 11111110 11011001 11101000 11011110 11000001 11011101 00011101 10011000 10010111 01000000 00000000
پیوندها
زبان های برنامه نویسی اصلی (مقایسه IDE داستانگاهشماری) | |
---|---|
استفاده شده در حال توسعه |
|
علمی | |
IEC 61131-3 | |
دیگران | |
غامض | |
دیداری |
بنیاد ویکی مدیا 2010.
- آره
- کابانوف، نیکولای الکساندرویچ
ببینید «تاریخچه زبانهای برنامهنویسی» در فرهنگهای دیگر چیست:
تاریخچه زبان برنامه نویسی پایتون- پایتون در دهه 1980 شکل گرفت و ایجاد آن در دسامبر 1989 توسط Guido van Rossum به عنوان بخشی از مرکز ریاضیات و علوم کامپیوتر در هلند آغاز شد. زبان پایتون به عنوان یک نسل از زبان برنامه نویسی ABC تصور شد که قادر به پردازش... ... ویکی پدیا
کرونولوژی زبان های برنامه نویسی- فهرست زبانهای برنامهنویسی بر اساس دستهبندی Chronological Genealogical Chronology زبانهای برنامهنویسی فهرستی از زبانهای برنامهنویسی سازمانیافته به ترتیب زمانی است. مطالب ... ویکی پدیا
مقایسه زبان های برنامه نویسی- این مقاله باید ویکی شده باشد. لطفاً آن را طبق قوانین قالب بندی مقاله قالب بندی کنید. کنوانسیون ها ... ویکی پدیا
تاریخچه مختصری از توسعه زبان های برنامه نویسی- با توسعه فناوری رایانه، تکنیک های برنامه نویسی متفاوتی به وجود آمد. در هر مرحله، رویکرد جدیدی ایجاد شد که به برنامه نویسان در افزایش پیچیدگی برنامه ها کمک کرد. مطالب 1 شروع توسعه 2 زبان اسمبلی 3 ساختار ... ویکی پدیا
تاریخچه منطق- توسعه علم را در مورد اشکال و قوانین تفکر صحیح (منطق) مطالعه می کند. ظهور منطق به عنوان یک تحلیل توسعه یافته از اصول استنتاج منحصراً به سه تمدن محلی مربوط می شود، یعنی: چین، هند و باستان ... ... ویکی پدیا
تاریخچه لینوکس- این مقاله یا بخش نیاز به بازنگری دارد. لطفا مقاله را مطابق با قوانین مقاله نویسی بهبود ببخشید... ویکی پدیا
تاریخچه نرم افزار آزاد- عبارت «نرمافزار آزاد» یا نرمافزار آزاد، به محصولاتی اطلاق میشود که تحت مجوزهای آزاد توزیع میشوند و گزینههای بیشتری نسبت به مجوزهای نرمافزار سنتی در اختیار کاربر قرار میدهند... ... ویکیپدیا
دانستن تاریخچه عمومی زبان های برنامه نویسی و تاریخچه توسعه زبان های شناخته شده و ناشناخته بسیار مهم است. در این مقاله با این موضوع آشنا خواهید شد، اما ابتدا بیایید به یاد بیاوریم "زبان برنامه نویسی چیست؟"
زبان برنامه نویسیسیستمی از نمادها و قوانین است که به شما امکان می دهد برنامه ای را برای حل مسئله در قالب یک متن متوالی به شکلی مناسب برای شخص بنویسید.
دهه 50
در دهه پنجاه قرن بیستم، با ظهور کامپیوترهای لوله خلاء، توسعه سریع زبان های برنامه نویسی آغاز شد. برنامه نویسی با نوشتن برنامه ها به طور مستقیم در قالب دستورالعمل های ماشین (به قول برنامه نویسان در کدها) شروع شد. رایانههایی که در آن زمان به طور قابل توجهی بیشتر از توسعه هر برنامهای هزینه داشتند، به کد بسیار کارآمد نیاز داشتند.
برای آسانتر کردن کدنویسی، ماشینگرا توسعه داده شد که نوشتن دستورالعملهای ماشین را به شکل نمادین ممکن میسازد. زبان اسمبلی به سیستم آموزشی یک کامپیوتر خاص بستگی داشت. برای برنامه نویسی کارهای کوچکی که به حداکثر سرعت اجرا نیاز داشتند به اندازه کافی راحت بود.
با این حال، توسعه پروژه های بزرگ در زبان اسمبلی دشوار بود. مشکل اصلی این بود که برنامه ای که در اسمبلی نوشته شده بود به معماری یک کامپیوتر خاص گره خورده بود و نمی توانست به ماشین های دیگر منتقل شود. وقتی کامپیوتر بهبود یافت، همه برنامههای اسمبلی باید از نو بازنویسی میشدند.
تقریباً بلافاصله با ظهور رایانه ها، زبان های سطح بالا توسعه یافتند، یعنی. زبان هایی که به معماری خاصی وابسته نیستند. برای اجرای یک برنامه در یک زبان سطح بالا، ابتدا باید به زبان دستور ماشین ترجمه شود. برنامه خاصی که چنین ترجمه ای را انجام می دهد مترجم یا کامپایلر نامیده می شود.
سپس برنامه ترجمه شده مستقیماً توسط رایانه اجرا می شود. همچنین امکان ترجمه برنامه به یک زبان میانی وجود دارد که به معماری یک رایانه خاص بستگی ندارد، اما، با این وجود، تا حد امکان به زبان دستور ماشین نزدیک است.
سپس برنامه زبان میانی توسط برنامه خاصی به نام مترجم اجرا می شود. همچنین زمانی که قطعه برنامه اجرا شده بلافاصله قبل از اجرا از یک زبان میانی به زبان فرمان ماشین ترجمه میشود، میتوان به سرعت کامپایل کرد.
در اواسط دهه 50، تحت رهبری جان بکوس، زبان برنامه نویسی الگوریتمی سطح بالا FORTRAN برای IBM توسعه یافت. علیرغم این واقعیت که قبلاً پیشرفت هایی در زبان هایی وجود داشت که عبارات حسابی را به کد ماشین تبدیل می کردند، ایجاد زبان FORTRAN (ترجمه فرمول) که توانایی نوشتن یک الگوریتم محاسبه با استفاده از دستورات شرطی و عملگرهای ورودی / خروجی را فراهم می کرد، تبدیل شد. نقطه شروع عصر زبان های برنامه نویسی سطح بالا.
به عنوان جایگزینی برای زبان FORTRAN، که در ابتدا معماری IBM را هدف قرار داد، ALGOL (زبان ALGOrithmic) تحت رهبری پیتر ناور در اواخر دهه 50 توسعه یافت. هدف اصلی که توسعه دهندگان این زبان دنبال می کردند استقلال از معماری خاص سیستم کامپیوتری بود.
علاوه بر این، سازندگان زبان ALGOL به دنبال توسعه زبانی مناسب برای توصیف الگوریتمها و استفاده از یک سیستم نمادگذاری نزدیک به آن چیزی بودند که در ریاضیات اتخاذ شده است. FORTRAN و ALGOL اولین زبان هایی بودند که بر برنامه نویسی محاسباتی متمرکز شدند.
دهه 60
در اواخر دهه 60، تحت رهبری Nayard و Dahl، زبان Simula-67 با استفاده از مفهوم انواع داده های تعریف شده توسط کاربر توسعه یافت. در واقع این اولین زبانی است که از مفهوم کلاس ها استفاده می کند.
دهه 70
در اواسط دهه 70، Wirth زبان پاسکال را پیشنهاد کرد که بلافاصله مورد استفاده گسترده قرار گرفت. در همان زمان، به ابتکار وزارت دفاع ایالات متحده، کار بر روی ایجاد یک زبان سطح بالا به نام Ada - به افتخار آدا لاولیس، برنامه نویس و دختر لرد بایرون، آغاز شد.
ایجاد زبان با تعریف الزامات و توسعه مشخصات آغاز شد. چهار گروه مستقل روی این پروژه کار کردند، اما همه آنها از پاسکال به عنوان پایه استفاده کردند. در اوایل دهه 1980، اولین کامپایلر صنعتی برای زبان آدا ساخته شد.
توسعه C
زبان برنامه نویسی جهانی در اواسط دهه 70 توسط دنیس ریچی و کن تامپسون توسعه یافت. این زبان به یک زبان برنامه نویسی سیستمی محبوب تبدیل شد و زمانی برای نوشتن هسته سیستم عامل یونیکس استفاده می شد.
استاندارد زبان C توسط یک گروه کاری ANSI در سال 1982 ایجاد شد. استاندارد بین المللی زبان C در سال 1990 به تصویب رسید. زبان C اساس توسعه زبان های برنامه نویسی و جاوا را تشکیل داد.
زبان C امکان خلاص شدن از Assembler را هنگام ایجاد سیستم عامل فراهم می کند. به عنوان مثال، تقریباً تمام متن سیستم عامل یونیکس به زبان C نوشته شده است و بنابراین به رایانه خاصی بستگی ندارد.
مزیت اصلی C سادگی و عدم وجود راه حل های شبه علمی است. مکانیسم انتقال پارامترها به یک تابع (فقط بر اساس مقدار) به سادگی و واضح توضیح داده شده است. برنامه نویسی که یک برنامه C ایجاد می کند همیشه به وضوح می داند که این برنامه چگونه اجرا می شود.
مفهوم اشاره گر، متغیرهای استاتیک و خودکار (پشته) زبان C از نزدیک ساختار هر رایانه مدرن را منعکس می کند، بنابراین برنامه های C برای اشکال زدایی مؤثر و راحت هستند.
در حال حاضر اکثریت قریب به اتفاق برنامه ها به زبان C و C++ نوشته می شوند. رابط هر سیستم عامل (به اصطلاح API - Application Program Interface)، یعنی. مجموعه ای از فراخوانی های سیستمی که برای توسعه دهندگان برنامه در نظر گرفته شده است معمولاً مجموعه ای از توابع در زبان C است.
در کنار زبانهای الگوریتمی، زبانهایی که برای پردازش اطلاعات کسبوکار در نظر گرفته شدهاند و همچنین زبانهای هوش مصنوعی، به صورت موازی توسعه یافتهاند. اولی شامل زبان COBOL (زبان تجاری متداول) و زبان دوم شامل زبانهای LISP (پردازش فهرست) و پرولوگ است.
زبان LISP که در دهه 60 تحت رهبری جی. مک کارتی توسعه یافت، اولین زبان پردازش لیست عملکردی بود که کاربرد وسیعی در نظریه بازی پیدا کرد.
دهه 90
در دهه 90، با گسترش اینترنت، امکانات پردازش داده های توزیع شده گسترش یافت که بر توسعه زبان های برنامه نویسی نیز تأثیر گذاشت. زبان های متمرکز بر ایجاد برنامه های کاربردی سرور ظاهر شده اند، مانند Perl، Document Description Languages و XML.
زبان های برنامه نویسی سنتی C++ و Pascal نیز دستخوش تغییراتی شدند: یک زبان برنامه نویسی نه تنها به معنای عملکرد خود زبان، بلکه کتابخانه های کلاس ارائه شده توسط محیط برنامه نویسی نیز بود.
تأکید از مشخصات زبان های برنامه نویسی به استانداردسازی مکانیسم های تعامل برنامه های کاربردی توزیع شده تغییر یافت. فن آوری های جدید ظاهر شده اند - COM و CORBA که تعامل اشیاء توزیع شده را مشخص می کنند.
زمینه های کاربرد زبان های برنامه نویسی
در حال حاضر، زبان های برنامه نویسی در زمینه های مختلف فعالیت های انسانی استفاده می شوند، مانند:
- محاسبات علمی (زبان های C++، FORTRAN، جاوا)؛
- برنامه نویسی سیستم (زبان های C++، جاوا)؛
- پردازش اطلاعات (زبان های C++، COBOL، جاوا)؛
- هوش مصنوعی (LISP، Prolog)؛
- فعالیت های انتشاراتی (پست اسکریپت، TeX)؛
- پردازش اطلاعات از راه دور (Perl، PHP، Java، C++)؛
- شرح اسناد (HTML، XML).
بر اساس تاریخچه زبان های برنامه نویسی، می توان گفت که با گذشت زمان، برخی از زبان ها توسعه یافته اند، ویژگی های جدیدی به دست آورده اند و مورد تقاضا باقی مانده اند، در حالی که برخی دیگر ارتباط خود را از دست داده اند و امروزه در بهترین حالت، صرفاً از نظر تئوری مورد توجه هستند.
شاید خواندن آن مفید باشد:
- ضبط صدا با استفاده از برنامه ها و خدمات آنلاین;
- ادغام فایل های PDF به صورت آنلاین;
- برنامه ای برای گوش دادن به تلفن همراه;
- انتخاب صحیح فایل ها در یک پوشه;
- نحوه تغییر به تعرفه نامحدود;
- به صورت رایگان به تلفن همراه گوش دهید;
- G-Shock با عملکرد بلوتوث - ساعت G-Shock را با بلوتوث به تلفن خود متصل کنید;
- IROBOT آمریکایی یا LILIN چینی: کدام ربات جاروبرقی بهتر است؟;