É benéfico estudar além do básico de uma linguagem básica quando o objetivo principal é confiar em sua estrutura? [fechadas]

10

Lembre-se de que este não é outro 'Quanto [ insira a linguagem de programação aqui ] eu devo saber antes de passar para [ insira a estrutura aqui ]?' O que eu gostaria de saber é como é benéfico aprender os conceitos avançados de uma linguagem de programação quando sua intenção é confiar fortemente em sua estrutura na maior parte do tempo. Então, por exemplo, comecei a usar o jQuery e primeiro tirei um tempo para realmente entender os principais conceitos do Javascript. Além disso, tenho alguns livros além dos básicos (segredos de um Ninja Javascript, por exemplo) nas prateleiras que realmente se aprofundam na linguagem. Ao folhear as páginas, acho que uma boa parte delas não é transferida para o jQuery, pois minha principal intenção é a manipulação do DOM.

O mesmo pode ser dito para Ruby e RoR. Esses livros vão me tornar um programador melhor em geral? Provavelmente. Esses tópicos podem me ajudar a melhorar muito sua estrutura? É isso que estou tendo dificuldade em entender.

Carl Edwards
fonte
7
Ao depurar, geralmente ajuda se você entender o que está acontecendo atrás da cortina. Fora isso, aprendo coisas novas principalmente quando encontro a necessidade, e estou gostando.
21414 Marc Marlene
2
Estou meio que com Marczellm nisso. Minha atitude geral é que você só tem tanto código que poderá produzir em sua vida, e idiomas, dialetos e estruturas estão saindo basicamente mais rápido do que você pode escrever código. Se você já é capaz de trabalhar com vários idiomas e estruturas, provavelmente deseja estudá-los com base na necessidade de saber ou querer saber, não como entalhes cada vez maiores no seu cinto.
Panzercrisis
Eu diria que essa é outra pergunta do tipo "quanto" - certamente tem a mesma resposta, que é uma escala variável, dependendo das circunstâncias exatas.
jmoreno
O jQuery é um caso especial. É quase outra linguagem específica de domínio incorporada ao Javascript. (quase mas não quieto). Eu me pergunto é por causa dessa especialidade esta questão seria melhor escrito especificamente sobre jQuery e Javascript (em vez de jQuery e JavaScript ser apenas um exemplo)
Lyndon Branca

Respostas:

27

É mais importante estudar a linguagem do que estudar a estrutura. Aprenda bem o idioma e você usará bem o framework.

Em ordem de importância (primeiro o mais importante):

  1. Princípios fundamentais de programação - Algoritmos, estruturas de dados, etc.
  2. Paradigmas de linguagem - OOP, Funcional, etc.
  3. Características da linguagem.
  4. Sintaxe e estruturas.
Robert Harvey
fonte
2
Muitas votações positivas sobre isso, se eu pudesse. Um programador terá um design e capacidade limitados para o trabalho avançado pelo que eles não sabem.
Peter Smith
8
5. Código linguístico. Leia o código de outras pessoas e aprenda os estilos desse idioma específico.
Joshua Taylor
5
@ JoshuaTaylor Acho que eu colocaria isso antes dos frameworks em importância, já que o código idiomático provavelmente será usado com o framework e aprendê-los separadamente é mais útil - os idiomas de idioma não fazem parte do framework, e os usuários do framework provavelmente acrescentou mais
Izkata
Votado porque confirma meus preconceitos pessoais. No entanto, gostaria de ter suas fontes, por favor.
Aaron Hall
5

Claro. A questão é "esse benefício vale o investimento de tempo?". Eu diria que sempre é, mas certamente depende de você e do seu ambiente, uma vez que eles afetarão o benefício (quanto seu ambiente ganhará com o seu conhecimento) versus o custo (quanto tempo leva para você aprender e quão bem você absorver conhecimento).

Por que eu diria que é benéfico? Porque você nem sempre estará no quadro. Mesmo a estrutura mais abrangente ainda faz parte de um ecossistema maior. Você não pode fazer chamadas jQuery sozinho. Você precisa saber como vincular seu script à página, como ele é executado, como ele interage com o que você deseja fazer. Isso pode ser "básico" em seu livro, mas sempre achei que um conhecimento mais profundo me ajudou a tornar o código mais rápido e, certamente, a depurar problemas mais rapidamente. Quadro ou não.

Além disso, o mundo real tem um hábito desagradável de se intrometer nos programadores. Claro, sua tarefa hoje pode ser a manipulação do DOM, mas amanhã você poderá precisar conectar alguns SWFObject. Ter uma boa base permitirá que você se ajuste mais facilmente às mudanças nos ambientes.

E, finalmente, mesmo que você queira apenas manipular o DOM, muito poucos programadores trabalham mais sozinhos. Seus colegas provavelmente farão coisas mais avançadas com a linguagem de programação. Você precisará ler esse código ou, pelo menos, não estragar tudo.

Telastyn
fonte
1

Provavelmente precisa de um pouco de equilíbrio na quantia que deve aprender. Não é tudo ou nada, então dedique o máximo de tempo possível. Você deve se perguntar quais riscos você está disposto a aceitar, contando com a estrutura.

É ótimo se tudo o que você precisa é colocar algum produto mínimo viável em funcionamento. Não haverá muito desempenho ou requisitos complexos de requisitos. Isso pressupõe que você escolheu uma estrutura que pode lidar com o que você está tentando construir.

Por outro lado, se você estiver trabalhando em um aplicativo bastante grande / complexo e encontrar algo com o qual a estrutura lida mal. Não é grande coisa, então você acaba tendo que aprender mais JavaScript. Você teria que gastar esse tempo se aprendesse desde o início. Mas você tem tempo? Você será capaz de aprender os fundamentos sob o estresse de não fazer algo a tempo? Ninguém pode responder isso.

Equilibrar é provavelmente a melhor aposta. Ponha-se no ritmo. Aprenda um pouco de JavaScript, se puder. Você pode não se tornar um especialista, mas isso não é motivo para ignorá-lo. As estruturas foram criadas por pessoas que precisavam resolver um problema semelhante ao seu, mas não exatamente como o seu.

JeffO
fonte
1

Uma área geral que sofre com a investigação dos frameworks antes de conhecer bem o idioma principal é o desempenho. Isso vale para todos os idiomas / plataformas (o Hibernate n + 1 seleciona etc). Aqui está um monte de dicas JQuery e truques que confiam (entre outras coisas) em bom conhecimento da língua do núcleo em relação ao desempenho:

As funções Usar para Em vez de Cada nativo são sempre mais rápidas do que as contrapartes auxiliares. Sempre que você faz um loop através de um objeto recebido como JSON, é melhor reescrever seu JSON e fazê-lo retornar uma matriz através da qual você pode fazer um loop mais fácil.

Usar IDs em vez de classes É muito melhor selecionar objetos por ID devido ao comportamento da biblioteca: jQuery usa o método nativo do navegador, getElementByID (), para recuperar o objeto, resultando em uma consulta muito rápida.

Shivan Dragon
fonte
0

Eu acho que sua pergunta é baseada em uma premissa falsa. Você começa dizendo que planeja confiar em uma estrutura e depois pergunta se é benéfico aprender além da estrutura. Então, é claro que você chega à conclusão de que não vale a pena. Mas essa premissa é falha. Você não deve se concentrar em usar uma estrutura. Você deve se concentrar em usar a ferramenta certa para o trabalho certo . O jQuery é realmente bom em determinadas tarefas, assim como o Ruby on Rails ou qualquer outra estrutura. Mas eles nem sempre são a ferramenta certa para tudo. Aprender sobre o idioma além da estrutura e até aprender sobre outras estruturas, microframework ou outras ferramentas, ajuda a identificar quando sua estrutura está atrapalhando mais do que está ajudando, além de oferecer a capacidade de procurar outras,

Portanto, minha resposta é: sim, vale a pena, porque a estrutura não é a ferramenta certa para todos os trabalhos.

jpmc26
fonte