È utile studiare oltre le basi di un linguaggio di base quando l'obiettivo principale è fare affidamento sul suo contesto? [chiuso]

10

Tieni presente che questo non è un altro 'quanto [ inserisci qui il linguaggio di programmazione ] dovrei sapere prima di passare a [ insert framework here ]?' Quello che mi piacerebbe sapere è quanto sia utile apprendere quei concetti avanzati di un linguaggio di programmazione quando la vostra intenzione è di fare molto affidamento sul suo framework per la maggior parte del tempo. Così, ad esempio, ho iniziato a utilizzare jQuery e prima ho preso il tempo necessario per cogliere davvero i concetti chiave di Javascript. Inoltre ho alcuni oltre i libri di base (Segreti di un ninja Javascript per esempio) sullo scaffale che approfondiscono veramente il linguaggio. Mentre sfoglio le pagine, tuttavia, trovo che un bel po 'di tutto ciò non porta a jQuery che la mia intenzione principale è la manipolazione del DOM.

Lo stesso si può dire per Ruby e RoR. Questi libri mi renderanno un programmatore migliore nel complesso? Probabilmente. Questi argomenti possono aiutarmi a diventare molto meglio con il suo framework? È quello che sto facendo fatica a capire.

    
posta Carl Edwards 19.06.2014 - 17:31
fonte

5 risposte

27

È più importante studiare la lingua piuttosto che studiare la struttura. Impara bene la lingua e userai bene il framework.

In ordine di importanza (la cosa più importante prima):

  1. Principi di programmazione fondamentali - Algoritmi, strutture dati, ecc.
  2. Paradigmi linguistici - OOP, Funzionali, ecc.
  3. Funzionalità linguistiche.
  4. Sintassi e framework.
risposta data 19.06.2014 - 18:16
fonte
5

Naturalmente. La domanda è "questo vantaggio vale il tempo investito?". Direi che lo è sempre, ma sicuramente dipende da te e dal tuo ambiente dato che influenzeranno il beneficio (quanto guadagnerà il tuo ambiente dalle tue conoscenze) rispetto al costo (quanto tempo ci vuole per imparare e quanto bene tu assorbire conoscenza).

Perché dovrei obiettare che è utile? Perché non sempre essere nel framework. Anche il quadro più completo fa ancora parte di un ecosistema più ampio. Non puoi effettuare chiamate jQuery da solo. Devi sapere come collegare il tuo script alla pagina, come funziona, come interagisce con le cose che vuoi fare. Potrebbe trattarsi di "elementi di base" nel tuo libro, ma ho sempre trovato che una conoscenza più profonda mi ha aiutato a rendere il codice più veloce e, certamente, a debugare i problemi più velocemente. Quadro o meno.

Oltre a ciò, il mondo reale ha una brutta abitudine di intromettersi nei programmatori. Certo, oggi il tuo compito potrebbe essere quello di manipolare DOM, ma domani potresti dover cablare qualche SWFObject. Avere una buona base ti permetterà di adattarti più facilmente agli ambienti in evoluzione.

E infine, anche se si può solo voler manipolare DOM, pochissimi programmatori lavorano da soli. Probabilmente i tuoi colleghi faranno cose più avanzate con il linguaggio di programmazione. Dovrai essere in grado di leggere quel codice o, per lo meno, non rovinarlo.

    
risposta data 19.06.2014 - 17:45
fonte
1

Probabilmente hai bisogno di un po 'di equilibrio nella quantità che dovresti imparare. Non è tutto o niente, quindi mettici tutto il tempo che puoi. Devi chiederti quali rischi sei disposto ad accettare affidandoti al framework.

È fantastico se tutto ciò di cui hai bisogno è ottenere un prodotto minimo vitale attivo e funzionante. Non ci saranno grandi prestazioni o trucchi complessi. Questo presuppone che tu abbia scelto un framework in grado di gestire ciò che stai cercando di costruire.

Dall'altro lato dello spettro è se stai lavorando su un'applicazione abbastanza grande / complessa e trovi qualcosa che il framework gestisce male. Non è un grosso problema, quindi finisci per dover imparare più JavaScript. Avresti dovuto passare quel tempo su di esso se lo avessi imparato dall'inizio. Ma hai il tempo? Sarai in grado di apprendere i fondamenti sotto lo stress di non riuscire a fare qualcosa in tempo? Nessuno può rispondere a questo.

L'equilibrio è probabilmente la migliore scommessa. Calmati. Scopri qualche JavaScript se puoi. Potresti non diventare un esperto, ma non è un motivo per ignorarlo. I quadri sono stati creati da persone che avevano bisogno di risolvere un problema simile al tuo, ma non esattamente come il tuo.

    
risposta data 19.06.2014 - 19:19
fonte
1

Un'area generale che soffre di scavare nel / i framework / i prima di conoscere bene il linguaggio core è la performance. Questo vale per tutte le lingue / piattaforme ( Hibernate n + 1 seleziona ecc.) . Ecco molto di Suggerimenti JQuery e trucchi che si basano (tra le altre cose) su buona conoscenza del linguaggio principale in relazione alle prestazioni:

Use For Instead of Each Native functions are always faster than any helper counterparts. Whenever you're looping through an object received as JSON, you'd better rewrite your JSON and make it return an array through which you can loop easier.

Use IDs Instead of Classes It's much better to select objects by ID because of the library's behavior: jQuery uses the browser's native method, getElementByID(), to retrieve the object, resulting in a very fast query.

    
risposta data 20.06.2014 - 00:51
fonte
0

Penso che la tua domanda sia basata su una premessa sbagliata. Inizi a dire che stai pianificando di fare affidamento su un framework, e poi chiedi se è utile imparare oltre il framework. Quindi, naturalmente, arrivi alla conclusione che non ne vale la pena. Ma questa premessa è imperfetta. Non dovresti concentrarti sull'uso di un framework. Dovresti concentrarti su usare lo strumento giusto per il lavoro giusto . jQuery è davvero bravo in certe attività, così come Ruby on Rails o qualsiasi altro framework. Ma non sono sempre lo strumento giusto per tutto. Imparare a conoscere la lingua oltre il framework e persino a conoscere altri framework o microframework o altri strumenti, ti aiuta a identificare quando il tuo framework si intromette più di quanto stia aiutando e ti dà la possibilità di cercare altre soluzioni migliori.

Quindi la mia risposta è: sì, ne vale assolutamente la pena perché il framework non è lo strumento giusto per ogni lavoro.

    
risposta data 20.06.2014 - 01:16
fonte

Leggi altre domande sui tag