نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی پرتال اطلاعاتی
  • خانه
  • سیستم عامل
  • به طور خلاصه زبان های برنامه نویسی چیست؟ چگونه زبان برنامه نویسی خود را بسازید: تئوری، ابزارها و توصیه های یک متخصص

به طور خلاصه زبان های برنامه نویسی چیست؟ چگونه زبان برنامه نویسی خود را بسازید: تئوری، ابزارها و توصیه های یک متخصص

    فهرست‌های زبان‌های برنامه‌نویسی بر اساس دسته‌بندی Chronological Genealogical زبان‌های برنامه‌نویسی را بر اساس دسته‌بندی فهرست می‌کند. برخی از زبان ها به چند دسته تقسیم می شوند. مطالب ... ویکی پدیا

    فهرست زبان های برنامه نویسی بر اساس دسته بندی شجره نامه زمانی فهرستی از زبان های برنامه نویسی تبارشناسی ارائه شده است. زبان ها بر اساس زبان های قبلی طبقه بندی می شوند که تأثیر زیادی در شکل گیری ... ویکی پدیا

    مطالب 1 توسط سازنده یا پلتفرم 1.1 Flash 1.2 Java 1.3 Microsof ... ویکی پدیا

    فهرست‌های زبان‌های برنامه‌نویسی بر اساس دسته‌بندی Chronological Genealogical زمان‌شناسی زبان برنامه‌نویسی فهرست زمانی از زبان‌های برنامه‌نویسی. مطالب ... ویکی پدیا

    این مقاله باید ویکی شود. لطفا آن را طبق قوانین قالب بندی مقاله پر کنید. کنوانسیون ها ... ویکی پدیا

    این صفحه یک لیست اطلاعاتی است. زبان های برنامه نویسی دات نت (CLI یا CLI-Enabled Languages) زبان های برنامه نویسی کامپیوتری هستند که برای ایجاد کتابخانه ها و برنامه هایی مطابق با Comm... ویکی پدیا استفاده می شوند.

    مقاله اصلی: ویرایشگر متن فهرست ویرایشگرهای متن ویندوز و جدول مقایسه. مطالب 1 جدول مقایسه ویرایشگرهای متن شناخته شده ... ویکی پدیا

    زبان برنامه نویسی سی# یکی از محبوب ترین زبان های برنامه نویسی امروزی است. نرم افزار متن باز Paint.NET برای پردازش گرافیک شطرنجی SharpDevelop IDE منبع باز برای C #, Visual Basic .NET (VB.NET), Boo ... ویکی پدیا

    این فهرستی از نرم افزارهایی است که توسط بنیاد نرم افزار آزاد به عنوان بخشی از پروژه گنو یونیکس، یک سیستم عامل مشابه که کاملاً از نرم افزار رایگان ساخته شده است، توسعه یافته است. اکثر این بسته ها نیز ... ... ویکی پدیا هستند

    این مقاله یا بخش نیاز به بازبینی دارد. لطفا مقاله را با توجه به قوانین مقاله نویسی بهبود ببخشید ... ویکی پدیا

کتاب ها

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

همانطور که یک کامپیوتر کامل است، بدون نرم افزار فقط انبوهی از فلز و پلاستیک است. این برنامه ها هستند که تعیین می کنند چه کاری و چگونه و با چه ترتیبی عملیات خاصی را انجام می دهد. اولین زبان ها برنامه نويسيدر اوایل دهه پنجاه ظاهر شد و برای تبدیل عبارات ساده حسابی به کد ماشین استفاده شد. کد ماشین سیستمی از دستورالعمل های کامپیوتری است که مستقیماً توسط یک ریزپردازنده تفسیر می شود. اما نوشتن برنامه در کدهای ماشین برای شخص بسیار ناخوشایند است. به منظور تسهیل کار برنامه نویس، و شروع به ایجاد کرد زبان ها برنامه نويسي.زبان ها برنامه نويسيتقسیم می شوند زبان هاسطح بالا و پایین هر چه سطح زبان بالاتر باشد، برنامه نویس راحت تر می تواند با آن بنویسد. چنین زبانی برای شخص قابل درک تر است، زیرا امکان استفاده از ساختارهای معنایی ساده را برای تنظیم توالی لازم از اقدامات فراهم می کند. پس از ایجاد برنامه، کامپایل می شود - یعنی به طور خودکار به زبان کدهای ماشینی که پردازنده درک می کند. زبان‌های سطح پایین بسیار نزدیک‌تر به زبان ماشین هستند و بنابراین نوشتن به آن دشوارتر است. اما آنها مزیت خود را دارند - برنامه های نوشته شده به چنین زبانی بسیار سریع و فشرده هستند. محبوب ترین زبان سطح پایین اسمبلر است. برخی از مزایای آن به قدری آشکار است که حتی در برنامه های پیچیده ای که به زبان های سطح بالا نوشته شده اند، اغلب از درج اسمبلر استفاده می شود. برنامه نويسي، که گسترده هستند را می توان یک دست شمارش کرد. یکی از رایج ترین زبان ها C ++ است. این یک زبان بسیار راحت و به اندازه کافی ساده برای یک برنامه نویس است که به شما امکان می دهد برنامه هایی با هر پیچیدگی ایجاد کنید. چندی پیش، مایکروسافت زبان C # (به عنوان "si sharp") را توسعه داد که دارای تعدادی ویژگی جدید است و برای نوشتن برنامه برای سیستم عامل ویندوز در نظر گرفته شده است. مایکروسافت یک رسانه بسیار محبوب منتشر کرده است برنامه نويسيمایکروسافت ویژوال استودیو که به شما امکان برنامه نویسی به زبان های C ++، C# و چند زبان دیگر را می دهد. برنامه نويسيدلفی این زبان از پاسکال زمانی معروف سرچشمه می گیرد، اما به لطف تلاش های بورلند، تعدادی ویژگی جدید به دست آورده است و در واقع به یک زبان جدید تبدیل شده است. نوشتن به این زبان بسیار ساده و راحت و به لطف محیط است برنامه نويسي Borland Delphi بسیار گسترده شده است.بدون زبان برنامه نويسيوجود اینترنت غیرممکن بود. چنین زبان هاچگونه Perl و PHP به شما اجازه می دهند اسکریپت هایی ایجاد کنید که اجرای اقدامات لازم را در صفحات سایت تعیین می کند. حتی ایجاد ساده ترین صفحه اینترنتی بدون دانش HTML - زبان استاندارد نشانه گذاری سند - غیرممکن است. دستگاه های محاسباتی اکنون در همه جا هستند: در تلفن های همراه و دستگاه های خودپرداز، در ماشین های کنترل عددی و تلویزیون. یافتن حوزه ای از زندگی که در آن به نوعی درگیر نباشند دشوار است. و همه این دستگاه ها به لطف برنامه های نوشته شده به زبان های مختلف کار می کنند. برنامه نويسي.

زبان برنامه نویسی وسیله ای برای ارتباط بین برنامه نویس و کامپیوتر است. کامپیوتر در این مورد ماشینی است که فقط دستورات ابتدایی را درک می کند. صحبت کردن با کامپیوتر به چه زبانی برای شخص سخت تر است؟

رمان شوروی "برنامه نویس" در مورد وضعیتی می گوید که در یک موسسه فنی یک کامپیوتر وجود دارد. رؤسا آمدند و خواستند کار او را نشان دهد. اما او دستورات زبان برنامه نویسی را نمی فهمید. سپس مهندس با استعداد گفت وگویی را با ماشین به زبان آن - درست در کد باینری - آغاز کرد.

بسیاری از برنامه نویسان کد باینری را سخت ترین زبان برنامه نویسی می دانند - که یک پارادوکس است، زیرا اعداد باینری یک زبان نیستند. خود مفهوم "زبان برنامه نویسی" از زبان کامپیوترها به زبان انسان دلالت دارد. در باینری، برنامه نویس باید بدون ساده سازی بیش از حد با ماشین بحث کند.

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

مونتاژ کننده

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

C ++ محبوب

تعداد زیادی از برنامه ها و پوسته ها در جهان به زبان های گروه C نوشته می شوند. خود زبان C در سال 1970 برای کار با پردازنده ها ایجاد شد. این زبان بسیار ساده بود.

در "" "" زبان C ++ توسعه یافت، که بیشتر قابلیت های سلف خود را به ارث برد، اما یک اصل اضافی را اضافه کرد - پارادایم وراثت. با وجود سادگی ظاهری دستورات، این زبان است که قدرتمندترین ابزار برنامه نویسی است. تعداد زیادی از کتابخانه های شخص ثالث به برنامه نویس آزادی زیادی برای فرآیند خلاقیت می دهد. با این حال، زبان ساختار منطقی پیچیده ای دارد. شما باید از یک رویکرد شی گرا استفاده کنید که تعداد خطوط کد را کاهش می دهد (به دلیل وراثت) اما منطق را پیچیده می کند. یک برنامه نویس باید بتواند خیال پردازی کند که به خودی خود آسان نیست.

زبان های جدید

در حال حاضر، زبان های برنامه نویسی رایگان "انتزاعی" به طور گسترده ای محبوب هستند: NOSQL، Erlang، Python. تسلط بر آنها آسان نیست، اما متخصصان زبان های کمیاب بسیار محبوب هستند. به عنوان یک قاعده، زبان های جدید برای حل مشکلات خاص ایجاد می شوند: کار با رابط های وب، ایجاد برنامه ها یا مدیریت فرآیندهای سرور. یک مشکل خاص در برنامه نویسی به آخرین زبان ها در تحقیقات اندک آنها نهفته است - اجزا و کتابخانه ها، مشخصات و کتاب های درسی کمی وجود دارد.

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

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

اولین زبان ماشین در سال 1941 توسط Konrad Zuse که مخترع موتور تحلیلی است اختراع شد. کمی بعد، در سال 1943، هوارد آیکن ماشین Mark 1 را ایجاد کرد که قادر به خواندن دستورالعمل ها در سطح کد ماشین بود.

در دهه 1950، تقاضای فعالی برای توسعه نرم افزار وجود داشت و زبان ماشین نمی توانست مقدار زیادی کد را مدیریت کند، بنابراین روش جدیدی برای برقراری ارتباط با رایانه ها ایجاد شد. اسمبلر اولین زبان یادگاری است که جایگزین دستورالعمل های ماشین می شود. با گذشت سالها، لیست زبان های برنامه نویسی تنها رشد می کند، زیرا حوزه کاربرد فناوری های کامپیوتری در حال گسترده تر شدن است.

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

در حال حاضر بیش از 300 زبان برنامه نویسی وجود دارد. هر یک از آنها ویژگی های خاص خود را دارند و برای یک کار خاص مناسب هستند. همه زبان های برنامه نویسی را می توان به طور کلی به چند گروه تقسیم کرد:

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

برنامه نویسی برای مبتدیان

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

  • Basic در سال 1964 اختراع شد، متعلق به خانواده زبان های سطح بالا است و برای نوشتن برنامه های کاربردی استفاده می شود.
  • یادگیری Python ("Python") به لطف نحو ساده و خوانا نسبتاً آسان است، اما مزیت آن این است که می توان از آن برای ایجاد برنامه های دسکتاپ معمولی و برنامه های وب استفاده کرد.
  • پاسکال ("پاسکال") - یکی از قدیمی ترین زبان ها (1969) که برای آموزش دانش آموزان ایجاد شده است. اصلاحات مدرن آن به شدت تایپ و ساختار یافته است، اما پاسکال یک زبان کاملا منطقی است که در سطح شهودی قابل درک است.

این لیست کاملی از زبان های برنامه نویسی برای مبتدیان نیست. تعداد زیادی نحو وجود دارد که برای درک در دسترس هستند و مطمئناً در سال های آینده مورد تقاضا خواهند بود. هر کس حق دارد به طور مستقل مسیری را انتخاب کند که برای او جالب باشد.

مبتدیان این فرصت را دارند که به لطف ابزارهای ویژه، یادگیری برنامه نویسی و اصول اولیه آن را سرعت بخشند. دستیار اصلی محیط توسعه یکپارچه برای برنامه ها و برنامه های کاربردی ویژوال بیسیک است ("ویژوال بیسیک" نیز یک زبان برنامه نویسی است که سبک زبان بیسیک دهه 1970 را به ارث برده است).

سطوح زبان برنامه نویسی

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

زبان های سطح پایین برای ایجاد دستورالعمل های ماشین برای پردازنده ها طراحی شده اند. مزیت اصلی آنها این است که آنها از نماد یادگاری استفاده می کنند، یعنی به جای دنباله ای از صفر و یک (از سیستم اعداد باینری)، رایانه یک کلمه اختصاری معنی دار از زبان انگلیسی را به خاطر می آورد. معروف ترین زبان های سطح پایین عبارتند از "Assembler" (چندین زیرگونه از این زبان وجود دارد که هر کدام مشترکات زیادی دارند، اما تنها در مجموعه ای از دستورالعمل ها و ماکروهای اضافی متفاوت هستند)، CIL (موجود در Net. پلتفرم) و بایت کد جاوا.

زبان های برنامه نویسی سطح بالا: یک لیست

زبان‌های سطح بالا برای راحتی و کارایی برنامه‌ها طراحی شده‌اند؛ این زبان‌ها دقیقاً برعکس زبان‌های سطح پایین هستند. ویژگی متمایز آنها وجود ساختارهای معنایی است که ساختارها و الگوریتم های برنامه ها را به طور خلاصه و مختصر توصیف می کند. در زبان های سطح پایین، شرح آنها در کد ماشین بسیار طولانی و نامفهوم خواهد بود. زبان های سطح بالا مستقل از پلتفرم هستند. در عوض، کامپایلرها عملکرد یک مترجم را انجام می دهند: آنها متن برنامه را به دستورالعمل های اولیه ماشین ترجمه می کنند.

لیست زیر از زبان های برنامه نویسی: C ("C")، C# ("C-sharp")، "Fortran"، "Pascal"، "Java" ("Java") - از جمله پر استفاده ترین نحو های سطح بالا هستند. این زبان دارای ویژگی های زیر است: این زبان ها با ساختارهای پیچیده کار می کنند، انواع داده های رشته ای و عملیات را با فایل های ورودی / خروجی اطلاعات پشتیبانی می کنند و همچنین به دلیل خوانایی و نحو واضح کار با آنها بسیار آسان تر است.

پرکاربردترین زبان های برنامه نویسی

اصولا شما می توانید به هر زبانی برنامه بنویسید. سوال اینجاست که آیا کارآمد و روان کار می کند؟ به همین دلیل است که باید مناسب ترین زبان های برنامه نویسی را برای حل مسائل مختلف انتخاب کرد. فهرست بر اساس محبوبیت را می توان به شرح زیر مشخص کرد:

  • زبان های OOP: جاوا، سی ++، پایتون، پی اچ پی، ویژوال بیسیک و جاوا اسکریپت.
  • گروهی از زبان های ساختاری: Basic، Fortran و Pascal.
  • چند پارادایم: سی #، دلفی، کاری و اسکالا.

محدوده برنامه ها و کاربردها

انتخاب زبانی که این یا آن برنامه در آن نوشته شده است تا حد زیادی به حوزه کاربرد آن بستگی دارد. بنابراین، به عنوان مثال، برای کار با "سخت افزار" خود رایانه (نوشتن درایورها و برنامه های پشتیبانی)، بهترین گزینه C ("C") یا C ++ است که در زبان های برنامه نویسی اصلی گنجانده شده است. (لیست بالا را ببینید). و برای توسعه برنامه های تلفن همراه، از جمله بازی ها، باید جاوا یا C# ("C-Sharp") را انتخاب کنید.

اگر هنوز تصمیم نگرفته‌اید که در کدام جهت کار کنید، توصیه می‌کنیم از زبان‌های C یا C++ شروع به یادگیری کنید. آنها یک نحو بسیار واضح، یک تقسیم ساختاری واضح به کلاس ها و توابع دارند. به علاوه، با دانستن C یا C ++، می توانید به راحتی هر زبان برنامه نویسی دیگری را یاد بگیرید.

زبان برنامه نویسی و انواع آن

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

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

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

زبان های برنامه نویسی سطح پایین

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

عکس. 1. نمونه ای از کد ماشین و نمایش آن در اسمبلی

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

    کامپایلرها - متن برنامه را به کد ماشین تبدیل کنید، که می توان آن را ذخیره کرد و سپس بدون کامپایلر استفاده کرد (به عنوان مثال، فایل های اجرایی با پسوند *. exe).

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

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

مزایای

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

ایرادات

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

    برنامه به دست آمده را نمی توان به رایانه یا دستگاهی با نوع دیگری از پردازنده منتقل کرد.

    زمان قابل توجه توسعه برای برنامه های بزرگ و پیچیده

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

اسمبلر یک زبان سطح پایین است که امروزه نیز به طور گسترده مورد استفاده قرار می گیرد.

زبان های برنامه نویسی سطح بالا

اولین زبان برنامه نویسی سطح بالا زبان کامپیوتر Plankalkül است که توسط مهندس آلمانی Konrad Zuse در دوره 1942-1946 توسعه یافته است. با این حال، تا سال 2000 مترجمی برای آن وجود نداشت. اولین مترجم زبان سطح بالا در جهان PP (برنامه برنامه نویسی)، با نام PP-1 است که در سال 1954 با موفقیت آزمایش شد. مترجم PP-2 (1955، رتبه چهارم در جهان) translator) قبلاً در حال بهینه‌سازی بود و حاوی لودر و دیباگر خود، کتابخانه‌ای از رویه‌های استاندارد، و مترجم PP برای رایانه‌های Strela-4 قبلاً حاوی پیوندی از ماژول‌ها بود. با این حال، استفاده گسترده از زبان های سطح بالا با ظهور فرترن و ایجاد یک کامپایلر برای این زبان (1957) آغاز شد.

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

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

مثال ها: C، C ++، C #، جاوا، پایتون، پی‌اچ‌پی، روبی، پرل، پاسکال، دلفی، لیسپ... زبان های سطح بالا توانایی کار با ساختارهای داده پیچیده را دارند. اکثر آنها از انواع رشته ها، اشیاء، عملیات I/O فایل و غیره پشتیبانی یکپارچه دارند. عیب زبان های سطح بالا این است که برنامه ها بزرگتر از برنامه های زبان های سطح پایین هستند. بنابراین، زبان‌های سطح بالا عمدتاً برای توسعه نرم‌افزار رایانه‌ها و دستگاه‌هایی که حافظه زیادی دارند، استفاده می‌شوند. و انواع مختلف اسمبلر برای برنامه نویسی دستگاه های دیگر استفاده می شود که اندازه برنامه در آنها بسیار مهم است.

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

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

یک مثال ساده تابعی است که سینوس یک عدد را محاسبه می کند. می توان آن را sin نامید، داده های اولیه آن از یک عدد واقعی تشکیل شده است، نتیجه نیز یک عدد واقعی است که با جمع کردن یک قطعه از یک سری نامتناهی شناخته شده (یا اجرای دستور fsin یک پردازنده کمکی ریاضی) به دست می آید.

مجموعه اقداماتی که می توان در داخل یک تابع انجام داد بسیار محدود است. شامل محاسبه عبارات فرمول، فراخوانی توابع دیگر (که یک عمل جداگانه نیست - یک فراخوانی تابع اغلب در یک عبارت گنجانده می شود)، تخصیص ها، شاخه ها (گروهی از اقدامات که فقط زمانی انجام می شوند که یک شرط خاص درست باشد) و حلقه ها (گروهی از اقدامات انجام شده چندین بار، تعداد تکرارها به شرایط خاصی بستگی دارد). اقدامات را می توان در درون یکدیگر تودرتو کرد. ممکن است به نظر برسد که مجموعه شاخه ها و حلقه ها بسیار کوچک است، اما اینطور نیست. ثابت شده است که هر الگوریتمی متشکل از بلوک‌های عملکردی (در سطح پایین - دستورات حسابی و دستورات انتقال داده)، انتقال‌های شرطی و غیرشرطی را می‌توان به یک الگوریتم معادل متشکل از بلوک‌های شرطی ساختاریافته - بلوک‌های تابعی، انشعاب‌ها و حلقه‌های با انتهای تبدیل کرد. . این ادعا در مقاله Corrado Bohm و Giuseppe Jacopini "نمودارهای جریان، ماشین های تورینگ و زبان ها تنها با دو قانون شکل گیری" (Communications of ACM, Volume 9 / Number 5 / May, 1965) فرموله شد.

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

اعلان داده لیستی از اشیاء نامگذاری شده است. این اشیا متغیر نامیده می شوند. در تعدادی از زبان ها، نوع متغیر باید مشخص شود که مقدار حافظه مورد نیاز برای قرار دادن آن و مجموعه عملیاتی که می تواند در آن شرکت کند را مشخص می کند. اما لزوما اینطور نیست، زبان هایی وجود دارند که نوع متغیر در آنها مشخص نشده است و می توانند در حین اجرای برنامه تغییر کنند.

به طور معمول، زبان های برنامه نویسی مجموعه نسبتاً محدودی از انواع متغیرهای از پیش تعریف شده و ابزاری برای ایجاد انواع جدید ارائه می دهند. برخی از انواع زیر از پیش تعریف شده اند:

    اعداد طبیعی و کامل در اندازه های مختلف؛

    اعداد واقعی؛

    نمادها - حروف، اعداد، علائم عملیات حسابی و غیره.

    رشته های کاراکتر؛

    مقادیر بولی؛

    اشاره گرها

اقدامات روی داده ها را می توان با استفاده از توابع و عملگرها انجام داد.

به عنوان مثال، در زبان C، نمادها، رشته ها و بولی ها تعریف نشده اند. نوع کاراکتر آن در واقع یک عدد صحیح کوتاه است و می تواند حسابی باشد.

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

در برخی از زبان ها (مثلاً در C ++)، عملگرها را می توان برای انواع ایجاد شده نیز تعریف کرد، که امکان استفاده از متغیرهای این نوع را مانند متغیرهای انواع از پیش تعریف شده ممکن می کند.

راه های دیگری برای ایجاد انواع جدید وجود دارد. به عنوان مثال، در پاسکال می توان ایجاد کرد:

    انواع محدوده (با تعیین محدوده ای از مقادیر)؛

    انواع شمارش (با برشمردن مقادیر ممکن)؛

    انواع مجموعه

متغیرهای مجموعه‌های نوع می‌توانند برای ذخیره اطلاعات مربوط به مجموعه‌ای از ویژگی‌های برخی از اشیاء استفاده شوند. چیزی شبیه به این را می توان با استفاده از متغیرهای عدد صحیح انجام داد که بیت های آنها برای نشان دادن وجود ویژگی های مربوطه تنظیم شده اند. ظاهراً استفاده از ست ها در برابر خطاهای برنامه نویس مقاومت بیشتری دارد.

ماشین زبان انسان را نمی فهمد. البته، ما در مورد سیری و سایر تشخیص دهنده های صدا صحبت نمی کنیم - ما در مورد ایجاد نرم افزار جدید صحبت می کنیم. برای ساخت یک ماشین حساب، ماشین باید یک کار را به همان روشی که سرکارگر به کارگران توضیح می دهد که چگونه آجر را بچینند، تنظیم کند. اما "واسیا، ept، خوب، باید نرم تر باشد!" باید در یک زبان برنامه نویسی توضیح داده شود. این زبان ها از کجا آمده اند؟

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

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

میل معقول و قابل درک است، اما اولین سوال در ذهن من اغلب به یک مانع غیرقابل حل تبدیل می شود - با چه زبانی یادگیری برنامه نویسی را شروع کنیم؟ ترس از انتخاب اشتباه مبتنی بر ترس از اتلاف وقت است. در نتیجه، یک برنامه نویس مبتدی چندین سال است که به دنبال زبان "خود" خود بوده است بدون اینکه پیشرفتی در جهت هدف گرامی داشته باشد. پس چه لعنتی زبان خود را انتخاب می کنید؟

معیارهای انتخاب اولین زبان برنامه نویسی

انتخاب زبان بستگی به وظایفی دارد که برنامه نویس می خواهد حل کند. برای پروژه های اینترنتی پایتون محبوب است که گوگل و فیسبوک در پروژه هایشان استفاده می کنند، برای اپلیکیشن های موبایل برای اندروید جاوا بهترین دوست است و برای iOS سوئیفت.

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

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

بعلاوه جهانی بودن، معیارهای بیشتری وجود دارد:

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

این سه توصیف برای Python، C#، Java و Ruby مناسب هستند.

در دهه 80 توسط برنامه نویس هلندی Guido van Rossum ساخته شد. شرکت های بزرگ فناوری با پایتون کار می کنند: Yandex، Google، Facebook و YouTube. این به اصطلاح زبان برنامه نویسی است - برای نوشتن آنچه برنامه در زیر هود دارد استفاده می شود. برای برنامه های کاربردی وب، توسعه بازی، نرم افزار سرور ... استفاده می شود.

سادگی محبوبیت تطبیق پذیری

کد به راحتی قابل خواندن است و ساختار واضحی دارد. ابزارهای استاندارد برای شروع یادگیری کافی است.

رتبه 1 در آموزش برنامه نویسی ابتدایی در دانشگاه های ایالات متحده.

به طور منظم به روز می شود - هر 2.5 سال. این زبان در پنج زبان محبوب برتر طبق شرکت تحلیلی TIOBE Software برای ژانویه 2016 گنجانده شده است.

تقریباً همه چیز در پایتون نوشته شده است: اسکریپت های مدیریت سیستم ها، وب سایت ها، سیستم های یادگیری ماشین، بازی ها.

این زبان در اواخر دهه 90 بر اساس C ++ و جاوا توسعه یافت. بیشتر برای پروژه های بزرگ سازمانی استفاده می شود، اما فقط به آنها محدود نمی شود. به عنوان مثال، اسکریپت ها در موتور بازی Unity به زبان C# نوشته می شوند.

سادگی محبوبیت تطبیق پذیری

از نظر ساختاری نزدیک به C ++ و جاوا - نحو (ساختار کد برنامه) پیچیده‌تر از Python و Ruby است، اما یادگیری زبان‌های مرتبط زمان کمتری می‌برد. رابط های کتابخانه به خوبی با الگوهای طراحی مطابقت دارد و یادگیری آن را آسان می کند.

آخرین به روز رسانی در سال 2015 بود.

C# برای Windows Phone، iOS و Android نوشته شده است. اسناد زیادی وجود دارد، اما کتابخانه های زیادی با مجوز رایگان وجود ندارد - این بدان معنی است که یک برنامه نویس می تواند از کد شخص دیگری برای آموزش استفاده کند، اما برای استفاده از آن در یک محصول تجاری باید هزینه بپردازید.

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


یاقوت سرخ

ایجاد شده توسط یک توسعه دهنده ژاپنی تحت تاثیر زبان Perl. در سال 1995 راه اندازی شد. در Ruby نوشته شده است Shopify، Github، Groupon، Yellow Pages، Twitter و Slideshare. محبوبیت آن در حال افزایش است، اما در استارت آپ ها بیشتر از شرکت های بزرگ رایج است. برای ایجاد یک پروژه اینترنتی ساده خوب است.

سادگی محبوبیت تطبیق پذیری

مانند پایتون، خواندن کد آسان است. ساختار نیز مشابه پایتون است. در مقایسه با سایر زبان‌ها، انتخاب کتابخانه‌های استاندارد ضعیف‌تر است - شما باید زمانی را صرف جستجو کنید.

یک جامعه توسعه‌دهنده بزرگ و وفادار - ده زبان محبوب را طبق نرم‌افزار TIOBE جمع‌آوری می‌کند. بسیاری از کتابخانه ها به صورت رایگان در دسترس هستند.

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


جاوا

اولین نسخه این زبان در می 1995 منتشر شد. جاوا توسط آمازون، eBay، LinkedIn و Yahoo استفاده می شود!

سادگی محبوبیت تطبیق پذیری

همانطور که قبلاً ذکر شد، جاوا و سی # سینتکس بسیار مشابهی دارند - شما یکی را یاد گرفته اید، تقریباً دیگری را می شناسید. اما مانند مورد اول، نحو پیچیده‌تر از Ruby و Python است.

3 میلیارد گوشی هوشمند اندرویدی در جهان وجود دارد که به این معنی است که جاوا برای مدت طولانی مورد تقاضا خواهد بود. اولین محبوب ترین توسط نرم افزار TIOBE.

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


خلاصه آماده سازی

نتیجه گیری دشوار است. از یک طرف، فرصت کشتن دو پرنده با یک سنگ و گرفتن جاوا یا C # اشاره می کند، اما پایتون با تطبیق پذیری اش و روبی - با سادگی اش اشاره می کند.

ما تردید کردیم و رفتیم تا با توسعه دهندگان با تجربه صحبت کنیم - آنها همچنان به شما توصیه می کنند در پایتون بمانید. در اینجا گریگوری پتروف، توسعه دهنده حرفه ای، مبشر VoxImplant، می گوید:

زبان برنامه نویسی پایتون اغلب به عنوان «شبه کد اجرایی» نامیده می شود، زیرا نحو و کتابخانه های استاندارد زبان بر خوانایی و قابل فهم بودن تأکید دارند. به این مجموعه گسترده ترین ابزارهای توسعه، کتابخانه ها، مواد آموزشی را اضافه کنید - و ما یکی از بهترین زبان های برنامه نویسی را برای مبتدیان داریم.

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

مقالات مرتبط برتر