Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming
Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming
Questo mouse ultraleggero, con soli 36 grammi di peso, è stato concepito per offrire un'esperienza di gioco di alto livello ai professionisti degli FPS, grazie al polling rate a 8.000 Hz e a un sensore ottico da 33.000 DPI. La recensione esplora ogni dettaglio di questo dispositivo di gioco, dalla sua agilità estrema alle specifiche tecniche che lo pongono un passo avanti
Nokia Innovation Day 2025: l’Europa ha bisogno di campioni nelle telecomunicazioni
Nokia Innovation Day 2025: l’Europa ha bisogno di campioni nelle telecomunicazioni
Dal richiamo di Enrico Letta alla necessità di completare il mercato unico entro il 2028 alla visione di Nokia sul ruolo dell’IA e delle reti intelligenti, il Nokia Innovation Day 2025 ha intrecciato geopolitica e tecnologia, mostrando a Vimercate come la ricerca italiana contribuisca alle sfide globali delle telecomunicazioni
Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza
Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza
OPPO Reno14 F 5G si propone come smartphone di fascia media con caratteristiche equilibrate. Il device monta processore Qualcomm Snapdragon 6 Gen 1, display AMOLED da 6,57 pollici a 120Hz, tripla fotocamera posteriore con sensore principale da 50MP e generosa batteria da 6000mAh con ricarica rapida a 45W. Si posiziona come alternativa accessibile nella gamma Reno14, proponendo un design curato e tutto quello che serve per un uso senza troppe preoccupazioni.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 30-09-2009, 20:47   #21
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da 2186 Guarda i messaggi
allora la definizione di professionista la puoi tranquillamente trovare tra wikipedia e google :-P
per quanto riguarda il discorso dell'assembly ora mi spiego...
per usare il linguaggio asm non è come usare il c++ o vb o java delphi e via discorrendo... per usare in maniera corretta l'asm bisogna conoscere a fondo l'achitettura del controllore da programmare, quindi nonchè una buona conoscenza di sistemistica, controlli, elettronica e dulcis in "findus" anche un minimo di programmazione.... ora se sei in grado di conoscere vita morte e miracoli dell'architettura per cui stai sviluppando un software sigifica che non sei uno quaquaraqà.... anzi....per non parlare poi di ADA e VHDL (o verilog) meno complessi dell'asm e simili al c ma di gran lunga più complessi dato che per fare una buona struttura si deve conoscere a menadito la struttura interna del chip e quindi anche come lui stesso implementa le funzioni da noi scritte....

insomma spero di essermi spiegato :-P
ciao
Ti sei spiegato, ma non concordo. Si può programmare discretamente in assembly conoscendo lo stretto indispensabile per risolvere il problema a cui stai lavorando.
Quote:
Originariamente inviato da 2186 Guarda i messaggi
2)mi spiace ma l'assembly non è un linguagggio come un altro... oserei dire che è IL LINGUAGGIO... e quello che puoi fare con quello te lo puoi sognare con gli altri... (a meno di implementare ad esmpio in un sorgente una porzione in asm stesso per fare la particolare operazione richiesta )
IL linguaggio per eccellenza è quello macchina: l'UNICO col quale puoi fare veramente di tutto senza scendere a compromessi.
__________________
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 21:26   #22
2186
Senior Member
 
L'Avatar di 2186
 
Iscritto dal: Feb 2008
Messaggi: 2808
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Ti sei spiegato, ma non concordo. Si può programmare discretamente in assembly conoscendo lo stretto indispensabile per risolvere il problema a cui stai lavorando.

IL linguaggio per eccellenza è quello macchina: l'UNICO col quale puoi fare veramente di tutto senza scendere a compromessi.
si vero su questo sono daccordo anche io :-P
anche se quando intendo programmare in asm intendo vermante programmare e non solo conoscere quei set comandi che ti servono nello specifico...
ciau
__________________
Trattative concluse positivamente con: stefanonweb Toro_seduto luck78 montelli nick8640 peppe8600gt mr.jeeves sdedo71 gamecock $!/\/\o Pangasius ginepraio giorgioprimo pikerunner cicciopalla Il grande Blek spike_860 franzgranata Rebelderock ssamxx EFFERATUM monkey island ilgenerale djdisco_2 domax93 testasemidura Rospaccio bender8858 Pether vega05 domesda Shurpaul Stermy57 thinkfast Quagliarulo YuzaLaNuvola rtype davek3 Alzatan 4HwGenXX DAVO Wonderboy021067
2186 è offline   Rispondi citando il messaggio o parte di esso
Old 01-10-2009, 07:06   #23
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Per me programmare in assembly, come per qualunque altro linguaggio, significa risolvere i problemi che mi vengono sottoposti.
__________________
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 01-10-2009, 08:28   #24
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da 2186 Guarda i messaggi
3) Registri? Ram? Periferiche? In Java? esatto proprio per questo dicevo che dipende cosa devi fare... nel momento in cui devi lavorare con quei componenti non userai mai java... ma non perchè non sia buono, ma semplicemente perchè non farà quello che vorrai e come lo vorrai soprattutto
Ma appunto non è il linguaggio che non te lo permette, attenzione, ma solo la sa implementazione. Quando programmi in Java, come target hai una Virtual Machine.
Con Java in quanto linguaggio ci puoi scrivere (e si sta facendo) anche un sitema operativo (vedi JNode).

Inoltre: un programmatore risolve problemi.
Sono i problemi che deve risolvere e i requisiti che essi determinano per la soluzione a determinare il preciso livello di astrazione al quale il programmatore deve operare.
E questo non ha niente a che vedere con la professionalità; sono solo ambiti diversi di competenze (e domini di conoscenza diversi).
La professionalità di un programmatore si misura in base alla sua capacità di risolvere i problemi per i quali è richiesta la sua opera. Se i problemi che deve risolvere richiedono l'uso del linguaggio assembly e la conscenza minuziosa di una specifica architettura, bene, quello deve sapere; viceversa se i problemi da risolvere richiedono l'uso di un linguaggio di alto livello e la conoscenza minuziosa di alcune librerie, bene, quello deve sapere.
A volte poi capita di avere bisogno di risolvere problemi che richiedono competenze "trasversali": bene, quelle competenze bisogna avere.
Non si può ogni volta "assolutizzare": esistono diversi strati o livelli di astrazione dalla macchina nuda & cruda e diverse "brache" di sapere: inutile e privo di fondamento dire che un pezzo del quadro è più importante degli altri.
Ciao
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)

Ultima modifica di banryu79 : 01-10-2009 alle 08:31.
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 01-10-2009, 09:53   #25
2186
Senior Member
 
L'Avatar di 2186
 
Iscritto dal: Feb 2008
Messaggi: 2808
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Ma appunto non è il linguaggio che non te lo permette, attenzione, ma solo la sa implementazione. Quando programmi in Java, come target hai una Virtual Machine.
Con Java in quanto linguaggio ci puoi scrivere (e si sta facendo) anche un sitema operativo (vedi JNode).

Inoltre: un programmatore risolve problemi.
Sono i problemi che deve risolvere e i requisiti che essi determinano per la soluzione a determinare il preciso livello di astrazione al quale il programmatore deve operare.
E questo non ha niente a che vedere con la professionalità; sono solo ambiti diversi di competenze (e domini di conoscenza diversi).
La professionalità di un programmatore si misura in base alla sua capacità di risolvere i problemi per i quali è richiesta la sua opera. Se i problemi che deve risolvere richiedono l'uso del linguaggio assembly e la conscenza minuziosa di una specifica architettura, bene, quello deve sapere; viceversa se i problemi da risolvere richiedono l'uso di un linguaggio di alto livello e la conoscenza minuziosa di alcune librerie, bene, quello deve sapere.
A volte poi capita di avere bisogno di risolvere problemi che richiedono competenze "trasversali": bene, quelle competenze bisogna avere.
Non si può ogni volta "assolutizzare": esistono diversi strati o livelli di astrazione dalla macchina nuda & cruda e diverse "brache" di sapere: inutile e privo di fondamento dire che un pezzo del quadro è più importante degli altri.
Ciao
si esatto su questo quoto in pieno anche io... ma non mi puoi negare che programmare in asm sia una cosa banale o come un altro linguaggio, perchè non lo è affatto...anzi...

ciao
__________________
Trattative concluse positivamente con: stefanonweb Toro_seduto luck78 montelli nick8640 peppe8600gt mr.jeeves sdedo71 gamecock $!/\/\o Pangasius ginepraio giorgioprimo pikerunner cicciopalla Il grande Blek spike_860 franzgranata Rebelderock ssamxx EFFERATUM monkey island ilgenerale djdisco_2 domax93 testasemidura Rospaccio bender8858 Pether vega05 domesda Shurpaul Stermy57 thinkfast Quagliarulo YuzaLaNuvola rtype davek3 Alzatan 4HwGenXX DAVO Wonderboy021067
2186 è offline   Rispondi citando il messaggio o parte di esso
Old 01-10-2009, 10:07   #26
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da 2186 Guarda i messaggi
si esatto su questo quoto in pieno anche io... ma non mi puoi negare che programmare in asm sia una cosa banale o come un altro linguaggio, perchè non lo è affatto...anzi...
E chi ha banalizzato?
Io, personalmente, cerco di non banalizzare ne dare per scontato nulla, nei miei limiti.
Per me l'attività di programmare, non è mai banale. Tra l'altro la conoscenza di un linguaggio è solo uno degli strumenti di conoscenza che entrano in ballo, in tale attività.
Dunque, dal mio punto di vista, non è banale programmare ne in assembly, ne in C, ne in Java, ne in C#, ne in SmallTalk, ne in Delphi, ne in Eiffel, ne in Factor, ne in Haskell, ne in Lisp, ne in Ada, ne in Python, ne in.... credo si sia capito

Proprio per il fatto che saper programmare non significa la mera conoscenza del linguaggio (anche se la presuppone).
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 01-10-2009, 11:37   #27
2186
Senior Member
 
L'Avatar di 2186
 
Iscritto dal: Feb 2008
Messaggi: 2808
Si, vero... ma io personalmente reputo linguaggio e linguaggio... anche se sono orientati a sviluppi differeni (settori) di certo non posso dire che il c++ sia piu difficile del VHDL e di certo che il vhdl lo sia piu di un ASM... insomma analizzando in maniera oggettiva dal mio punto di vista ci sono linguaggi e linguaggi, e come tale ne esistono di più semplici e più complicati, e questo penso sia innegabile.
__________________
Trattative concluse positivamente con: stefanonweb Toro_seduto luck78 montelli nick8640 peppe8600gt mr.jeeves sdedo71 gamecock $!/\/\o Pangasius ginepraio giorgioprimo pikerunner cicciopalla Il grande Blek spike_860 franzgranata Rebelderock ssamxx EFFERATUM monkey island ilgenerale djdisco_2 domax93 testasemidura Rospaccio bender8858 Pether vega05 domesda Shurpaul Stermy57 thinkfast Quagliarulo YuzaLaNuvola rtype davek3 Alzatan 4HwGenXX DAVO Wonderboy021067
2186 è offline   Rispondi citando il messaggio o parte di esso
Old 01-10-2009, 12:43   #28
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da 2186 Guarda i messaggi
insomma analizzando in maniera oggettiva dal mio punto di vista ci sono linguaggi e linguaggi, e come tale ne esistono di più semplici e più complicati, e questo penso sia innegabile.
Beh, se ognuno dovesse portare la sua personale "visione" non ci basterebbe un secolo per metterci tutti d'accordo.
Quello che dici ha un senso solo entro il limite determinato dal significato che tu attribuisci alla parola "semplice", e alla parola "complicato" nel contesto della tua affermazione.

In ogni caso, anche ammettendo che un linguaggio X è più complicato (facciamo sia da imparare che a utilizzare, in genere) di un linguaggio Y, anche prendendo due diversi programmatori A e B, che devono tipicamente risolvere problemi appartenenti a diverse branche applicative, ognuna delle quali richiede di operare a un diverso livello di astrazione BASSO oppure ALTO, dove A conosce X e opera al livello BASSO e B conosce Y e opera al livello ALTO, ancora non possiamo dire nulla su chi dei due sia più professionale.

Ovvero: non importa quanto è complicato il linguaggio che utilizza un certo programmatore: il solo fatto di utilizzarlo in ambito professionale (e quindi, presumibilmente, averlo padroneggiato) non ci dice nulla circa la sua professionalità in assoluto, e neppure relativamente ad altri programmatori che utilizzano linguaggi diversi.
Potrebbe al massimo darci un'idea stereotipata, parziale e di massima circa la sua "forma mentis" nell'approcciare e risolvere un problema dalla sua prospettiva; potrebbe anche darci una vaga idea dei campi applicativi in cui più spesso è richiesta la sua opera.

Tutto questo valutando le cose in modo "asettico"; cioè senza considerare che ogni programmatore ha invetibilmente dei gusti e delle inclinazioni particolari, e le sue idiosincrasie. E ricordandoci che stiamo solo pensando ai linguaggi, lasciando fuori tutto il resto (un'enormita' di roba). Ad esempio le concrete esperienze maturate in un certo dominio di problemi.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)

Ultima modifica di banryu79 : 01-10-2009 alle 12:47.
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 01-10-2009, 13:54   #29
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da 2186 Guarda i messaggi
si esatto su questo quoto in pieno anche io... ma non mi puoi negare che programmare in asm sia una cosa banale o come un altro linguaggio, perchè non lo è affatto...anzi...

ciao
Quote:
Originariamente inviato da 2186 Guarda i messaggi
Si, vero... ma io personalmente reputo linguaggio e linguaggio... anche se sono orientati a sviluppi differeni (settori) di certo non posso dire che il c++ sia piu difficile del VHDL e di certo che il vhdl lo sia piu di un ASM... insomma analizzando in maniera oggettiva dal mio punto di vista ci sono linguaggi e linguaggi, e come tale ne esistono di più semplici e più complicati, e questo penso sia innegabile.
Prova a buttare giù del codice Python (che è un linguaggio di altissimo livello) che, scrivendo questo:
Codice:
DB.PartnersSubAreas['id', 'name'].orderby['id desc'].limit[0, 5].List(partnerid = 1)
è in grado di tirarti fuori la seguente query:
Codice:
SELECT id, name FROM PartnersSubAreas WHERE (partnerid = %s) ORDER BY id desc LIMIT %s, %s
passargli i seguenti parametri:
Codice:
[1, 0, 5]
eseguirla sul DB, e restituire una lista di lista di elementi (id e name).

Ti assicuro che non è affatto banale. E non sto lavorando in assembly.
__________________
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 01-10-2009, 14:49   #30
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Prova a buttare giù del codice Python (che è un linguaggio di altissimo livello) che, scrivendo questo:
Codice:
DB.PartnersSubAreas['id', 'name'].orderby['id desc'].limit[0, 5].List(partnerid = 1)
è in grado di tirarti fuori la seguente query:
Codice:
SELECT id, name FROM PartnersSubAreas WHERE (partnerid = %s) ORDER BY id desc LIMIT %s, %s
passargli i seguenti parametri:
Codice:
[1, 0, 5]
eseguirla sul DB, e restituire una lista di lista di elementi (id e name).

Ti assicuro che non è affatto banale. E non sto lavorando in assembly.
Che fai PyLINQ?
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 01-10-2009, 15:18   #31
2186
Senior Member
 
L'Avatar di 2186
 
Iscritto dal: Feb 2008
Messaggi: 2808
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Prova a buttare giù del codice Python (che è un linguaggio di altissimo livello) che, scrivendo questo:
Codice:
DB.PartnersSubAreas['id', 'name'].orderby['id desc'].limit[0, 5].List(partnerid = 1)
è in grado di tirarti fuori la seguente query:
Codice:
SELECT id, name FROM PartnersSubAreas WHERE (partnerid = %s) ORDER BY id desc LIMIT %s, %s
passargli i seguenti parametri:
Codice:
[1, 0, 5]
eseguirla sul DB, e restituire una lista di lista di elementi (id e name).

Ti assicuro che non è affatto banale. E non sto lavorando in assembly.
non dico che sia banale e non l'ho mai detto... ma se vuoi ti pasto il codice di un dsp scritto in asm che è nelle tastiere della korg :-P neanche immagini che lavoro da bestie c'è dietro tra FFT STFT OVERLAP etc... cmq fa nulla...
__________________
Trattative concluse positivamente con: stefanonweb Toro_seduto luck78 montelli nick8640 peppe8600gt mr.jeeves sdedo71 gamecock $!/\/\o Pangasius ginepraio giorgioprimo pikerunner cicciopalla Il grande Blek spike_860 franzgranata Rebelderock ssamxx EFFERATUM monkey island ilgenerale djdisco_2 domax93 testasemidura Rospaccio bender8858 Pether vega05 domesda Shurpaul Stermy57 thinkfast Quagliarulo YuzaLaNuvola rtype davek3 Alzatan 4HwGenXX DAVO Wonderboy021067
2186 è offline   Rispondi citando il messaggio o parte di esso
Old 01-10-2009, 15:21   #32
2186
Senior Member
 
L'Avatar di 2186
 
Iscritto dal: Feb 2008
Messaggi: 2808
fatto sta che tanto ognuno rimarrà della propria idea, com'è anche giuisto che sia.... io quel ke ho detto l'ho detto per esperienza personale...immagino e spero anche voi...
cmq son contento ugualmente di aver scambiato idee ed opinioni con voi, rimandendo però ferreo sulle mie (per ora)... kissà un dì potrei anche ricredermi e appoggiare le vostre tesi, ma per il momento no.
Grazie ancora della chiacchierata
ciao
__________________
Trattative concluse positivamente con: stefanonweb Toro_seduto luck78 montelli nick8640 peppe8600gt mr.jeeves sdedo71 gamecock $!/\/\o Pangasius ginepraio giorgioprimo pikerunner cicciopalla Il grande Blek spike_860 franzgranata Rebelderock ssamxx EFFERATUM monkey island ilgenerale djdisco_2 domax93 testasemidura Rospaccio bender8858 Pether vega05 domesda Shurpaul Stermy57 thinkfast Quagliarulo YuzaLaNuvola rtype davek3 Alzatan 4HwGenXX DAVO Wonderboy021067
2186 è offline   Rispondi citando il messaggio o parte di esso
Old 01-10-2009, 16:06   #33
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Prova a buttare giù del codice Python (che è un linguaggio di altissimo livello) che, scrivendo questo:
Codice:
DB.PartnersSubAreas['id', 'name'].orderby['id desc'].limit[0, 5].List(partnerid = 1)
è in grado di tirarti fuori la seguente query:
Codice:
SELECT id, name FROM PartnersSubAreas WHERE (partnerid = %s) ORDER BY id desc LIMIT %s, %s
passargli i seguenti parametri:
Codice:
[1, 0, 5]
eseguirla sul DB, e restituire una lista di lista di elementi (id e name).

Ti assicuro che non è affatto banale. E non sto lavorando in assembly.
Beh li' e' colpa piu' del linguaggio, che non e' facilmente estendibile
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele
marco.r è offline   Rispondi citando il messaggio o parte di esso
Old 01-10-2009, 19:12   #34
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Che fai PyLINQ?
Francamente no, e nemmeno ci pensavo.

In questi giorni ho finito un progetto, e mi sono messo a rifattorizzare il codice, e ho notato dei pattern precisi per quanto riguarda le classiche operazioni al database. E' capitato anche con tanti altri progetti, ma questa volta avevo un po' di tempo e cominciato a raggruppare il codice in funzioni, a parametrizzarle, ecc.

Così sono arrivato a crearmi 4 funzioni abbastanza generali per coprire le classiche SELECT, INSERT, DELETE e UPDATE di SQL.

Ma non mi bastava. Anche se il codice era molto più pulito e lineare, non mi sembrava "naturale". Così ho cominciato a pensare come sarebbe stato comodo de dalla classe DB che usavo per crearmi la connessione al database, avessi potuto "estrarre" l'istanza di un'altra che rappresentasse l'entità tabella desiderata. E così via, da lì ho fatto diventare la classe DB una factory per la classe Entity che ho creato e che incapsulava tutte e 4 le operazioni SQL sopra citate.

Non so, magari sono stato influenzato da LINQ a causa dei numerosi esempi che ho visto da parte di gugoXX e di Tigershark, e incosciamente sono stato portato a creare un modello simile.

Simile, ma diverso, perché LINQ è un approccio alla manipolazione dei dati, mentre il mio voleva essere soltanto un metodo più naturale e semplice per gestire le 4 operazioni su DB.

E infatti sto già pensando di farlo evolvere in modo da poter rappresentare condizioni molto più complesse per la parte WHERE, e magari aggiungere le operazioni di UNION, INTERSECT, le JOIN, e così via.

Le potenzialità offerte dall'overloading degli operatori sono incredibili, e mi stanno facendo ammattire (nel senso buono).
Quote:
Originariamente inviato da 2186 Guarda i messaggi
non dico che sia banale e non l'ho mai detto... ma se vuoi ti pasto il codice di un dsp scritto in asm che è nelle tastiere della korg :-P neanche immagini che lavoro da bestie c'è dietro tra FFT STFT OVERLAP etc... cmq fa nulla...
Quote:
Originariamente inviato da 2186 Guarda i messaggi
fatto sta che tanto ognuno rimarrà della propria idea, com'è anche giuisto che sia.... io quel ke ho detto l'ho detto per esperienza personale...immagino e spero anche voi...
cmq son contento ugualmente di aver scambiato idee ed opinioni con voi, rimandendo però ferreo sulle mie (per ora)... kissà un dì potrei anche ricredermi e appoggiare le vostre tesi, ma per il momento no.
Grazie ancora della chiacchierata
ciao
Anch'io parlo per esperienza personale (cerca "the best amiga fighting game", e vedi cosa trovi ), visto che ho passato buona parte della mia vita da programmatore a lavorare in assembly. E tutta l'esperienza accumulata a basso livello non fa che farmi apprezzare i vantaggi e le potenzialità dei linguaggi di alto livello.

Fermo restando che, basso o alto livello che sia, da buon programmatore ribadisco che m'interessa risolvere i problemi che mi vengono sottoposti.
Quote:
Originariamente inviato da marco.r Guarda i messaggi
Beh li' e' colpa piu' del linguaggio, che non e' facilmente estendibile
Mumble. Francamente mi sono divertito molto e non ho trovato particolari impedimenti a livello di linguaggio, a parte una cosa. Questa:
Codice:
DB.formats(name = 'Pippo') *= {id = 1}
che non posso scrivere perché non si può utilizzare l'operatore di moltiplicazione inplace sull'invocazione di una funzione. Per cui sono stato costretto a utilizzare l'operatore di indicizzazione / accesso a un vettore:
Codice:
DB.formats[{'name' = 'Pippo'}] *= {id = 1}
Avrei preferito una catena di chiamata a metodi. Ma va bene anche così. Quindi ho riservato l'operatore di chiamata a funzione esclusivamente per implementare le SELECT, e dove serve passare parametri o impostare certe configurazioni (come orderby e limit, ad esempio), utilizzato l'operatore getitem.

Comunque sarei molto interessato a sapere in che modo avresti pensato di implementarlo. Quindi quale sintassi sarebbe stata più comoda per te (se Python lo avesse permesso).
__________________
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

Ultima modifica di cdimauro : 01-10-2009 alle 19:15.
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 02-10-2009, 08:26   #35
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Francamente no, e nemmeno ci pensavo.

In questi giorni ho finito un progetto, e mi sono messo a rifattorizzare il codice, e ho notato dei pattern precisi per quanto riguarda le classiche operazioni al database. E' capitato anche con tanti altri progetti, ma questa volta avevo un po' di tempo e cominciato a raggruppare il codice in funzioni, a parametrizzarle, ecc.

Così sono arrivato a crearmi 4 funzioni abbastanza generali per coprire le classiche SELECT, INSERT, DELETE e UPDATE di SQL.

Ma non mi bastava. Anche se il codice era molto più pulito e lineare, non mi sembrava "naturale". Così ho cominciato a pensare come sarebbe stato comodo de dalla classe DB che usavo per crearmi la connessione al database, avessi potuto "estrarre" l'istanza di un'altra che rappresentasse l'entità tabella desiderata. E così via, da lì ho fatto diventare la classe DB una factory per la classe Entity che ho creato e che incapsulava tutte e 4 le operazioni SQL sopra citate.

Non so, magari sono stato influenzato da LINQ a causa dei numerosi esempi che ho visto da parte di gugoXX e di Tigershark, e incosciamente sono stato portato a creare un modello simile.

Simile, ma diverso, perché LINQ è un approccio alla manipolazione dei dati, mentre il mio voleva essere soltanto un metodo più naturale e semplice per gestire le 4 operazioni su DB.

E infatti sto già pensando di farlo evolvere in modo da poter rappresentare condizioni molto più complesse per la parte WHERE, e magari aggiungere le operazioni di UNION, INTERSECT, le JOIN, e così via.
.
Eheh.

LINQ ha parecchi flavour.
Il primo, generalmente il piu' usato, anche qui sul forum, e' "LINQ to Object", ovvero il manipolare i dati gia' presenti nelle collezioni in memoria.
Il secondo e' "LINQ to SQL", che fa proprio quello che stavi studiando, ovvero prendere una sequenza di istruzioni funzionali e trasformarla in una istruzione SQL da sottomettere al DB di turno.
Che e' simile se non identico a quanto stai studiano.

Ci sono poi "LINQ to XML" e "LINQ to Dataset".

Relativamente a "LINQ to SQL" c'e' gia' stata un'evoluzione, sotto il nome di Entity Framework.


Impagabile vedere trasformare cose come
Codice:
var res = Persone.Where(persona => persona.Nome.StartsWith("Pippo"))
                       .OrderBy(persona => persona.Cognome)
                       .Select(persona=> new {persona.citta, persona.indirizzo});
in
Codice:
SELECT Citta,Indirizzo
  FROM Persone
  WHERE Nome LIKE 'pippo%'
  ORDER BY Cognome
__________________
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 : 02-10-2009 alle 08:30.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 02-10-2009, 09:01   #36
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Concordo: è una goduria.

Ed effettivamente sono molto simili (d'altra parte queste soluzioni sono nate per risolvere gli stessi problemi).

Io ho usato una notazione forse un po' troppo stringata, ma mi sembra che bene o male sia comprensibile.

Ovviamente ogni suggerimento è il benvenuto.
__________________
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2009, 13:06   #37
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
marco.r, perché non ti spieghi? Guarda che non ti mangio mica! Sono seriamente interessato al tuo punto di vista (e, tempo fa, anche a quello sui thread).
__________________
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2009, 15:33   #38
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da JoJo Guarda i messaggi
Dovrei realizzare un software di controllo per macchine CNC da utilizzare sia in ambiente Windows che in ambiente Linux.
Puoi indicare brevemente la composizione hardware della macchina che controlla la CNC ?
Spesso sono macchine vecchie e poco performanti.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 06-10-2009, 08:54   #39
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
marco.r, perché non ti spieghi? Guarda che non ti mangio mica! Sono seriamente interessato al tuo punto di vista (e, tempo fa, anche a quello sui thread).
Carenza di tempo . Oggi provero' ad esporre con calma il discorso.
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele
marco.r è offline   Rispondi citando il messaggio o parte di esso
Old 06-10-2009, 19:41   #40
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Ma no, guarda: prenditi pure tutto il tempo che vuoi. E' già tanto se mi risponderai, e ti ringrazio anticipatamente per il disturbo.
__________________
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming Un fulmine sulla scrivania, Corsair Sabre v2 Pro...
Nokia Innovation Day 2025: l’Europa ha bisogno di campioni nelle telecomunicazioni Nokia Innovation Day 2025: l’Europa ha bisogno d...
Sottile, leggero e dall'autonomia WOW: OPPO Reno14 F conquista con stile e sostanza Sottile, leggero e dall'autonomia WOW: OPPO Reno...
Destiny Rising: quando un gioco mobile supera il gioco originale Destiny Rising: quando un gioco mobile supera il...
Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo Plaud Note Pro convince per qualità e int...
Adesso ci si può laureare in stor...
Impact.com ridefinisce il performance ma...
Nintendo non considera le mod dannose pe...
Dreame inaugura il suo flagship store a ...
OpenAI e Jony Ive: in arrivo un disposit...
TikTok, secondo Trump l'accordo con Xi &...
HUAWEI, tutte le novità dell'even...
Mercedes GenH2 Truck sulle Alpi: oltre 1...
Shadow Leak: ecco come ChatGPT poteva es...
Google Gemini 2.5 batte quasi tutti gli ...
Battlefield 6: i giocatori console non p...
Iliad rinnova l'offerta mobile: tre pian...
HUAWEI Watch GT 6 ufficiale: design al t...
Reggie Townsend di SAS: l’etica dell’IA ...
Startup Marathon in vista del traguardo:...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:40.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v