[FLUG] Re: Amministrate il mio futuro

  • From: Simon <f.simon@xxxxxxxx>
  • To: fanolug@xxxxxxxxxxxxx
  • Date: Sat, 16 Mar 2002 09:54:18 +0100

Mailing List del Fortunae LUG
=============================

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wed, Mar 13, 2002 at 10:40:54PM +0100, Romano Romano wrote:
> 
> > Ritengo che il C sia molto semplice, quasi banale per certi versi ... certo 
> > se ritienti che conoscere il C sia conoscere tutte le funzioni messe a 
> > disposizioni ti posso assicurare che io il C non lo so per niente.
> 
> Il semplice e' molto relativo, infatti: se devi farci cose semplici, come
> dici tu puo' essere addirittura banale, se devi farci cose complicate, che
> ti richiedono una conoscenza profonda, tu stesso riconosci che e' molto
> complesso.

Dipende da cosa intendi per "complicate"... se intendi... inventare un nuovo
codec, affrontare difficili problemi matematici etc... bè si hai ragione... ma
questo è dovuto non dalla difficoltà del linguaggio ma dalla limitatezza del
programmatore, che non sarebbe in grado di svilupparli neanche con un qualsiasi
altro linguaggio (senza parlare poi del fatto che non sarebbero performanti,
ma lasciamo stare... stiamo parlando solo di facilità/difficoltà).

Se invece per "complicate" intendi "lunghi"... bè si sicuramente il codice
che devi scrivere in C per riuscire a fare la stessa cosa che fa un programmino
in python... è mooolto più lungo. Però in questo caso non è un problema di
difficoltà, ma un problema di tenere tutto in ordine.
Certo... il programma in python è sicuramente più corto, quindi anche più facile
da tenere sott'occhio, mentre quello in C è più lungo e più difficile da
tenere "in ordine" se non ci si abitua fin da subito a seguire certe regole.
(Scusate se mi sono riferito al python ma è il primo linguaggio che mi è venuto
in mente... lungi da me fare un confronto tra i due linguaggi in modo così
superficiale...)

Per quanto riguarda la "conoscenza profonda"... a cosa ti riferisci?
Cioè... a meno che non vuoi fare cose estreme (vedi il mio donkey:
  http://www.jkcal.org/simon/coding/donkey-20020101.tar.gz   :)))) non hai
bisogno di una "conoscenza profonda", dove per "conoscenza profonda" intendo
non solo la conoscenza del C, ma anche del compilatore e di come di comporta
per generare l'asm, integrandolo etc...

Comunque il punto debole del C è anche il suo punto di forza... il fatto che
ti costringe a scrivere tutto nei minimi dettagli può essere noioso, ma ti 
lascia
la possibilità di fare le cose esattamente come vuoi.
E i primi anni di "gavetta" che si fanno sono molto importanti... infatti i
programmini semplici e stupidi che si fanno all'inizio... sono importantissimi!
Non buttateli! Teneteli tutti... sicuramente prima o poi vi riservirà fare
qualcosa di simile... un buon cut&paste e molte "noie" saranno evitate. 

E poi in chiusura fatemi togliere un dente... smettetela di parlare di C come
se non fosse un linguaggio ad oggetti.
La potenza del C sta proprio nel fatto che può essere usato come se fosse ad
oggetti... il C++ non ha introdotto praticamente nulla di nuovo!!!
L'unica cosa che al momento mi viene in mente è l'overloading 
(sovraccaricamento)
dei parametri.
Tutto il resto sono delle "illusioni"... le classi? nient'altro che delle
strutture su cui possono lavorare solo le funzioni assegnate a tali strutture
(metodi).
Una dimostrazione di quello che sto dicendo? Oh bè l'esempio più lampante e
recente che mi venga in mente sono le GTK! C strutturato come se fosse ad 
oggetti.

http://developer.gnome.org/doc/API/gtk/index.html
 
Insomma quasi tutte le novità del C++ sono SOLO nella notazione!

E infine il C è un pò come UNIX:

UNIX was not designed to stop you from doing stupid things, because that
would also stop you from doing clever things. 
- - Doug Gwyn

(UNIX non è stato progettato per impedirti di fare cose stupide, perchè potrebbe
anche impedirti di fare cose intelligenti.)

Vabbè poi però torna in mente che la domanda l'ha fatta Legion che vuol fare
il chitarrista death metal e suona insieme a quel biondino che mi sta tanto 
sulle
scatole... quindi... si un linguaggio web-oriented va bene;)))))):PPPPPP!!!!!!

- -- 
/* Federico 's1m0n' Simoncelli <f.simon@xxxxxxxx>
   http://www.jkcal.org/simon
*/ 
int main(){unsigned int g,h=0;while(++h){for(g=(h>1)?2:1;g<
h/2+1&&h%g!=0;g++);if(g==h/2+1)printf("%i\n",h);}return 0;}

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE8klcE/ItriIBKan0RAr5XAKCcVszcq6lqvkfufye4GodIJHvinwCg3gqF
UGJ7I55mLACuBcrUOkW6hqs=
=idpF
-----END PGP SIGNATURE-----
--
"Una Slackware e' per sempre ..."


Other related posts: