12 lutego 2005 (sobota), 13:10:10

Postmodernizm w informatyce

#1. Inspiracja

Uwaga, będzie ostro. Osoby wrażliwe proszone są o wyjście z sali. Uwaga, cytuję, proszę nie regulować odbiorników:

---+!! Przyłacznice ODF w węźle
%URLPARAM{"kod_wezla"}% 
%IF{ %URLPARAM{"kod_wezla"}%AAA eq AAA }%
%STARTINCLUDE% %TABLE{tableborder="0" cellpadding="3" cellspacing="1"} 
nie podano kodu węzła %ELSE% %DATABASE_SQL_REPEAT{description="bazak"
columns="kod_psu" command="SELECT kod_psu FROM psu WHERE kod_wezla =
'%URLPARAM{"kod_wezla"}%'  ORDER BY kod_psu"}% | %kod_psu% | <a
href="BazaPsuKrosowania?kod_psu=%kod_psu%">Krosowania</A> | <A
href="BazaPsuPolaczenia?kod_psu=%kod_psu%">Połączenia</A>
|
%DATABASE_SQL_REPEAT% %STOPINCLUDE% %ENDIF%

#2. Analiza

To co jest zapisane powyżej jest fatalną próbą programowania jednocześnie w 6 językach, przy czym niektóre języki to języki skryptowe.

Tak tak, jeżeli chce się teraz coś zaprogramować w sposób modny (czytaj: trendy), to robi się to właśnie w taki sposób.

Wyliczmy więc od góry co my tu mamy:

  1. Język TWIKI będący makrorozwinięciem HTML-a. Mamy więc ---++ i | ale to !! na początku już nie. Oczywiście liczba spacji i znaki końca wiersza mają tu znaczenie (to tak aby było zabawniej);
  2. wstawki w HTML-u oczywiście przechodzą więc drugim językiem jest HTML ze swoimi <A HREF=...> ... </A> i czasami wstawkami do formatowania.
  3. język makr PlugIn-ów tworzonych dla TWiki typu %IF{ } ... %ENDIF% lub %DATABASE_SQL_REPEAT {}%. Ten na jest tak zabagniony jeżeli chodzi o błędy, że może nie warto go używać. Ale jest 3 jak nic.
  4. W środku np. tego %IF... używa się wyrażeń w PERL-u, bo w PERL-u jest zapisany ten moduł więc po co kombinować - nie się inni uczą języków! Kto więc myśli, że == znaczy co znaczy to się myli.
  5. Skoro dobieramy się do baz, to SQL też się tu pojawia jako język numer pięć.
  6. To jeszcze nie koniec, bo jeżeli między stronami (elementami bazy danych TWiki) chcemy przekazać parametr to pojawia się kolejny język kodujący przekazywanie parametrów w środowisku Webów i URL-i, czyli $param z wszystkimi tymi ? i & po drodze.

#3. Uwagi

  • spacje i nowe linie mają znaczenie;
  • liczba spacji też ma znaczenie, bo zarówno w TWiki coś to znaczy jak i też niektóre moduły zjadają sobie więcej spacji niż powinny i inne przez to mają problemy składniowe.
  • w jakiej kolejności jest to rozmakrowywane chyba nikt nie wie, ale przecież ta wiedza nie jest potrzebna - ważne aby działało.

#4. Pokuta

Dla zasady muszę przyznać, że nie mam prawa się czepiać gdyż sam, osobiście, w końcu 1988 roku popełniłem produkt, który zwał się SVI i w swym pomyśle był językiem programowania obiektowego do bazodanowego Clippera '87. Zamysł piękny ale w wykonaniu był to dokładnie takim samym jak powyższe przykłady język makr, który nawiasem mówiąc nie tworzył języka o czym się przekonali 4 lata później koledzy tworzący kompilator do tego cuda. Tam też spacje miały znaczenie a preprocesorowa instrukcja warunkowa nie usuwała tekstu z pomiędzy klamer &<- ifc ... &<- endifc a (!) zastępowała zawarty tam tekst spacjami - ta drobna różnica miała to swoje ogromne znaczenia.

Tak więc po części sam sobie jestem winien i jako pokutę zadam sobie przeczytanie książki pana Wirth'a pt. "Algorytmy + struktury danych = programy". Kiedyś to były czasy! Aby pisać programy człowiek nie potrzebował komputera!

I jeszcze wspomnienie: ten prefiks &<- w SVI znalazł się na wspomnienie systemu operacyjnego George 3 zaimplementowanego na Odrze-1305. W Georgu też były makra przy przekazywaniu parametrów. Zaczynały się od % o ile dobrze pamiętam.

5. Zdziwienie

A całe to przemyślenie zapisuję w kolejnym makarowym automacie zwanym w34.blog.pl i dziwię się, że ta próbka postmodernistycznego kodu nie zainterferowała z enginem (piękne słowo) bloga i dała się wyświetlić.


Kategorie: informatyka, _blog


Słowa kluczowe: postmodernizm, informatyka, WIKI, PHP, PERL, SQL, HTTP, HTML, TWIKI, Clipper, SVI, programowanie obiektowe


Komentarze: (1)

falista, February 13, 2005 22:29 Skomentuj komentarz


w kwestii poprawności analizy języków programowania się nie wypowiem, bo sie nie znam ... wiem jednak, że kiedy czytam podobne teksty, zwłaszcza przysłane do mnie "via" email, budzi to mój nieskrywany podziw i wesołość, przy czym wesołość okazywana jest przez rechot, zaś podziw przez uniesienie brwi

pozdrawiam
Skomentuj notkę

Disclaimers :-) bo w stopce coś wyglądającego mądrze można napisać. Wszystkie powyższe notatki są moim © wymysłem i jako takie związane są ze mną. Ale są też materiały obce, które tu przechowuję lub cytuje ze względu na ich dobrą jakość, na inspiracje, bądź ilustracje prezentowanego lub omawianego tematu. Jeżeli coś narusza czyjeś prawa - proszę o sygnał abym mógł czym prędzej naprawić błąd i naruszeń zaniechać.