Računalništvo 1 (PRA)

lekcije / Prvi koraki v Javi / umetnost

Programiranje kot umetnost

Vsako leto poteka mednarodno tekmovanje Obfuscated C, na katerem programerji tekmujejo v pisanju nabolj nerazumljivih, čudnih in najlepših programov v jeziku C. Tako je na primer leta 1989 Roemer B. Lievaart dobil nagrado za tale program:
pi.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
char
							    _3141592654[3141
	  ],__3141[3141];_314159[31415],_3141[31415];main(){register char*
      _3_141,*_3_1415, *_3__1415; register int _314,_31415,__31415,*_31,
    _3_14159,__3_1415;*_3141592654=__31415=2,_3141592654[0][_3141592654
   -1]=1[__3141]=5;__3_1415=1;do{_3_14159=_314=0,__31415++;for( _31415
  =0;_31415<(3,14-4)*__31415;_31415++)_31415[_3141]=_314159[_31415]= -
1;_3141[*_314159=_3_14159]=_314;_3_141=_3141592654+__3_1415;_3_1415=
__3_1415    +__3141;for			(_31415 = 3141-
	   __3_1415  ;			_31415;_31415--
	   ,_3_141 ++,			_3_1415++){_314
	   +=_314<<2 ;			_314<<=1;_314+=
	  *_3_1415;_31			 =_314159+_314;
	  if(!(*_31+1)			 )* _31 =_314 /
	  __31415,_314			 [_3141]=_314 %
	  __31415 ;* (			 _3__1415=_3_141
	 )+= *_3_1415			  = *_31;while(*
	 _3__1415 >=			  31415/3141 ) *
	 _3__1415+= -			  10,(*--_3__1415
	)++;_314=_314			  [_3141]; if ( !
	_3_14159 && *			  _3_1415)_3_14159
	=1,__3_1415 =			  3141-_31415;}if(
	_314+(__31415			   >>1)>=__31415 )
	while ( ++ *			   _3_141==3141/314
       )*_3_141--=0			   ;}while(_3_14159
       ) ; { char *			   __3_14= "3.1415";
       write((3,1),			   (--*__3_14,__3_14
       ),(_3_14159			    ++,++_3_14159))+
      3.1415926; }			    for ( _31415 = 1;
     _31415<3141-			    1;_31415++)write(
    31415% 314-(			    3,14),_3141592654[
  _31415    ] +				   "0123456789","314"
  [ 3]+1)-_314;				   puts((*_3141592654=0
,_3141592654))				    ;_314= *"3.141592";}
Eden od razlogov, zakaj se učimo Javo in ne C je tudi ta, da je mogoče v C pisati take programe! Za začetnika je bolj primeren programski jezik, ki onemogoča trike in zvijače, s katerimi si programer večkrat opeče prste kot pa ne. Pravzaprav je za vsakogar bolj primeren programski jezik, ki onemogoča trike in zvijače.