جزوه تایپ شده برنامه نویسی شی گرا
: § § دهنده موسیقی قابل برنامهریزی توسط برادران ایرانی بانو موسی اختراع شد که یک دستگاه فلوت مکانیکی خودکار را در کتاب [4] [5] [6] [7] «» ً – [8]
ً [9]
[10] ً () [11]
(ً ) : -[12] “” [13] [14] [15] – [15] 
: :
: (ً ) ().
: () : : : () : [18] ً / : (): ً ً : از همه مهمتر قابلیت نگهداری.
خوانایی مهم است زیرا برنامه نویسان بیشتر وقت خود را صرف خواندن، تلاش برای درک، استفاده مجدد و اصلاح کد منبع موجود می کنند، نه نوشتن کد منبع جدید. کدهای [19]
[20] :
()
()
() () پیچیدگی الگوریتمی
رشته آکادمیک و تمرین مهندسی برنامه نویسی کامپیوتر، هر دو عمدتاً به کشف و پیاده سازی کارآمدترین الگوریتم ها برای یک کلاس معین از مسائل مربوط می شوند. برای این منظور ، الگوریتمها با استفاده از نماد Big O به ترتیبی طبقهبندی میشوند که استفاده از منابع مانند زمان اجرا یا مصرف حافظه را بر حسب اندازه ورودی بیان میکند. برنامه نویسان خبره با انواع الگوریتم های به خوبی تثبیت شده و پیچیدگی های مربوط به آنها آشنا هستند و از این دانش برای انتخاب الگوریتم هایی استفاده می کنند که به بهترین وجه مناسب شرایط هستند.
روش شناسی
اولین گام در اکثر فرآیندهای رسمی توسعه نرم افزار ، تجزیه و تحلیل نیازمندی ها است ، به دنبال آن آزمایش برای تعیین مدل سازی ارزش، پیاده سازی، و حذف شکست (اشکال زدایی) ( ) ( ) ( ) -( ) ( )، : : [21] ()، ().

[22] ً (++ ++ : [23] «» ً ً /: ً : : § ().). بسته های شخص ثالث، یا ترجیحات فردی. در حالت ایده آل، زبان برنامه نویسی که برای کار در دست مناسب است انتخاب می شود. معاوضه از این ایده آل شامل یافتن برنامه نویسان کافی است که زبان را برای ساختن یک تیم می دانند، در دسترس بودن کامپایلر برای آن زبان، و کارایی برنامه های نوشته شده در یک زبان خاص اجرا می شوند. زبان ها یک طیف تقریبی از “سطح پایین” تا “سطح بالا” را تشکیل می دهند. زبانهای «سطح پایین» معمولاً ماشینگراتر و سریعتر اجرا میشوند، در حالی که زبانهای «سطح بالا» انتزاعی”” ” :
ً :
: : : : : ً (ً )،