مقدمه:

برنامه‌نویسی رایانه در فرهنگ واژه غیر متخصّصین ممکن است به تمام پروژه ساخت نرم‌افزار یا برنامهٔ رایانه‌ای گفته شود. با این همه برنامه‌نویسی تنها بخشی از فرایند توسعهٔ نرم‌افزار یا برنامه رایانه‌ای است. اهمیت، توجه و منابع اختصاص داده شده به برنامه‌نویسی، بسته به ویژ ... ‌های مشخص شده محصول و خواست افراد در ... ر در پروژه و کاربران و در نهایت شیوهٔ انتخاب شده ... ی نرم‌افزار متغیر است.

برنامه نویسی کامپیوتر (که اغلب به طور کوتاه برنامه نویسی نامیده می شود) فرآیند سوق دادن ساختار اصلی یک مسأله محاسباتی به برنامه ای قابل اجرا است. این کار مست ... م فعالیت هایی همچون تحلیل و درک مسأله است و عموما حل چنین مسایلی منجر می شود به ایجاد یک الگوریتم، بازبینی نیازمندی های الگوریتم که شامل صحت و میزان منابع مصرفی است، پیاده سازی(که معمولا به عنوان کدینگ از آن یاد می شود) این الگوریتم در یک زبان برنامه نویسی مقصد، تست ... ، اشکال ز ... ، نگه داری کد منبع، پیاده سازی سیستم ساخت(build system) و مدیریت مصنوعات مشتق شده مانند کد ترجمه شده به زبان ماشین برنامه های کامپیوتری. الگوریتم اغلب تنها به شکل قابل تجزیه و تحلیل برای انسان و قابل استدلال با منطق نمایش داده می شود. کد منبع به یک یا چند زبان برنامه نویسی(مانند javascript ،smalltalk ،python ،java ،c# ،c++ ،c، و غیره) نوشته شده است.مقاله در مورد برنامه نویسی از گذشته تا امروز

نرم افزار چیست؟
یک پاسخ ساده برای آن عبارتست از: سخت افزار را می توانید لمس کنید اما نرم افزار را نه!
اما این پاسخ بسیار سطحی و ساده است. اگر بخواهیم دقیقتر بگوییم زمانیکه از نرم افزار صحبت می کنیم در حقیقت منظورمان برنامه ای است که در کامپیوتر اجرا می شود. در طول تاریخ، دنیای نرم افزارها و برنامه های کامپیوتری به موازات توسعه برنامه نویسی (programming) و زبانهای برنامه نویسی (programming languages) توسعه یافته است. بنابراین مطالعه روند توسعه دنیای برنامه نویسی ما را به مطالعه تاریخچه دنیای نرم افزار رهنمون می سازد.
برنامه کامپیوتری چیست؟
یک کار مشخص در کامپیوتر با اجرای سلسه دستورات به صورت پشت سرهم انجام می شود. این مجموعه دستورات که به منظور انجام یک کار مشخص به صورت مرتب در یک فایل تهیه و تدوین می شوند، برنامه کامپیوتری نامیده می شود. به ... ی که این سلسله دستورات را تهیه می کند، برنامه نویس می گویند. محتویات این فایل را سورس یا منطق برنامه می نامند. در یک برنامه کامپیوتری فقط دستوراتی وجود دارند که توسط کامپیوتر قابل اجرا هستند. این دستورات با یک ترتیب از پیش تعیین شده و بر اساس یک مسیر منطقی پشت سرهم قرار گرفته اند. اگر همه آنها به درستی اجرا شوند، در آ ... کار خاصی را که هدف برنامه نویس بوده است به انجام می رسانند.

 

ویژ ... هایی که غالبا برای تشکیل یک زبان برنامه نویسی مهم شمرده می شوند:

تابع : یک زبان برنامه نویسی، زبانی است که برای نوشتن برنامه های رایانه ای به کار می رود که رایانه ای را برای انجام محاسبات یا اجرای الگوریتم و یا احتمالا کنترل دستگاه های خارجی مثل چاپگر، ربات و… در ... ر می کنند.

هدف: زبان های برنامه نویسی با زبان های طبیعی تفاوت دارند و آن اینکه زبان های طبیعی فقط برای فعل و انفعالات بین مردم به کار می روند، در حالیکه زبان های برنامه نویسی همچنین به انسانها اجازه می دهد که از طریق دستورات با ماشین ها ارتباط برقرار کنند. برخی زبان های برنامه نویسی بوسیله یک دستگاه استفاده می شوند تا دستگاه دیگری را کنترل کند. برای مثال برنامه های پست اسکریپت(post script) غالبا توسط برنامه دیگری برای کنترل یک چاپگر و یا نمایشگر ایجاد می شوند.

ساختارها: زبان های برنامه نویسی ممکن است ساختارهایی برای تعریف و تغییر داده ساختارها یا کنترل جریان اجرا داشته باشند.

توان بیانگر: نظریه محاسبات، زبان ها را بوسیله محاسباتی که توان بیان آنها را دارند طبقه بندی می کند. تمام زبان های “کامل تورینگ” می توانند مجموعه ی ... انی از الگوریتم ها را پیاده سازی کنند.ansi/iso sql و charity مثال هایی هستند از زبان هایی که کامل تورینگ نیستند، ولی غالبا زبان برنامه نویسی نامیده می شوند.

برخی مولفین اصطلاح” زبان برنامه نویسی” را محدود به آنهایی می کنند که می توانند تمام الگوریتم های ممکن را پیاده سازی کنند، گاهی اوقات اصطلاح” زبان رایانه” برای زبان های برنامه نویسی محدودتر به کار می رود.
زبان های غیر محاسباتی، مانند زبان های مارک آپ(markup) ... یا گرامرهای قراردادی مثل bnf، معمولا زبان برنامه نویسی محسوب نمی شوند. یک زبان برنامه نویسی(که می تواند کامل تورینگ نباشد) ممکن است در این زبان های غیر محاسباتی (میزبان) تعبیه شوند.

مقاله در مورد برنامه نویسی از گذشته تا امروز

نسل های زبان های برنامه نویسی:
با توجه به مطالعات پیشین در زمینه روند توسعه ابزارهای برنامه نویسی، می توان این ابزارها را به چند نسل مختلف تقسیم بندی کرد؛

نسل اول
در سالهای دهه ۱۹۵۰ برنامه نویسی کامپیوترهای اولیه توسط تغییر سیم ها و تنظیم هزاران کلید و سوییچ انجام میشد. در برخی موارد این تنظیمات بر روی کاغذهای طومار گونه و یا کارت های سوراخشده نوشته می شدند که به کامپیوتر می گفتند چه کاری را (what)، به چه صورت (how) و در چه زمانی (when) انجام دهد.
به منظور اجرای یک نرم افزار، برنامه نویس باید اطلاعات جامع و کاملی از کامپیوتر موردنظر می داشت. یک اشتباه کوچک منجر به ش ... ت در کل برنامه کامپیوتری میشد.

نسل دوم
در این دوره افراد به دنبال ابزارهای سریعتر و راحتتری برای برنامه نویسی بودند. نتیجه این تلاشها تولد نسل دوم زبان های برنامه نویسی در اواسط دهه  ۱۹۵۰  شد. در این نسل از نمادها به جای دستورات صفر و یک استفاده می شد.

نسل سوم
در اوا ... دهه ۱۹۵۰ مفسرهای زبان های طبیعی و کامپایلرهای پا به عرصه ظهور گذاشتند. قدیمیترین زبان برنامه نویسی این نسل fortran است که در سال ۱۹۵۳ توسط ibm ساخته شد. در سال ۱۹۵۹ زبان برنامه نویسی cobol به منظور استفاده در دنیای نرم افزارهای تجاری عرضه گردید.
زبانهای سطح بالای برنامه نویسی مانند basic ، pascal ، algol ، pl/i و c در این دوره معرفی شدند.

نسل چهارم
زبانهای این نسل برنامه نویس را قادر می سازند تا کارهای سطح بالاتر و بیشتری را توسط کد کمتری انجام دهد. هر دستور از زبانهای این نسل معادل صدها دستور از زبانهای نسل سوم است. برنامه هایی که توسط این زبانهای نوشته می شوند، نیاز به یک محیط سخت افزاری خاص و امکانات خاص برای اجرا شدن دارند. در دهه ۱۹۹۰ درخواست ها برای استفاده از این زبانها بسیار زیاد شد و کمپانی هایی مانند oracle و sun تلاشهایی در این زمینه انجام دادند.

نسل پنجم
این نسل از زبانهای برنامه نویسی هنوز در مرحله تئوری هستند و تا به امروز نمونه عملی از آنها ساخته نشده است. بسیاری از تلاشها به دلیل محدودیت سخت افزارها، عملیاتی نشده اند. استفاده از زبان طبیعی و روزمره برای تفهیم کارها به کامپیوترها از ویژ ... های بارز این نسل به شمار می رود. استفاده از شبکه های عصبی و هوش ... و همچنین استفاده از agent ها به منظور انجام کارها در کامپیوتر از دیگر ویژ ... های این نسل از زبان ها هستند. زبانهای برنامه نویسی از دیرباز تا کنون توسعه یافته اند. از سیم کشی کامپیوترها تا زبانهای سطح بالای نسل سوم و چهارم. این گامها هر کدام ابزارها و امکانات جدیدتر و بهتری را در اختیار برنامه نویسان قرار دادند و به طبع آن نرم افزارهای کامپیوتری نیز بهتر و پیشرفته تر شدند.

برنامه نویسی و تولید نرم افزارهای امروزی حاصل دسترنج ساعتها تفکر و تلاش این اشخاص است. همانطور که قبلا توضیح داده شد کامپیوترهای امروزی از لحاظ سخت افزاری بسیار ساده طراحی می شوند و این نرم افزار است که با ترکیب این اعمال می تواند کارهای بزرگتر و پیچیده تری را به انجام برساند. به موازات بهبود زبان و ابزارهای برنامه نویسی، توقع از نرم افزارها نیز بالاتر رفته است. امروزه نرم افزارها خدمات بسیاری را باید ارائه دهند. هر یک از خدمات باید به صورت کامل، با دقت بالا و سریع ارائه گردد تا بتواند توقع مخاطب را تامین کند. هر نرم افزار امروزی برای انجام یک کار ممکن است به صدها یا هزاران خط دستورات نیاز داشته باشد.

قدیمیترین نمونه عملی از برنامه نویسی به سال ۱۸۰۱ در کشور فرانسه توسط شخصی بنام جکارد برمی گردد. او یک دستگاه بافند ... طراحی کرده بود که می توانست اعمال خاصی از بافند ... را که روی کارتهای سوراخ شده (punched card) ثبت شده بودند به ترتیب انجام دهد. این تکنولوژی اجازه تولید بافت های پیچیده و با کیفیت تر را به کارگران معمولی می داد. اکنون به جای کارگران متعدد و ماهر، فقط یک نفر برای مدیریت کل دستگاه کافی بود. روند تقریبا مشابهی نیز در خلال انقلاب صنعتی در انگلیس به وقوع پیوست. به دنبال استفاده از ماشینهای خودکار و کاهش نیروی کار انسانی، ... ی تحت عنوان لودیت ها به راه افتاد. این ... متشکل بود از افرادی که مخالف توسعه تکنولوژی بودند و برای جایگاه شغلی، نان و رزق و روزی خود با تکنولوژی می جن ... دند.

در این دوره، برنامه نویسی به موازات ساخت ماشین های جدید توسط پاسکال، ب ... ج، شو ... ز و … توسعه می یافت. برای حل هر مشکلی یک ماشین جدید ساخته می شود که چرخ دنده ها، سیم ها، میله ها و دستورات جدیدتری نسبت به قبل داشت.
در سال ۱۸۴۷ یک ریاضیدارن انگلیسی بنام george boole با ارائه جبر منطقی، ارتباط میان علم ریاضیات و منطق را اثبات کرد. برای اولین بار او اثبات کرد که علم منطق بیشتر بخشی از ریاضیات است تا فلسفه! این عمل که یک گام بزرگ در تفکر بشریت به حساب می آید تقریبا صد سال (تا سال ۱۹۴۰) طول کشید تا در محاسبات کامپیوتری به کار گرفته شود.
در دهه ۱۹۴۰ اولین کامپیوتر الکترونیکی ساخته شد. حافظه محدود و سرعت بسیار پایین (به نسبت سرعت کامپیوترهای امروزی) از ویژ ... های بارز کامپیوترهای الکترونیکی اولیه بودند. در این سالها که به عصر اطلاعات معروف بود، اجرای برنامه ها در کامپیوترها مست ... م تنظیم کلیدها، سوییچ ها و اتصال سیم های مختلف بود که منطق برنامه را مشخص می ... د.

زبانهای برنامه نویسی موجود در دنیا بیش از ۶۰۰ زبان می باشد؛ که در زیر برخی از این زبان ها، به ترتیب حروف الفبا مشاهده می کنید.

ای شا ... ، a-0 system،آ+، آ++، آباپ، ای‌بی‌سی، ای‌بی‌سی الگول، ای‌بی‌ال‌ای، ای‌سی‌سی (زبان برنامه‌نویسی) ، accent، ace dasl، act-iii، اکشن! ، اکشن‌اسکریپت، ایدا، adenine، agda، agora، aimms، alef، alf، الگول ۵۸، الگول ۶۰، الگول ۶۸، alice، alma-0، ambienttalk، amiga e، amos، ampl، ای‌پی‌ال، applescript، arc، arden syntax، arexx، argus، aspectj، اسمبلی، ats، ateji px ، auto ... key، autocoder ، autoit، averest، awk ،axum، babbage، بش ، بیسیک، bc، بی‌سی‌پی‌ال، beanshell، batch (windows/dos) ، bertrand، beta، bigwig، bistro، bitc، bliss، blue، bon، boo، boomerang، bourne shell ، brew، bpel، bugsys، buildprofessional، زبان برنامه‌نویسی سی، سی ماینس ماینس، سی++ ، سی‌شا ... ، c/al، caché objectscript، c shell، ... l، candle، casual ، cayenne، cduce، cecil، cel، cesil، کلد فیوژن، cg، chapel، chain، charity، charm، chef، chill، chip-8، chomski، oxygene (formerly chrome) ، chuck، cics، cilk، cl ، claire، clarion، clean، clipper، clist، کلوژر، سی‌ال‌یو، cms-2، کوبول، cobolscript، cobra، code، کافی‌اسکریپت، کولا، coldc، کلد فیوژن، cool، comal، سی‌پی‌ال (cpl) ، زبان میانی مایکروسافت (cil) ، لیسپ معمولی (also known as cl) ، comp ... ، component pascal، comit، chr (chr) ، converge، coral 66، corn، corvision، coq، cowsel، cpl، csh، csp، csound، curl، curry، cyclone، cython و …

 

زبان برنامه نویسی c:

در اوایل دهه ۱۹۷۰ میلادی ، زبان c ، توسط دنیس ریچی و به عنوان زبان برنامه نویسی سیستم ها طراحی شد. این زبان از دو زبان قدیمی تر بنام های bcpl و b حاصل شده است. زبان c تا سال ۱۹۷۸ منحصر به استفاده در لابراتوار کمپانی bell بود تا این که توسط دو تن بنام های ریچی و کرنیه نسخه نهایی این زبان منتشر شد. به سرعت کامپایلر ها و مفسر های متعددی از c توسعه یافت اما برای جلو ... ری از ناسازگاری های ایجاد شده و نیز حفظ قابلیت حمل زبان، تعاریف متحد الشکلی توسط استاندارد (ansi (american national standard institute موسسه استاندارد ملی ... ارائه گردید.مفسر خود برنامه ای کامپیوتری است که برنامه ی سطح بالا، داده ی ورودی آن و برنامه ی ایجاد شده به زبان ماشین، ... وجی آن را تشکیل می دهد. به طور کلی ویژ ... های مهم زبان c به اختصار به شرح زیر است:

زبان سی به طور گسترده ای در دسترس است. مفسر های تجاری آن در بیشتر کامپیوتر های شخصی، مینی کامپیوتر ها و نیز در کامپیوتر های بزرگ قابل استفاده اند.
سی زبانی است همه منظوره، ساخت یافته سطح بالا (مانند زبان پاسکال و فرتون . …) و انعطاف پذیر که برخی از خصوصیات زبانهای سطح پایین را نیز که معمولا در اسمبلی یا زبان ماشین موجود است داراست. در عین حال این زبان برای کاربردهای ویژه طراحی نشده و می توان از آن در همه ی زمینه ها، بخصوص به دلیل ... آن به زبان ماشین در برنامه نویسی سیستم، استفاده کرد. بنابراین سی بین زبان های سطح بالا و سطح پایین قرار دارد و در نتیجه اجازه می دهد که برنامه نویس خصوصیات هر دو گروه زبان را به کار برد. از این رو در بسیاری از کابردهای ... ی به طور انحصاری زبان سی به کار می برند. (زبان های سطح بالا، دستور العمل هایی شبیه زبان انسان و پردازش فکری او داردند، همچنین یک دستور العمل زبان سطح بالا معادل چند دستور العمل به زبان ماشین است).

برنامه های نوشته شده به زبان c به طور کلی مستقل از ماشین یا نوع کامپیوتر است و تقریباً تحت کنترل هر سیستم عاملی اجرا می شود.

کامپایلرهای سی معمولا فشرده و کم حجم اند و برنامه های هدف ایجاد شده با آنها در مقایسه با سایر زبانهای برنامه سازی سطح بالا، خیلی کوچک و کار آمدند.

برنامه های سی در مقایسه با سایر زبانهای برنامه سازی سطح بالا، به راحتی قابل انتقال اند. دلیل آن این است که سی خیلی از ویژ ... های وابسته به نوع کامپیوتر را در توابع کتابخانه ای خود منظور داشته است. بنابراین هر نسخه ازسی با مجموعه ای از توابع کتابخانه ای مخصوص به خود همراه است که بر اساس ویژ ... های کامپیوتر میزبان مربوط نوشته شده است. این توابع کتابخانه ای تا حدودی استاندارد است و معمولا هر تابع کتابخانه ای در نسخه های متعدد سی به شکل ی ... ان در دسترس است.

سی روش برنامه نویسی ماژولار را پشتیبانی می کند. همچنین از نظر عملگر ها نیز زبانی قوی است که عملگرهای گوناگونی برای دستکاری روی داده ها در سطح، بیت داراست.
به طور کلی جامعیت ، عمومیت، خوانایی، ساد ... ، کارآیی، و پیمانه ای بودن که هم ... از مشخصات برنامه ای ایده آل اند در زبان c پیاده سازی می شوند.

ویژ ... های فوق موجب شده زبان c یکی از قویترین و محبوب ترین زبان های برنامه سازی دنیا مطرح شود.

 

زبان برنامه نویسی ++c:

استراس‌تروپ کار بر روی زبان «c با کلاس» را در سال ۱۹۷۹ آغاز کرد.ایده ساخت این زبان جدید در زمان کار بر روی تز ... ای خود به ذهن استراس‌تروپ خطور نمود. او متوجه شد که سیمولا دارای ویژ ... ‌های مناسب برای ساخت برنامه‌های بسیار بزرگ است اما برای استفاده عملی بسیار کند است اما bcpl با وجود سرعت بسیار زیاد برای ساخت برنامه‌های بزرگ بسیار سطح پایین است. زمانی که استراس‌تروپ کار خود را در آزمایشگاه‌های بل (bell labs) آغاز نمود با مشکل تحلیل هسته unix با توجه به محاسبات توزیع شده روبرو شده بود. با یادآوری تجربیات خود در دوران ... ا، او زبان c را با استفاده از ویژ ... ‌های سیمولا گسترش داد. c به این دلیل انتخاب شد که c یک زبان عمومی، سریع، قابل حمل، و بصورت گسترده در حال استفاده بود. علاوه بر c و سیمولا زبان‌های دیگری مانند algol 68، ada، clu، ml نیز بر ساختار این زبان جدید اثر گذاشت. در ابتداویژ ... ‌های کلاس، کلاس‌های مشتق شده، کنترل نوع قوی، توابع درون خطی، و آرگومان پیش‌فرض از طریق cfront به c اضافه شد. اولین نسخه تجاری در سال ۱۹۸۵ ارائه شد. در سال ۱۹۸۳ نام زبان از «c با کلاس» به ++c تغییر یافت. ویژ ... ‌های دیگر شامل توابع مجازی، سربارگزاری عملگر و نام تابع، ارجاعات، ثوابت، کنترل حافظه توسط کاربر بصورت آزاد، کنترل نوع بهتر، و توضیحات یک خطی به صورت bcpl با استفاده از «//» نیز به آن اضافه شد. در سال ۱۹۸۵ اولین نسخه زبان برنامه‌نویسی ++c انتشار یافت و مرجع مهمی برای این زبان فراهم شد در حالی که هیچ استاندارد رسمی وجود نداشت. در سال ۱۹۸۹ ویرایش ۲۰ از زبان ++c ارائه شد. ویژ ... ‌های جدیدی مانند ارث‌بری چندگانه، کلاس‌های انتزاعی، اعضای ایستای توایع، اعضای ثابت تابع، و اعضای حفاظت شده به آن اضافه شد. در سال ۱۹۹۰ «راهنمای مرجع ++c » منتشر شد. این کار بنیان استانداردهای بعدی شد. آ ... ین ویژ ... ‌های اضافه شده شامل موارد زیر بودند: قالب توابع، استثناها، فضاهای نام، تبدیلات جدید، و یک نوع داده منطقی. در حین تکامل ++c کتابخانه استاندارد نیز بوجود آمد. اولین نسخه کتاب استاندارد شامل کتابخانه جریانات i/o بود که جایگزین printf و scanf شد. در ادامه مهم‌ترین ویژ ... اضافه شده standard template library بوده‌است.

 

اه ... به وجود اومدن ++c:

در کتاب «طراحی و تکامل ++c» استراستروپ قوانین مورد استفاده در طراحی ++c را بیان می‌نماید. دانستن این قوانین به فهمیدن نحوه عملکرد ++c و چرایی آن کمک می‌کند. جزئیات بیشتر در کتاب قابل دسترسی است:

++c طراحی شده‌است تا یک زبان عمومی با کنترل نوع ایستا و همانند c قابل حمل و پربازده باشد.
++c طراحی شده‌است تا مستقیما و بصورت جامع از چندین شیوه برنامه‌نویسی (برنامه‌نویسی ساخت‌یافته، برنامه‌نویسی شی‌گرا، انتزاع داده، و برنامه‌نویسی جنریک)
++c طراحی شده‌است تا به برنامه‌نویس امکان انتخاب دهد حتی اگر این انتخاب اشتباه باشد.
++c طراحی شده‌است تا حداکثر تطابق با c وجود داشته باشد و یک انتقال راحت از c را ممکن سازد.
++c از بکاربردن ویژ ... ‌های خاص که مانع از عمومی شدن است خودداری می‌نماید.
++c از ویژ ... ‌هایی که بکار برده نمی‌شوند استفاده نمی‌کند.
++c طراحی شده‌است تا بدون یک محیط پیچیده عمل نماید.

 

زبان برنامه نویسی java:

جاوا یک زبان برنامه‌نویسی است که در ابتدا توسط شرکت sun microsystems ایجاد شده‌است و در سال ۱۹۹۵ به عنوان مولفه اصلی java platform منتشر شد.این زبان قسمت های بسیاری از گرامر خود را از c و ++c گرفته اما دارای مدل شی‌گرایی ساده‌ای است و امکانات سطح پایین کمی دارد. کاربرد جاوا در کامپایل به صورت بایت کد است که قابلیت اجرا روی تمامی ماشین‌های شبیه‌سازی جاوا را داشته باشد صرف نظر از معماری و خصوصیات آن کامپیوتر. اجرای اصلی کامپایلرهای جاوا، ماشین‌های پیاده‌سازی و کتابخانه‌های آن توسط این شرکت از سال ۱۹۹۵ منتشر شد. در ۲۰۰۷ may این شرکت، نرم‌افزار رایگان این زبان را فراهم کرد. دیگران هم کاربردهای دیگری از این زبان را منتشر ... د مثل کامپایلر gnu برای جاوا.
games gosling پروژه زبان برنامه‌نویسی جاوا را در ۱۹۹۱ june آغاز کرد. این زبان در ابتدا oak، سپس green و در آ ... هم جاوا نامیده شد. gosling قصد داشت یک ماشین مجازی و یک ماشینی به کار برد که شبیه c و ++c باشد. این شرکت نسخه اول جاوا را تحت عنوان java1.0 در سال ۱۹۹۵ منتشر ساخت. جستجوگرهای اصلی وب، به هم پیوستند تا به طور مطمئن java applet را بدون صفحات وب اجرا کنند و به این صورت جاوا خیلی زود معروف و محبوب شد. با پیدایش java2، نسخه جدید توانست ترکیب‌های جدیدی را برای نوع‌های مختلف پلت فرم‌ها ایجاد کند. به عنوان مثال j2ee، باهدف کاربرد برای تشکیلات اقتصادی، و نسخه j2me برای موبایل منتشر شد. در سال ۲۰۰۶ با هدف بازاری ... ، این شرکت نسخه جدید j2 را با نام‌های javaee ،javame و javase منتشر کرد. در سال ۱۹۹۷ شرکت سان میکروسیستمز،iso/iec jtc1 standards body و ecma
international را به فرمول جاوا تغییر داد. شرکت sun بسیاری از کاربردهای جاوایش را بدون هیچ هزینه‌ای فراهم آورد. شرکت sun با فروش مجوز برای بعضی از کاربردهای خاصش مثل java enterprise system درآمدی را بدست آورد. اولین تمایزی که بین sdk و jre داد شامل فقدان کامپایلر برای jre و سرفایل ها بود. در ۱۳ نوامبر ۲۰۰۶ شرکت sun نرم‌افزار جاوا را به صورت رایگان و با مجوز عمومی برای همه منتشر کرد.

اه ... اولیه ساخت و طراحی جاوا:

این زبان باید ساده، شی‌گرا و مشهور باشد.
مطمئن و بدون خطا باشد.
وابسته به معماری کامپیوتر نبوده و قابل انتقال باشد.
باید با کارایی بالا اجرا شود.
باید به صورت پویا و نخ‌کشی‌شده باشد.

زبان برنامه نویسی c#:

در سال ۱۹۹۹، شرکت سان اجازه استفاده از زبان برنامه نویسی جاوا را در اختیار ماکروسافت قرار داد تا در سیستم عامل خود از آن استفاده کند.جاوا در اصل به هیچ پلت فرم یا سیستم عاملی وابسته نبود، ولی ماکروسافت برخی از مفاد قرار داد را زیر پا گذاشت و قابلیت مستقل از سیستم عامل بودن جاوا را از آن برداشت.شرکت سان پرونده‌ای علیه ماکروسافت درست کرد و ماکروسافت مجبور شد تا زبان شی گرای جدیدی با کامپایل جدید که به ++c شبیه بود را درست کند. در طول ساخت دات نت، کلاس‌های کتابخانه‌ای با زبان و کامپایلر smc نوشته شدند.در سال ۱۹۹۹ آندرس ه ... برگ گروهی را برای طراحی زبانی جدید تشکیل داد که در آن زمان نامش cool بود و همانند c بود با خواص شی گرایی. ماکروسافت در نظر داشت اسم این زبان را تا آ ... cool قرار دهد، ولی به دلیل مناسب نبودن برای اه ... تجاری این کار را نکرد. در ارائه و معرفی رسمی .net در pdc در سال ۲۰۰۰ این زبان به c سی شا ... تغییر نام یافت و کتابخانه کلاس‌ها و runtime در asp.net به#c منتقل شدند. مدیر و س ... رست طراحان در ماکروسافت آندرس ه ... برگ بود که تجربه قبلی او در طراحی framework و زبان‌های برنامه سازی++borland , delphi, turbo pascal, visual c به آسانی در دستورالعمل‌های سی شا ... قابل رویت است و به همان خوبی در هسته clr.
سی شا ... دارای یک سیستم نوع یکپارچه‌است که به آن cts می‌گویند.این بدان معناست که تمام انواع،شامل موارد اصلی مانند integerها، مشتق شده از system.object هستند.به عنوان مثال، هر نوع یک متد به نام tostring() را به ارث می‌برد.بخاطر کارائی،انواع اولیه (و انواع مقداری) به طور داخلی فضایی برای آنها بر روی پشته در نظر گرفته می‌شود.

زبان برنامه نویسی visual basic:

زبان ویژوال بیسیک در واقع حاصل توسعه و ارتقای زبان بیسیک است. بیسیک اولیه حدود سال ۱۹۶۴ کالج دارت موث (darth mouth )به وسیله آقایان توماس کورتز ( thomas kurtz) و جان کمنی (john kemeny) با هدف گسترش برنامه نویسی بیش دانش آموزان و دانش آموزان و دانشجویان
طراحی و ساخته شد.از آن زمان نسخه های متعدد و متفاوتی از آن مانند (gwbasic quick
basic وturbobasic) ارایه گردید و هموراه سعی در افزایش توانمندیهای آن به عنوان یک زبان سطح بالای ساخت یافته شده است . با ظهور سیستم عامل ویندوز ۹۵ و ۹۸ فقدان یک زبان برنامه نویسی آسان و قدرتمند برای استفاده در سیستم عامل های مذکور کاملاً مشهود بود . از این رو مایکروسافت در سال ۱۹۹۱ نسخه اول ویژوال بیسیک را با امکانات یک زبان برنامه نویسی قدرتمند و حرفه ای برای برنامه نویسی در ویندوز ارایه کرد. آ ... ین نسخه تکامل یافته آن برای استفاده در سیستم عامل جدید مایکروسافت نیز با نام visual basic.net طراحی و ارایه شده است.
یکی از مهم ترین ویژ ... های زبان برنامه نویسی ویژوال بیسیک رابط گرافیکی آن است. رابط گرافیکی (gui) در ویژوال بیسیک یکی از کارآمدترین رابط های گرافیکی در زمینه برنامه نویسی است که به وسیله آن می توان به آسانی برنامه های تحت سیستم عامل ویندوز را ایجاد کرده و حتی قبل از اجرا , شکل ظاهری آن را مشاهده کرد با این که برنامه را به صورت یک مفسر یعنی به صورت خط به خط اجرا نموده و ع ... العمل برنامه را بررسی کرد. البته این موارد گوشه ای از ویژ ... های متعدد رابط گرافیکی ویژوال بیسیک است.
طراحی سریع برنامه (rad) یکی دیگر از ویژ ... های این زبان است. منظور از طراجی سریع برنامه یا rad در ویژوال بیسیک این است که طراحی و تولید برنامه ها در ویژوال بیسیک به دلیل وجود ابزارهای مناسب به سرعت انجام می شود . بنابراین هزینه های تولید نرم افزار به طور قابل توجهی کاهش می یابد.
ویژ ... دیگر زبان برنامه نویسی ویژوال بیسیک ویژ ... مدیریت رویداد ها و اتفاقات می باشد ویژوال بیسیک یکی از زبن های برنامه نویسی رویدادگر است . مزیتی که این گونه زبان ها دارند در این است که برنامه نویس می تواند از قبل فرامین لازم را برای وقایع و اتفاقاتی که ممکن است در هنگام اجرای برنامه توسط کاربر رخ دهد سازمان دهی کند.

وجود محیط ide نیز یکی از ویژ ... های مهم این زبان است . محیط ide به برنامه نویس اجازه می دهد تا برنامه های خود را به سهولت و سرعت , طراحی ,تولید ,خطای ... و اجرا کند . این امکانات به وسیله ابزارهای متعددی که به صورت مجتمع در رابط گرافیکی ویژوال بیسیک قرار داده شده است. قابل دسترسی است.
علاوه بر مواردی که گفته شد دسترسی به برنامه های کاربردی ویندوز به وسیله توابع (api) یکی دیگر از ویژ ... این زبان است. توابع api , توابع داخلی ویندوز هستندکه ویژوال بیسیک را قادر می سازد تا با استفاده از فرامین خاصی بتواند به امکانات داخلی موجود در ویندوز دستی ... پیدا کند و برنامه نویس را نیز قادر می سازد تا در صورت نیاز با استفاده از این توابع , برنامه هایی را با توانایی های مورد نظر ایجاد کند.
یکی دیگر از جنبه هایی که تفاوت شگرفی بین ویژوال بیسیک و سایر نسخه های قبلی بیسیک ایجاد می کند امکان استفاده از برنامه نویسی به روش شی ... ت . این ویژ ... سبب می شود تا ویژوال بیسیک بتواند توقعات برنامه نویس در رابطه با تعریف و به کار ... ری اشیا و کلاس های جدید را که سبب راحت تر شدن برنامه نویسی می گردد,برطرف کند. در برنامه نویسی ساخت یافته ,برنامه ها با استفاده از رویه ها به بخش های مختلف تقسیم می شوند که به صورت مجزا از هم قرار می ... رند . دربرنامه نویسی شی گرا با استفاده از اشیا می توان مجموعه ای از دستورالعمل ها و داده ها را در عنصر واحدی به نام شی قرار داد و در زمان مورد نظر از هر یک از بخش های شی مربوطه استفاده کرد.
ویژ ... دیگر که در نحوه کار با یک زبان برنامه نویسی مد نظر قرار می ... د نحوه کشف , تصحیح و برخورد با اشتباهات و خطاهایی است که در هنگام طراحی یا اجرای برنامه رخ می دهدویژوال بیسیک علاوه بر اینکه امکانات بسیار مناسبی در زمینه کشف خطاهای نوشتاری و منطقی برنامه در اختیار برنامه نویس می گذارد .به وی امکان می دهد با استفاده از فرامین مناسب ,خطاهای غیر قابل پیش بینی را نیز در هنگام اجرا تشخیص داده و نحوه ارایه راه حل مناسب را برای راهنمایی کاربران در اختیار آنان قرار دهد.
از آغاز ارایه اولین نگارش ویژوال بیسیک , نسخه های متفاوتی از این زبان ارایه شده است.
نگارش آموزشی ویژوال بیسیک که برای مصارف آموزشی ارایه شده است. امکان ایجاد برنامه های اجرایی از نوع exe و dll را به همراه استفاده از کنترل های متعدد فراهم می آورد.
نگارش حرفه ای این زبان علاوه بر ویژ ... های نگارش آموزشی ,امکان استفاده از کنترل های مربوط به بانک های اطلاعاتی ,طراحی کنترل های activex و هم چنین به کار ... ری ویزاردهای مناسب برای تسهیل امر برنامه نویسی را نیز در اختیار برنامه نویسان قرار می دهد و به عنوان کامل ترین نگارش , نگارش نهایی ارایه شده است که در آن امکان برنامه نویسی در شبکه های محلی و اینترنت همراه با ویژ ... های سایر نسخه ها فراهم شده است و دارای توانایی استفاده از زبان sql و تولید و طراحی برنامه های کاربردی با حجم زیاد نیز می باشد.

زبان برنامه‌نویسی پایتون:

پایتون یک زبان برنامه‌نویسی سطح بالا، شیءگرا و تفسیری است که توسط ... دو ون روسوم (guido van rossum) در سال ۱۹۹۰ طراحی شد.این زبان از زبان های برنامه نویسی تفسیری بوده و به صورت کامل یک زبان شی‌گرا است که در ویژ ... ‌ها با زبانهای تفسیری پرل، روبی، اسکیم، اسمال‌تاک و تی‌سی‌ال مشابهت دارد و از مدیریت خودکار حافظه استفاده می‌کند.
پایتون پروژه‌ای بازمتن توسعه یافته است و توسط بنیاد نرم‌افزار پایتون مدیریت می‌گردد.

پایتون در یک محیط آموزشی ایجاد و توسعه یافته است . یعنی در کریسمس سال ۱۹۹۸ در موسسه ملی تحقیقات ریاضی و رایانه (cwi) در شهر آمستردام. در آن زمان ... دو یک پژوهشگر در cwi بود و در زمان بیکاری خود بر روی پروژه شخصی خود یعنی پایتون کار می کرد . اولین نسخه عمومی از پایتون در ماه فوریه سال ۱۹۹۱ منتشر شد . برای مدتی نسبتاً طولانی پایتون توسط موسسه ملی تحقیقات و ابتکارات (cnri) واقع در رستون ایالات متحده‌ امریکا توسعه می‌یافت . تا اینکه در سال ۲۰۰۰ تیم توسعه دهنده پایتون به آزمایشگاه های پایتون منتقل شدند . نام پایتون از برنامه مورد علاقه سازنده آن یعنی مونتی پایتون که یک برنامه کمدی انگلیس بود گرفته شده است.

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

زبان های برنامه نویسی را می توان از چهار دیدگاه متفاوت مورد بررسی قرار داده و تقسیم بندی کرد:
الف)روش های برنامه نویسی ۱-زیر روالی ۲-ساخت یافته ۳-م ... ار ۴-شئ گرا
ب) ... به زبان ماشین ۱-سطح پایین ۲-سطح میانی ۳-سطح بالا
ج)نوع ترجمه ۱-مفسری ۲-کامپایلری د)رابط برنامه نویسی ۱-مبتنی بر متن ۲-مبتنی بر گرافیک (ویژوال)

کاربرد برنامه نویسی:

زبان برنامه نویسی یک مکانیزم ساخت یافته برای تعریف داده ها، و عملیات یا تبدیل هایی که ممکن است بطور اتوماتیک روی آن داده انجام شوند، فراهم می کند.
یک برنامه نویس از انتزاعات آماده در زبان استفاده می کند تا مفاهیم به کار رفته در محاسبات را بیان کند. این مفاهیم به عنوان یک مجموعه از ساده ترین عناصر موجود بیان می شوند(مفاهیم ابت ... نامیده می شوند).

زبان های برنامه نویسی با غالب زبان های انسانی تفاوتی دارد و آن این است که نیاز به بیان دقیق تر و کامل تری دارد. هنگام استفاده از زبان های طبیعی برای ارتباط با دیگر انسان ها، نویسندگان و گویندگان می توانند مبهم باشند و اشتباهات کوچک داشته باشند، و همچنان انتظار داشته باشند که مخاطب آنها متوجه شده باشد.
اگرچه، مجازا، رایانه ها دقیقا آنچه که به آنها گفته شده را انجام می دهند.
و نمی توانند بفهمند که نویسنده دقیقا چه کدی مد نظر نویسنده بوده است البته امروزه برنامه هایی برای انجام این کار تولید شده اند و تلاش های بسیاری در این زمینه انجام شده ولی هنوز به نتیجهٔ رضایت بخشی نرسیده است

ترکیب تعریف زبان، یک برنامه، و ورودی برنامه بطور کامل رفتار ... وجی را به هنگام اجرای برنامه (در محدوده کنترل آن برنامه) مشخص می کند.
برنامه های یک رایانه ممکن است در یک فرآیند ناپیوسته بدون دخ ... انسان اجرا شوند، یا یک کاربر ممکن است دستورات را در یک مرحله فعل و انفعال مفسر تایپ کند.در این ح ... “دستور”ها همان برنامه ها هستند، که اجرای آنها زنجیروار به هم مرتبطند.
به زبانی که برای دستور دادن به برنامه ای استفاده می شود، زبان اسکریپت می گویند. بسیاری از زبان ها کنار گذاشته شده اند، برای رفع نیازهای جدید جایگزین شده اند، با برنامه های دیگر ترکیب شده اند و در نهایت استعمال آنها متوقف شده است.

با وجود اینکه تلاش هایی برای طراحی یک زبان رایانه” کامل” شده است که تمام اه ... را تحت پوشش قرار دهد، هیچ یک نتوانستند بطور کلی این جایگاه را پر کنند.
نیاز به زبان های رایانه ای گسترده از گسترد ... زمینه هایی که زبان ها استفاده می شوند، ناشی می شود:
محدوده برنامه ها از متون بسیار کوچک نوشته شده توسط افراد عادی تا سیستم های بسیار بزرگ نوشته شده توسط صدها برنامه نویس است
توانایی برنامه نویس ها: از تازه کارهایی که بیش از هر چیز به ساد ... نیاز دارند تا حرفه ای هایی که با پیچید ... قابل توجهی کنار می آیند.
برنامه ها باید سرعت، اندازه و ساد ... را بسته به سیستم ها از ریزپردازندها تا ابر رایانه ها متناسب نگه دارند. برنامه ها ممکن است یک بار نوشته شوند و تا نسل ها تغییر نکنند، و یا ممکن است پیوسته اصلاح شوند.
در نهایت، برنامه نویس ها ممکن است در علایق متفاوت باشند: آنها ممکن است به بیان مسائل با زبانی خاص خو گرفته باشند.

یک سیر رایج در گسترش زبان های برنامه نویسی این است که قابلیت حل مسائلی با درجات انتزاعی بالاتری را اضافه کنند. زبان های برنامه نویسی اولیه به سخت افزار رایانه گره خورده بودند.
همانطور که زبان های برنامه نویسی جدید گسترش پیدا کرده اند، ویژ ... هایی به برنامه ها افزوده شده که به برنامه نویس اجازه دهد که ایده هایی که از ترجمه ساده به دستورات سخت افزار دورتر هستند نیز استفاده کند.
چون برنامه نویس ها کمتر به پیچید ... رایانه محدود شده اند، برنامه های آنها می تواند محاسبات بیشتری با تلاش کمتر از سوی برنامه نویس انجام دهند.
این به آنها این امکان را می دهد که کارایی بیشتردر واحد زمان داشته باشند.
“پردازنده های زبان طبیعی” به عنوان راهی برای ازبین بردن نیاز به زبان های اختصاصی برنامه نویسی پیشنهاد شده اند.
هرچند، این هدف دور است و فواید آن قابل بحث است.
“ادسگر دیجسترا” موافق بود که استفاده از یک زبان رسمی برای جلو ... ری از مقدمه سازی ساختارهای بی معنی واجب است، و زبان برنامه نویسی طبیعی را با عنوان “احمقانه” رد کرد، “آلن پرلیس” نیز مشابها این ایده را رد کرد.