Sommersi Dalle Informazioni

U

Utente cancellato 313208

Ospite
Spero di aver scelto la sezione giusta per questa "discussione". Studio Informatica all'università (mi manca poco alla laurea). L'informatica, o meglio la tecnologia in generale, è la mia vita. La maggior parte del mio tempo libero lo impiego nell'arricchimento delle mie conoscenze negli ambiti che più mi soddisfano e incuriosiscono: linguaggi di programmazione, reti di calcolatori e realizzazione di PC assemblati sono le mie principali passioni. Queste cose non solo mi affascinano, ma sono il mezzo attraverso cui posso esprimermi, nonché creare (magari) qualcosa di bello, utile e produttivo. Un pensiero negativo con cui mi ritrovo spesso a fare i conti è relativo alla (praticamente) infinita quantità di informazioni che il mio ambito di studio mi mette, ci mette a disposizione.
Faccio un esempio: i linguaggi di programmazione. Ne esistono un sacco, ognuno specializzato in un ambito, ognuno con i suoi pro e i suoi contro. Linguaggi che sembrano a volte tornare in voga, e che un DOMANI magari sostituiranno i linguaggi che tu OGGi usi e che ritieni siano insostituibili. E come se non bastasse, ecco spuntare articoli, post e opinioni di esperti/studiosi/programmatori/appassionati che spesso sono in contraddizione tra di loro. Io ormai ci sguazzo da alcuni anni in questo oceano di informazioni e possibilità, ma posso solo ora immaginare quale possa essere lo sconcerto di un novizio che per la prima volta, al fine di affacciarsi al mondo dell'informatica, cerca di darsi un'infarinatura semplicemente mediante una ricerca su Google. Al suo click, scatenato l'Inferno. Una quantità infinita di informazioni: impara questo linguaggio, no aspetta usa quest'altro, no macché quest'altro il prossimo anno andrà forte. L'esempio dei linguaggi può applicarsi, comodamente, anche ai framework Web, ad esempio, o a qualsiasi altro ambito informatico di vostro piacimento.
Insomma, sono alcuni anni che mi ritrovo a scrivere codice sulla tastiera del mio laptop, ma ancora oggi mi ritrovo spesso "sbatacchiato" e disperso nell'infinita quantità di informazioni che sono a nostra disposizione, e che spesso riesce ad avere il sopravvento sulla mia voglia di fare e di imparare continuamente. Mi farebbe piacere avere un vostro punto di vista.
 

TechArch

Utente Attivo
592
121
Bravo hai colto un punto sottovalutato da molti. Ribatto dicendo che anche solo un linguaggio può essere enormemente vasto. Prendi Java e il suo "mondo", è impossibile conoscerlo del tutto: le api ultime versioni, la jvm, i tool, i framework web, i framework per la persistence, le librerie, gli application server esistenti... Purtroppo è così e per la gente ignorante uno esperto di informatica sa tutto, almeno un programmatore Java dovrebbe saper tutto di Java, ma è impossibile, e non lo capiscono. Pensano che ci siano 2 o 3 cose da sapere e lo potrebbe fare chiunque. E la materia, cambia, si evolve, si espande giorno per giorno.
Hai ragione, è così, l'informatica è una scienza giovane e soffre di questo. Fra qualche decennio forse la situazione si stabilizzerà, il problema è che rispetto alle altre scienze, è facile creare qualcosa di nuovo da imparare o da studiare.
Purtroppo avrai sempre questa situazione di "dispersione", c'è chi si verticalizza cercando di sapere bene un solo argomento di un solo campo (es. programmatori web service Java per dirne uno) oppure di devi creare una "forma mentis" che ti permetta di utilizzare quella parte di informazioni che conosci per imparare o alemno affrontare anche le nuove in cui ti imbatti, questo grazie anche all'esperienza.
Dopo alcuni anni diventa più facile e dà anche soddisfazione, se questo puà tranquillizzarti ;)
 
U

Utente cancellato 313208

Ospite
Mi fa piacere leggere questo tuo punto di vista: è esattamente il mio! Una scienza giovane, in costante evoluzione, che ha visto uno sviluppo che gli altri settori non possono neanche immaginare. Ricordo una frase attribuita a Bill Gates, che recita "Se il settore dell'automobile si fosse sviluppato come l'industria informatica, oggi avremmo veicoli che costano 25 dollari e fanno 500 km con un litro". Un sapere che è (in una maniera così bella, pura e semplice) accessibile a CHIUNQUE, chiunque sia volenteroso di scoprirne le meraviglie. Ma un sapere che, come hai ben sottolineato, mette le nostre conoscenze sempre "sull'attenti".
 
  • Mi piace
Reazioni: TechArch

Andretti60

Utente Èlite
6,440
5,091
Premetto, mi laureai in fisica, indirizzo prettamente informatico quando l'informatica non esisteva, negli anni '80, da allora non faccio altro, non mi ricordo più quanti linguaggi so usare.

L'universita' dovrebbe insegnare le "tecniche" di programmazione, se vai a vedere online le classi di programmazione di college americani rinomati (tipo Stanford per esempio) ti stupirai che nelle prime classi NON usano nemmeno linguaggi di programmazione standard, ma semplici accrocchi fatti in casa, con un set molto minimo di istruzioni (tipo Karel The Robot). Una volta che si e' imparato COSA voglia dire programmare, imparare un linguaggio e' solamente una questione di imparare una nuova grammatica, niente di piu'.

Il consiglio che do sempre e' di non attaccarsi mai troppo a un specifico linguaggio di programmazione. Nel mondo reale uno deve usare il linguaggio più adatto al lavoro che si fa, e in genere e' più di un linguaggio (nel mio ultimo lavoro per esempio usavo C, C# e Python). Questo purtroppo e' il grosso problema del nostro lavoro, ossia che dobbiamo imparare un linguaggio e usarlo allo stesso tempo. Questo e' quello che si dovrebbe imparare a scuola. NON imparare un linguaggio di programmazione, bensi' COME impararlo.
 
U

Utente cancellato 313208

Ospite
Non ero al corrente del fatto che nei college americani vigesse questo metodo di insegnamento. Il percorso universitario mi ha introdotto a vari linguaggi, di cui il primo è stato C. Il primo corso di programmazione non mi era affatto dispiaciuto, specie per la competenza del docente, che ne aveva affrontato la spiegazione seguendo un approccio legato molto alla logica d'uso del linguaggio, al cosa si deve risolvere e non al come. Uno dei suoi principali consigli, non a caso, era in sostanza "se non sai come affrontare il problema, non metterti nemmeno davanti la tastiera".
Ritornando alla tua risposta, non posso che essere d'accordo. I linguaggi cambiano, e noi dobbiamo saperci adattare. Cerco, almeno, di orientarmi e di capire quale possa essere il linguaggio del domani. Che non sarà, comunque, quello del dopodomani.
 

Andretti60

Utente Èlite
6,440
5,091
Non esiste nè il linguaggio di oggi nè quello del domani, esiste solo il linguaggio migliore per il lavoro che si deve svolgere. Per esempio il tanto bistrattato COBOL è ancora vivo e vegeto e usato in campo finanziario, il FORTRAN è ancora il linguaggio di scelta per effettuare calcoli scientifici e così via.
Il C è ancora uno dei linguaggi più usati, ma specialmente per servers, drivers e sistemi embedded, ma ha le sue forti limitazioni in particolare non è un linguaggio a oggetti e non ha gestione automatica della allocazione di memoria (il che in certi casi sono vantaggi).
Il consiglio dato dal tuo insegnante è alla base di ogni lavoro di programmazione. Il problema va prima di tutto identificato e capito, secondo va risolto, solo alla fine va affrontato. Questo in teoria, purtroppo la realtà è sempre diversa, ma qui si entra in un'altra discussione.

L'approccio dei migliori college americani ha senso proprio per iniziare a parlare di programmazione senza parlare dei linguaggi di programmazione, classico problema di chi viene prima, l'uovo o la gallina? Sto parlando ovviamente dei corsi di introduzione, ossia CS101.
 
U

Utente 16812

Ospite
Ah ah ah ... alla classica domanda "chi è venuto prima, l'uovo o la gallina ?" ho già dato una risposta, l'uovo è venuto prima della gallina :asd:
Mi autocito: "La risposta alla tua domanda ("Chi è venuto prima, l'uovo o la gallina ?") è stata fornita da Crick (scopritore della struttura del DNA insieme a Watson nel 1953) nel 1957 quando formulò il suo famoso "dogma centrale della biologia molecolare", che non ha nulla a che fare con la fede.
Come saprai, normalmente la molecola del DNA presiede alla sintesi delle proteine, essa non funge direttamente da "stampo" per l'assemblaggio delle molecole proteiche ma crea un'altra molecola, l'RNA, che provvede a trasmettere le informazioni contenute nel DNA stesso alle proteine.
In altre parole il messaggio del DNA viene TRASCRITTO nell'RNA, viene trasferito dal nucleo dell'RNA al citoplasma e infine viene TRADOTTO, con l'aiuto dei ribosomi, in una sequenza di amminoacidi. Quindi il "dogma centrale" di Crick specifica che questa "espressione genica" si può riassumere così: DNA --> trascrizione --> RNA --> traduzione --> proteine. Si va dunque dalle informazioni degli acidi nucleici (DNA e RNA) alla sintesi proteica, non viceversa.
L'uovo è venuto prima della gallina.
Nel 1976, Dawkins, il famoso biologo evoluzionista inglese, diede una riformulazione di questi concetti in termini di "gene egoista": secondo lui gli organismi non sono altro che mezzi per riprodurre i geni, cioè i geni non solo vengono prima degli organismi, come il "dogma centrale" impone, ma sono anche le "vere" unità della selezione naturale".
A presto :)
 

Andretti60

Utente Èlite
6,440
5,091
Lo so, ma la domanda "prima l'uovo o la gallina" è un termine colloquiale che rimane, indipendentemente che si conosca la risposta o meno. Un po' come dire "agganciare" per dire di chiudere la conversazione, ormai nessuno usa una cornetta telefonica con l'aggancio.
 

Blume.

Moderatore
Staff Forum
Utente Èlite
24,433
11,263
CPU
I7 8700K
Dissipatore
Silent loop B-Quiet 360
Scheda Madre
Fatal1ty Z370 Gaming K6
HDD
3 Tera su Western Digital 3 Tera su Toshiba p300 3Ssd da 500Gb
RAM
Corsair Vengeance DDR4 LPX 4X4Gb 2666Mhz
GPU
Msi Gtx 1080Ti Gaming Trio X
Audio
Integrata
Monitor
SyncMaster P2470HD
PSU
Evga Supernova 650W G2
Case
Dark Base 700 B-Quiet
Net
100/50 Ftth Fastweb
OS
Windows 10Pro. 64Bit
Lo so, ma la domanda "prima l'uovo o la gallina" è un termine colloquiale che rimane, indipendentemente che si conosca la risposta o meno. Un po' come dire "agganciare" per dire di chiudere la conversazione, ormai nessuno usa una cornetta telefonica con l'aggancio.
Il gallo!!!!!!:asd:
 
  • Mi piace
Reazioni: Utente 16812

Albo89

Utente Èlite
5,893
2,463
CPU
Ryzen 5700G
Dissipatore
Deep Cool castle 360 rgb v2
Scheda Madre
Rog Strix B550-F GAMING (WI-FI)
HDD
980 1TB
RAM
Ballistix 3600mhz 8Gbx2
GPU
1080 Ti Aorus xtreme
PSU
Corsair RM750x
io sono giunto a questa conclusione: dato che è impossibile(perlomeno per me) impararli tutti, meglio selezionare ciò che mi serve e specializzarmi in quello piuttosto che sapere poco di tutto (tanto quel "poco di tutto" lo si impara comunque negli anni)
nel mio caso, lavorando in una ditta Microsoft oriented.. sono concentrato su vb e c# .net, javascript, ed un paio di altri framework web; ora,(si,lo so, in ritardo) inizieremo a muoverci verso mvc e finchè sarò qui continuerò così.
ovvio che se dovessi cambiare software house e linguaggio (dopo 8 anni di .net) dovrei faticare di più, ma le basi il modo di scrivere codice quello è e quello mi rimane(ed è quello che conta)..
la prima stupida app che mi son fatto per android ho penato più per trovare le istruzioni che volevo ed usare uno strumento diverso da visual studio, che per progettarla;
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!