Annuncio pubblicitario
Quando Apple ha annunciato Swift nel lontano 2014, le persone erano giustamente scettiche. Nessuno sapeva se sarebbe successo, e molti hanno ancora messo in dubbio la necessità un altro linguaggio di programmazione da imparare.
Ma poi Swift è diventato open source nel 2015 e, sebbene non sia esploso durante la notte, la lingua è cresciuta costantemente. Non c'è mai stato un momento migliore per imparare! Abbiamo coperto tutorial Swift online e tutorial Swift mobili, ma dove vai una volta che hai le basi?
Quando ti senti a tuo agio con la lingua, considera di mettere alla prova le tue abilità con queste sfide di codifica Swift. Non solo sono divertenti e stimolanti, ma ti daranno la sicurezza di cui hai bisogno nelle tue abilità.
Codewars è il posto migliore per praticare sfide di programmazione di qualsiasi tipo, incluso Swift. L'intero sistema è gamificato, il che significa che acquisisci esperienza e sali di livello con ogni sfida di successo. Utilizza un sistema di classificazione simile a quello di Go: inizi da 8 Kyu e avanzi fino a 1 Kyu.
Le sfide (chiamate "kata") sono classificate in base alla loro difficoltà. Fortunatamente ci sono migliaia delle sfide disponibili, quindi anche se sali di livello troppo velocemente, puoi sempre tornare indietro e lavorare su quelli più facili. I tipi di sfida includono algoritmi, tipi di dati, manipolazione di stringhe e numeri, flusso di controllo, puzzle, logica e altro.
Quello che amo di Codewars è duplice: in primo luogo, finire un kata ti consente di vedere le soluzioni presentate da altri utenti, e in secondo luogo, gli utenti possono creare i loro kata in modo che la raccolta di sfide cresca quotidiano. È veramente uno dei i migliori giochi di codifica per affinare le tue abilità I 9 migliori giochi di codifica per costruire le tue abilità di programmazioneI giochi di codifica ti aiutano ad imparare più velocemente con la pratica e l'esperienza pratica. Inoltre, sono un modo divertente per testare le tue abilità di programmazione! Leggi di più .
Le sfide di codifica Swift continuano CodinGame sono più coinvolti di quelli su Codewars, e questo perché le sfide di CodinGame sono progettate come giochi. Ad esempio, la sfida "Potenza di Thor" ti fa spostare la posizione di Thor in modo che possa raggiungere la Luce del Potere nel minor numero di passaggi possibile.
Le sfide sono classificate per difficoltà, che vanno da Facile a Medio a Difficile a Molto difficile. Ci sono anche enigmi creati dalla comunità che puoi provare quando esaurisci quelli ufficiali. Ricorda che le sfide di CodinGame sono piuttosto difficili, ma imparerai molto nella lotta.
Oltre alle sfide da solista, CodinGame offre anche battaglie di programmazione multiplayer di cinque minuti (dove ci provi per completare quante più sfide possibili) e concorsi a livello di comunità più grandi (che si verificano ogni mese o Due).
CodeChef offre sfide simili a problemi di codifica dei compiti. Sono divisi in categorie Principiante, Facile, Medio, Difficile e Sfida (oltre a una categoria aggiuntiva chiamata Peer per le sfide create dall'utente).
Sono disponibili centinaia di sfide e possono diventare piuttosto difficili. In confronto, la maggior parte dei Principianti ha più di 1.000 presentazioni di successo, le medie sono in media a centinaia, ma quelle della Sfida raramente infrangono 100 proposte di successo. È una buona pratica sia per i neofiti che per i veterani.
CodeChef ha anche concorsi. Non tutti offrono premi, ma i concorsi ufficiali CodeChef possono avere montepremi fino a $ 700.
DailyProgrammer è una community Reddit per programmatori che vogliono mettere alla prova il proprio coraggio con i più difficili enigmi di codifica che troverai sul web. Una volta era una cosa quotidiana, ma in linea di massima è stato più o meno ogni 2-3 giorni circa.
La cosa bella è che le sfide sono contrassegnate come Facile, Intermedio o Difficile. La cattiva notizia è che anche le sfide Easy, in particolare quelle più recenti, possono essere piuttosto difficili per i principianti della programmazione. Tuttavia, puoi sempre immergerti negli archivi e rivisitare le vecchie sfide, se lo desideri.
Project Euler è quasi come un insieme auto-diretto di sfide di codifica Swift. Gli archivi contengono 600 sfide totali (chiamate "Problemi"), ma non vengono fornite risposte o soluzioni o discussioni. Di solito è facile sapere quando hai risolto il problema, ma a volte non lo è - e questo può essere frustrante.
Inoltre, le sfide del Project Euler sono principalmente di natura matematica e logica. Puoi risolverli tutti senza alcuna programmazione necessaria. Tuttavia, come modo di esercitare il cervello, sono fantastici. E dal momento che la programmazione riguarda la risoluzione dei problemi del mondo reale con il codice, questa è essenzialmente la stessa cosa.
TopCoderLe sfide sono un po 'diverse dalle altre in questo articolo, semplicemente perché si tratta di contest multiplayer rispetto ai puzzle da solista. Devi registrarti per loro in anticipo, e poi devi completarli prima che scada il tempo.
La differenza è che le sfide di TopCoder derivano da alcuni importanti premi. Vedi nello screenshot sopra che, al momento della stesura di questo articolo, ci sono quattro sfide in corso con migliaia di dollari in palio. Non male una volta che hai affinato le tue abilità. È un buon modo per testare la tua prontezza nel mondo come programmatore Swift.
L'unico aspetto negativo è che ogni sfida supporta solo una lingua o un gruppo di lingue specifici. Sebbene esistano problemi di codifica Swift, potrebbe essercene uno solo ogni mese.
Coderbyte potrebbe non essere esaustivo come alcuni degli altri siti di sfida di cui sopra, ma è ancora un modo eccellente per praticare Swift. Le sfide (divise in Facile, Medio e Difficile) riguardano soluzioni passo-passo ufficiali e inviate dall'utente, oltre a un'area di discussione per domande.
Ciò che rende unico Coderbyte è la sua sezione Algorithms, dove puoi imparare tutti i tipi di algoritmi: attraversamenti di alberi, sovrapposizioni di intervalli, massimizzazione del prezzo delle azioni, sommazioni di array, implementazioni di ordinamento e Di Più. Perfetto per i neofiti.
Sfortunatamente, gli utenti gratuiti hanno accesso solo a 10 sfide e soluzioni. Un account premium costa $ 29 / mese (o molto più ragionevole $ 150 / anno). Ne vale la pena? Bene, usa le tue 10 sfide gratuite e prova tu stesso!
Altri modi per esercitarsi in Swift
Se Swift è il tuo primo linguaggio di programmazione, tieni presente i nostri suggerimenti per imparare a programmare senza stress Come imparare a programmare senza stressForse hai deciso di perseguire la programmazione, sia per una carriera o semplicemente per hobby. Grande! Ma forse stai iniziando a sentirti sopraffatto. Non così eccezionale. Ecco un aiuto per facilitare il tuo viaggio. Leggi di più e i nostri consigli per padroneggiare un nuovo linguaggio di programmazione 7 trucchi utili per padroneggiare un nuovo linguaggio di programmazioneVa bene essere sopraffatto quando stai imparando a programmare. Probabilmente dimenticherai le cose velocemente come le impari. Questi suggerimenti possono aiutarti a conservare meglio tutte queste nuove informazioni. Leggi di più . All'inizio può essere difficile, ma resta fedele!
Una volta che hai dimestichezza con Swift, puoi continuare con queste idee per progetti di app iOS Quindi vuoi creare app per iPhone? 10 progetti per principiantiVuoi creare app per iPhone e iPad? Inizia imparando le basi di Swift. Leggi di più e questi idee generali per progetti di programmazione 5 idee di progetto per aiutarti a imparare a programmare più velocementeEsistono alcuni modi per facilitare la curva di apprendimento per la programmazione. Sporcati le mani e impara più velocemente con i progetti collaterali che puoi iniziare in qualsiasi momento. Gioca con questi cinque. Leggi di più . Nulla infonde la sicurezza della programmazione più che perseguire un progetto reale e riuscirci.
Come ti piace Swift come lingua? Qual è il tuo modo preferito di imparare e praticare la programmazione? Condividi con noi nei commenti!
Joel Lee ha un B.S. in Informatica e oltre sei anni di esperienza professionale nella scrittura. È caporedattore di MakeUseOf.