vbextreme ha scritto:
imparare senza sapere cosa si andrà a fare,
ohhhhh! finalmente un concetto!
Bene però adesso scrivi:
addio assembler, c++ , pyton, ma devi concentrarti sul facile php
Facile php......mmm....ora se partiamo da chi sa cosa vuole, forse(e qui lo nego) potrebbe quasi andare bene, ma se per caso non gli piace la programmazione dei siti? e se vuole fare invece grafica pesante in 3D? TUTTO QUELLO CHE HA STUDIATO NON GLI SERVIRÀ A NIENTE!
Or invece consideriamo che sia partito dal c e dopo un pò si rompe le scatole e inizia a scrivere un web server in php....secondo te uno che sa il c in quanto tempo impara il php? ops forse non ha nemmeno bisogno di studiarlo perché intrisecamente lo conosce già!!!!!!!!
non gli frega nulla se conosci c++ e assembler
è proprio questo il punto, il mondo del lavoro è volubile, oggi vogliono questo e domani chissà.
Se hai studiato 5 anni il JS e poi esce un nuovo linguaggio sei OUT, se invece hai delle buone fondamenta non ti spaventerà più imparare un linguaggio perché GIA LO CONOSCI, devi solo cercarti un reference, ecco la differenza.
mq tutto questo discorso è partito dicendo di lasciare perdere il javascript che è una ciofeca
Rimango di tale idea, è un linguaggio che fa comodo non un buon linguaggio, questo lo porterà a far scomparire prima o poi come è successo per il "vero" visual basic.
Perciò è meglio prepararsi e studiare qualcosa di Serio, qualcosa che ci permetta di imparare nuovi linguaggi in un batter d'occhio, poi probabilmente non useremo mai più quel linguaggio ma ci darà la giusta preparazione che ci serve.
guarda certo che condivido le tue obiezioni in linea di massima, certo che se conosci il c poi è un gioco da ragazzi il php, come a suo tempo fu per me sia per il php che lo stesso javascript in prima battuta, ma anche il delphi che usai molto per fare molti gestionali.
però tu parti evidentemente dagli stessi miei percorsi formativi, in realtà non è che se impari il javascript o altro come dici poi accade il "puf" , capite le fondamenta di un linguaggio , tutti gli altri fai presto a impararli, e ti dico di più in molte università insegnano il java prima del c++ (ribaltando proprio quello che dici, se no farebbero all'opposto) , proprio perchè è più importante capire la programmazione ad oggetti che l'architettura interna , lo stesso java è stato fatto per farti concentrare sulla architettura della applicazione e li devi stare concentrato.
a me sembra che a te ti sfugge invece il problema dell' architettura di una applicazione, dell' organizzazione del codice perchè molte aziende o corsi formativi preferiscono queste basi a quelle di cosa avviene di preciso dietro le quinte o a cosa servono i registri del processore, tanto è vero che non sono poche quelle che assumono (per lo meno a suo tempo quando non era facile trovare programmatori) matematici, se non addirittura filosofi, chiediti perchè ?? il motivo che non gli frega del rigido ingegnere che se lo sposti dai suoi binari va in panico, ma gli servono gente con elasticità mentale, e piuttosto li formano loro stessi , e ne ho viste di aziende che cosi facevano lavorando io stesso con matematici che manco capivano bene il bit ( eresia !!) , ma bravi e geniali a risolvere problemi e molto veloci nel apprendere un linguaggio pur non avendo mai programmato ( i matematici) e col tempo diventare guru loro stessi e insegnare poi ad altri , anche a coloro con le basi indispensabili che dici !!
il matematico ti potrebbe dire che se non conosci bene i problemi matematici come cavolo fai a programmare ?? o per lo meno se ritieni cosi indispensabile assembler e c++, loro a maggior ragione possono ritenere indispensabile una preparazione mentale al algoritmo e la soluzioni dei problemi e avere alle spalle anni di esperienza al linguaggio matematico per programmare, poi gli dai il c++ in mano programmano bene ma poi ti fanno i gran casini perchè non conoscono i puntatori.... ma guarda caso gli si da in mano piuttosto un java e gli si dice fregatene di certe pippe di come funzionano concentrati sullo sviluppo del codice e la variabile da passare o per valore o per riferimento, non devi nemmeno distruggere ciò che allochi in memoria, appunto tanti linguaggi nascono proprio per nascondere architetture interne e far concentrare lo sviluppo su altro.
è evidente che ti sfugge l'evoluzione attuale per dire che il javascript ha corta vita, guardati il boom di nodejs che è fresco fresco e sta soppiantando molti linguaggi per il server , o lo stesso angularjs (che è un framework) anche esso fresco fresco, pensi che la google ci investirebbe cosi tanto se avesse corta vita in prospettiva ?? per di più come linguaggio di script viene sempre più utilizzato quello, vedi i nuovi db no sql cosa utilizzano per fare le query "no sql".
ti ripeto , oggi conta di più saper impostare una architettura di una applicazione , conoscere i i design pattern e certamente viene prima conoscere i diagrammi uml, che le architetture interne hardware , , il problema è questo rispetto al passato, i programmi non sono più una cozzaglie di procedure, ma entità complesse che interagiscono tra loro , con molte nuove problematiche , per esempio conoscere i protocolli di reti, come comunicano piuttosto che i registri del processore , non sono io a dirlo ma basta che leggi cosa richiedono come conoscenze le aziende, per non parlare alla modularizzazione e tutti i problemi che si tirano dietro .
cosa fanno oggi i nuovi strumenti ?? tendono a nasconderti sempre le architetture interne e ti spingono sempre più a rimanere concentrato nel problema che devi risolvere , la stessa differenza che fece prendere il volo al java (oggi insegnato in molte università prima del c++)
Quando cerco con chi lavorare , ho bisogno che sappia :
se conoscono bene le librerie ,
i webservice
i nuovi database sql,
le problematiche sul mobile e cosa sia la notifica e come gestirla su android e ios e i protocolli diversi dei 2 sistemi,
il problema del seo delle interfaccie ui ,
la modularizzazione ,
le tante librerie,
il framework php lavaravel piuttosto che zend,
il framework express per node piuttosto che un altro,
angularjs piuttosto che Dojo o Ext JS,
l'html5 il css3 ,
come puoi al volo aggiornare le nuove librerie ,
dove ti puoi riutilizzare il codice, o come potrai fare velocemente il porting su altro linguaggio
utilizzano grunt o gulp (scripting per gestire i task di molte operazioni complesse ... linguaggio ?? il presto defunto javascript...)
se utilizzano git e sanno cosa sia il fork
l problematiche dei db , cosa sia un join tra tabelle, una chiave primaria , l'sql
i db no sql e la gestione a coppia chiave valore via json (oggetti del presto defunto javascript)
cosa sia un cookie , le autentificazioni oAuth
un po di pyton per gli script con questo scritti che vuoi o non vuoi vai a cozzare
cosa sia cordova
saper usare la shell dei comandi e i comandi base linux per il minimo di operazioni sui server
saper ottimizzare una immagine ,
cosa cè dietro il protocollo https e i certificati
leggere i dati dei social,
usare un cms e conoscere un minimo i principali,
cosa è un crm
cosa sia un orm e il vantaggio che porta,
il protocollo rest
e chi più ne ha ne metta almeno in tanti punti avere cognizione di causa e avere padronanza piena in diversi di questi... tanta robetta oggi indispensabile , ieri inesistente .
l'ultimo dei problemi ti assicuro è se sa cosa sia un puntatore o un registro del processore, o la rappresentazione binaria dei numeri reali , o l'impaginazione della memoria, ti assicuro che ben altre conoscenze vengono molto prima.
Siamo partiti se vuoi essere un buon programmatore, per lo meno per le esigenze moderne, io sono infilato in questo modo, dove devi conoscere a fondo 3000 mondi e corrispettivo del puntatore per ognuno di essi che ti fa capire meglio alcune cose, per esempio più importante anche se non se ne occupano cosa sia un campo join e la chiave primaria di un db piuttosto che il puntatore dove non incontrerà il problema di andare a leggere o scrivere chi sa dove in memoria.
.... o il come mai oggi viene utilizzato come trasporto dati il json piuttosto che l' xml ..... il motivo ?? perchè i sistemi li leggono sempre più con l'inutile linguaggio che presto andrà a muorire javascript che una volta letto gli arrivano come oggetti istanziati subito pronti a essere utilizzati dove nel codice non sono nemmeno file di configurazione se utilizzati per questo scopo, ma la configurazione stessa già impostata con le variabili già pronte da leggere senza parser in mezzo e popolamento, con tanto di interrogazione se esiste il metodo, l'intera classe/oggetto magari definita come {dbname:"pippo", host:"host.com"}, facendo sempre più utilizzare il javascript anche come semplice scripting nonostante sia cosi inutile tanto da consigliar di lasciar perdere che è una ciofeca, e presto nonostante i tanti investimenti delle più grosse aziende muorirà dopo 20 anni di utilizzo... peccato, nel frattempo con il json mentre scrivo il codoce faccio riferimento a variabili di oggetto mai definiti perchè arriveranno in json, e mi rendo configurabile l'impossibile senza chiamare un modulo con le funzioni corrispettive, cosi nel dubbio se il cliente vorrà l'aspetto a piuttosto che b, il titolo cosi piuttosto che colà, faccio riferimento a una variabile oggetto che andrò a definire in un json che leggerò o da disco o da rete, bella ciofeca sto javascript, merita proprio una brutta fine sto giocattolino inutile e ridicolo, e questo dalla paginetta al gestionale che gira dal browser di tutti i pc non importa il SO a tutti i mobile con lo stesso identico codice, e pensa che cazzata la microsoft , google, mozilla, e l'apple stanno sviluppando tutti insieme il javascript che verrà spedito compilato con prestazioni oltre 20 volte quelle attuali su un linguaggio che a breve farà puf , proprio ora che tutte insieme fanno qualcosa di comune che nascerà già standard e multipiattaforma peccato,certo che ne hanno di soldi , tempo e risorse da buttar via, e certo con quello che guadagnano figuriamoci, nel frattempo l' ie della microsoft versione 11 lo implementerà !! .
la microsoft e la canonical tanto per citare qualcuno,usano nuove interfacce desktop fresche fresche, basate su html5 e javascript e questo anche sui mobile, invece i vari nuovi motori db no sql memorizzano in json i dati e lo usano come interrogazione sui dati , e si il javascript è un mondo già morto, mai utilizzato evidentemente da tante nuove tecnologie, impararlo è sconsigliatissimo da lasciar perdere sopratutto per il puf che andrà presto a fare.
non parliamo poi di tutti gli applicativi web fatti con javascript sempre più complessi , tutti quelli che li hanno fatti saranno molto contenti della sua fine, con gli utenti molto contenti che dovranno attendere che rifanno questi software con qualcosa di nuovo, cosi quando si ripopoleranno gli applicativi pure quello nuovo in breve tempo farà "puf", no ??
magari perchè il pyton è più carino e insegna bene la programmazione , cosi gli utenti (dopo un approfondito corso di c++ e assembler essenziale se no non ci capiranno una mazza) se li rifaranno da soli.
Beato che te la spassi con il c++, quanto mi piacerebbe anche a me stare in quel mondo a mio vedere finito e meno soggetto a rivoluzioni !!!!