dany_dev
Posting Freak
Messaggi: 4,046
Registrato: Sep 2010
Online
|
#1
The demise of the low level Programmer.
(Questo messaggio è stato modificato l'ultima volta il: 27-05-2012 15:21 da dany_dev.)
|
|
| 26-05-2012 10:10 |
|
MonkeySoft
Bloody Monkey
Messaggi: 1,225
Registrato: Dec 2009
Offline
|
|
| 26-05-2012 10:11 |
|
dany_dev
Posting Freak
Messaggi: 4,046
Registrato: Sep 2010
Online
|
#3
RE: The demise of the low level Programmer.
sicuro? trololol!
|
|
| 26-05-2012 10:20 |
|
MonkeySoft
Bloody Monkey
Messaggi: 1,225
Registrato: Dec 2009
Offline
|
|
| 26-05-2012 11:27 |
|
panzone
Senior Member
Messaggi: 251
Registrato: Sep 2010
Online
|
#5
RE: The demise of the low level Programmer.
Grazie mille per i link. Tuttavia mi spiace quotare il primo articolo linkato. Dice troppe verita persino per i miei gusti. Frequentando informatica noto che son davvero pochi coloro a cui interessa davvero scendere nei dettagli e si accontentano di una preparazione sommaria, di una strada che funziona senza valutarne altre che magari più si adattano al nostro contesto. Però se si chiama computer science un motivo ci sarà
Andrea Francesco Iuorio
-Studente di Scienze Informatiche presso L' Università degli Studi di Milano.
"The C Programming Language - A language which combines the flexibility of assembly language with the power of assembly language."
|
|
| 26-05-2012 14:36 |
|
shogo
Wannabe
Messaggi: 270
Registrato: Oct 2011
Offline
|
#6
RE: The demise of the low level Programmer.
Il problema non è volerle approfondire. Il problema è ricordare.
Gli argomenti che ha elencato vengono generalmente affrontati anche in un corso di laurea triennale, dubito che un programmatore non gli abbia mai visti.
Due anni fa quando ho preparato l'esame di algoritmi e strutture dati, avrei saputo enunciare la complessità di un bel po di algoritmi di ricerca e ordinamento e scrivere al volo il codice di oguno di essi. Così come avrei saputo calcolare e dirti cosa sono l'epsilon macchina, qual'è la differenza tra floating e fixed point, scrivere l'algoritmo per risolvere un sistema triangolare superiore, disegnare a memoria l'header ipv6/ipv4, scrivere l'algoritmo RED per il dropping di pacchetti ect, ect.
Ma non appena hai a che fare con lavori "pratici" trovi bene o male già tutto implementato, ti viene consigliato di utilizzare le implementazioni esistenti e a dimenticare si fa in fretta. Quel che mi è rimasto oggi è un vago "quick sort meglio di bubble sort"... generalizzando "A meglio di B perché dall'uni ricordo più o meno così". Eppure ho colleghi che magari all'esame sono andati peggio di me ma a distanza di anni ricordano ancora "i dettagli".
Secondo me è una questione di come funziona l'apprendimento in ognuno di noi.. potrei prendere la lista di argomenti citati in quell'articolo, ristudiarmeli tutti e son sicuro che passati 2 mesi senza vederli costantemente mi ritroverei a non ricordare una cippa.
Coddare di meno, codare di più..
hmm.. momento, momento...
__________________________________________
let Mattias_Santoro : ref<TuTubo> = ref FacciaLibro
(Questo messaggio è stato modificato l'ultima volta il: 26-05-2012 16:25 da shogo.)
|
|
| 26-05-2012 16:24 |
|
dany_dev
Posting Freak
Messaggi: 4,046
Registrato: Sep 2010
Online
|
#7
RE: The demise of the low level Programmer.
credo che il punto non sia: "ricordati tutto a memoria", il punto è: "sappi che esistano, e se incontri un problema dove è richiesta la loro conoscenza, sappi come agire per risolvere il problema al meglio".
|
|
| 26-05-2012 16:39 |
|
shogo
Wannabe
Messaggi: 270
Registrato: Oct 2011
Offline
|
#8
RE: The demise of the low level Programmer.
Ma il problema è che non lo risolvi al meglio se non ricordi "i dettagli". E' vero che c'è sempre google, c'è sempre la possibilità di ripassare, e se son cose già viste si fa in fretta a nonostante gli anni.
Però l'autore mi sembrava lamentarsi del fatto che tanti colleghi "di alto livello" non ricordino i dettagli "seduta stante". Ma in effetti a fondo articolo specifica:
"It seems I didn’t do a very good job at explaining the core audience for the article, I apologize for that. The programmers I would like to see learning and absorbing these “low level” details are those who would see themselves working in console games".
E io non leggo mai fino a fondo articolo XD
Coddare di meno, codare di più..
hmm.. momento, momento...
__________________________________________
let Mattias_Santoro : ref<TuTubo> = ref FacciaLibro
|
|
| 26-05-2012 17:02 |
|
panzone
Senior Member
Messaggi: 251
Registrato: Sep 2010
Online
|
#9
RE: The demise of the low level Programmer.
(26-05-2012 16:24)shogo ha scritto: Ma non appena hai a che fare con lavori "pratici" trovi bene o male già tutto implementato, ti viene consigliato di utilizzare le implementazioni esistenti e a dimenticare si fa in fretta. Quel che mi è rimasto oggi è un vago "quick sort meglio di bubble sort"... generalizzando "A meglio di B perché dall'uni ricordo più o meno così". Eppure ho colleghi che magari all'esame sono andati peggio di me ma a distanza di anni ricordano ancora "i dettagli".
Secondo me è una questione di come funziona l'apprendimento in ognuno di noi.. potrei prendere la lista di argomenti citati in quell'articolo, ristudiarmeli tutti e son sicuro che passati 2 mesi senza vederli costantemente mi ritroverei a non ricordare una cippa.
Il punto secondo me è un altro. Non si pretende certo di ricordare a memoria la complessità di ogni algoritmo esistente o di saperlo implementare su ogni linguaggio ed hardware esistente, ma almeno sapere che esistono ed le loro forze/debolezze si  Noi informatici dobbiamo risolvere problemi e, come tale, dobbiamo conoscere al meglio gli strumenti che abbiamo di fronte e selezionare, di volta in volta, il migliore. Non si pretende certo di ricordare che bubble sort è O(n^2) e quicksort O(n log n) ma almeno sapere che quicksort è ottimale alla lunga a costo di una implementazione più complessa ( cosa che non sempre sottovaluterei ) e uno stack ausiliario si
N.B. Io sto parlando di informatico, non di code monkey o programmatore generico che usa sort() con atto di fede. In tal caso, ovviamente, il mio discorso si va a perdere ma son abbastanza sicuro che non sia indirizzato a loro quell' articolo.
(26-05-2012 16:39)dany_dev ha scritto: credo che il punto non sia: "ricordati tutto a memoria", il punto è: "sappi che esistano, e se incontri un problema dove è richiesta la loro conoscenza, sappi come agire per risolvere il problema al meglio".
Si, la penso anche io cosi. Studiare a memoria non serve, grazie ad internet, documentazioni, reference ecc. ecc. ed anzi, può essere controproducente. La forma mentis adeguata però non te la può dare certo una ricerca su internet.
Andrea Francesco Iuorio
-Studente di Scienze Informatiche presso L' Università degli Studi di Milano.
"The C Programming Language - A language which combines the flexibility of assembly language with the power of assembly language."
(Questo messaggio è stato modificato l'ultima volta il: 26-05-2012 19:15 da panzone.)
|
|
| 26-05-2012 19:12 |
|
TheCrib
Indie Pellerossa
Messaggi: 5,295
Registrato: Sep 2010
Offline
|
#10
RE: The demise of the low level Programmer.
Non e' neanche questione di avere una infarinatura.. l'idea e' di avere un hacker con le mani sporche di codice.
Certe cose devono diventare una seconda natura.. essere efficienti vuol dire non doverci necessariamente pensare.
Se uno deve pensare su qualcosa, vuol dire che sta ancora imparando.. che e' lecito ed e' forse la cosa piu' bella del game dev.. ma allo stesso tempo uno vuole imparare qualcosa di nuovo, non come shiftare i bits 8)
Davide Pasca
http://v5.kazzuya.com - @109mae
http://oyatsukai.com - @oyatsukai
"O frechete !" - M.Magnotta
|
|
| 26-05-2012 20:52 |
|
dany_dev
Posting Freak
Messaggi: 4,046
Registrato: Sep 2010
Online
|
#11
RE: The demise of the low level Programmer.
mi sono letto un po' i commenti dell'articolo linkato e molti "veterani", confermano il trend dei giovani di allontanarsi dal basso livello e tra i commenti ho trovato questo: I have as simple test that only one in twenty programmers get right. What does the following function do?
Codice:
char *func(char *p1, char *p2)
{
char *l1 = p1 ;
while (*l1++ = *p2++) ;
return p1 ;
}
Sinceramente pur non essendo un asso del C++, ci ho messo meno di 10 secondi a capire cosa facesse....mi sento rincuorato xD
(Questo messaggio è stato modificato l'ultima volta il: 27-05-2012 15:35 da dany_dev.)
|
|
| 27-05-2012 15:32 |
|
hjeldin
junction specialist
Messaggi: 703
Registrato: Jan 2011
Offline
|
#12
RE: The demise of the low level Programmer.
(27-05-2012 15:32)dany_dev ha scritto: mi sono letto un po' i commenti dell'articolo linkato e molti "veterani", confermano il trend dei giovani di allontanarsi dal basso livello e tra i commenti ho trovato questo: I have as simple test that only one in twenty programmers get right. What does the following function do?
Codice:
char *func(char *p1, char *p2)
{
char *l1 = p1 ;
while (*l1++ = *p2++) ;
return p1 ;
}
Sinceramente pur non essendo un asso del C++, ci ho messo meno di 10 secondi a capire cosa facesse....mi sento rincuorato xD
20 secondi
Segmentation fault come fosse niente
Riccardo Arena
Actionscripttaro da 3.0 soldi e winner di contest Microsoft come unico partecipante 
dev/whatever blog
portfolio
|
|
| 27-05-2012 15:38 |
|
shogo
Wannabe
Messaggi: 270
Registrato: Oct 2011
Offline
|
#13
RE: The demise of the low level Programmer.
(27-05-2012 15:32)dany_dev ha scritto: mi sono letto un po' i commenti dell'articolo linkato e molti "veterani", confermano il trend dei giovani di allontanarsi dal basso livello e tra i commenti ho trovato questo: I have as simple test that only one in twenty programmers get right. What does the following function do?
Codice:
char *func(char *p1, char *p2)
{
char *l1 = p1 ;
while (*l1++ = *p2++) ;
return p1 ;
}
Sinceramente pur non essendo un asso del C++, ci ho messo meno di 10 secondi a capire cosa facesse....mi sento rincuorato xD
Ma perché.. dovrebbe funzionare? 
Se si non mi rincuoro per niente!
Coddare di meno, codare di più..
hmm.. momento, momento...
__________________________________________
let Mattias_Santoro : ref<TuTubo> = ref FacciaLibro
|
|
| 27-05-2012 15:57 |
|
_tommo_
Mod nerdcore
Messaggi: 6,043
Registrato: Nov 2008
Online
|
#14
RE: The demise of the low level Programmer.
(27-05-2012 15:57)shogo ha scritto: Ma perché.. dovrebbe funzionare? 
Se si non mi rincuoro per niente!
Seh, copia una stringa null-terminated in dest (compreso /0) e restituisce dest.
L'equivalente sarebbe
Codice:
char* func( char* dest, char* src )
{
int i = 0;
for(; src[0] != NULL; ++i )
dest[i] = src[i];
dest[i] = 0;
return dest;
}
Che forse è anche più decente
Tommaso Checchi
< devlog | twitter | Dojo, a C++ game framework >
(Questo messaggio è stato modificato l'ultima volta il: 27-05-2012 16:33 da _tommo_.)
|
|
| 27-05-2012 16:33 |
|
fatto
T_T
Messaggi: 1,024
Registrato: May 2009
Offline
|
#15
RE: The demise of the low level Programmer.
(27-05-2012 16:33)_tommo_ ha scritto: (27-05-2012 15:57)shogo ha scritto: Ma perché.. dovrebbe funzionare? 
Se si non mi rincuoro per niente!
Seh, copia una stringa null-terminated in dest (compreso /0) e restituisce dest.
L'equivalente sarebbe
Codice:
char* func( char* dest, char* src )
{
int i = 0;
for(; src[0] != NULL; ++i )
dest[i] = src[i];
dest[i] = 0;
return dest;
}
Che forse è anche più decente 
non dovrebbe essere src[i] != NULL ?
Marco Fattorel ╯°□°)╯ ︵ ┻━┻
let's make a MMO
|
|
| 27-05-2012 16:45 |
|