CodeGym/Java Blog/Random-IT/La codifica è più facile oggi rispetto a 10-15 anni fa? S...
John Squirrels
Livello 41
San Francisco

La codifica è più facile oggi rispetto a 10-15 anni fa? Strumenti e tecniche che lo hanno reso possibile

Pubblicato nel gruppo Random-IT
membri
Poiché l'industria tecnologica sta avanzando e richiede un numero sempre maggiore di sviluppatori di software qualificati, questa professione diventa anche più accessibile a tutti coloro che vogliono imparare a programmare e godere dei vantaggi di un'elevata domanda di talenti e salari generosi. I veterani dello sviluppo software con decenni di esperienza di programmazione spesso condividono storie di quanto questa professione fosse diversa non molto tempo fa, quando le informazioni sui linguaggi di programmazione e sui processi di sviluppo erano limitate e disponibili solo nei libri di testo stampati, a volte di dubbia qualità. Anche gli anziani che hanno iniziato a programmare solo 10-15 anni fa concordano sul fatto che oggi è molto più facile essere uno sviluppatore di software, e questo è vero sia per quanto riguarda la facilità di acquisire competenze di programmazione sia per svolgere il lavoro vero e proprio dopo. La codifica è più facile oggi rispetto a 10-15 anni fa?  Strumenti e tecniche che lo hanno reso possibile - 1Ma cosa rende esattamente essere (e diventare) un programmatore oggi, nel 2021, molto più facile di quanto non fosse, diciamo, vent'anni fa, nel 2001? Abbiamo pensato che questo potesse essere un argomento interessante da esaminare più in dettaglio ed è quello che faremo ora.

Strumenti che rendono il lavoro dello sviluppatore di software più semplice che mai

Naturalmente, mentre l'industria dello sviluppo software si evolve, tutti gli strumenti, gli approcci e le tecnologie si evolvono con esso, diventando più potenti e facili da usare, mentre le informazioni diventano sempre più accessibili e più estese. Ma alcuni strumenti che sono stati introdotti non molto tempo fa, e che oggi sono comunemente usati dalla maggior parte dei programmatori, fanno davvero la differenza. Ecco i più notevoli a nostro avviso.

1.Git e GitHub.

Git è un sistema di controllo della versione distribuito gratuito e open source progettato per gestire qualsiasi cosa, dai progetti piccoli a quelli molto grandi con velocità ed efficienza. Inizialmente rilasciato nel 2005, Git è diventato rapidamente uno standard del settore, consentendo agli sviluppatori di avere un controllo molto migliore sulle modifiche al codice e alle versioni dei progetti software, oltre a rendere la collaborazione di più programmatori molto, molto più efficiente e organizzata. GitHub è una piattaforma di hosting di repository di codice Git per il controllo della versione e la collaborazione. Lanciato per la prima volta nel 2008, GitHub è diventato poco dopo la piattaforma di sviluppo software leader a livello mondiale. GitHub rende molto più facile per gli sviluppatori collaborare e contribuire a progetti open source, creare una documentazione adeguata per il codice, mostrare il proprio lavoro ad altri e così via. "Prima usavo Apache Subversion (SVN), che è centralizzato, cioè tutte le modifiche sono memorizzate in un server. Ciò significa che quando effettui il commit, le tue modifiche vengono caricate direttamente. Ricordo che a volte era piuttosto stressante e i momenti "non sono sicuro che funzioni, ma è meglio che conservi questo codice" erano davvero difficili da gestire. Mentre con Git puoi semplicemente impegnarti e preoccuparti di spingere in seguito (e, in caso di dubbio, puoi sempre fare il branch)", Guillaume Elias, uno sviluppatore C++ esperto,ricorda .

2. IntelliJ IDEA e altri IDE.

IntelliJ IDEA è un ambiente di sviluppo integrato scritto in Java e in grado di comprendere e fornire assistenza di codifica intelligente per un'ampia varietà di altri linguaggi come SQL, JPQL, PQL, HTML, JavaScript, Kotlin, ecc. Supporta anche molti altri linguaggi, tra cui Scala, Rust, PHP, Ruby e altri, tramite plugin. Anche se il primo IDE, Visual Basic (VB) di Microsoft, è stato lanciato nel 1991, gli IDE originali non sono stati ben accolti dagli sviluppatori. La situazione è cambiata negli anni 2000 dopo il rilascio di IntelliJ IDEA nel 2001, poiché ha iniziato a ottenere l'adozione nei primi anni 2000 insieme all'aggiunta di potenti funzionalità e integrazioni. Di conseguenza, negli anni 2010 gli IDE, e IntelliJ IDEA in particolare, sono diventati uno standard de facto per la maggior parte degli sviluppatori di software. “Ho iniziato negli anni '80, quando le righe di comando e i make file erano lo standard. Un IDE con debugger integrato a livello di sorgente (il mio primo è stato Lightspeed C) è stato un immenso miglioramento. Ogni miglioramento da allora è stato incrementale. Migliori IDE con funzioni più integrate hanno migliorato il processo di sviluppo, ma questo è solo incrementalismo. L'IDE con il debugging dei sorgenti è stato un salto di qualità, paragonabile allo sviluppo di linguaggi di programmazione oltre l'assembler", William Hembree, sviluppatore di software in pensione ed educatore di informatica,disse .

3. Overflow dello stack.

Quando si tratta di ottenere informazioni relative alla codifica, molto è cambiato tra la fine degli anni 2000 e l'inizio degli anni 2010 con un numero crescente di nuove bacheche e piattaforme di comunità per gli sviluppatori. Stack Overflow è la community online più popolare per gli sviluppatori, visitata da oltre 50 milioni di programmatori ogni mese. Lanciato nel 2008, Stack Overflow ha reso più facile per i programmatori lo scambio di conoscenze e la comunicazione tra loro e ha semplificato i processi di apprendimento per i principianti della programmazione. “La prima cosa che mi viene in mente è Stack Overflow. Ora, direte voi, non è uno strumento, ma lo è. È una fonte inestimabile di informazioni che le persone prima del 2008 non avevano. Abbiamo avuto manuali, libri e mentori (sviluppatori senior), ed è praticamente così che le persone imparavano e condividevano cose prima di SO", Antonio Nesic, ingegnere informatico senior dalla Croazia,sottolinea .

4. Servizi cloud gestiti.

Anche la crescente adozione di servizi cloud gestiti ha svolto un ruolo importante nel semplificare il lavoro dei programmatori moderni. Dopo che i servizi cloud come Amazon Web Services e Microsoft Azure, lanciati rispettivamente nel 2006 e nel 2008, sono diventati disponibili e hanno ottenuto un'adozione di massa, i programmatori non hanno più bisogno di così tante persone per configurare e mantenere server e reti affinché il sistema funzioni. I servizi cloud hanno anche reso lo sviluppo del software molto più efficiente poiché oggi i team di sviluppo possono essere più piccoli e più produttivi a livello individuale. “Quando ho iniziato la programmazione web dinamica, c'era un ASP, e non sto parlando di ASP.NET, un framework web open source per .NET, ma del buon vecchio ASP classico che utilizzava il database MS Access. Sì, mi hai sentito bene. Non usava MySQL, o MSSQL o qualcosa di simile. Dovresti allegare un database MS Access ad esso. E poi avresti un server e il client. E questo era tutto. Così semplice. In questi giorni hai DigitalOcean, Linode, Google Cloud, AWS, Azure, ecc. E tutti questi hanno un sacco di cose nel loro arsenale per aiutare il tuo software a scalare e lavorare con tempi di inattività minimi ", aggiunge Antonio Nesic.

5. Gestione del progetto e strumenti di comunicazione: Jira e Slack.

Infine, dobbiamo assolutamente menzionare Jira e Slack, così come altri strumenti simili che rendono la gestione dei progetti e la comunicazione tra sviluppatori e altri specialisti molto meglio organizzati e pianificati. Jira è una soluzione proprietaria di tracciamento dei problemi, rilasciata per la prima volta nel 2002, che consente agli utenti di pianificare, tracciare e gestire progetti agili e di sviluppo software. Ha anche molte altre funzioni, consentendo ai programmatori di collaborare in modo più efficiente, personalizzare il flusso di lavoro, tenere traccia dei bug e gestire il backlog. Slack è una piattaforma di comunicazione aziendale che dispone di molteplici funzionalità di messaggistica e collaborazione come chat room organizzate per argomenti, gruppi privati ​​per conversazioni con più persone, videochiamate e così via. Rilasciato per la prima volta nel 2009, è diventato rapidamente lo strumento di comunicazione più popolare per i team di sviluppo software. Brett Watters, un altro programmatore esperto, ha ricordato altri strumenti che vale la pena menzionare. "Skype, Teams, IM, SharePoint e altri strumenti simili ora consentono una rapida condivisione di informazioni, collaborazione, ecc. senza incontri fisici, discussioni, lunghi scambi di e-mail e così via", hadisse .

Perché diventare uno sviluppatore di software è anche più facile oggi che mai

Ovviamente, poiché il lavoro dello sviluppatore di software diventa più facile con nuovi strumenti e sviluppo tecnologico, le capacità di apprendimento richieste a un programmatore professionista diventano anche molto più accessibili e adatte ai principianti rispetto a prima. Quindi cosa è cambiato nell'educazione allo sviluppo del software negli ultimi dieci o due anni? Molte cose. Le informazioni sono aumentate di volume e sono diventate disponibili attraverso più fonti e in più modi, anche le tecnologie di apprendimento sono state migliorate.

  • Tutorial di programmazione gratuiti.

In parte grazie alla disponibilità di ottimi strumenti e piattaforme di collaborazione e come risultato di comunità di sviluppatori in rapida crescita, sia online che offline, oggi i principianti che desiderano imparare un linguaggio di programmazione sono in grado di trovare più tutorial gratuiti da imparare online. Ciò è particolarmente vero quando si tratta di linguaggi di programmazione molto popolari come Java. Ci sono un sacco di tutorial Java gratuiti disponibili online. I tutorial Java ufficiali di Oracle meritano sicuramente una raccomandazione. Alcuni altri tutorial Java online interattivi piuttosto interessanti sarebbero LearnJavaOnline.org , JavaBeginnersTutorial.com e quello che puoi trovare su Tutorials Point .

  • Corsi avanzati di apprendimento online.

L'esistenza di corsi avanzati di apprendimento della programmazione con piani di apprendimento, elementi di ludicizzazione, caratteristiche sociali e enfasi sull'insegnamento delle abilità applicabili agli studenti invece della teoria inutile è un'altra cosa che fa la differenza nell'educazione allo sviluppo del software oggi. Non per essere immodesto, ma CodeGym è probabilmente il miglior esempio di un corso di apprendimento online avanzato adatto a principianti assoluti e in grado di fornire laureati che sono sviluppatori Java perfettamente funzionanti. CodeGym è perfetto per imparare a migliorare la codifica nel modo più efficace possibile, attraverso la pratica, molto. A partire dalla primissima lezione di CodeGym, imparerai lentamente le basi di Java, avendo molti compiti diversi (puzzle) progettati per aiutarti a supportare le conoscenze teoriche con abilità pratiche pratiche.

  • Piattaforme di preparazione alla programmazione.

Le piattaforme di preparazione online in cui i principianti della programmazione possono esercitarsi e prepararsi per i colloqui di lavoro sono un'altra notevole novità che non c'era fino agli anni 2000-10. Alcune delle piattaforme di preparazione più popolari sono LeetCode , Interview Cake e HackerEarth . A proposito, CodeGym, con le sue oltre 1200 attività, può anche essere classificato come piattaforma di preparazione. Una piattaforma gamificata e divertente da usare, si può aggiungere.

  • Canali YouTube, blog e podcast sulla programmazione.

I nuovi media con molti contenuti generati dagli utenti possono essere un'ottima fonte di potenziamento dell'apprendimento, aiutando i principianti a ottenere informazioni direttamente dagli esperti nel loro campo tramite canali YouTube , blog e podcast. Ad esempio, oggi si possono trovare numerosi fantastici canali YouTube per principianti di Java , come Derek Banas , Programming with Mosh , Oracle's Java channel , Adam Bien e vJUG .

  • Giochi di codifica.

Alla fine, sono stati rilasciati alcuni giochi di programmazione davvero fantastici. Come sappiamo, e CodGym ne è una prova vivente , la ludicizzazione può essere un ottimo modo per potenziare il tuo apprendimento e ottenere progressi migliori divertendoti anche nel processo. Se applicato all'apprendimento della programmazione, aiuta i principianti a cogliere l'essenza di concetti e tecniche di programmazione difficili più rapidamente e con meno sforzo. Sei d'accordo sul fatto che imparare a programmare e lavorare come sviluppatore di software oggi sia più facile che mai, o ci siamo persi qualcosa che dimostra il punto di vista opposto? Fateci sapere nella sezione commenti qui sotto.
Commenti
  • Popolari
  • Nuovi
  • Vecchi
Devi avere effettuato l'accesso per lasciare un commento
Questa pagina non ha ancora commenti