Perché la programmazione C vale ancora l'apprendimento

Perché la programmazione C vale ancora l'apprendimento / Programmazione

Nel 2016, C è stata la nona lingua più attiva su GitHub con 202k richieste di pull nell'anno. Confrontalo con le prime tre lingue: JavaScript con richieste di pull da 1.604k, Java con richieste di pull da 763k e Python con 744 richieste di pull. Anche Ruby, PHP, C ++ e CSS battono C.

A prima vista, potrebbe sembrare che C sia stato lasciato nella polvere da lingue nuove, più fresche, più eccitanti - C è 45 anni, dopo tutto - ma GitHub non è esattamente il quadro più accurato Che cos'è Git e perché dovresti usare il controllo della versione Se sei uno sviluppatore Cos'è Git e perché dovresti usare il controllo della versione Se sei uno sviluppatore come gli sviluppatori web, un sacco di volte tendiamo a lavorare su siti di sviluppo locali, quindi basta caricare tutto quando abbiamo finito. Questo va bene quando sei solo tu e le modifiche sono piccole, ... Leggi di più sull'industria del software. GitHub ha un enorme pregiudizi verso l'open source e la tendenza.

C non è una lingua morta. Infatti, Spettro IEEE la rivista lo ha classificato come la seconda lingua più importante nel 2017, prima di Java, C # e JavaScript. Se dovessi imparare C quest'anno, lo farebbe non essere uno spreco di tempo o energia. Ecco cinque ragioni per cui.

1. Approfondita comprensione dei computer

Potresti aver sentito che C è un “linguaggio di livello inferiore.” Nel contesto della programmazione, il “livello” è una descrizione di quanto sei vicino al set di istruzioni native del computer. Più basso è il livello, più ci si avvicina alla scrittura del codice macchina. Più alto è il livello, più l'astrazione viene eseguita dalla lingua per portarti via dallo scrivere codice macchina.

C è un linguaggio di livello inferiore con una certa astrazione. Puoi scrivere codice abbastanza vicino all'hardware e manipolare direttamente la memoria, mentre in un linguaggio di livello superiore come Java, il linguaggio stesso gestisce la memoria attraverso un garbage collector.

Immagine di credito: Casimiro PT tramite Shutterstock

Sebbene questo sia parte di ciò che rende difficile imparare C, è anche il motivo per cui i programmatori C tendono ad essere più in sintonia con il funzionamento dei computer. Per scrivere un buon codice C, devi pensare come pensa un computer: gestione della memoria, flussi di input / output, ordine dei byte, ecc..

Esistono linguaggi di livello inferiore a C (ad esempio Assembly), ma C è di livello così basso come vorrete andare. Mantiene la maggior parte della potenza e del controllo dei linguaggi di livello inferiore, ma è abbastanza astratto per un codice leggibile dall'uomo che non ti farà strappare i tuoi occhi.

2. Scegli altre lingue più facili

Alcuni programmatori amano dire questo “una volta che conosci un linguaggio di programmazione, praticamente li conosci tutti.” Anche se un sentimento incoraggiante, non è del tutto vero - a meno che non impari C.

Il fatto è che passare da una lingua all'altra è più fluido quando ci si sposta in astrazione. Passare da un linguaggio di livello inferiore come C ad un linguaggio di livello superiore come Python è piuttosto semplice perché Python ti tiene la mano di più. Ma passando da Python a C? Non così semplice.

Immagine di credito: Sashkin tramite Shutterstock

Oppure considera un altro esempio. C # è una prima lingua popolare per i neofiti oggi, soprattutto per coloro che vogliono entrare nello sviluppo del gioco (perché l'amato motore Unity utilizza gli strumenti software di sviluppo del gioco C # 5 per creare i propri giochi 5 strumenti software gratuiti per lo sviluppo di giochi per creare i propri giochi Ecco i migliori software e strumenti per lo sviluppo di giochi gratuiti che puoi utilizzare per iniziare a realizzare il tuo gioco dei sogni oggi. Ma anche se il linguaggio C # è molto astratto e più facile da usare, i neofiti spesso si confondono perché non capiscono cosa viene astratto.

Imparando C, stai essenzialmente imparando le basi della programmazione moderna. Se riesci davvero a capire C, sarai in grado di cogliere qualsiasi altra lingua perché quasi ogni lingua moderna è di livello superiore a C.

3. Migliore apprezzamento di altre lingue

Il basso livello di C ha un costo: complessità e noia.

Pensa a come fare un panino al prosciutto. In una lingua di livello superiore, potresti usare un makeSandwich (“prosciutto”) metodo che produce un sandwich pronto da mangiare. In C, dovresti scrivere la tua funzione makeSandwich () che raccoglie e prepara tutti gli ingredienti necessari, assembla il sandwich, poi rimette tutto in.

Immagine di credito: Zakharchuk tramite Shutterstock

Da un lato, essere in grado di controllare ogni aspetto del tuo sandwich è fantastico. Potresti anche essere in grado di scrivere un makeSandwich () più veloce che salta alcuni passaggi che non ti interessano. Ma a volte vuoi solo che qualcuno ti faccia un panino e il cibo fatto per te spesso ha un sapore migliore del cibo che hai fatto tu stesso.

La maggior parte delle lingue moderne è nata in risposta alle carenze in un'altra lingua: C ++ in risposta a C, Java in risposta a C ++, C # in risposta a Java, ecc.. Imparando C, puoi capire meglio perché alcune lingue sono progettate come sono e apprezzare meglio la convenienza offerta dai linguaggi di livello superiore.

4. Progetti e applicazioni non convenzionali

La maggior parte dei moderni linguaggi di programmazione è utilizzata per le stesse tre cose: applicazioni aziendali, applicazioni web e mobili e analisi dei dati.

I linguaggi di livello superiore sono ottimi per questi perché non è necessario immergersi nei dettagli nitidi dell'architettura del computer. Invece, rapidi cicli di sviluppo e robusto re reggimentale, due dei principali vantaggi dell'uso di un linguaggio di livello superiore.

Immagine di credito: ispirare tramite Shutterstock

Ma se vuoi sviluppare un software che si interfaccia direttamente con l'hardware, avrai bisogno di un linguaggio di livello inferiore - e C è il più usato. Le applicazioni più importanti includono sistemi operativi, linguaggi di programmazione e compilatori, sistemi incorporati, motori di gioco, ecc.

Ad esempio, il kernel di Linux è scritto in C e Assembly. Linguaggi popolari come Python, PHP, Perl e Ruby sono implementati in C. Sapevi che anche C è scritto in C? E poiché molti sistemi incorporati hanno rigidi limiti di risorse, C è spesso il linguaggio prescelto perché ha pochissimo overhead.

5. Migliora le tue opportunità di lavoro

Ci sono due modi per garantire un lavoro nel settore del software:

  1. Specializzati in posizioni ad alta richiesta.
  2. Specializzati in posizioni di scarsa disponibilità.

Posti a elevata domanda 10 Lavori di programmazione per computer che sono richiesti in questo momento 10 Lavori di programmazione di computer che sono richiesti in questo momento Poiché l'atterraggio di un lavoro di programmazione può essere difficile nel panorama attuale, prendere in considerazione una delle seguenti concentrazioni per migliorare le possibilità di successo. Ulteriori informazioni riguardano i linguaggi di tendenza che possono essere utilizzati in più campi: JavaScript, Python e Java sono i migliori esempi. Le posizioni di scarsa offerta tendono a coinvolgere linguaggi arcaici, sistemi legacy e progetti non-come-appariscenti. C è popolare, ma i programmatori C stanno diminuendo.

Dal momento che la maggior parte dei boot camp di programmazione Coding Boot Camp per principianti: dovresti prenderne uno? Coding Boot Camp per principianti: dovresti prenderne uno? Campi di boot per la codifica completi forniscono un'entrata nello spazio di codifica. Scopri cosa sono, cosa imparerai e se è la soluzione ideale per il tuo viaggio di programmazione! Leggi di più e corsi di formazione online spingono i programmatori principianti verso i linguaggi ad alta richiesta, puoi invece distinguerti imparando C. Questo può aprire molte opportunità di lavoro che non sono disponibili nelle lingue di livello superiore.

Iniziare con C

C non è facile da imparare, specialmente se è il tuo primo linguaggio di programmazione. Ecco perché ti consigliamo di leggere questi tre articoli prima di immergerti: domande da porsi prima di imparare a programmare, come imparare a programmare senza stress e trucchi per padroneggiare un nuovo linguaggio di programmazione 7 Trucchi utili per padroneggiare un nuovo linguaggio di programmazione 7 Trucchi utili per Padroneggiare un nuovo linguaggio di programmazione Va bene essere sopraffatti quando si impara a programmare. Probabilmente dimenticherai le cose così velocemente come le impari. Questi suggerimenti possono aiutarti a conservare meglio tutte le nuove informazioni. Leggi di più .

Ma se sei serio sull'apprendimento di C, inizia sicuramente C Programming Language, 2nd Edition (spesso indicato come “K & R”). È fondamentalmente la bibbia di programmazione C. È piuttosto vecchio, ma tutto ciò vale ancora oggi per C. Una volta che hai finito, puoi leggere le modifiche avvenute nelle revisioni del linguaggio C89, C99 e C11.

Se non puoi permetterti quel libro, allora inizia con Il libro di C.. Non è più in stampa, ma è ancora disponibile online in formato HTML nella sua interezza.

Cosa pensi? C è obsoleto e inutile o i nuovi programmatori dovrebbero ancora impararlo prima di esplorare lingue più moderne? Condividi i tuoi pensieri con noi qui sotto!