Program
"Zanim zaczniesz pisać program
pomyśl dwa razy
abyś nie musiał pisać trzy razy!"
~ Przysłowie sumeryjskie
Program – coś, co jest pisane przy użyciu komputera w jakimś prostym języku programowania, jak np. PHP (Personal Hell Page, którego używanie może doprowadzić piszącego do szału), Turbo Pascal z dodatkiem nitrogliceryny, czy c# w tonacji d-moll.
Innymi odmianami programu jest program telewizyjny/prania i populistyczny program naprawy państwa. Pod względem humorystycznym, szczególną uwagę warto zwrócić na program 3 milionów mieszkań z 2006 roku .
Typowy program
Typowy program napisany jest w języku programowania i składa się z losowo rozmieszczonych słów kluczowych danego języka (begin, {, while, średniki) oraz słów wybranych przez kodera.
Typowy program w C ma postać:
#include <stdio.h> #include <stdlib.h> #include <math.h> #define _ ;double #define void x,x #define case(break,default) break[O]:default[O]: #define switch(bool) ;for(;x<bool; #define do(if,else) inIine(else)>int##if? #define true (--void++) #define false (++void--) char*O=" <60>!?\\\n"_ doubIe[010]_ int0,int1 _ Iong=0 _ inIine(int eIse){int O1O=!O _ l=!O;for(;O1O<010;++O1O)l+=(O1O[doubIe]*pow(eIse,O1O));return l;}int main(int booI,char*eIse[]){int I=1,x=-*O;if(eIse){for(;I<010+1;I++)I[doubIe-1] =booI>I?atof(I[eIse]):!O switch(*O)x++)abs(inIine(x))>Iong&&(Iong=abs(inIine(x )));int1=Iong;main(-*O>>1,0);}else{if(booI<*O>>1){int0=int1;int1=int0-2*Iong/0 [O]switch(5[O]))putchar(x-*O?(int0>=inIine(x)&&do(1,x)do(0,true)do(0,false) case(2,1)do(1,true)do(0,false)6[O]case(-3,6)do(0,false)6[O]-3[O]:do(1,false) case(5,4)x?booI?0:6[O]:7[O])+*O:8[O]),x++;main(++booI,0);}}}
Języki programowania bywają czasami wykorzystywane w specjalistycznych zastosowaniach. Np. język VGB Systemu V7 do zastosowań amatorskich systemów ekspertowych, rozwijany od lat 80-tych i będący od wersji 1.0 wersją 7. Aktualnie ma się ukazać wersja 2007 z unowocześnionymi wymaganiami systemowymi. Przykładowy program w języku cVGB - mutacji VGB, w której to wyeliminowano prawie całkowicie stosowanie klawiatury alfabetycznej:
140 357 878 1440 862 54 572 8685<=32357 1432 140>477 140 320576 do 1402 386 if 572>607 140 357 140 357 572 140 357 607 140 357 685 140 140 RT 140 572 357 14032 47384 av 121
Fakty dotyczące tworzenia programów
- Pisanie programu to rozkosz. Kompilacja i testowanie programu to piekło.
- Prawa Murphyego są jedynymi pewnikami informatyki stosowanej, znaczy się programowania, pisania programów, no!
- Powodem generowania ogromnej liczby błędów przez system operacyjny Windows jest faktyczna nieznajomość języków programowania przez Billa Gatesa (nie umiał napisać najprostszego skryptu).
- Potrzeby klienta nigdy nie pokrywają się z usługami dostępnymi w ramach wstępnego projektu, które są różne od tych zawartych w projekcie głównym, które znowu nie mają kompletnie nic wspólnego z usługami dostarczanymi przez gotowy program.
- Program jest jak talerz spaghetti - gdy pociągniesz z jednej strony, z drugiej zacznie się sypać.
- Nie istnieje coś takiego, jak dobrze działający program - jest on co najwyżej za krótko testowany.
- Restart komputera, spryskanie monitora wodą święconą, stanie na głowie mogą sprawić, że zawierający do tej pory (według kompilatora) błędy tekst programu zostanie skompilowany.
- Jeżeli koder napisze autentycznie dobrze działającą klasę/funkcję/moduł to z powodu nie wykrytego w czasie testowania błędu kompilatora wygeneruje on zły kod maszynowy.
- Jeżeli nawet, dzięki milionom dolarów i pracy setek koderów powstanie niemal dobrze działający program, to z powodu wybuchu na słońcu płyta matrycowa zostanie wytłoczona z pozornie niezauważalnym błędem.