PDA

View Full Version : Ma che studi bisogna fare per scriver programmi del genere?


-Slash
17-11-2006, 16:45
ciao a tutti.

stavo navigando sul sito di un progetto per i desktop 3d di linux, beryl e mi sono trovato su questa (http://wiki.beryl-project.org/index.php/Team/Team) pagina

con mio grande stupore ho visto che c'è gente della mia età(17 anni) che fa quelle cose(per avere una idea di cosa fa questo programma cliccate qui (http://www.youtube.com/watch?v=G3p8IBNNd88) )

la mia domanda è che tipo di studi si devono fare per creare applicazioni di quel genere? ovviamente tutto è scritto in c ma quanti anni bisognerebbe studiarlo per arrivare a fare cose del genere(ma mi accontento anche di meno :asd: ) e che facoltà eventualmente dovrei intraprendere?

per esempio mi piacerebbe avere la capacità di fare un plugin per quel programma(si scaricano da qui (http://www.anykeysoftware.co.uk/compiz/plugins/) se volete vedere come sono i sorgenti)

cataleen
17-11-2006, 19:36
guarda io uso linux e anche beryl, ho visto che viene usato il c. ho cominciato da 3 giorni a studiare a casa, con un libro pdf il c++ sono davvero soddisfatto. perciò non credo che c'è bisogno di gran che. ciao :)

MEMon
17-11-2006, 20:06
guarda io uso linux e anche beryl, ho visto che viene usato il c. ho cominciato da 3 giorni a studiare a casa, con un libro pdf il c++ sono davvero soddisfatto. perciò non credo che c'è bisogno di gran che. ciao :)
:rotfl: :rotfl: :rotfl: :rotfl:

wingman87
17-11-2006, 20:29
Secondo me x fare queste cose ci vuole tanta tanta fantasia, la difficoltà + grande è avere le idee perchè poi in un modo o nell'altro il codice lo scrivi.

jappilas
17-11-2006, 20:44
ihmo non è per smanettare o scrivere plugin su codice già pronto perchè scritto da altri, che servee un corso universitario... e nemmeno per imparare un linguaggio di programmazione
è certa qual cultura, che sta dietro a comprensione di macchina e sistema, e progettazione e testing di applicazioni complesse, che spesso l' autodidassi difficilmente fornisce :O

Secondo me x fare queste cose ci vuole tanta tanta fantasia, la difficoltà + grande è avere le idee perchè poi in un modo o nell'altro il codice lo scrivi.
guarda, è quel "in un modo o nell' altro" il problema ;)

kalebbo
17-11-2006, 21:16
Secondo me x fare queste cose ci vuole tanta tanta fantasia, la difficoltà + grande è avere le idee perchè poi in un modo o nell'altro il codice lo scrivi.
Il problema è che non basta solo saper scrivere codice ma, bisognerebbe saper scrivere buon codice: se scrivi un programma che funziona ma che tuttavia risulti incomprensibile a chi vuole leggerne il sorgente, oppure che richieda grossi sforzi(anche a te stesso che l'hai scritto) per manutenerlo o per aggiungere funzionalità, non hai fatto un gran bel lavoro ed il risultato viene meno; a maggior ragione se stai collaborando ad un progetto open source al quale partecipano vari coder come quello presentato come esempio.
Scrivere software complesso, come avrai già capito, è un lavoro difficile perchè richiede in generale buone conoscenze e padronanza in ingegneria del software, informatica(intesa come comprensione della piattaforma di lavoro) e linguaggi di programmazione(ci metterei anche un'infarinatura di elettronica ed in particolare di calcolatori elettronici).
Il punto è: non ci si improvvisa programmatori(e questa è per il tizio che da 3 giorni studia C++ e crede di sapere già tutto :D ).
Per quanto riguarda gli studi, ci sono i classici: informatica, ingegneria informatica + tanto lavoro da fare da soli perchè la teoria è importante, ma anche la pratica!

cataleen
17-11-2006, 22:09
:rotfl: :rotfl: :rotfl: :rotfl:

e' divertente?

MEMon
17-11-2006, 22:10
Si non era male

-Slash
17-11-2006, 22:57
quello che mi chiedevo è come è possibile che uno di 17 anni riesca a scrivere una cosa del genere. cioe quello al massimo potra programmare da qualche anno per via della sua età(non credo che a 10 anni gia programmava) e quindi i chiedevo come fare per acquisire quelle conoscenze in cosi relativamente poco tempo.

cioe a me quelle cose sinceramente paiono impossibili, non riesco francamente neanche ad immaginare come ottenere un risultato del genere con del codice

PGI-Bis
17-11-2006, 23:15
Sulla settimana enigmistica ho letto di un tizio che ha calcolato a mente la radice tredicesima di un numero di cento cifre. Il problema è: sa fare solo quello? Perchè se è così allora non sono mica tanto impressionato.

71104
17-11-2006, 23:24
cioe a me quelle cose sinceramente paiono impossibili, non riesco francamente neanche ad immaginare come ottenere un risultato del genere con del codice ti paiono impossibili semplicemente perché non hai idea di dove ti vai a "basare" per così dire; non conosci l'architettura del sistema. non è tanto questione di C, per poter lavorare a progetti simili dovresti conoscere l'architettura e l'interfaccia esposta dai driver video di linux: una volta che hai queste conoscenze sai quali funzioni chiamare per fare determinate cose come disegnare un poligono con una texture. e una volta che sai disegnare un poligono con una texture il resto è banale, tutta questione di matematica: in quei desktop le "finestre elastiche" sono dei reticoli i cui punti vengono mossi secondo un certo algoritmo in modo da seguire "in ritardo" un certo punto che viene spostato direttamente dal cursore. il concetto più o meno è quello.

jappilas
17-11-2006, 23:39
quello che mi chiedevo è come è possibile che uno di 17 anni riesca a scrivere una cosa del genere. cioe quello al massimo potra programmare da qualche anno per via della sua età(non credo che a 10 anni gia programmava) e quindi i chiedevo come fare per acquisire quelle conoscenze in cosi relativamente poco tempo.

cioe a me quelle cose sinceramente paiono impossibili, non riesco francamente neanche ad immaginare come ottenere un risultato del genere con del codiceil mio migliore amico aveva scritto svariati programmi per Windows da molto prima dei diciotto anni , da quello in VB per statistiche del lotto a quello in C++ che mostrava dei cubi rotanti con texture superficiali (con pipeline grafica, cioè rotazioni, gouraud shading, rasterizzazione, interamente in SW)
e se non ricordo male aveva iniziato proprio alle medie, su un c64
(io più o meno allo stesso periodo, su uno z80 poi su amiga), ma i programmi che scrivevamo a quel tempo era qualcosa di davvero banale ("2+2" o poco più)
IMHO non è tanto questione di età, quanto di avere una certa passione, un certo livello di creatività e magari una certa capacità di ragionare per algoritmi, di studiare un linguaggio, studiare e comprendere eventuali tecniche e/o eventuali formule che appartengono al dominio del problema, e voglia di consumare la tastiera

comunque per usare una API - che saprai senz' altro cos' è - non occorre sempre essere dei geni: certo, bisogna capire e padroneggiare su cosa si sta lavorando - ad es se stai scrivendo un codec video probabilmente dovrai avere almeno un' idea di cosa sia uno spazio colore, un algoritmo di decompressione, in certi casi una matrice di quantizzazione
Diverso è un' interfaccia di programmazione, progettarla da zero...
ti paiono impossibili semplicemente perché non hai idea di dove ti vai a "basare" per così dire; non conosci l'architettura del sistema. non è tanto questione di C, per poter lavorare a progetti simili dovresti conoscere l'architettura e l'interfaccia esposta dai driver video di linux: una volta che hai queste conoscenze sai quali funzioni chiamare per fare determinate cose come disegnare un poligono con una texture. e una volta che sai disegnare un poligono con una texture il resto è banale, tutta questione di matematicadirei che hai reso l' idea meglio di quanto avessi fatto io :)
in quei desktop le "finestre elastiche" sono dei reticoli i cui punti vengono mossi secondo un certo algoritmo in modo da seguire "in ritardo" un certo punto che viene spostato direttamente dal cursore. il concetto più o meno è quello.tra l'altro le finestre elastiche esistevano da prima del progetto Beryl, quindi non è escluso che abbiano semplicemente integrato e/o modificato codice scritto da terzi ...

© Rocky
18-11-2006, 02:22
ciao a tutti.

stavo navigando sul sito di un progetto per i desktop 3d di linux, beryl e mi sono trovato su questa (http://wiki.beryl-project.org/index.php/Team/Team) pagina

con mio grande stupore ho visto che c'è gente della mia età(17 anni) che fa quelle cose(per avere una idea di cosa fa questo programma cliccate qui (http://www.youtube.com/watch?v=G3p8IBNNd88) )

la mia domanda è che tipo di studi si devono fare per creare applicazioni di quel genere? ovviamente tutto è scritto in c ma quanti anni bisognerebbe studiarlo per arrivare a fare cose del genere(ma mi accontento anche di meno :asd: ) e che facoltà eventualmente dovrei intraprendere?

per esempio mi piacerebbe avere la capacità di fare un plugin per quel programma(si scaricano da qui (http://www.anykeysoftware.co.uk/compiz/plugins/) se volete vedere come sono i sorgenti)
Strano...clicco dove hai indicato tu e mi porta ad una pagina di YouTube, da lì cliccando a destra e manca non succede nulla. :rolleyes:

:D

cataleen
18-11-2006, 06:04
ma poi devi pensare che il tizio di 17 anni non ha scritto lui il beryl. beryl deriva da compiz, perciò il team lo modifica solo. non credo che beryl viene scritto da 0. :D

mamo139
18-11-2006, 09:30
se io volessi avere nel mio computer quella cosa fighissima del filmato linkato sopra... cosa dovrei installare sul mio pc??
che sistema operativo di preciso e che programmi??? :D :D :D :D
grazie ciao

-Slash
18-11-2006, 11:03
ti paiono impossibili semplicemente perché non hai idea di dove ti vai a "basare" per così dire; non conosci l'architettura del sistema. non è tanto questione di C, per poter lavorare a progetti simili dovresti conoscere l'architettura e l'interfaccia esposta dai driver video di linux: una volta che hai queste conoscenze sai quali funzioni chiamare per fare determinate cose come disegnare un poligono con una texture. e una volta che sai disegnare un poligono con una texture il resto è banale, tutta questione di matematica: in quei desktop le "finestre elastiche" sono dei reticoli i cui punti vengono mossi secondo un certo algoritmo in modo da seguire "in ritardo" un certo punto che viene spostato direttamente dal cursore. il concetto più o meno è quello.
grazie per la risposta. ho capito piu o meno, anche se mi pare ancora moolto difficile fare una cosa del genere :(

quindi dopo aver imparato decentemente il c dovrei studiare i driver video linux?
il mio migliore amico aveva scritto svariati programmi per Windows da molto prima dei diciotto anni , da quello in VB per statistiche del lotto a quello in C++ che mostrava dei cubi rotanti con texture superficiali (con pipeline grafica, cioè rotazioni, gouraud shading, rasterizzazione, interamente in SW)
e se non ricordo male aveva iniziato proprio alle medie, su un c64
(io più o meno allo stesso periodo, su uno z80 poi su amiga), ma i programmi che scrivevamo a quel tempo era qualcosa di davvero banale ("2+2" o poco più)
IMHO non è tanto questione di età, quanto di avere una certa passione, un certo livello di creatività e magari una certa capacità di ragionare per algoritmi, di studiare un linguaggio, studiare e comprendere eventuali tecniche e/o eventuali formule che appartengono al dominio del problema, e voglia di consumare la tastiera

comunque per usare una API - che saprai senz' altro cos' è - non occorre sempre essere dei geni: certo, bisogna capire e padroneggiare su cosa si sta lavorando - ad es se stai scrivendo un codec video probabilmente dovrai avere almeno un' idea di cosa sia uno spazio colore, un algoritmo di decompressione, in certi casi una matrice di quantizzazione
Diverso è un' interfaccia di programmazione, progettarla da zero...
direi che hai reso l' idea meglio di quanto avessi fatto io :)
tra l'altro le finestre elastiche esistevano da prima del progetto Beryl, quindi non è escluso che abbiano semplicemente integrato e/o modificato codice scritto da terzi ...
grazie anche a te per la risposta. per quanto riguarda il codice, si stanno solo aggiungendo feature a compiz(che io comunque ritengo ancora migliore)
ma poi devi pensare che il tizio di 17 anni non ha scritto lui il beryl. beryl deriva da compiz, perciò il team lo modifica solo. non credo che beryl viene scritto da 0. :D
no beryl non è stato scritto da 0, pero per esempio il plugin animation lo hanno scritto loro. ecco a me piacerebbe tipo creare una di quelle animazioni, tra l'altro il codice delle animazioni singole non è neanche poi cosi tanto grande.
se io volessi avere nel mio computer quella cosa fighissima del filmato linkato sopra... cosa dovrei installare sul mio pc??
che sistema operativo di preciso e che programmi??? :D :D :D :D
grazie ciao
una qualsiasi distribuzione linux(consiglio ubuntu 6.10) e devi installare un windows manager a scelta tra compiz-freedesktop e beryl. segui per esempio questa guida

http://pollycoke.wordpress.com/2006/10/10/ubuntu-edgy-aiglx-compiz/

MEMon
18-11-2006, 15:23
...tutta questione di matematica: in quei desktop le "finestre elastiche" sono dei reticoli i cui punti vengono mossi secondo un certo algoritmo in modo da seguire "in ritardo" un certo punto che viene spostato direttamente dal cursore. il concetto più o meno è quello.
Sai altro su sta cosa o l'hai butta giù così???

71104
18-11-2006, 15:29
Sai altro su sta cosa o l'hai butta giù così??? non riesco a rispondere, il tuo avatar mi distrae :|

MEMon
18-11-2006, 15:34
Dai dai!!!