History of IT. OOP

My previous article “ History of IT. When computers were big ... ”we ended in the late 1980s, when two significant events happened. First, there was OOP and the C ++ object language . And secondly, personal computers appeared , and this fundamentally changed the tasks facing IT development.



And the point here is not that there is an opportunity to keep computers at home and perform work tasks on them: edit texts, make calculations, create drawings. The software for this does not fundamentally differ from that for large computers - they knew how to develop it. The only question was in optimization and adaptation for limited resources.



The main change is that personal computers have made computers available to small businesses. Business process automation systems were required, which are very different in different companies. It is difficult to make a typical system: now such systems already exist, for example, 1C, but at that time they did not exist. OOP helped to solve this problem. This part of the history of the development of IT and the concepts that then appeared and are still used, I will tell in this article.



The emergence of OOP



, - - () .



. , 1960-. , : (1960), 1967 , , 1972 Smalltalk. , : , , Smaltalk , .



? . , . , , . (2010-) : Erlang, . Smaltalk . ++, , , .



, , . , . , 1979-1986 C++. , Objective-C (1982), , Eiffel (1985) design by contract, .



, , , , , , . , . , , , . , « », ++ .



: , , . , , . IT- , , - .



« » . , , , . , . , . -, – , , , . , , , . , – , C, «» .



, , 1976 « + = » . 1980- ++, , .



, , . ++ , , , - . , , , ++, , , . , , .





, C++ . — . , , .



, , . – SOLID. . SOLID , , . , -, , , - , . - , , - , . .



? , , .

, – . , , . , , , , , .



– , . , if , else if . switch, , default . , , , , junior- . – , .



: -



, - . . – , . , , .



-. 1990- . - . - , - : Object-oriented programming Object-oriented analysis and design.



UML (Unified Modelling Language), , , . . , , , . , :



– ?

– .



1990- Rational Software – , , . .



UML. , , – Object Management Group (OMG), .



. 1997 UML Distilled, UML , , .



UML : , . , . , , -, (1960-) ( ) ER-, .



-



. - , , . .

, , , . 90-95% – « ».



100 , 5-10 . 10000 , 500-1000, . 50 , . , , , -. - . . , SAP, , .



, , , . know-how, , . know-how , , . 1C , , , -, , -. – , . .



, 90- – . , . , , . – 64 , , : , , . , , 128 .



-



- , , -, . , , , , .



UML, , , . -, , , .

, - . – .



, . , . , -, UML . , , - .



. , , , , . , , – , – , . , , – . , – - , - , – . , . , , , , UML.



: ?



, . -, , . , 90-, - - , , , , . , , .



, , , -. , , , , , , , . . , – , , , . .



, . . - , , , , .



, , . , , .



, – . , , , . – . , .



, , , , , , , C++ . IT, , – - .



, , , IT, . , IT.



, , , , , , . , " ", "", " " .



— , ( ), , , .



, , , , — " " " " , - . , , , " ", "".





, SAP 1C, , , , . . – , 90-, , - .



« », . , , . , , , .



«Patterns of Enterprise Application Architecture» ( – ), . , – . , Record Set Transaction Script.



, , . , , , , . , , .



, , , , . , . .



? . 2010-, public web, NoSQL , . . , , PostgreSQL NoSQL , NoSQL , SQL-. , , .



, , , , , – . – ORM, Object Relational Mapper. 90- . , , , . -, , , . .



C# 2008 , . .



, , . , , . , , . , , , – , , . , , , .



, , : , , .



: ORM



, . 2000- . , - . - , , .



web-, enterprise- – , , , , web, -. .Net, , Delhi Java- .



, Oracle, PL/SQL . . , , . Oracle, , . PL/SQL, , . .



. . : , . : , linq, .



2003 , -. . , , , , .



Domain Driven Design



Domain Driven Design (DDD), . 2003, 2010 «- ». 2006 « DDD », , 2007. , , , DDD .





? -, . , , , , . : -, , -, . , (Ubiquitous Language), . , .



, , - , , , . , -, .



, , , , . , , . , , , . , inhouse-, , Agile- . , , . Agile , , . .



DDD . , , . : , - , , . , , , , , , .



, , .



.





, , DDD . . -, -, SAP, 1 - , DDD. , . . , -, , , , . , , . , , , , .







, , – (bounded context). , . , , , (context map).



, , . , — , , . . , «» , , . , , .





, , « ». , . DDD « - », . WIAD-2019 « — ».





DDD , , . 2011 AgileDays « — Agile-» Application Developers Days « . CUSTIS».



, , , . Rich Object , . , , . . DDD- , .



, . , , . - , DDD Rich Object. , , - , . , , . « », «DDD: » Software People-2013, .



Domain Driven Design , . WIAD-2020 «Domain-driven design: ». . , .



. IT public web, -, enterprise-. , .



, . . Java Script. , , . – .




All Articles