View Full Version : programmare , ma non in team
caviccun
29-08-2006, 18:25
Quando ho iniziato ad interessarmi al mondo dei computer , mi sono interessato ai linguaggi , cioè imparare a programmare. Col tempo ho imparato quattro linguaggi , ma non con conoscenza approfondita della tecnica per produrre software di una certa rilevanza. Ed è proprio questo il motivo del mio post. Non so se chi legge , ha imparato , anche e non , copiando altri sorgenti. Agli inizi io ho fatto così , mettendo poi , nel proseguio degli anni , qualcosa di mio. Leggendo appunto altri sorgenti di programmi di una certa importanza , mi sono chiesto di come certe librerie o funzioni che io non conoscevo , venivano ad essere conosciute da programmatori di certe aziende. Non credo di aver fatto diversamente da molti di voi , cioè , oltre ai manuali di certi linguaggi , e qualche sorgente copiato , di più non potevo fare. A tal proposito voglio ricordare che , nel 1984 , anno in cui iniziai ad interessarmi , non era come adesso , internet non esisteva quasi , e per quelli che esisteva non è che in rete si trovasse quello che si trova adesso.
Mi sono reso conto che , lavorare in team presso qualche azienda produttrice di software , per produrre al meglio programmi , sommata ad uno scambio reciproco di piccole o grandi informazioni , è un connubio , che un programmatore "solista" , non potrà mai avere. Questo è il mio pensiero. Detto ciò , è questo che vorrei sapere da voi : si può diventare bravi programmatori anche senza lavorare in team , o quantomeno , frequentare le università?. Grazie.
si può diventare bravi programmatori anche senza lavorare in team , o quantomeno , frequentare le università?
certamente ;)
franksisca
29-08-2006, 20:04
certamente ;)
ceramente anche da parte mia.......certo il lavoro in gruppo fa bene, così come l'università, ma se uno è in gamba, secondo me, in determinate circostanze riesce meglio del team.
Naturalemente dipende dai carichi di lavoro, certo che fare un sistema operativo da solo non è propriamente fattibile.......
Certamente anche secondo me, ovvio che confrontarsi con altri può solo far bene, e perchè no, anche lo spirito di competizione.
anzi che secondo me senza fare l'università si diventa anche meglio.
caviccun
29-08-2006, 22:39
Beh , ringrazio per le risposte , però , un laconico "certamente" non chiarisce i miei dubbi. Allora ripeto qualche passo del topic.
1°) forse nelle vostre risposte , anche se inconsciamente è implicito l'aiuto che può arrivare dalla rete (che io non ho avuto)
2°) come si fanno a conoscere determinate funzioni , che per'altro aiutano molto nel rendere performante un programma , se nei manuali non se ne fa cenno. Neanche in quelli tradizionalmente tradotti (male) in pubblicazioni del settore. Faccio un esempio banale , che non corrisponde a verità. In delphi , compilatore che uso da un pò di tempo , c'è la funzione : IntToStr. Se io non la conoscessi , mi si complicherebbe un pochino la vita , nel convertire un intero in una stringa. Non sto dicendo che non ci riuscirei , ma così è molto più facile , basta sapere come va usata , ma questo è il meno. Non so se sono riuscito a chiarire il concetto.
Su questo linguaggio , molto tempo fa , trovai una funzione (che tra le funzioni di sistema , non esisteva) che mi permetteva di copiare i file , da una cartella e/o periferica ad un'altra. Se non l'avessi trovata , quanta fatica avrei dovuto spendere per avre lo stesso risultato?. Per riassumere , se si lavora da soli , alla luce di quello che dico , si arriva a produrre buon softwarw o no. Io penso di no. Penso ad esempio a due applicazioni che tutti conosciamo , Nero burning , e Ghost. Quante conoscenze (di informatica ovviamente) , al di là della conoscenza del compilatore che usiamo , dobbiamo avere , ammesso che non le abbiamo apprese a scuola o in team presso qualche azienda?. Così di primo acchitto penso ad una impresa titanica. Io ho un'idea , correggetemi se sbaglio: conoscenza perfetta del sistema operativo della periferica - conoscenza dell'architettura della Fat della periferica ecc. Sbaglierò , ma mi pare che , l'apprendimento di queste tecniche , non dico che non si arriverà mai a conoscerle , solo che , quando avverrà , ormai saremo diventati parte integrante della fauna , e non potremo più muoverci. Ed allora il mio dubbio permane , serve il team o l'università , o no?. Quando dico università , penso alla sinergia che ne scaturisce , tra tutti i cervelli che lavorano all'unisono.
In effetti hai ragione, senza una importantissima risorsa come internet lavorare da soli diventa abbastanza difficile, sopratutto agli inizi.
Questo non vuol dire non poter diventare bravi programmatori, anzi ne consegue che uno si sforza a pensare metodi risolutivi propri.
Comunque mi pare ovvio che si deve conoscere moooolto bene il linguaggio che si usa, in tutte le sue sfumature.
Per questo ci sono libri, libri, libri e ancora libri, e manuali manuali manuali.
Internet sotto un certo punto di vista "sostituisce" questa fase.
be', io direi che è implicito non tanto l'aiuto della rete quanto quello delle documentazioni ufficiali: d'accordo che nei manuali a certe cose non si fa cenno, ma infatti non è a quelli che ti devi affidare. sono le documentazioni ufficiali che hanno l'obbligo di documentare vita morte e miracoli di qualcosa, da esse puoi sapere tutto; i manuali aiutano solo a capire (ma neanche tanto).
alcuni esempi di documentazioni ufficiali:
MSDN (http://msdn.microsoft.com/library/default.asp), la documentazione di Windows
Manuali IA32 (http://www.intel.com/design/Pentium4/documentation.htm), la documentazione dell'architettura dei processori Intel (stanno verso il fondo della pagina, sezione "Manuals")
References di Java: linguaggio (http://java.sun.com/j2se/1.5.0/docs/index.html) e API (http://java.sun.com/j2se/1.5.0/docs/api/)
e via dicendo :)
Marco Giunio Silano
30-08-2006, 12:44
Quando ho iniziato ad interessarmi al mondo dei computer , mi sono interessato ai linguaggi , cioè imparare a programmare. Col tempo ho imparato quattro linguaggi , ma non con conoscenza approfondita della tecnica per produrre software di una certa rilevanza. Ed è proprio questo il motivo del mio post. Non so se chi legge , ha imparato , anche e non , copiando altri sorgenti. Agli inizi io ho fatto così , mettendo poi , nel proseguio degli anni , qualcosa di mio. Leggendo appunto altri sorgenti di programmi di una certa importanza , mi sono chiesto di come certe librerie o funzioni che io non conoscevo , venivano ad essere conosciute da programmatori di certe aziende. Non credo di aver fatto diversamente da molti di voi , cioè , oltre ai manuali di certi linguaggi , e qualche sorgente copiato , di più non potevo fare. A tal proposito voglio ricordare che , nel 1984 , anno in cui iniziai ad interessarmi , non era come adesso , internet non esisteva quasi , e per quelli che esisteva non è che in rete si trovasse quello che si trova adesso.
Mi sono reso conto che , lavorare in team presso qualche azienda produttrice di software , per produrre al meglio programmi , sommata ad uno scambio reciproco di piccole o grandi informazioni , è un connubio , che un programmatore "solista" , non potrà mai avere. Questo è il mio pensiero. Detto ciò , è questo che vorrei sapere da voi : si può diventare bravi programmatori anche senza lavorare in team , o quantomeno , frequentare le università?. Grazie.
Non è così che si misura se uno è un buon programmatore o no. la differenza è che in un team di sviluppo, è possibile creare un progetto complesso in minor tempo e ci si può dedicare con attenzione alla propria parte, rendendola "perfetta". Come solista, certi progetti complessi e grandi, non potrai mai farli.
Questo non significa che tu non sia un bravo programmatore. E' solo questione di tempo, che nessuno controlla.
Dicevano che il bravo programmatore e colui che scrive lo stesso programma di un altro, ma il suo risulta essere: più piccolo (inteso come dimensioni), più veloce/prestante (come esecuzione) e occupa poca memoria.
Ovvio deve rispettare le caratteristiche e funzionare.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.