|
|
|
![]() |
|
Strumenti |
![]() |
#141 | |
Senior Member
Iscritto dal: Mar 2005
Città: Morimondo city
Messaggi: 5491
|
Quote:
__________________
Khelidan Ultima modifica di khelidan1980 : 09-08-2008 alle 12:47. |
|
![]() |
![]() |
#142 | |||
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12093
|
Quote:
Perchè i linguaggi diversi non sono altro che questo: strumenti. Conoscendo i pregi e i difetti dei vari linguaggi e possibile scegliere lo strumento migliore. Ma se non ci si aggiorna mai si rimane sempre a lavorare per una vita con lo stesso linguaggio, e ciò imho non è mai un bene. Un informatico dal mio punto di vista non può assolutamente essere conservatore ma deve aprire continuamente la mente a nuovi concetti che lo potrebbero aiutare a lavoro. Quote:
![]() Forse perchè se si fissano su un solo strumento e non si informano potrebbero continuare ad utilizzare lo stesso strumento nonostante la presenza di linguaggi + produttivi? ![]() Quote:
Ovviamente l'optimum sarebbe conoscere tutti i linguaggi possibili e immaginabili, ma mi pare un pò arduo ![]() Da parte mia al ritorno delle vacanze ho in cima alla lista dei linguaggi da imparare l'Objective-C 2.0.
__________________
![]() |
|||
![]() |
![]() |
#143 |
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1726
|
Bravo, Questo mi sembra un buon esempio dei motivi per i quali è meglio partire con il C.
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. |
![]() |
![]() |
#144 | |||
Senior Member
Iscritto dal: Nov 2002
Messaggi: 5771
|
Quote:
![]() Se nel posto di lavoro utilizzo C++, è meglio che approfondisca quello, aggiornandomi sule novità o mi studi un linguaggio che non c'entra nulla come C#? Non è questione di tenersi aggiornato o meno, è questione di conciliare il proprio tempo libero con l'impararsi cose che effettivamente serviranno. Quote:
Quote:
![]() Non si deve confondere la voglia di sapere personale, con le effettive richieste del proprio posto di lavoro. Uno nel tempo libero può studiarsi qualsiasi cosa, anche trattati di medicina, ma poi si deve vedere se realmente gli servono. Ultima modifica di Unrue : 09-08-2008 alle 13:55. |
|||
![]() |
![]() |
#145 |
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1726
|
Mi è venuto in mente un esempio
In Hibernate ci sono i Criteria, con i Criteria puoi fare interrogazioni a DB in modo completamente object oriented, senza neppure scrivere qualcosa di lontanamente simile a SQL (come invece avviene per HQL o JPQL..o mi pare LINQ in ambito .net) Codice:
List cats = sess.createCriteria(Cat.class) .add( Property.forName("name").like("F%") ) .addOrder( Property.forName("name").asc() ) .addOrder( Property.forName("age").desc() ) .setMaxResults(50) .list(); ![]()
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. |
![]() |
![]() |
#146 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12093
|
Quote:
![]() SQL è pensato proprio per lavorare sui DB tant'è vero che ha una potenza espressiva inferiore a quasi tutti gli altri linguaggi. Per me, tornando all'esempio di cui sopra, sarebbe MOLTO + chiaro scrivere: Codice:
var result = (from c in categories where c.name.StartsWith("F") orderby c.name, c.age descending select c).Take(50);
__________________
![]() |
|
![]() |
![]() |
#147 | |
Senior Member
Iscritto dal: Aug 2003
Città: Biella
Messaggi: 689
|
Quote:
|
|
![]() |
![]() |
#148 | |
Senior Member
Iscritto dal: Nov 2002
Messaggi: 5771
|
Quote:
![]() Mi ritenete non aggiornato perché ho fatto il grave errore di non aggiornarmi su un linguaggio a me assolutamente inutile? Mah.. Se un giorno mi chiedessero di impararmelo, allora me lo studierei. Ma il discorso in questo caso è diverso, ci sarebbe uno scopo. Ci sono tantissime cose che fanno parte dell'IT, dovremmo impararsele tutte? Allora dobbiamo impararci anche Python, PHP? Ma mettiamoci anche il quantum computing và, così anticipiamo i tempi ![]() State confondendo la passione per la programmazione con l'utilità pratica delle cose. Per passione si può studiare qualsiasi linguaggio è ovvio, ma non è detto che mi servano tutti. Ultima modifica di Unrue : 09-08-2008 alle 16:58. |
|
![]() |
![]() |
#149 | |
Senior Member
Iscritto dal: Aug 2003
Città: Biella
Messaggi: 689
|
Quote:
|
|
![]() |
![]() |
#150 | |
Senior Member
Iscritto dal: Nov 2002
Messaggi: 5771
|
Quote:
![]() |
|
![]() |
![]() |
#151 |
Senior Member
Iscritto dal: Aug 2003
Città: Biella
Messaggi: 689
|
|
![]() |
![]() |
#152 | ||
Senior Member
Iscritto dal: May 2001
Messaggi: 12814
|
Quote:
Per quanto mi riguarda programmare è uno dei tanti ambiti dell'informatica, ma non il solo, fortunatamente. Quote:
Cmq se uno fa il programmatore di professione hanno ragione entrambi sia tigershark che unrue, uno deve essere al corrente degli strumenti a disposizione, e allo stesso tempo ovviamente se sta lavorando per una azienda attenersi a quello che è il linguaggio in uso (volendo anche illustrando ai capi le motivazioni per cui si può usare un linguaggio migliore di quello che stanno attualmente usando). Penso che chiunqua esca da un corso di informatica o di ingegneria informatica comunque abbia le conoscenze necessarie di basso livello per poter realizzare dei programmi coscientemente... discorso diverso se si seguono corsi esterni alle università, dove magari gli obiettivi sono altri. Comunque uno dei motivi dell'adozione dell'object-oriented è proprio questo scostarsi dall'implementazione da "come è fatto il programma" per concentrarsi di più sul dominio applicativo. Per cui non credo che un programmatore OO debba necessariamente conoscere i dettagli di basso livello seppure possano servire come "bagaglio culturale". PS: l'informatica non è uno strumento solo fine a se stesso. Ultima modifica di WarDuck : 10-08-2008 alle 13:39. |
||
![]() |
![]() |
#153 | ||
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7237
|
Quote:
Quote:
è sbagliato dire che un programmatore deve risolvere problemi, questa definizione comprende solo una parte dell'obiettivo di un programmatore. infatti programmare significa risolvere problemi usando gli strumenti informatici a disposizione, e questo implica la conoscenza degli strumenti che si usano. certamente è anche possibile ignorare totalmente tutto questo e programmare senza avere la minima consapevolezza di quello che accade realmente, ma dubito fortemente che questo sia un motivo per programmare "meglio". semplicemente la programmazione di cui parlate voi e quella di cui ho parlato poche righe sopra sono due cose diverse e complementari (si posso imparare in momenti diversi e senza particolari problemi se non nella mente del soggetto). un programmatore DEVE sapere a che livello porsi, non esiste nessun approccio che è meglio sempre. se parliamo di imparare a programmare invece sto dicendo che si può imparare a programmare sia in Java che in C che in Python, non vedo quale sia il problema, dipende dalle attitudini del soggetto. certo è che se uno viene sul forum a chiedere ogni minima cassata (dolce tipico siciliano) significa che non andrà molto lontano. e questo sia che sta usando python che C. per il resto ho già ampiamente argomentato il fatto che tutto quello che si apprende con il C serve anche quando si programma in altri linguaggi. addirittura l'uso dei puntatori è presente in C#, ma anche quando si parla di reference in un qualsiasi linguaggio moderno può tornare d'aiuto il concetto di puntatore per capire come mai Java non ha il passaggio per riferimento (ci sono volute una ventina di pagine in un thread di questo forum per convincere certi programmatori), come mai in Java quando copio un oggetto non viene eseguita una deep copy ecc... quando si programma seriamente questi sono problemi che vanno affrontati, non basta ragionare in termini astratti e saper risolvere problemi, bisogna anche conoscere gli strumenti informatici che vanno usati, il resto è pura fantasia. |
||
![]() |
![]() |
#154 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
E noi abbiamo stra-argomentato sul perché partire col C è perfettamente inutile, oltre che deleterio.
Tu stesso nel tuo precedente messaggio hai posto le basi per eliminare il C sia sul piano meramente didattico, che non. Quanto alla consapevolezza di sapere ciò che c'è sotto, è roba inutile. Al programmatore è necessario sapere come risolvere i problemi, certamente non roba come questa: Codice:
>>> import dis >>> def f(a, x, y, z): ... if a >= 0: ... return y, z, x ... else: ... return x, y, z ... >>> dis.dis(f) 2 0 LOAD_FAST 0 (a) 3 LOAD_CONST 1 (0) 6 COMPARE_OP 5 (>=) 9 JUMP_IF_FALSE 17 (to 29) 12 POP_TOP 3 13 LOAD_FAST 2 (y) 16 LOAD_FAST 3 (z) 19 LOAD_FAST 1 (x) 22 BUILD_TUPLE 3 25 RETURN_VALUE 26 JUMP_FORWARD 14 (to 43) >> 29 POP_TOP 5 30 LOAD_FAST 1 (x) 33 LOAD_FAST 2 (y) 36 LOAD_FAST 3 (z) 39 BUILD_TUPLE 3 42 RETURN_VALUE >> 43 LOAD_CONST 0 (None) 46 RETURN_VALUE ![]()
__________________
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 |
![]() |
![]() |
#155 | |
Senior Member
Iscritto dal: Dec 2007
Città: brianza
Messaggi: 717
|
Quote:
Perchè programmatori di alcune nicchie importanti devono utilizzarlo controvoglia?
__________________
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 |
|
![]() |
![]() |
#156 | |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7237
|
Quote:
di deleterio c'è solo la mente di chi programma male, non il linguaggio |
|
![]() |
![]() |
#157 | |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7027
|
Quote:
|
|
![]() |
![]() |
#158 | ||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Inoltre ci sono s.o. come Unix che si sono legati mani e piedi a C: programmare su sistemi Unix-like è praticamente equivalente a lavorare in C. C'è molta difficoltà, e anche un giusto timore in alcuni casi, a "svecchiare" gli strumenti. Quote:
Codice:
#include <stdio.h> int main(void) { int n; while (scanf("%d", n) == 1) printf ("%d\n", n); return 0; } E questo è solo un esempio.
__________________
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 |
||
![]() |
![]() |
#159 | |
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
![]() ![]()
__________________
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 |
|
![]() |
![]() |
#160 | |
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
La quantita' di codice C/C++ e' probabilmente analoga a quella che si trova in un sistema Windows. Se guardi poi gli ambienti grafici c'e' una certa quantita' accessori/tool scritti in linguaggi di piu' alto livello. Anzi, quando si va oltre i linguaggi mainstream (c++,vb,.net,java) c'e' piu' disponibilita' sotto unix che sotto windows.
__________________
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 |
|
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:29.