تاریخچه توسعه نرم افزار به قرن ها نه دهه ها پیش باز می گردد. از زمان ایجاد اولین ماشین اضافه کننده در صدها سال پیش، تمدن ما در حال بهبود فناوری به روش هایی بوده است که قبلا غیرممکن تلقی می شد. در کنار این ارتقاهای سخت افزاری، پیشرفت های نرم افزاری نیز وجود داشته است که زندگی ما را آسان کرده است، از ماشین حساب گرفته تا تقویم و نرم افزار خرده فروشی که به مشتریان امکان می دهد از کارت های نقدی خود برای خرید ژاکت استفاده کنند. تکامل نرمافزار از اولین کامپیوتر تا امروز، نگاهی شگفتانگیز به نحوه دستکاری ما در دنیای اطرافمان، از جمله دنیای دیجیتالی است که ایجاد کردهایم.
در حالی که برخی ممکن است فکر کنند کامپیوترها تا قرن بیستم به هیچ شکلی وجود نداشتند، اولین کامپیوتر واقعی در اوایل قرن نوزدهم اختراع شد. توسط چارلز بابیج اختراع شد و موتور تفاوت نام داشت و هدف آن این بود که یک ماشین حساب ساده باشد. این به سرعت به موتور تحلیلی تبدیل شد، که بسیار به کامپیوتری که امروز میشناسیم نزدیکتر بود. با استفاده از کارت های پانچ، یک انسان می تواند موتور را برای پردازش چندین محاسبات مختلف در یک زمان برنامه ریزی کند و خروجی آن را می توان چاپ یا نمودار کرد. این توسعه نرم افزار سفارشی اولیه بود و زمینه را برای قرن بیستم فراهم کرد.
در حدود سال 1940، جهان کم و بیش کامپیوترها را همانطور که امروزه می شناسیم شروع کرد. یکی از اولین مدل ها کامپیوتر Atanasoff-Berry بود. بزرگتر از آن بود که در درگاه قرار بگیرد، اما می توان از آن برای حل معادلات خطی استفاده کرد. اولین نرم افزار رسمی که نوشته شد با کارت های پانچ ساخته شد و بزرگترین مقسوم علیه 2 به توان 18 را محاسبه کرد. تکمیل محاسبه 52 دقیقه طول کشید!
این دستاورد منجر به رونق در توسعه نرم افزار، از جمله ایجاد اولین زبان برنامه نویسی، FORTRAN شد. این زبانی بود که ممکن است امروز ببینیم، با کلمات انگلیسی که عملکردهای سطح پایینتری را نشان میدهند تا خواندن و برنامهنویسی آن آسانتر شود.
در سال 1957 منتشر شد و سپس در سال 1958 به روز شد تا شامل کدهای استفاده مجدد شود. دلیل اینکه این زبان به طور خاص بسیار مهم بود، این بود که چقدر گسترده به کار می رفت. تا این زمان، هر برنامه اساساً روی یک ماشین به زبان خودش نوشته می شد. FORTRAN بر روی ماشینهای مختلف ساخته شده توسط افراد مختلف پیادهسازی شد و به افراد اجازه میداد برنامهها را از یک ماشین به ماشین دیگر منتقل کنند. این استاندارد توسط FORTRAN 66، اولین استاندارد برای یک زبان برنامه نویسی، بیشتر شد.
توسعه یک کامپیوتر شخصی نرم افزار را به شدت تغییر داد. در حال حاضر، هر شخصی می تواند یک کامپیوتر در اتاق نشیمن خود داشته باشد. فقط برای یک ترمینال کامپیوتر نیازی به اتاق سرور نبود. Apple II انقلابی در محاسبات ایجاد کرد و به دنبال آن خرده فروشی نرم افزار به سرعت آغاز شد. برنامه ها را می توان بر روی فلاپی دیسک بارگذاری کرد و در اختیار کاربران قرار داد تا روی رایانه خود اجرا کنند. این کامپیوترها برای شروع دیسک سخت بزرگی نداشتند. تمام نرم افزار مورد نیاز برای قرار گرفتن بر روی یک فلاپی دیسک، بنابراین برنامه ها باید ساده نگه داشته می شدند.
در این زمان، زبان های برنامه نویسی برای توسعه دهندگان مدرن بیشتر و بیشتر آشنا می شدند. این دوره زمانی است که C مانند پاسکال و SQL در آن توسعه یافته است. برخی از زبانهای دیگر نیز مانند سیمولا و پرولوگ که از زمان تجاوز زمان جان سالم به در نبردهاند نیز استفاده میشوند. این زبان ها با تأکید بر برنامه نویسی شی گرا و منطق شروع به ساختن پایه زبان های امروزی کردند.
در دهه 1980، در حالی که برنامه های رایانه شخصی وجود داشت، برنامه نویسی تجاری بود که واقعاً صنعت را به جلو سوق داد. سیستمهای در مقیاس بزرگ ایجاد شدند و سختافزارهایی که به سرعت در حال پیشرفت بودند برای اجرای سیستمهای بزرگتر و پیچیدهتر در دسترس قرار گرفتند. ابزارهای اصلی امروزی مانند مایکروسافت آفیس در این زمان منتشر شدند، همانطور که اولین مرورگرهای وب منتشر شدند. ظهور اینترنت یافتن برنامه ها را آسان تر کرد. این همچنین اولین توسعه برنامه وب سفارشی را آغاز کرد. در حالی که امروزه ایجاد وب سایت ها همیشه به عنوان «برنامه نویسی» دیده نمی شود، در اواسط دهه 1990 بسیار فنی بود، زمانی که اینترنت هنوز در مراحل ابتدایی خود بود.
اولین سلف تلفن هوشمند مدرن در دسترس عموم در سال 1994 عرضه شد: IBM’s Simon. دارای صفحه نمایش لمسی، تقویم و سرویس گیرنده ایمیل بود. این به شما توانایی گشت و گذار در اینترنت را نمی داد، زیرا مرورگرهای وب اخیراً اختراع شده بودند. اما به سرعت، توسعه و فروش این PDA ها یا دستیارهای دیجیتال شخصی رونق گرفت.
برای تلفن های همراه، سیستم عامل باید کاملاً با سیستم عامل یک کامپیوتر استاندارد متفاوت باشد و زبان های برنامه نویسی نیز اغلب متفاوت بودند. برای اولین گوشی های هوشمند، اضافه کردن برنامه های جدید به آنها غیرممکن بود. تلفن همراه با همان چیزی بود که همراه آن بود و جایی برای برنامه های جدید نداشت، حتی اگر بتوان آنها را روی آن بارگذاری کرد.
با این حال، به زودی، زبانهای برنامهنویسی برای تلفنهای همراه منتشر میشوند که به اندازه کافی ساده هستند تا همه بتوانند از آن استفاده کنند. در دهه 2000، برنامه نویسان در حال ایجاد برنامه برای تلفن های هوشمند بودند و این برنامه ها و دستگاه ها از آن زمان تا به امروز پیچیده تر و پیچیده تر شدند.
توسعه نرمافزار امروزه بر دوش آنچه قبلاً آمده است میایستد. C هنوز یک زبان برنامه نویسی محبوب است، اگرچه توسط برادر کوچکترش C++ کنار گذاشته شده است. سیستم عامل های موبایل زنده و سالم هستند، همانطور که زبان های برنامه نویسی مورد استفاده برای کدنویسی آنها هستند. و ما همچنان فضای دیجیتال بیشتری را در همان فضای فیزیکی داریم و محدودیتهای فناوری را دورتر و دورتر میکنیم.
یکی از بزرگترین حرکتها در توسعه نرمافزار مدرن، قرار دادن تراشهها در دستگاههایی است که قبلاً «گنگ» بودند، مانند اجاقهای آهسته. در گذشته، آهسته پز دارای صفحه ای با سه گزینه بود: خاموش، کم و زیاد. با این حال، یک آهسته پز مدرن ممکن است دارای تراشه ای با برنامه ریزی منحصر به فرد روی آن باشد که به شما امکان می دهد مدت زمان پخت و درجه حرارت را تنظیم کنید. سپس، برای جلوگیری از پختن بیش از حد غذا، به طور خودکار به یک تنظیم گرم می شود. این تنها یک نمونه از روشی است که در آن توسعه نرم افزار سفارشی نحوه تعامل ما با فناوری را تغییر داده است.
علاوه بر این، توسعه برنامه های وب سفارشی با اینترنت منفجر شده است، و بسیاری از نرم افزارهای حاصل به اتاق سرور بازگشته اند، اکنون که نیازی به اتصال به سرورهایی نداریم که در همان اتاق ما هستند. امروزه، بسیار راحتتر است که یک برنامه کامل روی سروری در جای دیگری اجرا شود و به صورت آنلاین به شما ارائه شود، چه روی رایانه رومیزی یا یک دستگاه بیسیم.
نرم افزارهای برنامه نویسی چه مزایایی دارند؟