Melhor resposta
Abstração procedural é quando sabemos o que um método ou procedimento faz, ou o que queremos que ele faça, mas não sabemos como ele faz isso.
No momento, estou digitando esta resposta no Quora e, quando clico em Enviar, espero que ela apareça em meu feed. Sei que existem métodos que aceitam minha resposta, salve-a em algum lugar. Mas eu realmente não tenho ideia de como isso é implementado.
Se aplicarmos isso ao Java, você usará muitos métodos, dos vários pacotes Java. Por exemplo, se eu quiser imprimir a substring de uma string
String str=”Hello world”
String s1=str.substring(0,6);
Agora, no código acima, quero que o método substring me retorne a parte da string do início ao 6º caractere. Mas como o método substring implementa essa funcionalidade, eu realmente não tenho ideia, nem é importante para mim.
Resposta
abstração é um conceito geral que cobre muitas coisas diferentes .
HTML é uma linguagem de base e se você precisa fazer desenvolvimento web, você deve aprendê-la, a menos que planeje fazer páginas de uso geral com muito pouca capacidade funcional.
Em algum ponto com o tempo, você terá que olhar para o HTML e descobrir o que sua abstração fez de errado.
abstração (geral):
- Elas tornam as coisas mais lentas, camadas de abstração tendem a tem um custo na velocidade de processamento.
- Isso pode não ser um grande negócio para muitos, mas pode começar a aumentar rapidamente.
- Uma vez reescrevi um aplicativo escrito em Ruby que era tão abstraía que demorava horas para carregar uma lista (literalmente), reescrevi em java e transformei em cerca de 3 minutos, adicionei algumas chaves ao banco de dados e reduzi para alguns segundos.
- A PHP página que levou 2 minutos para carregar, depois de reescrevê-lo em PHP, demorava de 3 a 4 segundos, mexer no banco de dados o reduzia para 2 segundos. (90\% do tempo de carregamento era o framework depois disso, o que significa um framework pobre).
- O fator comum, eu reduzo o nível de abstração significativamente. Python é uma linguagem de script, como o PHP, o que significa que tem que reconstruir as camadas de abstração todas as vezes, isso pode sair caro.
- pode tornar as coisas mais difíceis de depurar / seguir. A abstração geralmente torna a unidade (classes ou métodos) mais fácil de seguir, mas mais difícil de ver como eles se ligam ao todo (integração), pois esses bugs tendem a se mover e se tornam mais difíceis de encontrar.
- On Além disso, os bugs são menos prováveis. Embora eles tendam a ser mais espetaculares quando encontrados.
- Tende a tornar o desenvolvimento mais rápido (até certo ponto), no entanto, muito pode retardar o desenvolvimento, estruturas pesadas como Zend framework (PHP), Spring (Java) são ótimos exemplos de estruturas pesadas que são basicamente super projetadas.
Espero que isso lhe dê uma ideia.