Program: Różnice pomiędzy wersjami

Z Nonsensopedii, polskiej encyklopedii humoru
M (revert, coś czuję, że programiści leją przy tym po nogawkach)
 
(Nie pokazano 28 wersji utworzonych przez 20 użytkowników)
Linia 1: Linia 1:
<code>''"Zanim zaczniesz pisać program <br>pomyśl dwa razy <br> abyś nie musiał pisać trzy razy!"''</code>
<code>''"Zanim zaczniesz pisać program <br>pomyśl dwa razy <br> abyś nie musiał [[Baza danych jest zablokowana|pisać trzy razy]]!"''</code>
:<code>~ '''Przysłowie sumeryjskie'''</code>
:<code>~ '''Przysłowie sumeryjskie'''</code>


'''Program''' – coś, co jest pisane przy użyciu komputera w jakimś prostym [[Język programowania|języku programowania]] jak [[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.
'''Program''' – coś, co jest pisane przy użyciu komputera w jakimś prostym [[Język programowania|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 [[Nitrogliceryna|nitrogliceryny]], czy c# w tonacji d-moll.


Innymi odmianami programu program [[telewizja|telewizyjny]] oraz program [[pralka|prania]] i populistyczny program [[naprawy państwa]].
Innymi odmianami programu jest program [[telewizja|telewizyjny]]/[[pralka|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 ==
Typowy program napisany jest w [[Język programowania|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 (język programowania)|C]] ma postać:
Typowy program napisany jest w języku programowania, tzw. składa się z losowo rozmieszczonych ''słów kluczowych'' danego języka (''begin'',''{'',''while'','':P'') oraz słów wybranych przez kodera.

Typowy program w [[C (język)|C]] ma postać:

<pre>
<pre>
#include <stdio.h>
#include <stdio.h>
Linia 33: Linia 31:
</pre>
</pre>


lub (na wzór [[Bombowiec|bombowca]])
Języki programowania bywają czasami stosowane do specjalistycznych zastosowań. Np. język VGB Systemu V7 do zastosowań amatorskich systemów ekspertowych, rozwijany od lat 80tych będący od wersji 1.0 Versją 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:

<pre> ||
#include <math.h>
#include <sys/time.h>
#include <X11/Xlib.h>
#include <X11/keysym.h>
double L ,o ,P
,_=dt,T,Z,D=1,d,
s[999],E,h= 8,I,
J,K,w[999],M,m,O
,n[999],j=33e-3,i=
1E3,r,t, u,v ,W,S=
74.5,l=221,X=7.26,
a,B,A=32.2,c, F,H;
int N,q, C, y,p,U;
Window z; char f[52]
/||||\ ; GC k; main(){ Display*e= /||||\
XOpenDisplay( 0); z=RootWindow(e,0); for (XSetForeground(e,k=XCreateGC (e,z,0,0),BlackPixel(e,0))
; scanf("%lf%lf%lf",y +n,w+y, y+s)+1; y ++); XSelectInput(e,z= XCreateSimpleWindow(e,z,0,0,400,400,
0,0,WhitePixel(e,0) ),KeyPressMask); for(XMapWindow(e,z); ; T=sin(O)){ struct timeval G={ 0,dt*1e6}
; K= cos(j); N=1e4; M+= H*_; Z=D*K; F+=_*P; r=E*K; W=cos( O); m=K*W; H=K*T; O+=D*_*F/ K+d/K*E*_; B=
sin(j); a=B*T*D-E*W; XClearWindow(e,z); t=T*E+ D*B*W; j+=d*_*D-_*F*E; P=W*E*B-T*D; for (o+=(I=D*W+E
*T*B,E*d/K *B+v+B/K*F*D)*_; p<y; ){ T=p[s]+i; E=c-p[w]; D=n[p]-L; K=D*m-B*T-H*E; if(p [n]+w[ p]+p[s
]== 0|K <fabs(W=T*r-I*E +D*P) |fabs(D=t *D+Z *T-a *E)> K)N=1e4; else{ q=W/K *4E2+2e2; C= 2E2+4e2/ K
*D; N-1E4&& XDrawLine(e ,z,k,N ,U,q,C); N=q; U=C; } ++p; } L+=_* (X*t +P*M+m*l); T=X*X+ l*l+M *M;
XDrawString(e,z,k ,20,380,f,17); D=v/l*15; i+=(B *l-M*r -X*Z)*_; for(; XPending(e); u *=CS!=N){
XEvent z; XNextEvent(e ,&z);
++*((N=XLookupKeysym
(&z.xkey,0))-IT?
N-LT? UP-N?& E:&
J:& u: &h); --*(
DN -N? N-DT ?N==
RT?&u: & W:&h:&J
); } m=15*F/l;
c+=(I=M/ l,l*H
+I*M+a*X)*_; H
[=A*r+v*X-F*l+(]
---[E=.1+X*4.9/l,t]---
[=T*m/32-I*T/24]
)/S; K=F*M+(
h* 1e4/l-(T+
E*5*T*E)/3e2
)/S-X*d-B*A;
a=2.63 /l*d;
X+=( d*l-T/S
*(.19*E +a
*.64+J/1e3
)-M* v +A*
Z)*_; l +=
K *_; W=d;
sprintf(f,
"%5d %3d"
"%7d",p =l
/1.7,(C=9E3+
O*57.3)%0550,(int)i); d+=T*(.45-14/l*
X-a*130-J* .14)*_/125e2+F*_*v; P=(T*(47
*I-m* 52+E*94 *D-t*.38+u*.21*E) /1e2+W*
179*v)/2312; select(p=0,0,0,0,&G); v-=(
W*F-T*(.63*m-I*.086+m*E*19-D*25-.11*u
)/107e2)*_; D=cos(o); E=sin(o); } }
</pre>
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:
<pre>
<pre>
140 357 878
140 357 878
Linia 47: Linia 109:
</pre>
</pre>


==Fakty dotyczące tworzenia programów==
== Fakty dotyczące tworzenia programów ==

* Pisanie programu to rozkosz. Kompilacja i testowanie programu to piekło.
* Pisanie programu to rozkosz. Kompilacja i testowanie programu to piekło.
* Nie ma dobrze działających programów - są programy za krótko testowane.
* [[Prawa Murphy'ego]] są jedynymi pewnikami przy pisaniu programów.
* Program jest jak talerz spaghetti - gdy pociągniesz z jednej strony, z drugiej zacznie się sypać.
* Jeżeli programista napisze dobrze działający kod źródłowy, kompilator prawdopodobnie wygeneruje błędny kod maszynowy.


{{stopka}}
* [[Prawa Murphyego]] są jedynymi pewnikami informatyki stosowanej, znaczy się programowania, pisania programów, no!
[[Kategoria:Oprogramowanie| ]]

* Powodem generowania ogromnej liczby błędów przez system operacyjny [[Windows]] jest faktyczna nieznajomość języków programowania przez [[Big Gej]]a (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 spagetti - 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 milinom 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.

{{stubinf}}
[[kategoria:Informatyka]]

Aktualna wersja na dzień 10:39, 23 gru 2021

"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[edytuj • edytuj kod]

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);}}}

lub (na wzór bombowca)

                                               || 
#include                                     <math.h>
#include                                   <sys/time.h>
#include                                   <X11/Xlib.h>
#include                                  <X11/keysym.h>
                                          double L ,o ,P
                                         ,_=dt,T,Z,D=1,d,
                                         s[999],E,h= 8,I,
                                         J,K,w[999],M,m,O
                                        ,n[999],j=33e-3,i=
                                        1E3,r,t, u,v ,W,S=
                                        74.5,l=221,X=7.26,
                                        a,B,A=32.2,c, F,H;
                                        int N,q, C, y,p,U;
                                       Window z; char f[52]
               /||||\               ; GC k; main(){ Display*e=            /||||\ 
 XOpenDisplay( 0); z=RootWindow(e,0); for (XSetForeground(e,k=XCreateGC (e,z,0,0),BlackPixel(e,0))
; scanf("%lf%lf%lf",y +n,w+y, y+s)+1; y ++); XSelectInput(e,z= XCreateSimpleWindow(e,z,0,0,400,400,
0,0,WhitePixel(e,0) ),KeyPressMask); for(XMapWindow(e,z); ; T=sin(O)){ struct timeval G={ 0,dt*1e6}
; K= cos(j); N=1e4; M+= H*_; Z=D*K; F+=_*P; r=E*K; W=cos( O); m=K*W; H=K*T; O+=D*_*F/ K+d/K*E*_; B=
sin(j); a=B*T*D-E*W; XClearWindow(e,z); t=T*E+ D*B*W; j+=d*_*D-_*F*E; P=W*E*B-T*D; for (o+=(I=D*W+E
*T*B,E*d/K *B+v+B/K*F*D)*_; p<y; ){ T=p[s]+i; E=c-p[w]; D=n[p]-L; K=D*m-B*T-H*E; if(p [n]+w[ p]+p[s
]== 0|K <fabs(W=T*r-I*E +D*P) |fabs(D=t *D+Z *T-a *E)> K)N=1e4; else{ q=W/K *4E2+2e2; C= 2E2+4e2/ K
 *D; N-1E4&& XDrawLine(e ,z,k,N ,U,q,C); N=q; U=C; } ++p; } L+=_* (X*t +P*M+m*l); T=X*X+ l*l+M *M;
  XDrawString(e,z,k ,20,380,f,17); D=v/l*15; i+=(B *l-M*r -X*Z)*_; for(; XPending(e); u *=CS!=N){
                                   XEvent z; XNextEvent(e ,&z);
                                       ++*((N=XLookupKeysym
                                         (&z.xkey,0))-IT?
                                         N-LT? UP-N?& E:&
                                         J:& u: &h); --*(
                                         DN -N? N-DT ?N==
                                         RT?&u: & W:&h:&J
                                          ); } m=15*F/l;
                                          c+=(I=M/ l,l*H
                                          +I*M+a*X)*_; H
                                         [=A*r+v*X-F*l+(]
                                      ---[E=.1+X*4.9/l,t]---
                                         [=T*m/32-I*T/24]
                                           )/S; K=F*M+(
                                           h* 1e4/l-(T+
                                           E*5*T*E)/3e2
                                           )/S-X*d-B*A;
                                           a=2.63 /l*d;
                                           X+=( d*l-T/S
                                            *(.19*E +a
                                            *.64+J/1e3
                                            )-M* v +A*
                                            Z)*_; l +=
                                            K *_; W=d;
                                            sprintf(f,
                                            "%5d  %3d"
                                            "%7d",p =l
                                           /1.7,(C=9E3+
                              O*57.3)%0550,(int)i); d+=T*(.45-14/l*
                             X-a*130-J* .14)*_/125e2+F*_*v; P=(T*(47
                             *I-m* 52+E*94 *D-t*.38+u*.21*E) /1e2+W*
                             179*v)/2312; select(p=0,0,0,0,&G); v-=(
                              W*F-T*(.63*m-I*.086+m*E*19-D*25-.11*u
                               )/107e2)*_; D=cos(o); E=sin(o); } }


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[edytuj • edytuj kod]

  • Pisanie programu to rozkosz. Kompilacja i testowanie programu to piekło.
  • Nie ma dobrze działających programów - są programy za krótko testowane.
  • Prawa Murphy'ego są jedynymi pewnikami przy pisaniu programów.
  • Program jest jak talerz spaghetti - gdy pociągniesz z jednej strony, z drugiej zacznie się sypać.
  • Jeżeli programista napisze dobrze działający kod źródłowy, kompilator prawdopodobnie wygeneruje błędny kod maszynowy.