Nestruktuirano programiranje

Nestruktuirano programiranje je istorijski najranije programiranje paradigma sposobno za kreiranje Tjuring-kompletnih algoritama. To istorijski prati procesno programiranje, a zatim objektno-orijentisano programiranje, oba se smatraju kao strukturirano programiranje.

Nestruktuirano programiranje je žestoko kritikovano za proizvodnju teško čitljivog ("špageti") koda i ponekad se smatra kao loš pristup za stvaranje velikih projekata, ali je pohvaljen za slobodu koju nudi programerima i da je u poređenju sa tim kako je Mocart napisao muziku.[1]

Postoje i visoki i niski nivoi programskih jezika koji koriste nestrukturirano programiranje. Ovo uključuje rane verzije Bejsika (kao što je MSX Bejsik i GW-Bejsik), Fortran, JOSS, FOCAL, MUMPS, TELCOMP, Kobol, prvu generaciju programskog jezika, rane sisteme za montažu (bez proceduralnih meta operatora), monter debager i neke skript jezike kao što je MS-DOS batch datoteka jezika.

Karakteristike i karakteristični koncepti

uredi

Osnovni pojmovi

uredi

Program u nestruktuiranom jeziku se obično sastoji od dosledno narednih komandi, ili izjava, obično u svakoj liniji. Linije su obično obeležene brojevima ili mogu imati etikete: ovo omogućava protok izvršenja da skoči na bilo koju liniju u programu. Nestruktuirano programiranje uvodi osnovne koncepte kontrola protoka kao što su petlje, grane i skokovi. Iako ne postoji koncept procedura u nestruktuiranim paradigmama (uredi), podprogrami su dozvoljeni. Za razliku od postupka, potprogrami možgu imati nekoliko ulaznih i izlaznih tačaka, i direktan skok u ili iz potprograma je (teoretski) dozvoljeno Ova fleksibilnost omogućava realizaciju coroutines-a.

Ne postoji koncept lokalnih scoped varijabli u nestruktuiranom programiranju (mada za montažu programa, opšta svrha registra može da posluži u istu svrhu nakon snimanja pri ulasku), ali oznake i promenljive mogu da imaju ograničen prostor delovanja (na primer, grupa linija). To znači da nema (automatski) kontekst osveže prilikom pozivanja potprogram, tako da sve promenljive mogu zadržati svoje vrednosti iz prethodnog poziva. Zbog toga uopšte rekurzija je teška, ali neki slučajevi rekurzije - gde nisu potrebni potprogrami stanja vrednosti nakon rekurzivnog poziva - su moguće ako promenljive posvećene rekurzivnim potprogramima su eksplicitno izbačene (ili ponovo postavljaju na svoje originalne vrednosti) o upisu na potprogramima. Dubina gnežđenja takođe će biti ograničena na jedan ili dva nivoa.

Tipovi podataka

uredi

Nestruktuirani jezici dozvoljavaju samo osnovne vrste podataka, kao što su brojevi, stringovi i nizovi (uredi) (obeležen brojevima kompleta promenljivih istog tipa). Uvođenje nizova u nestruktuirani jezik bio je značajan korak napred, čineći prenos obrade podataka mogućim uprkos nedostatku strukturiranih tipova podataka (uredi).

Reference

uredi

Literatura

uredi

Spoljašnje veze

uredi
  • BPStruct - Alat na strukturi istovremenih sistema (programi, proces modeli)