Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 05-08-2022, 11:52   #1
omamelii
Junior Member
 
Iscritto dal: Aug 2022
Messaggi: 1
Indicatemi un percorso da zero per Programmatore Degno

Buongiorno a tutti

mi chiamo omamelii e, nonostante bazzichi da praticamente quando avevo 7 anni coi computer, non ho mai imparato seriamente, approfonditamente, concretamente la programmazione. E vorrei che questa cosa cambiasse, ma non saprei da dove cominciare né sopratutto quale strada seguire e dove percorrerla.
Immaginatemi come un bambino che non sa fare praticamente nulla e vi considera il suo maestro ed ha bisogno di voi per diventare se non il migliore sicuramente il più dignitoso possibile. Davanti a me ho circa un anno e mezzo di lavoro "molto tranquillo", cui dedicare abbastanza tempo (90minuti) ogni giorno. Suggeritemi la strada che mi fareste percorrere in questi mesi affinché sia il miglior discepolo (o magari: voi stessi, all'inizio) degno della vostra esperienza e del vostro insegnamento. Fatemi imparare i linguaggi più importanti, che mi permettano di fare le cose più diversificate, in considerazione appunto dei 18 mesi che ho davanti di tranquillità. Ho sentito parlare molto di HTML/PHP, Python, Pearl e sopratutto Swift (ho un vecchio MacBook Pro del 2009 che non perde un colpo, mi sembra occorra quello per programmarvi, anche con Linux se non ho capito male) ma il Maestro siete voi: indicatemi la via che vorreste affinché possiate esserne fieri una volta terminata.
Vi chiedo tantissimo: il meglio di voi; ne sono conscio. E per questo, vi ringrazio di cuore sincero fin da adesso.
omamelii è offline   Rispondi citando il messaggio o parte di esso
Old 11-09-2022, 11:10   #2
Lief
Member
 
Iscritto dal: Feb 2012
Messaggi: 162
Si comincia facendo.
Innanzitutto scegli un linguaggio che vuoi usare (se vuoi lavorarci anche su consiglio Java, Javascript o C# che sono i più richiesti se no quel che più ti pare), in secondo luogo inizia a seguire (anche solo come uditore) le lezioni universitarie e a fare gli esercizi... in alternativa prendi un libro open source come How to think like a computer scientist (java edition ad esempio) e fai esercizi al pc.
Più esercizi fai più velocemente migliorerai.
Inutile studiare la programmazione sui libri, di base servono solo come "indirizzo" di studi (ossia capire quali sono gli argomenti da approfondire ed in che ordine) quindi se l'argomento si chiama ereditarietà più che leggerti la definizione dovrà toccare con mano cosa significa implementarla in un semplice programma.

Scordati le interfacce grafiche utente... non le vedrai per anni.
Fai tutto da linea di comando.

Se vuoi migliorare velocemente e lavorare velocemente una buona idea è fare un corso da 1000 ore finanziato da regione/provincia con stage in azienda incluso.

Di base comunque una volta che saprai muoverti lato codice in un linguaggio e che avrai solide basi, potrai farlo in tutti i linguaggi e con qualsiasi framework.

HTML più che un linguaggio di programmazione è una sorta di mark up... praticamente serve a descrivere un'interfaccia utente web.
E' un modo per ad esempio mettere un'immagine in basso a sinistra sotto una scritta inserendo solo un link all'immagine stessa...
quindi nel sorgente della pagina HTML pura non troverai logica, calcoli, animazioni o altre modifiche che cambiano la struttura della pagina ma solo elementi statici.
In generale HTML viene combinato sempre con Javascript e suoi framework che è un linguaggio di programmazione e che quindi può cambiare la logica delle pagine.... ad esempio il pulsante Invia una risposta da solo è un codice di questo tipo (che descrive che abbiamo un bottone di un certo tipo con un certo testo e che bisogna utilizzare un certo stile):

<input type="submit" class="button" value="Invia risposta">

quando però viene premuto il type submit fa partire la funzione javascript contenuta nel form che va a richiamare un redirect della pagina dopo aver chiamato una funzionalità backend che va ad aggiungere la risposto al db.

PHP è un linguaggio web di backend, un'alternativa a Java volendo... mentre Javascript gira solo nel browser dell'utente e cambia le cose solo in locale (quindi quel che vedo io sul browser ad esempio un bottone che si illumina), PHP e Java inseriscono la risposta sul database e gestiscono quindi dati che vediamo entrambi.
In realtà la distinzione non è così netta perché teoricamente parlando qualsiasi linguaggio può essere sia backend sia frontend ma in generale i browser interpretano solo javascript.

Swift è un linguaggio fatto per girare su sistemi apple, con un macbook così vecchio difficilmente potrai studiarlo in maniera efficace, figurarsi su linux. Detto questo più che altro non potrai usarne una versione aggiornata e ufficiale e non avrai modo di usare l'interfaccia creata da apple per i programmi desktop mac e mobile ios.

Sappi comunque che la programmazione deskop e mobile è molto meno richiesta di quella web (in particolare quella desktop).

Ciò detto è impossibile farti da maestro così sul forum... se davvero vuoi imparare a programmare non basta essere abile con il pc, bisogna iniziare a programmare a partire da programmi semplici come una calcolatrice, una serie di calcoli geometrici, ricerche in array, alberi e strutture di base, liste e simili fino ad arrivare a programmi completi e complessi. In generale si studia tutta la vita anche quando si è già bravini perché non si smette mai di imparare ed esce sempre qualcosa di nuovo.

90 minuti al giorno sono anche abbastanza pochi, ci sono programmi che richiedono mesi di sviluppo in particolare se si è principianti.
Si può comunque iniziare a lavorare in fretta nel settore come junior quello sì, dopotutto le aziende hanno in genere esigenze molto limitate di far robe a davvero semplici come vetrinatura dei dati e invio di form (raramente chiedono ragionamenti complessi e in genere c'è del codice del passato da cui copiare).

Insomma programmare è difficile, ma lavorare in quest'ambito è abbastanza semplice all'inizio e il settore non è malaccio (anche se quando si diventa esperti è più complicato trovare qualcuno che apprezzi le proprie capacità e che le paghi il giusto... quando si inizia però si trova anche con pochissima esperienza e si viene in genere assunti a tempo indeterminato con un contratto abbastanza decente per iniziare).

Il mio principale consiglio resta comunque sempre lo stesso che tu voglia lavorare o imparare la programmazione per pura e semplice curiosità:
crea programmi, smettila di cercar scuse e crea.
Copia codice a più non posso finché non capisci pezzo per pezzo cosa fa (e no, non è poi così strano copiare in quest'ambito, è il pane di tutti i giorni), analizza il codice altrui (trovi tantissimi progetti open source su github) e modificalo a tuo uso e consumo. Vai su stackoverflow e prova a rispondere alle domande (non necessariamente pubblicamente, basta anche solo leggere le domande e cercare di risolverle praticamente sul proprio pc).
Si impara solo sporcandosi le mani con il codice, il resto son chiacchere.
Lief è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
2 portatili con 32GB di RAM in offerta s...
I nuovi Galaxy Tab S12+ e Tab S12 Ultra ...
La Cina rincorre ASML: secondo Jensen Hu...
Il Bonus Vacanze non esiste: una finta A...
Google Translate diventa offline: Live T...
Windows 11, arriva il single-finger scro...
Porsche Cayenne Electric, arrivano porte...
Apple valuta NVIDIA NVLink per un server...
Energia solare sempre più economica: dal...
Google apre Home MCP: l'IA può controlla...
Auto SR di Microsoft arriva sui Copilot+...
Eu Kids Act ufficiale: niente social sot...
PS5 Linux perde il suo sviluppatore: sto...
GPU gaming, Rubin e RDNA 5 verso il 2028...
AMD: l'alternativa al DLSS 5 sarebbe in ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 07:53.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v