|
|
|
![]() |
|
Strumenti |
![]() |
#161 | |
Senior Member
Iscritto dal: Dec 2007
Città: brianza
Messaggi: 717
|
Quote:
Ho letto anche che Midori è derivato appunto da Singularity.
__________________
AMD Ryzen 9700X MSI RX 480 Gaming X 8G ASRock B850 Pro-A Windows 11 Pro RAM DDR5 16GBx2 TEAMGROUP T-Create Expert 6000 MHz CL30 SSD Crucial T500 4TB case Corsair Carbide 200R Ultima modifica di grigor91 : 10-08-2008 alle 19:19. |
|
![]() |
![]() |
#162 | |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
![]() |
![]() |
#163 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7027
|
non ho idea di come stiano realizzando Windows 7, ma non credo che ci sia del C# nel kernel: credo che sia ancora un kernel NT. ipotizzo che la rivoluzione la faranno introducendo Singularity come una nuova versione di Windows, cosa che avverrà forse già dopo Windows 7 contando che la vita media dei sistemi Windows col passare del tempo si allunga; almeno, questa è la mia impressione.
|
![]() |
![]() |
#164 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7027
|
il Windows del futuro è scritto in C# (o meglio, in Sing# stando a Wikipedia, una derivazione del C#), e Linux invece? continuerà idiotamente a mantenere la tradizione del classico kernel C POSIX-compliant, continuerà ancora più idiotamente a vantarsi di entrare su un floppy (quando già adesso iniziano ad esserci computers senza lettore floppy)?
Singularity non è l'unico tentativo di scrivere un sistema operativo in C#; vedi sulla pagina di Wikipedia che ho linkato. quando Singularity sarà una realtà quotidiana, Linux scritto in C non potrà più essere considerato un sistema operativo, non uno degno di questo nome. |
![]() |
![]() |
#165 | |
Senior Member
Iscritto dal: Jun 2008
Messaggi: 384
|
Quote:
sia indubbiamente vero che bisogna "aprire continuamente la mente a nuovi concetti" , questo in tutti i campi della vita. Per quanto riguarda il lavoro , personalmente credo sia utile essere sempre aggiornati , ma non esagerare nel cercare "per forza" nuove soluzioni per risolvere dei problemi. Questo potrebbe essere controproducente. Per quanto riguarda la situazione reale nelle aziende, l'innovazione in Italia purtroppo , non è vista molto bene . Anzi, spesso è chiaramente osteggiata . Il mondo del lavoro italiano è tradizionalista , conservatore , rigido e parentale. Il nostro è il paese in europa con il più alto numero di "consulenti" pensionati all'interno delle aziende. L'Italia ha un'età media dei lavoratori più alta del mondo (e anche dei " non lavoratori", che sono la maggioranza). Dalla mia esperienza , introdurre un nuovo metodo di lavoro, una nuova tecnologia in azienda è spesso controproducente. E comunque possibile , solo dopo avere ottenuto il tacito consenso dei "mammasantissima aziendali". E' quasi una missione impossibile . Non per niente tutte le innovazioni tecnologiche arrivano dagli States , ed ultimamente dai paesi emergenti : (India,Pakistan,Cina ed Est europeo). L'Italia è ormai un paese di pensionati , adatto a passare la villeggiatura e a visitare i musei e comprare vestiti alla moda (che tanto fanno in Cina, ma l'illusione del capo firmato conta) . Ultima modifica di Albitexm : 11-08-2008 alle 01:18. |
|
![]() |
![]() |
#166 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Mi intrometto in questa bella discussione
![]() Mi sembra chiaro che le idee che ciascuno espone, siano dettate dall'ambito e dalle circostanze in cui si trova. Per esempio, l'ottimo TigerShark in qualità di "studente" e in qualità di insaziabile curioso informatico (nel senso migliore del termine beninteso!) dà un giusto suggerimento per quanto riguarda il tenersi aggiornati, quantomeno di sapere quali nuovi strumenti esistano sul mercato etc.. Da un punto di vista però meramente lavorativo, in genere (e aggiungo purtroppo), non funziona proprio così. Molto difficilmente in un'azienda sarà lasciata al programmatore la facoltà di scegliere gli strumenti giusti per risolvere dei problemi, ma si utilizzeranno gli strumenti che l'azienda ha a disposizione, anche quando sono insufficienti o inadeguati per risolvere quel determinato problema. E questo spiegherebbe anche la quantità notevole di software scritto alla meno peggio e non sempre per colpa del/dei programmatore/i. Vorrei sottolineare che io NON sono un programmatore, ma lavorando fianco a fianco con un ottimo programmatore che frequentava questo forum, mi sono potuto fare un'idea di come funzionano le cose. Diverso è il discorso dove un'azienda che non ha un settore it interno, si rivolge all'esterno per farsi realizzare un programma ad hoc, e, in questo caso, torna utile il modo di vedere di TigerShark e degli altri come lui che è fondamentale tenersi aggiornati. Mi è capitato invece di assistere personalmente a questa cosa: Un'azienda del sud, molto grande, ha richiesto all'azienda del mio amico di cui sopra di realizzare un determinato software. Quest'azienda ha al suo interno un settore it. Bene, il settore it come pre-requisiti necessari, ha chiesto e ordinato che il software venisse sviluppato in VB6 e Access 97 come base dati. Alla richiesta di motivazioni, è stata fornita la spiegazione che siccome il personale interno che gestisce l'it dell'azienda, come know-how acquisito ha soltanto quello relativo ai suddetti strumenti. Non c'è stato verso di fargli cambiare opinione visto che poi, successivamente al rilascio, dovrà essere il personale interno ad occuparsi di manutenere il software. Per quanto possa sembrare strano, ci sono molte aziende che ragionano in questo modo, lasciando uno scenario informatico italiano a livelli alquanto scadenti.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
#167 | |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7237
|
Quote:
questo non accadrà mai, al massimo si potrà dire che sarà un linguaggio poco usato e magari per questo non verrà nemmeno insegnato nelle scuole (siamo molto lontani da questo scenario tuttavia). sarebbe inutile se quello che si impara usando C fosse da buttare via una volta passati a un altro linguaggio, ma questo non è vero come ho già avuto modo di spiegare senza che nessuno riuscisse a portare argomentazioni diverse da: "no perchè no" ps. riguardo a linux penso che quando ci sarà la reale necessità di qualcosa di diverso, si evolverà in qualche maniera o verrà sostituito da un altro kernel (sicuramente non GNU HURD), in ogni caso non è affatto legato mani e piedi a C, ad esempio dove c'è stata la necessità si sono creati moduli come FUSE che permettono di usare un linguaggio qualsiasi per interfacciarsi alle funzionalità del kernel. |
|
![]() |
![]() |
#168 | |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7237
|
Quote:
![]() per il resto sono daccordo che per sviluppare un progetto al giorno d'oggi C deve essere considerata l'ultima spiaggia, non vorrei che crediate che io programmi in C nel tempo libero ![]() |
|
![]() |
![]() |
#169 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
|
Posso buttare qualche differenza tra C++ e C#.
Poi quelle tra C e C++ per chiudere il cerchio le lascio a qualcun altro, dato che praticamente non ho mai programmato in C per motivi commerciali. Tenete anche conto che ho smesso di usare il C++ per fini commerciali prima dell'inserimento delle standard library. Non so neppure se sono uno standard o meno. E' quindi probabile che alcune delle differenze siano meno marcate di quanto pensi. Ho diviso i punti in Pro e Contro, come puro sentore personale. Alcune cose che sono dei Pro potrebbero essere contro per qualcuno e viceversa. Se non vi piace questa classificazione, mettete tutto insieme e consideratele differenze e basta. Pro: 1. Garbage collection e non necessita' dell'uso di puntatori e di distruttori 2. Reflection, per conoscere a Runtime le proprieta'/metodi degli oggetti ed eventualmente richiamarli 3. No file di Header, nessun problema relativo ad obblighi di dichiarazioni di classi prima di altre. Nessun problema di dipendenze circolari. 4. Pure object oriented: tutto deriva da un singolo oggetto. 5. Un solo modo di allocazione memoria mediante la keyword new. 6. Supporto nativo al Multithread e alla sincronizzazione 7. Interfacce: Se un oggetto utente implementa un interfaccia potra' essere passato ad una funzione anche di terze parti che richiede quell'interfaccia come input. 8. Classi annidate con diverse visibilita' 9. No funzioni globali o costanti. Tutto e' fortemente orientato agli oggetti e appartiene ad una classe. 10. Array e stringhe posseggono nativamente proprieta' come Length e hanno nativamente i controlli di boundary checking 11. L'operatore . (punto) viene usato dappertutto. Eliminata la necessita' di distinguere tra . -> :: per accedere a membri di classe. 12. null e bool sono keyword 13. Tutti i valori sono forzatamente inizializzati prima dell'uso 14. Un valore intero non governa gli if. Gli if sono governati solo da booleani. 15. il costrutto try puo' avere un finally 16. La compilazione risulta in un file indipendente dalla macchina. E' sufficiente avere una virtual machine sul SO e il file, gia' compilato, funzionera' anche solo copiandolo semplicemente da SO a SO. 17. Supporto alla creazione di Template (Generics) fortemente tipizzati 18. Lambda expression, lambda function e programmazione Funzionale 19. Supporto nativo al parallelismo. 20. Eventuale supporto nativo al parallelismo senza necessita' di governare esplicitamente i thread. 21. Supporto ai database uniformato. 22. Supporto nativo di trasformazione di un database relazionale ad un database ad oggetti. Il database puo' essere visto come una collezione di array interdipendenti. (LINQ to SQL, simile a NIbernate) 23. Un solo tipo di string. 24. Alcune ottimizzazioni vengono risolte a RunTime. La macchina virtuale impara durante l'esecuzione del programma. P.Es. alcune funzioni vengono trasformate a funzioni inline al volo. 25. Esistenza dei delegate, che realizzano un type-safe nella dichiarazione dei puntatori a funzione del C++. 26. Lazy evaluation. Mediante la programmazione funzionale e' possibile far valutare espressioni solo se veramente necessario 27. Mediante le Lambda Function e' possibile passare pezzi di codice come parametro, scritti in modo conciso e strong-typed. 28. Il costrutto switch non permette il fall-trought tra i case, sovente sorgente di errori. 29. Supporto nativo alle Properties, con piu' facile incapsulamento e controllo delle variabili 30. Aggiunta di attributi e metadati al codice, leggibili e usabili anche a Runtime 31. Integrazione completa con la documentazione, per la scrittura automatica di documenti e per il supporto all'intellisense. 32. Dispone gia' da standard di Enumeratori e Collezioni fortemente tipizzati. 33. Libreria (Framework .net) con utility per quasi tutte le esigenze. 34. Estensore di classi. E' possibile estendere una classe, costruita da qualcun altro, con nuovi metodi. (Si deve pero' fare uso di sole proprieta'/metodi pubblici, logico per preservare il paradigma object oriented) 35. Una funzione (raramente usate) che accetta un parametro di tipo out, per modificarlo, e' obbligata a farlo. 36. Si possono governare progetti complessi, con l'integrazione Project Server e Visual Soursafe, tutto dall'unico ambiente di sviluppo Visual Studio. 37. Direttamente da Visual Studio esistono estensioni e template Standard per la creazione di progetti di svariati tipi, come i Web Services, architetture SOA, WF (Windows Workflow), WPF (Windows Presentation Foundation), WCF (Windows Communication Foundation), ASP.net (website), ASP.net+AJAX.net, ... 38. Se Il C# non dovesse piacere per qualche componente, e' possibile utilizzare VB.net o C++.net e usare tutto da una stessa soluzione. 39. E' possibile richiamare in modo molto semplice pezzi di codice C++, purche' non facciano uso di parametri di tipo particolare. Per parametri piu' complessi la situazione non e' cosi' agevole. E' comunque possibile mediante Marshaling. 40. Se non si sa qualcosa il piu' delle volte e' sufficiente premere F1, senza dover navigare troppo sul Web. La maggior parte della documentazione e' tutta concentrata nella risorsa MSDN. Contro: 1. E' generalemente piu' lento. Il motivo principale e' che gli array in ambienti managed vengono acceduti mediante CALL invece che con un paio di accessi diretti a zone di memoria 2. La virtual machine completa c'e' solo per ambiente Windows. Per ambiente Linux e' piu' indietro (e probabilmente sara' sempre un passo indietro rispetto alla Windows). Per altri ambienti non esiste. 3. Non e' fattibile un controllore fortemente sincrono per ambienti RealTime. Anche il C++ non e' la soluzione migliore. 4. Mancanza di derivazione multipla (voluta). 5. Impossibilita' di utilizzare operatori matematici all'interno di Generics, che deriva dalla impossibilita' di forzare un operatore mediante interfaccia 6. E' progettato, mantenuto ed espanso da una compagnia privata, la Microsoft. La community e' pero' aperta e l'atmosfera che vi si respira non e' dissimile dalle community open-source. Se la Microsoft dovesse lasciarci le penne e' probabile che il C# fara' la stessa fine. 7. Il C# e' giovane, non si sa cosa succedera'
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
#170 | ||||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Se sai cosa vuol dire, saprai anche cosa intendo per maior. ![]() Quote:
![]() Quote:
Quote:
Tra l'altro ti avevo anche riproposto di riuppare i vecchi thread e di continuare la discussione, ma ti sei tirato indietro. Io sono disponibile a riprendere la discussione SE E SOLO SE ti deciderai a portarla a termine, perché non voglio più tornarci. Quindi fino a quando alla domanda: "è utile insegnare/imparare il C?" non si darà una risposta secca; un bel SI' oppure NO. Così mi segno il thread e te lo rispiattello senza commenti alla prossima occasione che tirerai fuori nuovamente l'argomento. Quote:
Più che di codice inutile si tratta di codice errato. Quote:
![]() ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||||||
![]() |
![]() |
#171 | |
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1726
|
Quote:
con i criteria puoi in modo elegante e object oriented costruire interrogazioni al DB in modo dinamico. se certi condizioni sono verificate, aggiungi una restriction al tuo criteria, oppure effettui una join e applichi una restriction alla join ecc. in ogni caso se conosci i criteria, ciò non vuol dire che te ne puoi fregare di JDBC o SQL nativo. allo stesso modo per comprendere C# o Java è utile avere studiato C su un libro didattico come il K&R, altrimenti finiresti con usare funzioni già belle pronte, ad esempio il sort suggerito da Unrue, senza allenare la mente a certi ragionamenti logici.
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. |
|
![]() |
![]() |
#172 | |||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
Quote:
Col C, invece, dopo aver allenato la mente a risolvere problemi con una certa mentalità poi impiegheresti altro tempo per disimparare lavorando con linguaggi come C#, Java, Python, ma anche il C++ stesso.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||
![]() |
![]() |
#173 |
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1726
|
Ma lo capirete prima o poi che quando si programma in Java o in C# sia usa sia programmazione strutturata, sia programmazione funzionale, sia programmazione a oggetti?!?!
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. |
![]() |
![]() |
#174 | |||||||||||
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7027
|
gugoXX, ti faccio qualche precisazione sul C++:
Quote:
![]() per essere pignoli in C++ non esistono interfacce, ma non esistono solo perché non ce n'è bisogno: basta dichiarare una classe contenente solo metodi astratti. Quote:
Quote:
Quote:
![]() Quote:
Quote:
![]() se intendi dire che in C++ oltre a std::string c'è anche char* allora ti rispondo che gli array di caratteri li puoi fare anche in C#. Quote:
Quote:
Quote:
Quote:
Quote:
Ultima modifica di 71104 : 11-08-2008 alle 21:10. |
|||||||||||
![]() |
![]() |
#175 |
Senior Member
Iscritto dal: Dec 2007
Città: brianza
Messaggi: 717
|
Mi sembra strano che per imparare un nuovo linguaggio bisogna disimpararne un'altro; al massimo si accantona.
__________________
AMD Ryzen 9700X MSI RX 480 Gaming X 8G ASRock B850 Pro-A Windows 11 Pro RAM DDR5 16GBx2 TEAMGROUP T-Create Expert 6000 MHz CL30 SSD Crucial T500 4TB case Corsair Carbide 200R |
![]() |
![]() |
#176 | ||
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Quote:
Quote:
Io trovo che se si vuole studiare per bene un argomento come gli algoritmi sia più facile usare un linguaggio come python/ruby in cui puoi evitare di pensare a tantissimi problemi di basso livello e concentrarti su quello che vuoi realmente imparare. |
||
![]() |
![]() |
#177 | |
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1726
|
Quote:
dai un po' un occhiata al repository del tuo amato Python... http://svn.python.org/view/python/trunk/Parser/ (file) node.c 64114 2 months gregory.p.smith Merge in release25-maint r60793: Added checks for integer overflows, contribut... (file) parser.c 61953 4 months christian.heimes Patch #2477: Added from __future__ import unicode_literals The new PyParser_*Ex... (file) parser.h Sti infedeli programmano in C.
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. Ultima modifica di dupa : 11-08-2008 alle 21:14. |
|
![]() |
![]() |
#178 |
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Non il linguaggio come i puntatori, struct ed enum ma il modo di pensare e risolvere i problemi. C è procedurale e porta a trovare soluzioni in modo completamente diverso da linguaggi ad oggetti.
|
![]() |
![]() |
#179 | |||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
![]() Quote:
Spesso passando da C a un linguaggio a oggetti si continua a sviluppare il codice in maniera strutturata. Quote:
Sei tu che non ti sei preso la briga di controllare un'altra utile paginetta. Questa: http://www.python.org/dev/implementations/ Da notare le ALTRE implementazioni di Python che... non sono scritte in C. Chissà perché: spiegamelo tu, dai, visto che ti sei preso la briga di googlare e riportare quelle 3 informazioni di cui sopra.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||
![]() |
![]() |
#180 | |||||||||
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
|
Provo a replicare su qualche punto.
Alla fine aggiustero' la lista, per evitare futuri errori. Quote:
Neppure byte lo era, ora che mi ricordo. E non avevo mai capito il perche', dato che gia' dal C il linguaggio si fregiava di essere abbastanza a basso livello. Non dico WORD o keyword simili, effettivamente platform dependent. Ma almeno byte e bool (o bit). Bit c'era addirittura in Pascal se non erro... _________________________________ Quote:
Sei sicuro che ci sia oggi nel C++ standard? Ho sentito parlare della sua mancanza non piu' di 2 anni fa. Ma magari la persona che me ne ha parlato non era effettivamente aggiornata. __________________________________________ Quote:
The big difference between C# generics and C++ templates shows up in when the type checking occurs and how the instantiation occurs. First of all, C# does the instantiation at runtime. C++ does it at compile time, or perhaps at link time. But regardless, the instantiation happens in C++ before the program runs. That's difference number one. Difference number two is C# does strong type checking when you compile the generic type. For an unconstrained type parameter, like List<T>, the only methods available on values of type T are those that are found on type Object, because those are the only methods we can generally guarantee will exist. So in C# generics, we guarantee that any operation you do on a type parameter will succeed. C++ is the opposite. In C++, you can do anything you damn well please on a variable of a type parameter type. But then once you instantiate it, it may not work, and you'll get some cryptic error messages. For example, if you have a type parameter T, and variables x and y of type T, and you say x + y, well you had better have an operator+ defined for + of two Ts, or you'll get some cryptic error message. So in a sense, C++ templates are actually untyped, or loosely typed. Whereas C# generics are strongly typed. ______________________________________ Quote:
elementi con cui devi fare conoscenza se vuoi costruire un programma internazionale. A meno che le cose siano cambiate anche in questa direzione... Per non parlare poi delle varianti, come TUCHAR, LPSTR, LPCSTR, PWSTR, LPCWSTR, OLECHAR FAR* (!!!!! mavaff) _______________________________________ Quote:
Codice:
int pippo(int test, int val) { if (test>100) return val; return 0; } .... int valore=pippo(5, metodolento(a,b,c) ); ... In C++ metodolento e' eseguito anche se non servira' dato che test varra' 5. In C#, in programmazione funzionale, il metodolento non verra' eseguito affatto. ________________________________________ Quote:
Es: Codice:
switch(parametro) { case 0: case 1: case 2: qualcosa break case 3: case 4: altro break; default: .... } _______________________________ Quote:
Le properties sono la possiblita' di trasformare una variabile in 2 metodi, uno per il SET e uno per il GET, con codice eseguito ogni volta che si legge o si scrive tale variabile. Vengono chiamate proprieta' per distinguerle dalle variabili normali, e sono un metodo di controllo di flusso davvero utile, sopratutto per trasformare in modo indolore un codice contenente quella che era una variabile, alla quale si e' dovuto associare in seguito un pezzo di codice da eseguire ogni volta quella variabile e' stata usata. Codice:
private int i_pippo; public int pippo{ get { return ModificoIlValoreDi(i_pippo); } set { Log.Write("Valore pippo settato a %d",value); i_pippo=value; } ... pippo = 75; int y=pippo-15; _____________________________________ Quote:
________________________________________ Quote:
Codice:
WindowsMediaPlayer wmp = new WMPLib.WindowsMediaPlayer(); wmp.URL = "mms://wstream5a.di.fm/harddance"; Per sapere come funziona un compontente come WindowsMediaPlayer, da dentro l'ambiente di programmazione schiaccio F1 sulla parola WindowsMediaPlayer si apre la guida e leggo. Certo, mi potresti dire che il componente WindowsMediaPlayer e' in realta' una libreria scritta a sua volta in C++, circondata da chiamate managed per poter essere integrata a sua volta in C#. E io rispondo che sono tanto felice di poter sfuttare a mia volta l'esperienza e la fatica di qualcuno,senza neppure virtualmente sapere come RTP, RSTP o MMS sono fatti (anche se in realta' RTP e RSTP li ho dovuti conoscere). Anche chi usa il C++ o il C a sua volta sfrutta la fatica e l'esperienza di qualcuno, se non altro di chi ha scritto il compilatore o di chi ha scritto le librerie che si sono utilizzate.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. Ultima modifica di gugoXX : 11-08-2008 alle 22:56. |
|||||||||
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:14.