برنامه نویسی یا کدنویسی کامپیوتری ترکیبی از سایت های آموزش برنامه نویسی به کودکان توالی دستورات است که برنامه نامیده می شود که رایانه ها می توانند برای انجام وظایف از آنها پیروی کنند.[1][2] این شامل طراحی و پیاده سازی الگوریتم ها، مشخصات گام به گام رویه ها، با نوشتن کد در یک یا چند زبان برنامه نویسی است. برنامه نویسان معمولاً از زبان های برنامه نویسی سطح بالا استفاده می کنند که برای انسان راحت تر از کد ماشین قابل درک است که مستقیماً توسط واحد پردازش مرکزی اجرا می شود. برنامه نویسی ماهر معمولاً به تخصص در چندین موضوع مختلف از جمله دانش حوزه برنامه، جزئیات زبان های برنامه نویسی و کتابخانه های کد عمومی، الگوریتم های تخصصی و منطق رسمی نیاز دارد.
وظایف کمکی همراه و مرتبط با برنامه نویسی سایت های آموزش برنامه نویسی به کودکان شامل تجزیه و تحلیل نیازمندی ها، آزمایش، اشکال زدایی (بررسی و رفع مشکلات)، پیاده سازی سیستم های ساخت و مدیریت مصنوعات مشتق شده، مانند کد ماشین برنامه ها است. در حالی که اینها گاهی اوقات برنامه نویسی در نظر گرفته می شوند، اغلب اصطلاح توسعه نرم افزار برای این فرآیند کلی بزرگتر استفاده می شود - با عبارات برنامه نویسی، پیاده سازی، و کدگذاری برای نوشتن و ویرایش کد فی نفسه. گاهی اوقات توسعه نرم افزار به عنوان مهندسی نرم افزار شناخته می شود، به خصوص زمانی که از روش های رسمی استفاده می کند یا از یک فرآیند طراحی مهندسی پیروی می کند.
تاریخ
آدا لاولیس، که یادداشت هایش به انتهای مقاله لوئیجی سایت های آموزش برنامه نویسی به کودکان منابریا اضافه شد، شامل اولین الگوریتمی بود که برای پردازش توسط موتور تحلیلی چارلز بابیج طراحی شده بود. او اغلب به عنوان اولین برنامه نویس کامپیوتر تاریخ شناخته می شود.
همچنین ببینید: برنامه های کامپیوتری § تاریخچه، برنامه نویس § تاریخچه و تاریخچه زبان های برنامه نویسی
دستگاه های قابل برنامه ریزی قرن هاست که وجود داشته اند. در اوایل قرن نهم، یک ترتیبدهنده موسیقی قابل برنامهریزی توسط برادران ایرانی بانو موسی اختراع شد که یک دستگاه فلوت مکانیکی خودکار را در کتاب دستگاههای مبتکر توصیف کردند.[3][4] در سال 1206، مهندس عرب الجزاری یک دستگاه درام قابل برنامه ریزی را اختراع کرد که در آن یک خودکار مکانیکی موسیقی می توانست برای نواختن ریتم ها و الگوهای طبل مختلف، از طریق میخ ها و بادامک ها ساخته شود.[5][6] در سال 1801، دستگاه بافندگی ژاکارد میتوانست با تغییر «برنامه» بافتهای سایت های آموزش برنامه نویسی به کودکان کاملاً متفاوتی تولید کند - یک سری کارتهای مقوایی با سوراخهایی روی آنها.
الگوریتم های کدشکن نیز قرن هاست که وجود داشته اند سایت های آموزش برنامه نویسی به کودکان . در قرن نهم، الکندی، ریاضیدان عرب، یک الگوریتم رمزنگاری را برای رمزگشایی کد رمزگذاری شده در کتاب دستنوشته ای در مورد رمزگشایی پیام های رمزنگاری شده توصیف کرد. او اولین توصیف را از تحلیل رمز با استفاده از تحلیل فرکانس، اولین الگوریتم شکستن کد، ارائه کرد.[7]
اولین برنامه کامپیوتری به طور کلی به سال 1843 مربوط می شود، زمانی که ریاضیدان آدا لاولیس الگوریتمی را برای محاسبه دنباله ای از اعداد برنولی منتشر کرد که قرار بود توسط موتور تحلیلی چارلز بابیج انجام شود.[8]
دادهها و دستورالعملها زمانی روی کارتهای پانچ خارجی ذخیره میشدند، که به ترتیب نگهداری میشدند و در عرشههای برنامه مرتب میشدند.
در دهه 1880، هرمان هولریث مفهوم ذخیره سازی سایت های آموزش برنامه نویسی به کودکان داده ها را به شکل قابل خواندن توسط ماشین ابداع کرد.[9] بعداً یک تابلوی کنترل (پلاگ برد) به جدولساز نوع اول او در سال 1906 اجازه داد تا برای کارهای مختلف برنامهریزی شود، و در اواخر دهه 1940، تجهیزات ضبط واحد مانند IBM 602 و IBM 604 توسط پانلهای کنترل در یک برنامه مشابه برنامهریزی شدند. مانند اولین کامپیوترهای الکترونیکی. با این حال، با مفهوم کامپیوتر برنامه ذخیره شده که در سال 1949 معرفی شد، هم برنامه ها و هم داده ها به یک شکل در حافظه کامپیوتر ذخیره و دستکاری شدند.[10]
زبان ماشین
کد ماشین زبان برنامه های اولیه بود که در مجموعه دستورات ماشین خاص، اغلب به صورت نماد دودویی نوشته می شد. زبانهای اسمبلی به زودی توسعه یافتند که به برنامهنویس اجازه میداد دستورالعملها را در قالب متنی (مثلاً ADD X، TOTAL) با اختصارات برای هر کد عملیات و نامهای معنیدار برای تعیین آدرسها مشخص کند. با این حال، از آنجایی که یک زبان اسمبلی کمی بیشتر از یک نماد متفاوت برای یک زبان ماشین است، دو ماشین سایت های آموزش برنامه نویسی به کودکان با مجموعههای دستورالعمل متفاوت نیز زبانهای اسمبلی متفاوتی دارند.
کنترل پنل سیمی برای ماشین حسابداری IBM 402. سیمها جریانهای پالس را از کارتخوان به شمارندهها و دیگر منطقهای داخلی و در نهایت به چاپگر متصل میکنند.
زبان های کامپایلر
همچنین ببینید: کامپایلر
زبانهای سطح بالا، فرآیند توسعه یک برنامه را سادهتر و قابل فهمتر کرده و کمتر به سختافزار زیرین محدود میشوند. اولین ابزار مرتبط با کامپایلر، سیستم A-0، در سال 1952 [11] توسط گریس هاپر، که اصطلاح "کامپایلر" را نیز ابداع کرد، توسعه یافت.[12][13] FORTRAN، اولین زبان سطح بالا که به طور گسترده Programming teaching sites for children مورد استفاده قرار گرفت و دارای پیاده سازی کاربردی بود، در سال 1957 منتشر شد، [14] و بسیاری از زبان های دیگر.
برنامه نویسی یا کدنویسی کامپیوتری ترکیبی از سایت های آموزش برنامه نویسی به کودکان توالی دستورات است که برنامه نامیده می شود که رایانه ها می توانند برای انجام وظایف از آنها پیروی کنند.[1][2] این شامل طراحی و پیاده سازی الگوریتم ها، مشخصات گام به گام رویه ها، با نوشتن کد در یک یا چند زبان برنامه نویسی است. برنامه نویسان معمولاً از زبان های برنامه نویسی سطح بالا استفاده می کنند که برای انسان راحت تر از کد ماشین قابل درک است که مستقیماً توسط واحد پردازش مرکزی اجرا می شود. برنامه نویسی ماهر معمولاً به تخصص در چندین موضوع مختلف از جمله دانش حوزه برنامه، جزئیات زبان های برنامه نویسی و کتابخانه های کد عمومی، الگوریتم های تخصصی و منطق رسمی نیاز دارد.
وظایف کمکی همراه و مرتبط با برنامه نویسی سایت های آموزش برنامه نویسی به کودکان شامل تجزیه و تحلیل نیازمندی ها، آزمایش، اشکال زدایی (بررسی و رفع مشکلات)، پیاده سازی سیستم های ساخت و مدیریت مصنوعات مشتق شده، مانند کد ماشین برنامه ها است. در حالی که اینها گاهی اوقات برنامه نویسی در نظر گرفته می شوند، اغلب اصطلاح توسعه نرم افزار برای این فرآیند کلی بزرگتر استفاده می شود - با عبارات برنامه نویسی، پیاده سازی، و کدگذاری برای نوشتن و ویرایش کد فی نفسه. گاهی اوقات توسعه نرم افزار به عنوان مهندسی نرم افزار شناخته می شود، به خصوص زمانی که از روش های رسمی استفاده می کند یا از یک فرآیند طراحی مهندسی پیروی می کند.
تاریخ
آدا لاولیس، که یادداشت هایش به انتهای مقاله لوئیجی سایت های آموزش برنامه نویسی به کودکان منابریا اضافه شد، شامل اولین الگوریتمی بود که برای پردازش توسط موتور تحلیلی چارلز بابیج طراحی شده بود. او اغلب به عنوان اولین برنامه نویس کامپیوتر تاریخ شناخته می شود.
همچنین ببینید: برنامه های کامپیوتری § تاریخچه، برنامه نویس § تاریخچه و تاریخچه زبان های برنامه نویسی
دستگاه های قابل برنامه ریزی قرن هاست که وجود داشته اند. در اوایل قرن نهم، یک ترتیبدهنده موسیقی قابل برنامهریزی توسط برادران ایرانی بانو موسی اختراع شد که یک دستگاه فلوت مکانیکی خودکار را در کتاب دستگاههای مبتکر توصیف کردند.[3][4] در سال 1206، مهندس عرب الجزاری یک دستگاه درام قابل برنامه ریزی را اختراع کرد که در آن یک خودکار مکانیکی موسیقی می توانست برای نواختن ریتم ها و الگوهای طبل مختلف، از طریق میخ ها و بادامک ها ساخته شود.[5][6] در سال 1801، دستگاه بافندگی ژاکارد میتوانست با تغییر «برنامه» بافتهای سایت های آموزش برنامه نویسی به کودکان کاملاً متفاوتی تولید کند - یک سری کارتهای مقوایی با سوراخهایی روی آنها.
الگوریتم های کدشکن نیز قرن هاست که وجود داشته اند سایت های آموزش برنامه نویسی به کودکان . در قرن نهم، الکندی، ریاضیدان عرب، یک الگوریتم رمزنگاری را برای رمزگشایی کد رمزگذاری شده در کتاب دستنوشته ای در مورد رمزگشایی پیام های رمزنگاری شده توصیف کرد. او اولین توصیف را از تحلیل رمز با استفاده از تحلیل فرکانس، اولین الگوریتم شکستن کد، ارائه کرد.[7]
اولین برنامه کامپیوتری به طور کلی به سال 1843 مربوط می شود، زمانی که ریاضیدان آدا لاولیس الگوریتمی را برای محاسبه دنباله ای از اعداد برنولی منتشر کرد که قرار بود توسط موتور تحلیلی چارلز بابیج انجام شود.[8]
دادهها و دستورالعملها زمانی روی کارتهای پانچ خارجی ذخیره میشدند، که به ترتیب نگهداری میشدند و در عرشههای برنامه مرتب میشدند.
در دهه 1880، هرمان هولریث مفهوم ذخیره سازی سایت های آموزش برنامه نویسی به کودکان داده ها را به شکل قابل خواندن توسط ماشین ابداع کرد.[9] بعداً یک تابلوی کنترل (پلاگ برد) به جدولساز نوع اول او در سال 1906 اجازه داد تا برای کارهای مختلف برنامهریزی شود، و در اواخر دهه 1940، تجهیزات ضبط واحد مانند IBM 602 و IBM 604 توسط پانلهای کنترل در یک برنامه مشابه برنامهریزی شدند. مانند اولین کامپیوترهای الکترونیکی. با این حال، با مفهوم کامپیوتر برنامه ذخیره شده که در سال 1949 معرفی شد، هم برنامه ها و هم داده ها به یک شکل در حافظه کامپیوتر ذخیره و دستکاری شدند.[10]
زبان ماشین
کد ماشین زبان برنامه های اولیه بود که در مجموعه دستورات ماشین خاص، اغلب به صورت نماد دودویی نوشته می شد. زبانهای اسمبلی به زودی توسعه یافتند که به برنامهنویس اجازه میداد دستورالعملها را در قالب متنی (مثلاً ADD X، TOTAL) با اختصارات برای هر کد عملیات و نامهای معنیدار برای تعیین آدرسها مشخص کند. با این حال، از آنجایی که یک زبان اسمبلی کمی بیشتر از یک نماد متفاوت برای یک زبان ماشین است، دو ماشین سایت های آموزش برنامه نویسی به کودکان با مجموعههای دستورالعمل متفاوت نیز زبانهای اسمبلی متفاوتی دارند.
کنترل پنل سیمی برای ماشین حسابداری IBM 402. سیمها جریانهای پالس را از کارتخوان به شمارندهها و دیگر منطقهای داخلی و در نهایت به چاپگر متصل میکنند.
زبان های کامپایلر
همچنین ببینید: کامپایلر
زبانهای سطح بالا، فرآیند توسعه یک برنامه را سادهتر و قابل فهمتر کرده و کمتر به سختافزار زیرین محدود میشوند. اولین ابزار مرتبط با کامپایلر، سیستم A-0، در سال 1952 [11] توسط گریس هاپر، که اصطلاح "کامپایلر" را نیز ابداع کرد، توسعه یافت.[12][13] FORTRAN، اولین زبان سطح بالا که به طور گسترده Programming teaching sites for children مورد استفاده قرار گرفت و دارای پیاده سازی کاربردی بود، در سال 1957 منتشر شد، [14] و بسیاری از زبان های دیگر.