Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web servers, web development, networking and security services. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

Specijalistička instrumentacija, dizajn i programiranje



Inventio Software Ltd


Howerd Oakford piše da je : "Software-ski inženjering u povoju. Forth je samo jedan, od mnogih programskih jezika, i čak ni izdaleka ne podseća na C. Ja koristim Forth zato što mi to ne predstavlja problem u brzom pronalaženju rešenja. Koristim C zato što je to aktuelni standard."

Forth i Not C - lični pregled

30 Jul 2001

Forth se opisuje kao polarišući jezik – ili ga volite, ili mrzite. Priča o Forth-u je puno komplikovanija, od samog jezika, zato što se odnosi na svaki aspect obračunavanja, socijalne i političke interakcije, kao i ličnog ukusa.

U vreme kada je ovo pisano ( Maj 2001. ) C je najčešće upotrebljavani programski jezik, uz C++, Java, perl, i VB koji im se brzo približava. Forth se retko i pominje, i da sam i Ja tada bio u poslu koji se odnosi na upravljanje software-skim projektima, takođe bih ga ignorisao.

Na sreću, Ja ne vodim software-ske projekte, Ja samo dizajniram i ispisujem software, i što se mene tiče, Forth je puno zabavniji nego C. Upravo tako, Ja se zapravo igram Forth-om, iz zabave. Da zaradim za život, Ja programiram u C-u ( ili nekom drugom jeziku koji je u to vreme u modi), što je puno interesantnije i izazovnije, ali samo ponekad i zabavno. Ponekad čak budem i plaćen da pišem u Forth-u – zadovoljstvo koje je sve ređe, budući da je vrhunac Forth-a bio u ranim osamdesetim.

Naravno, bilo da programeri uživaju u svom poslu, ili ne, nekoliko prioriteta se nameće - daleko manje redova na dan, ispravljanje bagova i poštovanje rokova. To, dakle i nije snažan argument za radikalne promene...

Za nekoga ko treba da izvodi radove, specijalizovanje u Forth-u je komercijalno samoubistvo. Postoji nekoliko razloga zašto je to tako. Kao prvo, Forth se smatra mrtvim jezikom - poput COBOL, ADA itd ( izvinjenje svima koji su jako vezani za COBOL ili ADA – znam kako se osećate ! ). Predstavljanjem sebe kao Forth programera, na čelu vam piše "dinosaurus". Kao drugo, broj konkursa u kojima se traži Forth je minimalan, dakle teško se pronalazi posao. Kao treće, budući da je Forth redak, Forth programeri su takođe retki, i svako ko Forth ozbiljno razmatra za krupan projekat, rizikuje da se osloni svega nekolicinu Forth programera, koliko ih se može naći. Ovo na suptilan način prebacuje moć sa poslodavca na zaposlenog, što nikome ne pomaže.

Kao menadžeru, korišćenje Forth-a je samoubistvo za karijeru. Ako projekat propadne, nesumnjivo je vaša greška, jer ste izabrali Forth – niko drugi to ne radi, i ne možete prosto zameniti programere, kao što možete kada je u pitanju C, ili neki drugi popularni jezik. A ako projekat uspe, niko neće biti u stanju da ga održava. Vaš šef neće poznavati Forth, pa ćete morati, suptilno da šifrirate vaš rad, tako da on ili ona ne saznaju šta zapravo radite, ili prinudite, njega ili nju, da uče novi jezik koji niko ne koristi, i zato je to gubljenje vremena... Nemojte to raditi

Dakle, kao što možete videti, Forth nikome nije u interesu, pa je najbolje ostaviti fosile da miruju.

Međutim, ovo nije cela slika. Ljudska bića su neograničeno komplikovanija od računara, i mi svi moramo da balansiramo različite pritiske, kao što možemo izvoditi različite zaključke. Uz rizik da zalutam u politiku, C je savršeno adaptiran za vodeće računarsko okruženje, i ovo okruženje je oblikovano pritiscima društva u kome živimo. Forth se veoma razlikuje. Radi se o interakciji ljudske logike sa kompjuterskim programom. Ukoliko vam je ovo zazvučalo neozbiljno – dozvolite da pokušam objasniti:

Programiranje u C-u koje podrazumeva unos- kompajlovanje/link- ciklus testiranja, obično traje par minuta. Program je napisan kao tekstualni fajl, i jednako se lako procenjuje, bilo da je odštampan na papiru, ili ispisan na ekranu računara( postoje kod browser-i koji vam pomažu u pretrazi, ali se mogu zameniti oznakama ). Testiranje i debagovanje se sastoje iz čitanja koda i pokušaja da se predstavi šta program trenutno radi.

Programiranje u Forth-u podrazumeva slično, unos - kompajlovanje – ciklus testiranja, ali je jedinica vrednosti Forth reč ( slično funkciji kod C-a ). Vreme kompletnog ciklusa se meri sekundama – uglavnom zavisi od brzine kojom možete da ukucate svoje ideje. Forth se može štampati na papiru, ali se to uglavnom koristi kao arhiva. Forth na papiru gubi skoro svaku svoju svrhu. Forth, kao interaktivno okruženje, je alatka koja radi zajedno sa ljudskom logikom dozvoljavajući kreativno razmišljanje i eksperimentisanje.

Teško je porediti produktivnost Forth-a i C-a. Gruba procena je, da će vam Forth omogućiti da yavršite projekat, od dva do četiri puta brže, nego da ste koristili C. Za ovo, naravno, ne postoji dokaz, a odnos zavisi od tipa projekta i startnih pozicija. Ako se posmatra jedino veličina koda, Forth bi, ugrubo, bio dva puta brši nego C, budući da izvor koda teži da bude, otprilike, duplo manji, u odnosu na veličinu C ekvivalenta. Za kompleksnije aplikacije, poput WWW protokola, PPP ili WAP, odnos bi mogao biti veći, ali je ovo posledica "operativni sistem" stila programiranja, koji se obično primenjuje za C okruženje, pre nego "direktno programiranje" stila koji je moguće izvesti Forth-om.

Koliko je moderna računarska nauka blizu svojoj konačnoj odrednici? I koja je to destinacija? Super-inteligentni, samousavršavajući roboti? 10GHz Pentia koji se pokrene za manje vremena nego što je potrebno da se skuva šolja čaja? Evo nekih od ideja o kojima je bilo reči u Forth zajednici :
  • Forth program koji može raditi, bilo unapred, ili unatrag.
  • 8 bit.ni Forth-ov simbol koji prepolovljuje veličinu programa
  • Forth hardware ( toliko je jednostavan, da staje na silikon )
  • Jedan program koji može biti kompajlovan tako da daje dva različita jezika, koristeći tekstualni fajl jezika
  • Nedvosmislen opis internet protokola, koji se može pokrenuti kao program
  • Daljinsko upravljanje, uvećana kompilacija, interaktivno uklanjanje bagova usmereno direktno na ciljani hardware.
  • Kod kompajler za kompajlovanje iz Forth-a, u Java
  • colorForth - najnoviji Forth od autora Forth-a, Chuck Moore-a
Sve ideje su realne, rade, i može ih razumeti svako ko ima dovoljno strpljenja da nauči Forth.

Tako da, ukoliko vam ne smeta da idete uz vetar, bacite pogled na Forth, ali me nemojte kriviti ako vam se dopadne! ćao

Howerd 8^)



Published (Last edited): 18-12-2012 , source: http://www.inventio.co.uk/forthnc.htm