Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 21-10-2015, 00.39.05   #1
Dubbioso
Newbie
 
Registrato: 28-12-2011
Messaggi: 46
Dubbioso promette bene
Richiesta informazioni generiche

Salve sono Dubbioso dalla provincia di Catanzaro, mi sono iscritto al Forum parecchi mesi fa e raramente vi accedo anche se comincio a rendermi conto che questo è un posto ideale per chi vuole imparare o incrementare le proprie conoscenze informatiche. Ed ecco che vengo al punto.
Supponiamo che io voglia diventare un programmatore senza però sapere nulla di programmazione a parte un po' del vecchio HTML 4.0; supponiamo, anzi diciamo che per motivi familiari, di età (ho 42 anni!) e non ultimi economici, io non possa frequentare una facoltà di ingegneria informatica e che io voglia quindi diventare un "programmatore autodidatta". Da quali letture (libri) dovrei partire per avere una conoscenza di base ampia e solida? Una volta acquisita quest'ultima, si pone il problema del fatto che ci sono molti linguaggi di programmazione e che a volte le aziende richiedono a uno stesso programmatore di conoscere più linguaggi di programmzione (forse troppi). Quali sono i più richiesti dal mercato? In quale dovrei specializzarmi? I linguaggi di programmazione sono legati da un minimo comune denominatore oppure la logica del programmare cambia completamente da linguaggio a linguaggio? Se qualcuno ha voglia di rispondere anche molto sinteticamente gliene sarò molto grato...
Dubbioso non è collegato   Rispondi citando
Vecchio 21-10-2015, 11.36.32   #2
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Rif: Richiesta informazioni generiche

In breve:

"Da quali letture (libri) dovrei partire per avere una conoscenza di base ampia e solida? "
La conoscenza di base non può essere ne ampia ne solida.
Per averla di base ti basta cercare su internet siti che trattino di componentistica hardware di un pc e di come siano interconnessi.
Avendo la base, puoi tranquillamente acquistare un qualsiasi libro che tratti un linguaggio ricco di esempi che dovrai forzatamente mettere in pratica, visto che la programmazione si fa alla tastiera.
Esistono due approcci alla materia: Dal basso verso l'alto e viceversa.
All'università si tratta quella dal basso verso l'alto (la programmazione è l'ultimo gradino, il più semplice), mentre io ti consiglio quella dall'alto verso il basso, il che significa utilizzare un linguaggio semplice che ti dia soddisfazione sia nell'apprendere sia nei risultati ottenuti.
Tu hai già 42 anni, quindi imparare per fare in fretta ed entrare nel mondo del lavoro non può essere una priorità, mentre può esserlo l'hobbistica.
Nel campo dell'informatica, a 42 anni sei uno che sfrutta le capacità di gente giovane che lavora per te e che coordini grazie alle competenze e conoscenze che tu hai acquisito ed affinato da più di 20 anni.

"ci sono molti linguaggi di programmazione e che a volte le aziende richiedono a uno stesso programmatore di conoscere più linguaggi di programmzione (forse troppi). Quali sono i più richiesti dal mercato? "
Il mercato si divide tra chi rende le cose semplici, chi le mette in pratica e chi ne fruisce per ricavare profitto.
La programmazione professionale rende semplici le cose complesse per la programmazione semi-amatoriale; Per fartela breve, creare un app per cellulari è ormai programmazione per bambini; A monte, però, c'è grande professionalità settoriale e multidisciplinare.
Ricorda che il mercato è ormai saturo di applicazioni e trovare quella rivoluzionaria è un discorso utopistico.

"I linguaggi di programmazione sono legati da un minimo comune denominatore oppure la logica del programmare cambia completamente da linguaggio a linguaggio?"
La logica è sempre la stessa perchè ogni linguaggio è legato alla logica funzionale dell'hardware che pilota, quel che cambia è la sintassi, le "regole grammaticali" quando scrivi il codice; c'è poi un discorso legato all'ambito che varia da linguaggio a linguaggio perchè uno è più congeniale e completo dal punto di vista del set di istruzioni rispetto ad un altro.

Se cerchi sul forum, l'argomento che tu hai segnalato lo abbiamo già trattato in passato con molte più informazioni di quelle fin'ora elencate.
___________________________________

Practice feeds Skill,Skill limits Failure,Failure enhances Security,Security needs Practice
LoryOne non è collegato   Rispondi citando
Vecchio 21-10-2015, 15.00.56   #3
Dubbioso
Newbie
 
Registrato: 28-12-2011
Messaggi: 46
Dubbioso promette bene
Rif: Richiesta informazioni generiche

Grazie mille LoryOne per il tempo che mi hai dedicato con la tua risposta. La cosa che mi stupisce nella tua risposta è che nell'ambito della programmazione, come tu mi informi, è coinvolto anche l'hardware della macchina, mentre io pensavo che programmare fosse una cosa esclusivamente "software", totalmente slegata dall'hardware! A questo punto mi chiedo come programmazione e hardaware interagiscano Mi sa che devo fare un lunga ricerca sul forum...
Dubbioso non è collegato   Rispondi citando
Vecchio 04-04-2017, 05.10.33   #4
Dubbioso
Newbie
 
Registrato: 28-12-2011
Messaggi: 46
Dubbioso promette bene
Rif: Richiesta informazioni generiche

LoryOne ha scritto: "Nel campo dell'informatica, a 42 anni sei uno che sfrutta le capacità di gente giovane che lavora per te e che coordini grazie alle competenze e conoscenze che tu hai acquisito ed affinato da più di 20 anni." Certo quello che dici è vero ma così mi fai cadere le braccia Ultimamente ho chiesto aiuto con un mio post rigurdo al linguaggio HTML.
Il sito digitalic.it ha stilato una lista dei venti linguaggi di programmazione più popolari nel 2017 e venti linguaggi sono tanti! Così avrei deciso di limitare il mio apprendimento ai soli linguaggi rivolti alla programmazione delle pagine web.
Prima domanda (che faccio a chi vorrà rispondere): oltre al linguaggio HTML quali altri linguaggi di programmazione devo imparare per il web? E per il web su dispositivi mobili?
Seconda domanda: Per programmare in ambito web (e non solo), bastano le risorse del mio PC o necessito di altri software come per es. gli editor HTML?
Terza domanda Cosa si intende per compilare un programma? Cosa sono i compilatori?
Infine non ho capito il nesso tra hardware e programmzione a cui faceva riferimento LoryOne . Un grazie anticipato a chi vorrà rispondere, spero in maniera elementare anche se breve...
Dubbioso non è collegato   Rispondi citando
Vecchio 04-04-2017, 10.14.48   #5
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Rif: Richiesta informazioni generiche

Secondo me, faresti bene a studiare ASP,JSP,PHP,SQL e Perl
Certo è che dovrai mettercene di tempo per imparare, anche perchè la pratica supera di gran lunga la teoria e la realizzazione di un sito web, spesso vede l'impiego di più di un linguaggio sinergico.
Per il web sui dispositivi mobili, non saprei...il sito che hai segnalato ne da comunque un'indicazione.

La programmazione in qualsiasi ambito necessita di ben poche risorse, salvo che queste non siano necessarie a testare il proprio lavoro in ambito web; Considera che la maggior parte delle risorse viene impiegato lato server su macchine dedicate e spesso il client ottiene informazioni già predisposte da esse quando è on-line, ma come vengono gestite lato client attraverso un'interfaccia leggera è cio che conta maggiormente.
Gli editor HTML sono un aiuto rivolto a chi già conosce il linguaggio: Avere uno script pronto, ma non saperlo leggere ed alleggerire, equivale ad essere veloci nella realizzazione, ma lenti nella manutenzione e nell'identificazione delle falle nella sicurezza.

I compilatori sono quelle utilities che traducono un linguaggio leggibile dall'utente in uno gestibile dalla macchina. Compilare un programma, in pratica, significa tradurre un qualsiasi linguaggio di programmazione in linguaggio macchina senza bisogno di interprete.
Con l'interprete: Io scrivo il programma, l'interprete lo traduce riga per riga e lo manda in esecuzione secondo la logica dello script
Senza l'interprete: Io scrivo il programma, il compilatore lo traduce dalla prima all'ultima riga e lo manda in esecuzione secondo la logica funzionale dell'hardware su cui gira.
Decisamente più veloce e performante.

Il nesso tra hardware e programmazione è legato a quante sottoistruzioni derivano da quella in esame per ottenere la funzione indicata nello script: Esistono linguaggi di alto o basso livello in base al numero di sottoistruzioni che il programmatore necessita richiamare o meno in base al set di istruzioni che la macchina ha a disposizione per eseguire operazioni elementari: L'assembly è il linguaggio di più basso livello, cioè quello più vicino al modo di operare dell'hardware: Operazioni elementari in rapida sequenza secondo un ordine fisso e prestabilito.
___________________________________

Practice feeds Skill,Skill limits Failure,Failure enhances Security,Security needs Practice
LoryOne non è collegato   Rispondi citando
Vecchio 04-04-2017, 13.50.32   #6
borgata
Gold Member
WT Expert
 
L'avatar di borgata
 
Registrato: 23-06-2004
Loc.: Cagliari
Messaggi: 13.333
borgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raro
Rif: Richiesta informazioni generiche

Provo ad essere breve:

A mio parere non c'è età per iniziare: c'è però da dire che quando sei giovane hai molte più energie, quindi iniziare alla tua età non è facile, ma non impossibile. Te ne renderai conto.
C'è poi da dire che la curva di apprendimento quando lavori è molto più ripida (e quindi rapida) rispetto a quando studi, ma è importante che qualcuno ti guidi, altrimenti rischi di imparare nel modo sbagliato (o obsoleto).

Io ritengo che un minimo di basi teoriche siano assolutamente necessarie: non puoi pensare di creare software un minimo complessi da smanettore, l'approccio "dal basso all'alto" (come già citato) a mio parere è fondamentale perchè devi assolutamente capire cosa stai facendo e non procedere per tentativi. Devi padroneggiare ciò che stai facendo.

I linguaggi di programmazione sono solo la sintassi, e quella si impara in fretta.
Esistono delle "categorie": linguaggi procedurali, ad oggetti, funzionali... ogni categoria necessità un po' di "forma mentis" per essere appresa, quindi teoria ed esercizi.
Una volta che entri nella "mentalità" di una certa categoria di linguaggio, apprendere il linguaggio vero e proprio è questione di apprendere le differenze e fare pratica.
Parlando di casi reali, un linguaggio di programmazione può includere funzionalità appartenenti a più categorie, che risultano utili in diversi casi. In definitiva, prima o poi bisogna approcciarsi alle varie tipologie di linguaggio, apprendere i linguaggi è alla fine un processo incrementale.
Infine, è bene notare che apprendere un linguaggio non significa saper programmare bene in quel linguaggio: bisogna apprendere le API, ossia il software a corredo del linguaggio che viene fornito per estenderne le funzionalità e rendere più accessibili procedure altrimenti complicate. Di fatto si programma sulle API, ovviamente avendo conoscenza dei linguaggi, dei loro limiti e dei trucchetti.

Software e Hardware: dipende dal tipo di software che intendi progettare.
Con l'evoluzione dell'informatica i linguaggi di programmazione sono diventati sempre più ad alto livello (ossia sempre più distanti dall'hardware), spostando l'onere dell'ottimizzazione sui compilatori.
In generale un software che richieda prestazioni elevate necessita di un po' di programmazione a basso livello, che è difficile e richiede conoscenza dell'hardware (e taaaanta esperienza). C'è però da dire che l'evoluzione dei compilatori oggi è spesso in grado di ottimizzare più di quanto riesca a fare lo sviluppatore software medio.
I vantaggi di un approccio lontano dall'hardware sono diversi: velocità di produzione, meno errori madornali nel software e quindi maggiore sicurezza, portabilità del software (ossia non essere legati ad uno specifico hardware o ecosistema), ecc... Di contro, hai meno controllo su quello che fai (non sempre è un male ) e talvolta non è sufficiente se vuoi ottenere un certo livello di prestazioni (per questo quasi tutti i linguaggi prevedono qualche clausola per inserire del codice di basso livello all'interno dei programmi).
In definitiva, avere una conoscenza dell'hardware, almeno di base, è sempre utile, ma programmare oggi non richiedere conoscenza approfondita dell'hardware in molti casi.

Ah, la "compilazione" non è altro che il processo di conversione del codice dal linguaggio in cui è stato scritto dal programmatore al linguaggio che la macchina è in grado di comprendere (in modo diretto o indiretto). Non tutti i linguaggi vengono compilati, altri vengono interpretati, in altri casi abbiamo diverse vie di mezzo (come il bytecode java, per citare forse il più famoso) o il supporto a più modalità.

Ad ogni modo quello della programmazione è un campo vasto e in continua evoluzione, se pensi di avvicinarti a questo mondo sappi che è un continuo studiare ed aggiornarsi.
Nel tuo caso è anche un continuo incrementare le tue conoscenze di base (non puoi certo sperare di imparare tutto il necessario in una volta sola) dato che hai ancora necessità di creare questa base e farti una visione sufficientemente chiara della situazione.
Il mio consiglio è anche quello di leggere qualche testo (anche universitario) come "lettura" informatica (non da studiare, sarebbe molto più pesante), perchè una buona lettura può aiutarti molto nel chiarirti le idee. Magari se lo recupero te ne consiglio uno che mi era piaciuto.

EDIT: ecco, volevo essere breve!
___________________________________

La risposta è dentro di te...
e però, è sbagliata!
borgata non è collegato   Rispondi citando
Vecchio 04-04-2017, 16.58.06   #7
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Rif: Richiesta informazioni generiche

Dubbioso...I libri sono una risorsa insostituibile: Cio che trovi in internet è solo un compendio, mentre i libri da consultare li troverai anche sul posto di lavoro.
Ti consiglio, quindi, di spendere per acquistare il cartaceo, leggerlo e sperimentare alla tastiera riscrivendo ed eseguendo il codice che troverai per argomento, anche se spesso il CD allegato contiene già il file predisposto; Scrivere fissa nella mente più di quanto lo faccia leggere.
Ricorda che la teoria è sempre necessaria alla progettazione, ma la realizzazione la si compie alla tastiera ed avere conoscenze multilinguaggio, spesso integra e sorpassa i limiti di quello scelto o imposto, pur mantenendo inalterata la fase progettuale.
___________________________________

Practice feeds Skill,Skill limits Failure,Failure enhances Security,Security needs Practice
LoryOne non è collegato   Rispondi citando
Vecchio 04-04-2017, 21.58.37   #8
Dubbioso
Newbie
 
Registrato: 28-12-2011
Messaggi: 46
Dubbioso promette bene
Rif: Richiesta informazioni generiche

Grazie per le vostre risposte LoryOne e borgata, non credevo fosse così complicato. Si penso anche io che il cartaceo non possa essere sostituito da internet...Quando incominciai a imparare l'HTML ho avuto la fortuna di avere un manualetto che partiva da zero, perché io da zero parto e realizzavo pagine web completamente "a mano" cioè stringa per stringa. Vedo su internet (magari su Google books) se c'è un testo che parli di programmazione in generale, "for beginners" naturalmente...
Dubbioso non è collegato   Rispondi citando
Vecchio 26-07-2017, 11.25.19   #9
Nuklear
Newbie
 
L'avatar di Nuklear
 
Registrato: 03-07-2017
Messaggi: 5
Nuklear promette bene
Rif: Richiesta informazioni generiche

A mio avviso quello che ti interessa ora è imparare la programmazione ovvero i costrutti base (sequenza, iterazione alternativa,procedura, funzione, ecc.), aldilà del linguaggio che andrai ad imparare, e questi concetti li puoi apprendere da qualsiasi testo scolastico delle superiori ad indirizzo informatica. Se fai un giro sui siti delle relative case editrici, puoi anche acquistare le versioni ebook dei testi a prezzi davvero irrisori (circa 15-30 euro).
Non ti scaricare i vari tutorial dalla rete perché alcuni sono fatti male, altri partono fatti bene, ma partono da livelli un po' più avanzati, i testi scolastici invece sono i migliori dal punto di vista didattico, perché quello che interessa te è questo ora: imparare la programmazione didatticamente non professionalmente, quello viene dopo con la pratica e l'esperienza.
In bocca al lupo.
Nuklear non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
Richiesta informazioni su licenza S.O. Windows Dubbioso Windows 7/Vista/XP/ 2003 8 09-10-2014 19.59.57
Richiesta informazioni sul file pagefiles.sys adssda Windows 7/Vista/XP/ 2003 2 02-09-2007 17.59.37
Problemi con Router...Richiesta di informazioni tecniche e consiglio pratico Arthur85 Internet e Reti locali 2 22-08-2006 23.29.18
[HELP] Telecom e richiesta di trasloco linea (lungo) Sbavi Chiacchiere in libertà 9 03-11-2005 17.57.32
Richiesta informazioni Digital Boy Sicurezza&Privacy 5 07-09-2003 21.54.41

Orario GMT +2. Ora sono le: 22.27.34.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.