Devo imparare C / C ++ anche se voglio solo programmare in rete? [duplicare]

9

Il mio obiettivo è essere in grado di creare app online e siti Web dinamici e basati su database. Ad esempio, se in futuro avrò l'idea per il prossimo Digg o Facebook, voglio essere in grado di codificarlo da solo.

Per arrivare lì penso di avere fondamentalmente due percorsi:

Percorso 1

Inizia a livello base, imparando C, poi C ++ per OOP, quindi algoritmi e strutture dati, con l'obiettivo di acquisire una solida conoscenza della programmazione del computer. Solo allora passare a PHP / MySQL / HTTP e iniziare a lavorare su progetti pratici di programmazione.

Percorso 2

Inizia direttamente con PHP / MySQL / HTTP e sporcati le mani con progetti pratici.

Cosa consiglieresti ragazzi?

    
posta Community 28.12.2010 - 14:06
fonte

21 risposta

14

Ecco la domanda da $ 100.000 per te: lo sviluppo dei siti web è l'unica cosa che vuoi fare? PHP è un linguaggio specifico per un dominio, ma probabilmente ha una barriera di ingresso piuttosto bassa. Non lo chiamerei object oriented, perché non è il focus. PHP esiste per una ragione: i siti web.

Se hai la possibile idea di andare in altre direzioni nella tua carriera, consiglio vivamente di imparare su una lingua più tradizionale. Non deve essere C / C ++, può anche essere qualcosa come Ruby, Python, Java, C #, ecc. Ognuno di questi è un buon linguaggio di programmazione orientato agli oggetti. Detto questo, i linguaggi orientati agli oggetti non sono l'unico modo di fare programmazione, anche se sembra essere il più diffuso (almeno ha un marketing migliore).

PHP è anche solo uno dei molti modi per fare programmazione web. Hai una miriade di opzioni con Ruby, Python, Java e C # (così come Smalltalk se sei così propenso).

    
risposta data 28.12.2010 - 14:27
fonte
6

Eh, questo è stato migrato mentre stavo componendo la mia risposta su StackOverflow. Oh bene.

Prima di tutto, non devi imparare C prima di imparare C ++, e in effetti non consiglierei di seguire quella strada; un programma C ben scritto non sembra o si comporta come un programma C ++ ben scritto. C'è una superstizione popolare che devi prima imparare C per essere un programmatore "reale"; questo non è vero (inoltre, I veri programmatori usano Fortran ). C solo un'altra lingua con il proprio insieme di vantaggi e svantaggi. Uno dei maggiori svantaggi è che è un linguaggio di insegnamento orribile .

Per quanto riguarda la programmazione Web, né C né C ++ sono così popolari e possono essere tranquillamente saltati. Ho fatto un po 'di programmazione in PHP, e mentre è buono per il lavoro piccolo, veloce e sporco, la mia impressione è che non è appropriato per nulla sulla scala di Digg o Facebook (che sono progetti ben oltre le capacità di qualsiasi singolo programmatore). La mia esperienza con esso è molto limitata, ma ho sentito cose molto buone su Python.

    
risposta data 28.12.2010 - 16:35
fonte
5

Risposta: No . Non imparare ancora C / C ++. In effetti, non imparare mai il C ++ a meno che la tua istruzione o il tuo lavoro non lo richiedano. Non ne vale la pena. C, tuttavia, molto è utile sapere, ma vederlo come "avanzato" e impararlo una volta che è necessario.

Quindi sicuramente ti sporchi le mani. Ma non limitarti solo al PHP. Niente di male in PHP, ma ... beh, sì, in effetti c'è molto sbagliato in PHP, ma è abbastanza buono e ci sono molti lavori in esso. Ma invece di C, impara anche Python (che ha anche un sacco di lavori) e un linguaggio funzionale (per ottenere una prospettiva). Non è nemmeno chiaro se conosci già PHP o meno. Se non lo fai, ti suggerisco di iniziare a imparare a programmare usando Python, che è un ottimo linguaggio per principianti.

Quindi impara C quando è necessario, ad esempio se hai bisogno di scrivere un'estensione C su Python per motivi di prestazioni, ecc.

    
risposta data 28.12.2010 - 15:37
fonte
4

Prenderò l'opzione 2.

Sono d'accordo sul fatto che, se hai uno sfondo C ++ o C, è d'aiuto. ma se non lo fai, salta e inclina per utilizzare correttamente gli strumenti di cui hai bisogno.

Questo non significa tuttavia che non dovresti imparare cose come OOP, Algoritmi e amp; Strutture dati. Significa solo che puoi fare tutto ciò usando PHP.

    
risposta data 28.12.2010 - 14:11
fonte
3

Inizia a sporcarti le mani con PHP. Quando noti che hai bisogno di più, è il momento giusto per iniziare ad apprendere, ad es. C. Ottenere troppe conoscenze contemporaneamente, senza applicazione pratica, ti confonderà e demotiverà solo.

    
risposta data 28.12.2010 - 17:15
fonte
1

Il primo percorso è il lungo, ma ti darà un solido background in programmazione. Capirai il concetto, che è il più importante se me lo chiedi. Quindi il linguaggio di programmazione diventa solo uno strumento, smetti di pensare a una lingua e inizi a pensare al dominio del problema. Vai per C / C ++, capisci i puntatori, i riferimenti, la ricorsione, ecc.

Bottomline. Scopri come programmare, questa pratica è indipendente dalla lingua.

    
risposta data 28.12.2010 - 14:58
fonte
1

Digg e Facebook sono entrambi siti ad altissimo traffico e devi sapere molto più di PHP per rendere tutto più scalabile.

D'altra parte, a meno che non venga messo sulla prima pagina di Digg, non avrai bisogno di ridimensionare per un po '.

In definitiva è una tua scelta e nessuno può farcela per te, ma per esperienza personale, conoscere e implementare strutture dati è molto divertente.

    
risposta data 28.12.2010 - 14:59
fonte
1

Non vedo il punto di imparare C o C ++ per fare programmazione web. Sono ottimi linguaggi per imparare, certo, per una fondazione nello sviluppo del software. Se vuoi davvero imparare OOP, scegli un linguaggio orientato agli oggetti in natura, come C #. (Disclaimer: Sono un programmatore web C # / ASP.NET). Con C # (o lingue simili) puoi imparare concetti orientati agli oggetti contemporaneamente all'apprendimento della programmazione web. In questo modo puoi creare qualcosa di pratico abbastanza rapidamente.

    
risposta data 28.12.2010 - 15:01
fonte
1

Se vuoi fare programmazione web, salta il C e il C ++.

Ti suggerisco di iniziare con xhtml, css e javascript, poiché questi sono al centro di ciò che vuoi fare. Quando non devi più cercare nulla su questi 3 argomenti, avrai una solida base nella programmazione web. Un'altra cosa, fare un tuffo nel javascript orientato agli oggetti e non giocare solo con il DOM.

Buona fortuna, rimanere concentrati e divertirsi.

    
risposta data 28.12.2010 - 20:55
fonte
0

Potresti iniziare a livello base con PHP (PHP5 è OOP) direttamente.

Ad ogni modo dovresti considerare di fare strutture algoritmiche e dati, questa è la conoscenza di base. Sapere come trasformare il tuo modo di pensare in codice, dati, ecc ... e poi applicarlo.

Se inizi direttamente con la codifica, potresti essere migliore la prima volta perché avrai una conoscenza pratica, ma questo non significa che sarai in grado di scrivere codice in modo efficiente.

    
risposta data 28.12.2010 - 14:13
fonte
0

Fallo per divertimento e conoscenza, ti renderà davvero un programmatore migliore. Conoscere C / C ++ ti offrirà un'ottima prospettiva su ciò che le altre lingue non hanno in "potenza" e su come lo fanno con semplicità e / o funzionalità specifiche del dominio.

Personalmente, C / C ++ mi ha dato alcuni spunti su come funzionano js e PHP senza doverci preoccupare molto (es. l'operatore delete e copy-on-write / pass-by-reference, rispettivamente).

    
risposta data 28.12.2010 - 15:09
fonte
0

Digg e facebook sono entrambi siti ad altissimo traffico e devi sapere molto più del semplice php per rendere tutto più scalabile.
Non lo fai. Almeno per digg. È un modello di dati molto semplice. Facebook è una storia diversa, ma il 90% delle volte verrà ridimensionato il database rispetto al server web. Con le cache opcode è possibile ottenere una macchina server Web per connettersi a più macchine DB saturate e sul lato server Web non si noterà alcun carico.

Vorrei provare prima il C ++ (prima di qualsiasi linguaggio di alto livello come PHP / Python). O qualsiasi linguaggio che ti permetta di giocare con algoritmi (Pascal) ... è sempre una grande differenza quando sai come funzionano le cose invece di fare semplicemente es. sort ($ x)

    
risposta data 28.12.2010 - 15:41
fonte
0

I ti consiglio caldamente di dedicare un po 'di tempo a imparare a conoscere C. Come minimo, tieni abbastanza sotto la cintura in cui lavori attraverso esercizi che dimostrano quanto sia difficile la gestione della memoria .

Molti programmatori PHP non sanno quanto siano viziati quando il seguente codice "funziona"

$foo = array();

Anche $foo = "string"; è qualcosa da apprezzare.

Non sto suggerendo di inseguire una lingua che difficilmente useresti, ma ti consiglio di conoscerla al punto da poter apprezzare di più altre lingue.

    
risposta data 28.12.2010 - 15:48
fonte
0

Non penso che sia inutile sapere C. Anche se è un linguaggio semplice, è molto difficile da usare. Il C ++ è un linguaggio vasto (forse 10 volte la dimensione di C).

Se hai iniziato , quindi inizia con i linguaggi non di programmazione che hai suggerito (html). Quindi guarda lo schema prova questo ebook link Dopo di che prova eiffel, è molto veloce, linguaggio OO facile da imparare.

    
risposta data 28.12.2010 - 16:13
fonte
0

Il vantaggio di apprendere qualsiasi linguaggio strongmente tipizzato come C, C ++, Java ti aiuta a capire le basi della programmazione. In secondo luogo, prima di imparare qualsiasi applicazione di database, cerca di conoscere RDBMS e SQL.50% di base del tuo lavoro è fatto qui. Dopo aver imparato qualcosa come MySql, Oracle ecc sarà molto più facile.

Se vuoi essere un programmatore web preferirò prima imparare C e (C ++ o Java). Poi vai su PHP. Sarà molto facile da capire.

    
risposta data 28.12.2010 - 16:23
fonte
0

Adoro PHP, ma non è la lingua migliore per imparare a programmare, in quanto è molto permissivo e talvolta incoraggia abitudini di programmazione sporche.

Ottenere una solida base in C o C ++ e OOP prima e passare a PHP è sicuramente un'opzione che vale la pena considerare. Avrai pochi problemi ad imparare PHP in seguito.

    
risposta data 28.12.2010 - 16:39
fonte
0

Il trucco è imparare ogni paradigma da una lingua che lo fa bene.

Impara un linguaggio OOP tipizzato staticamente come Python, C #, Java ecc. Impara C per i sistemi di basso livello. E se hai tempo, impara Haskell, Scheme, Lisp ecc. Per la programmazione funzionale / dichiarativa.

La mia prima lingua era il C ++. Mi ci sono voluti anni per disimparare le stranezze e gli stravaganti hack.

    
risposta data 28.12.2010 - 19:26
fonte
0

La mia re-introduzione a PHP, che ci è stato richiesto di riprendere in pochi giorni per un progetto finale in una classe Database di UW-Madison consisteva in "se conosci il C ++, allora dovresti conoscere PHP, ricordati di usare i simboli del dollaro "

Se non fai OOP e in realtà ti piace programmare, lo imparerai simultaneamente. L'unico problema con PHP è quando usare - > e quando usare = > e per questo suggerirei davvero di leggere un libro per imparare PHP, non solo raccogliendo ciò di cui hai bisogno via Internet.

Penso che sia probabilmente l'unico modo per imparare anche il C ++. Non preoccuparti di C, voglio dire, se sei al liceo, allora vai a imparare C - altrimenti dimenticalo.

Una cosa divertente che potresti essere in grado di fare se li impari simultaneamente è scrivere estensioni per te stesso.

La cosa per cui la gente disprezza PHP è che è spesso codificata come se fosse un mucchio di file batch non trasferibili - ed è quello che devi evitare se hai intenzione di farlo come programmatore web. Le persone disprezzano il codice C ++ che assomiglia al codice C per lo stesso motivo.

Vai alla distanza con il tuo codice (in PHP usa classi invece di array annidati infernalmente; in C ++ usa classi invece di strutture annidate infernalmente) e andrà lontano per te

    
risposta data 28.12.2010 - 19:41
fonte
-1

C'è solo così tanto che puoi fare con l'intero stack PHP. Se vuoi fare una carriera fuori dalla programmazione, dal web e in altro modo, non dovresti basarlo su PHP. Per quanto ne sai, andrà via tra qualche anno.

Consiglio di apprendere prima C, saltare C ++ e imparare Java o C # (e OOness, schemi di progettazione) mentre impari PHP. Scoprirai che si tratta della conoscenza dei fondamenti e delle tecnologie e non delle lingue specifiche.

La programmazione Web di PS dà un calcio fantastico! Buona fortuna!

    
risposta data 28.12.2010 - 16:44
fonte
-2

Vai e impara le basi: C e poi C ++ per OOP. È importante capire queste lingue prima di imparare i linguaggi di alto livello. Sebbene l'apprendimento di PHP come prima lingua di programmazione possa essere possibile ma non consigliato.

    
risposta data 28.12.2010 - 14:12
fonte
-4

Vorrei iniziare a imparare Python il linguaggio di programmazione più bello che conosca. Quindi, se necessario, cerca di imparare cose sporche come PHP.

    
risposta data 28.12.2010 - 17:38
fonte

Leggi altre domande sui tag