2009-07-05 18 views

Respuesta

49

En mi libro, .

Creo firmemente en la comprensión de la tecnología subyacente debajo de los kits de herramientas que está utilizando.

Las extracciones tienen goteras: se encontrará con problemas en el futuro si trata de salirse con la suya entendiendo solamente un conjunto de herramientas de alto nivel y no la tecnología subyacente. Tarde o temprano tendrá que depurar su proyecto en el nivel JavaScript (o lo que sea).

+14

No merece la pena su propia respuesta, así que aquí. Si utiliza uno de los convertidores Java-> Javascript, perderá muchas características de javascript como el tipado dinámico y la capacidad de usar funciones como objetos propios. Realmente no veo por qué las personas consideran javascript como un lenguaje de bajo nivel. Combinado con frameworks (escrito en javascript) como jQuery, es un lenguaje fácil de usar y potente. – Macha

+0

@Macha: Bien dicho. JS por derecho propio es extremadamente poderoso (y muy diferente de Java). ¿Por qué cubrirlo con abstracciones? – Rake36

+6

De acuerdo. Usar cosas como Gwt sin saber JS es como usar alguna herramienta de base de datos sin saber SQL. Si bien eso puede funcionar, obtendrás mejores resultados si realmente sabes lo que está sucediendo. –

12

La comprensión de la tecnología detrás de su marco reduce el tiempo que se gasta en depurar las cosas que hace con su marco. entonces, en mi opinión, siempre es bueno saber qué está sucediendo detrás de la escena.

4

estiramiento más a fondo ...

En caso de que aprender nowaday lenguaje ensamblador con tantos lenguajes de alto nivel?
¿Debería aprender cómo hacer aritmética básica como la resta y la suma a mano cuando ahora tenemos una calculadora y una computadora que pueden hacer esto por usted?

Bueno, yo diría que tal vez no lo necesitarás si no tienes motivos para ir en el fondo, pero alguien tendrá que calmarse.

Como con todas las cosas, hay un equilibrio. Sepa que será en su desventaja si no conoce los productos de menor nivel, pero a veces es necesario omitirlo para poder profundizar en otra cosa. Tienes que admitir que hay tanta tecnología por ahí que no podrás ser un experto en todas las cosas. En ese caso, conocer a alguien que lo hace es algo bueno.

Elija su elección y vaya con lo que le interese. Si crees que estás interesado en aprender JavaScript, hazlo. Si no, puedes mantenerte en tu nivel de abstracción y obtener un amigo de JavaScript que pueda ayudarte cuando estés atascado.

8

Sí,

... y hablan con la experiencia: nunca he aprendido javascript y sólo partes de lo que solía, cuando me encontré con él en las búsquedas de Google para las preguntas.

Ahora que estoy construyendo una aplicación web, noto que no todas las abstracciones fuera de javascript tienen la funcionalidad deseada, y necesito ingresar a javascript para resolverlo.

Noté que extraño el conocimiento fundamental que tengo con otros idiomas, al igual que extraño el libro 'lenguaje de programación javascript' (no estoy seguro de que exista, pero tengo copias similares para C, C++ y Java). Así que hoy ordené Javascript:The good parts y lo aprenderé ...

+0

Crockford's The Good Parts no es realmente un libro para principiantes. Le sugiero que primero comience con la guía Definitive de Javascript de Flanagan, y luego continúe con The Good Parts. http://www.amazon.com/JavaScript-Definitive-Guide-David-Flanagan/dp/0596101996/ref=sr_1_1?ie=UTF8&s=books&qid=1246804047&sr=8-1 –

+0

Sugiero referencias cruzadas de los dos; para las características del lenguaje que Crockford deja fuera de The Good Parts, no pasaría demasiado tiempo estudiándolas mientras leía The Definitive Guide. Puede que necesite comprender esas características, pero parte del punto de Crockford es que un montón de cosas en el lenguaje Javascript estaban mal diseñadas y realmente no deberían estar ahí. Descubrí que, en su mayor parte, estoy de acuerdo con él. (También aprendí una buena cantidad de él.) – DougWebb

+0

Dreas: Gracias por el consejo, voy a obtener el libro pronto, así que veré si todavía extraño algunos aspectos fundamentales. Tenga en cuenta que ya he aprendido muchos idiomas diferentes, por lo que probablemente entienda más que un principiante completo. – Roalt

3

Creo que la realidad de los errores del navegador hará que sea posible diagnosticar y comprender el JavaScript generado necesario durante mucho tiempo. Trabajé con una empresa de hoja de cálculo para OS/2, y tuvieron que leer el ensamblador generado desde el código C++ porque el compilador de IBM generaría códigos de máquina defectuosos a veces. Por lo tanto, aunque es posible que no hayan conocido lo suficiente a Assembler para escribir un proyecto completo en él, sin duda tenían que saber lo suficiente como para rastrear problemas.

Dicho esto, también hay muchos marcos web que requieren que codifique su propio javascript, y un conjunto de herramientas determinado no necesariamente hará todo lo que necesite sin escribir directamente un javascript. Puedes elegir marcos que lo eviten si lo prefieres, pero no es del todo obvio que, a diferencia de Assembler para el desarrollo de aplicaciones, la comunidad de desarrollo web haya decidido abstraer cualquier implicación en él. Puede terminar en proyectos que lo necesiten.

7

ABSOLUTAMENTE. En mi opinión, la abstracción es importante, pero saber cómo funciona la abstracción es igualmente importante.

He visto desarrolladores que viven y mueren por sus frameworks (javascript: jquery, yui, etc ... o php: zend, cake, etc ...), pero no tienen idea de cómo hacer algo productivo sin ellos.

¿Quién preferirías ser (o contratar)? El tipo que sabe cómo funciona todo, pero mejora su productividad mediante el uso de marcos y bibliotecas ... ¿o el tipo que usa estos recursos sin tener ni idea de cómo funcionan en realidad?

1

En realidad, dibujar un paralelo al lenguaje ensamblador le falta un poco de sentido. El ensamblado era específico de la plataforma y el paso a C permitió un cierto nivel de agnosticismo de plataforma, lo que permitió al desarrollador ser más productivo en múltiples plataformas. Por lo tanto, hubo un efecto de productividad real.

Aprender todos sus chuletas web ricas en algo así como GWT es más limitante. Después de todo, está basado en Java, y la web es mucho más amplia que solo Java. Te limitarías seriamente si todo lo que sabes es GWT pero no el funcionamiento interno del Javascript generado (No puedo comentar sobre Morfik porque no lo sé).

Sin embargo, emplear algo como JQuery para ser más productivo al codificar Javascript es mucho mejor. JQuery se puede usar en cualquier navegador que se ejecute en cualquier sistema operativo, por lo que no lo limita.

1

Yo diría que sí. He conocido personas que afirmaron saber javascript, cuando todo lo que podían hacer era hacer un par de llamadas a la función jquery. Javascript (ECMAscript) es un hermoso lenguaje (bueno, no tan pequeño).

Resumiendo un poco de javascript - defina "vale la pena aprender". Este tipo de pensamiento siempre fue un enigma para mí. ¿Tienes miedo, por casualidad, de aprender algo nuevo?

Supongo que este tipo de pensamiento es lo que realmente separa a un codificador de un programador.

1

Un desarrollador web que no conoce Javascript es como un mecánico que no sabe cómo cambiar un neumático.

0

JavaScript es el núcleo del desarrollo interactivo del lado del cliente. Es absolutamente esencial. Después de conocer JavaScript, puede probar probar otras cosas que compilan en JavaScript si las encuentra más fáciles.

Además, si quieres trabajar de forma profesional en desarrollo web para algunas empresas, entonces vas a tener que saber JavaScript. Además, JavaScript se vuelve cada vez más popular a medida que la ejecución del lenguaje en el navegador se hace más rápida y también se vuelve más popular en el desarrollo del lado del servidor.

Cuestiones relacionadas