È C una DEVE imparare la lingua per programmatore? [duplicare]

1

Inizio la programmazione da Java e ho imparato PHP. Inoltre, grazie al lavoro, ho imparato Objective-C. Ma la maggior parte del programmatore impara da C. Quindi, è necessario per un programmatore imparare C? Se sì, quanto è importante? Per favore lasciate i vostri commenti, grazie.

    
posta Ted Wong 23.10.2011 - 09:41
fonte

8 risposte

6

Necessario probabilmente non è la parola corretta. Tuttavia, le lingue che conosci sono probabilmente di C (penso che Java e PHP lo facciano, ma non sono positivo) e C è un ottimo linguaggio se sei interessato ai sistemi / programmazione di basso livello. Probabilmente sarebbe vantaggioso .

Non è mai meglio avere una gamma più ampia di strumenti? : P

    
risposta data 23.10.2011 - 10:49
fonte
3

Ho programmato per un tempo molto lungo (sì, mi ricordo un tempo prima dei PC) e ho un sacco di lingue diverse su cui ho lavorato.

Ogni lingua tende a prendere in prestito da quelli precedenti e solo per questo motivo conoscere le tue "radici" linguistiche può darti un'idea del perché le cose sono come sono (sgombro da metodi più moderni), in allo stesso modo in cui fissare un Modello-T ti dirà di più sui motori che riparare una Ferrari.

Tuttavia, mentre la mia conoscenza del linguaggio assembly mi dà l'indizio strano sul perché alcune cose funzionano come fanno (o più spesso perché non funzionano), imparerei il linguaggio assembly ora se stavo di nuovo partendo ? No, il mio tempo è più prezioso di quello.

E anche se C è più comune del linguaggio assembly, lo stesso vale. A meno che tu non abbia in programma di lavorare in C o abbia un sacco di tempo libero, direi che il tuo tempo sarebbe meglio speso in lingue più moderne. Più ne sai, più "vedrai" le radici comuni, con l'ulteriore vantaggio di renderti più commerciabile nel posto di lavoro attuale.

Solo l'opinione di un vecchio cavallo di battaglia.

    
risposta data 23.10.2011 - 11:44
fonte
2

La risposta semplice è no .

La ragione per cui le persone pensano che il linguaggio C sia un must è perché altri linguaggi come Java, principalmente C ++, prendono tutti in prestito alcuni principi da C e aggiungono più funzionalità ai loro linguaggi.

So, is this necessary for a programmer to learn C?

No, ma è necessario che qualsiasi programmatore abbia pensiero programmatico . Questo è quello che immagino il più importante.

    
risposta data 23.10.2011 - 11:03
fonte
2

Credo che sia molto importante conoscere almeno una lingua compilata nativa per ogni programmatore che scrive applicazioni desktop (e per i programmatori di sistema, ovviamente). E la maggior parte delle API native sono in C ++ o C.

Se conosci solo lingue come Java o python farai bene la maggior parte del tempo ma non appena avrai bisogno di qualche oscura funzione non usata spesso (ottimizzazione, qualche tipo di hook, integrazione con la piattaforma per una migliore UX, ecc. ) ti troverai in una trappola.

Probabilmente è molto raramente necessario se stai scrivendo siti web / servizi / server / app aziendali. Il fatto è che non riesco a immaginare di scrivere solo tali applicazioni (web). Probabilmente sono solo io, ma trovo che la programmazione di sistema, le app desktop, le app e i servizi Web e gli script siano tutti interessanti e non voglio limitarmi a un'area specifica.

    
risposta data 23.10.2011 - 11:21
fonte
1

Sono un programmatore e non conosco C

    
risposta data 23.10.2011 - 10:42
fonte
1

No. Not really.

Il motivo per cui "la maggior parte del programmatore impara da C" è che viene insegnato nella maggior parte delle università come (uno dei) primi linguaggi di programmazione, insieme ad alcune varianti LISP.

Mi è stato insegnato C come prima lingua nella mia laurea, senza LISP. Quindi, se chiedessi della mia prima lingua, avrei detto C, ma senza alcun rapporto con il tipo o il livello di programmazione che ho (che penso abbia un lotto di possibilità di miglioramento).

    
risposta data 23.10.2011 - 10:51
fonte
1

C è la lingua franca dei linguaggi di programmazione. Un programmatore che non conosce C è molto simile a uno scienziato che non conosce l'inglese. Prima o poi ti imbatterai in un pezzo di codice C, sotto forma di API, codice di esempio, codice legacy o dover scrivere un modulo del kernel per Linux.

    
risposta data 23.10.2011 - 12:33
fonte
-1

No, per niente. Passerai il tempo ad apprendere tecniche totalmente ridondanti, come la terribile pulizia di GOTO. Il fatto è che anche se devi usare una lingua nativa, puoi comunque usare il C ++, quindi ci sono alcune funzionalità linguistiche che, nella stragrande maggioranza dei casi, non dovrai mai fare a meno.

    
risposta data 23.10.2011 - 12:23
fonte

Leggi altre domande sui tag