Imperative programming

Kutoka Wikipedia, kamusi elezo huru
Jump to navigation Jump to search

Imperative programming – ni programming paradigm (mtindo wa kuandikia source code za programu za kompyuta) inayo tabia zifuatazo:

  • katika source code zinaandikiwa statements;
  • statements lazima zitekelezwe hatua kwa hatua;
  • wakati wa utekelezaji wa statement data zinazopatwa wakati wa utekelezaji wa statements zinazotangulia zinawezekana kusomwa kutoka kumbukumbu;
  • data zilizopatwa wakati wa utekelezaji wa statement zinawezekana kuandikwa katika kumbukumbu.

Imperative program inafanana na amri zinazoelezwa na hali ya kuamuru katika lugha asilia yaani zi mfululizo wa maagizo ambayo kompyuta lazima zitekeleze.

Code inapoandikwa kufuatana na imperative approach (kutofautiana na functional approach inayohusia declarative paradigm) assignment inatumiwa sana. Upatikanaji wa assignment statements unatatanisha mtindo wa mkokotoo na imperative programs zikawa na matokeo ya makosa ya aina ya pekee yasiyotokea kwa functional approach.[1]

Dalili za kimsingi za imperative languages:

  • matumizi ya named variables;
  • matumizi ya assignment statement;
  • matumizi ya complex expressions;
  • matumizi ya subroutines.

Historia[hariri | hariri chanzo]

Imperative languages za kwanza zilikuwa zile machine codes zilizo maagizo yaliyoko tayari kutekelezwa na kompyuta mara (bila ya mageuzi yoyote). Baadaye assemblers zilitengenezwa na programu zikawa kuandikiwa kwa msaada wa lugha za assembler. Assembler ni programu ya kompyuta inayotumiwa kwa kugeuza machine codes zilizoandikiwa katika sura ya matini kwa lugha inayofahamika kwa binadamu (lugha ya assembler) kuwa machine codes katika sura inayofahamika kwa kompyuta (kanuni ya mashine). Code moja ya lugha ya assembler kilipatana na code moja ya lugha ya mashine. Kompyuta mbalimbali zilikubalia seti mbalimbali za codes. Programu zilizoandikiwa kwa ajili ya kompyuta moja lazima ziandikiwe upya kwa kuzihamisha katika kompyuta nyingine.

Zilitengenezwa programming languages za ngazi ya juu na compilers zilizo programu zinazogeuza matini ya programming language iwe ya lugha ya mashine (machine code). Statement moja ya lugha ya ngazi ya juu ilipatana na statement moja au statements chache ya lugha ya mashine na lugha hii ilikuwa na statements mbalimbali kwa aina mbalimbali za mashine. Programming language ya ngazi ya juu ya kwanza ilikuwa lugha ya Fortran iliyotengenezwa na John Backus mwaka 1954. Inawezesha matumizi ya named variables, complex expressions, subroutines na elementi nyingine zilizopo imperative languages. Kwa urahisishaji wa uelezaji wa utaratibu wa mathematical algorithms mwishoni mwa miaka ya hamsini ilitengenezwa lugha ya Algol. Baadaye lugha ya Algol ikawa msingi wa kuandikia mifumo ya uendeshaji kwa aina kadhaa za kompyuta.

Lugha ya COBOL (mwaka 1960) na ya Basic (mwaka 1964) zikawa lugha za kwanza ambazo watengenaji wao walijaribu kufanya lugha zifanane na lugha ya Kiingereza. Miaka ya sabini Niklaus Wirth alitengeneza lugha ya Pascal. Dennis Ritchie alitengeneza lugha ya C. Mwaka 1978 timu ya watengenezaji wa kampuni ya Honeywell ilianza kutengeneza lugha ya Ada, specification yake ilitengenezwa mwaka 1983 na ilitengenezwa upya mwaka 1995 na miaka 2005-2006. Mnano miaka ya themanini kuliongezeka mvutio wa object-oriented programming.

Mwaka 1980 wafanyakazi wa taasisi ya Xerox PARC walitengeneza lugha ya Smalltalk-80 kwa msingi wa lugha ya Smalltalk iliyotengenezwa na Alan Kay mwaka 1969. Bjarne Stroustrup alitengeneza lugha ya C++ kwa msingi wa lugha ya C na tamthili ya lugha ya Simula (iliyodhaniwa kuwa object-oriented language ya kwanza duniani iliyotengenezwa miaka sitini). Utekelezaji wa kwanza wa C++ ulitengenezwa mwaka 1985. Mwaka 1987 Larry Wall alitengeneza lugha ya Perl na interpreter kwake. Mwaka 1990 Guido van Rossum alitengeneza lugha ya Python. Mwaka 1994 Rasmus Lerdorf alitengeneza lugha ya PHP. Mwaka 1994 katika kampuni ya SUN Microsystems kulitengenezwa lugha ya Java Virtual Machine (JVM). Mwaka 1995 Yukihiro Matsumoto alitengeneza lugha ya Ruby. Lugha ya C# na jukwaa ya .Net Framework zilizalishwa na kampuni ya Microsoft mwaka 2002.

  1. Harold Abelson, Jerry Sussman, and Julie Sussman: Structure and Interpretation of Computer Programs (MIT Press, 1984; ISBN 0-262-01077-1), Pitfalls of imperative programming