¿Deben los novatos usar IDE autocompletar (Intellisense)? [cerrado]

35

A menudo me encuentro con esto cuando estoy ayudando a alguien que es nuevo en la programación y lo está aprendiendo por primera vez. Estoy hablando de novatos realmente nuevos, todavía aprendiendo sobre OOness, construyendo objetos, llamadas a métodos y cosas por el estilo. Por lo general, tienen el teclado y solo estoy ofreciendo orientación.

Por un lado, la función de autocompletar de los IDEs ayuda a darles retroalimentación de que lo están haciendo bien y rápidamente les gusta y confían en él.

Por otro lado, me temo que la dependencia temprana del autocompletado IDE les haría no entender realmente los conceptos o no podrían funcionar si algún día se encuentran solo con un editor simple.

¿Puede alguien con más experiencia en este sentido compartir su opinión? ¿Qué es mejor para un novato, autocompletado o mecanografía manual?

Actualizar

¡Gracias por la entrada a todos!

Muchas respuestas parecen centrarse en el uso principal del autocompletado, como completar métodos, proporcionar métodos de búsqueda y documentación, etc. Pero hoy en día los IDE se parecen mucho más.

  • Al crear un objeto de tipo Lista, un IDE se autocompleta a una nueva ArrayList en el lado derecho. Puede que no sea claro de inmediato para un novato por qué no puede ser una nueva Lista, pero bueno, funciona, así que continúan.
  • Parámetros del método de llenado basados ​​en variables locales en contexto.
  • Realizando lanzamientos de objetos
  • Agregar automáticamente las declaraciones 'importar' o 'usar'

y mucho más. Este es el tipo de cosas que quiero decir. Recuerde que estoy hablando de personas que están haciendo la Programación 101, en realidad recién comenzando. He visto al IDE hacer estas cosas de las que no tienen idea, pero simplemente continúan.

Se podría argumentar que les ayuda a enfocarse en el flujo del programa y entender las cosas primero antes de profundizar y comprender los matices del lenguaje, pero no estoy seguro.

codinguser
fuente
1
Creo que esto cae en un mandato general: usar una herramienta. No seas lo suficientemente flojo como para usarlo a ciegas.
Alex Feinman el
Creo que deberían usar "el editor de texto estándar '... gnu.org/fun/jokes/ed.msg
JoelFan
He resumido lo que he aprendido aquí en una publicación de blog: codinguser.com/2011/01/abstraction-is-good-magic-is-bad
codinguser

Respuestas:

11

Creo que usar el IDE ayuda en el proceso de aprendizaje. Se pueden descubrir métodos, propiedades, parámetros, sobrecargas y similares. Con las bibliotecas abrumadoramente grandes, Intellisense ayuda a filtrar el conocimiento JIT. En el entorno de codificación actual, es imposible aprender todo por adelantado, y el aprendizaje JIT es a menudo la única forma práctica de ser productivo rápidamente.

Entiendo que usar un IDE puede ser una muleta si lo usa a ciegas, pero creo que los beneficios superan con creces los negativos.

Por otro lado, el uso de plantillas sin comprender lo que se ha creado previamente para usted es más problemático. Creo que se pueden usar como una herramienta de aprendizaje si el desarrollador se toma el tiempo de leer el código con plantilla. Pero la mayoría de la gente no se molesta. Sin embargo, podría ser una gran herramienta de aprendizaje.

Mark Freedman
fuente
JIT? ¿No te refieres al .NET FCL? =) Sí, estoy de acuerdo ... A lo largo de los años, intellisense ha demostrado ser una herramienta de aprendizaje para mí, he aprendido sobre toneladas de nuevas clases, métodos y propiedades con él.
Gideon
1
Me refería al aprendizaje JIT, no a la compilación JIT;) Hay tanto que aprender, tratar de aprender todo por adelantado no es realista, por lo que, siempre y cuando comprenda los conceptos, aprender los detalles de implementación se puede hacer "justo a tiempo".
Mark Freedman
75

Comprender los conceptos y memorizar docenas de cientos de estúpidas clases y métodos de biblioteca son dos cosas completamente diferentes. Intellisense ayuda a eliminar todo ese conocimiento inútil de tu mente por completo, y cuanto antes lo hagas, mejor. Deje más espacio para los conceptos útiles, no desperdicie sus recursos limitados en las API.

Para responder a una parte actualizada de una pregunta: los pequeños detalles de sintaxis, el diseño de los archivos, la invocación del compilador y el enlazador tampoco son importantes en comparación con los conceptos de programación genéricos. Una vez que se entienden, un novato no más puede entrar en una comprensión más profunda de cómo funciona realmente el material de bajo nivel. Es mejor hacerlo cuando ya conoces los conceptos básicos, de lo contrario, es probable que recojas una serie de supersticiones mágicas peligrosas.

Por ejemplo, DrScheme IDE tiene una excelente trayectoria en la programación de enseñanza, y su éxito se debe principalmente a su capacidad para ayudar a concentrarse en lo que es realmente importante.

SK-logic
fuente
30
+1. De hecho, tuve entrevistas en ese entonces donde me pedían que citara la lista de parámetros para alguna función de la API Win32. Nunca podría entender qué relevancia podría tener ese conocimiento.
44
@codinguser: y eso tampoco es un problema. A menudo no puedo recordar ni siquiera una sintaxis del lenguaje que estoy usando actualmente (incluso si lo diseñé yo mismo). Hay cosas mucho más importantes para recordar que las declaraciones de importación o cómo escribir un par getter / setter. Y los IDE están haciendo cosas más útiles: mostrar tipos en la información sobre herramientas, por ejemplo.
SK-logic
44
@ Josh K, ¿alguna vez has escuchado la palabra "abstracción"? ¿Sabes por qué hay diferentes niveles de abstracción? Prestar atención a cualquier cosa por debajo del nivel de abstracción de su dominio del problema actual es estúpido y contraproducente. Y retomar este hábito destructivo al principio de una carrera es un desastre. Me llevó más de diez años recuperarme parcialmente.
SK-logic
3
@ Josh K, ¿insiste en comprender lo que está sucediendo hasta las llamadas al sistema y más? No hay valor agregado en este entendimiento. Por supuesto, un buen programador debe ser capaz de operar en todos los niveles, incluidos los códigos de máquina, pero un buen programador también debe ser capaz de abstraerse por completo de cosas irrelevantes.
SK-logic
3
@ SK-logic: estoy de acuerdo, y las importaciones y llamadas a funciones que está utilizando directamente no son algo de lo que pueda abstraerse.
Josh K
16

Usar autocompletar no es algo malo en absoluto.

Es simplemente por la velocidad, y para mí sería una señal de que alguien está comenzando a dominar el IDE y lo está usando bien.

No entiendo cómo NO usarlo les ayudaría a aprender OO, por ejemplo.

ozz
fuente
1
Estoy a favor de autocompletar cuando hayas dominado los conceptos básicos. La velocidad es buena cuando sabes lo que estás acelerando. Pero cuando un IDE llena automáticamente un parámetro basado en una variable local del mismo tipo, o agrega una declaración de importación, simplemente funciona y algunos novatos realmente no lo entienden.
codinguser
He leído su edición, pero me gustaría pensar que los novatos que contratamos son personas inteligentes que verán lo que se completa, los cuestionarán y los comprenderán. Si eso sucede en la práctica, por supuesto, es otra cuestión.
ozz
13

Después de haber enseñado y enseñado a los estudiantes que son nuevos en la programación, encuentro que el autocompletado / inteligencia a veces causa más daño que bien. Sí, pueden escribir un programa usándolo. Sí, se compila y se ejecuta e incluso podría hacer lo que les pedimos que hicieran. Pero no entienden lo que están haciendo.

Cuando no entienden lo que está sucediendo, se vuelve menos programación y más pirateo de una solución para obtener marcas. Descubrí que eso sucedió mucho con los estudiantes, ya que lo que les pedimos que hicieran se volvió más difícil, simplemente piratearon hasta que algo funcionó. Esto siempre se hizo evidente cuando llegó la mitad del período y se les pidió a los estudiantes que escribieran métodos simples a mano ... no pudieron.

Sí, autocompletar / intellisense nos ayuda (desarrolladores profesionales) mucho porque nos acelera. No tenemos que memorizar todos los diferentes métodos y listas de parámetros, pero al mismo tiempo también podemos arriesgarnos a adivinar qué parámetros va a tomar un método b / c que tenemos la experiencia en programación para saber.

Los novatos no lo hacen. Esperarán a que su IDE muestre una lista de métodos, se desplazarán por esa lista hasta que encuentren uno que tal vez sea lo que necesitan, verán los parámetros que necesitan y verán si tienen que pasarlos. ..y al final habrán pirateado algo juntos que pueden entregar.

Y, al final del curso cuando obtuvieron su pase, se alejarían de su clase de programación con una victoria superficial, muchos nunca volverían a tomar otra clase de CS porque no entendían nada de lo que hicieron o por qué lo hicieron. eso.

Tyanna
fuente
2
Seré cínico y diré que siempre ha habido ese tipo de estudiante en CS. Si quieren aprender, Intellisense simplemente les ayuda a hacer las cosas más rápido, en lugar de pasar el tiempo buscando cada nombre de función en Google o en un libro
user151019
44
@ Mark, estoy de acuerdo. Creo que hice que mi respuesta fuera demasiado amplia, lo que implica que todos los estudiantes. Pero diré esto, después de presentar e IDE con autocompletar al entorno de desarrollo del curso, la cantidad de estudiantes que no entendieron cuándo aumentaron, al igual que la cantidad de fallas en el primer semestre. La cantidad de preguntas que recibí disminuyó mucho, pero aprendí que no era porque los estudiantes estaban entendiendo mejor, sino que podían hacer que los programas funcionaran sin tomarse el tiempo para entender.
Tyanna
students were asked to write simple methods by hand...they couldn't.Todo se reduce a lo que intentas enseñarles. ¿Conceptos generales de programación o sintaxis específica del lenguaje?
gingerbreadboy
9

El problema con los IDE y los entornos de desarrollo en general no es tanto el autocompletado como el uso de soluciones con plantilla (archivo | nuevo | proyecto) donde muchas cosas "interesantes" ya se han hecho por usted y están, en diversos grados, ocultas .

Para alguien que, en términos generales, comprende lo que sucede debajo del capó, esto es útil, pero para alguien que aprende lo que necesita es bastante menos.

También está la cuestión del tiempo necesario para encender un IDE de peso pesado ...

Por lo tanto, creo que usar algo más liviano y poder ejecutar aplicaciones en las que ha escrito cada línea de código usted mismo tiene un mérito considerable, especialmente porque usar un editor de texto y un compilador demuestra el punto importante de que no necesita un IDE, etc. para escribir software, pero eso no significa que quiera usar un editor de texto por mucho tiempo y que presente desafíos en términos de depuración: desea poder hacer puntos de interrupción y desea poder pasar un solo código ya que esto facilitará la comprensión de lo que está sucediendo.

Por supuesto, podemos confundir aún más el problema al considerar cosas como Python donde tienes una línea de comando "en vivo" ...

Buena pregunta, no hay una sola buena respuesta, excepto que desea que el aprendizaje sea una progresión y comenzar con un editor de texto y un compilador (o un intérprete de línea de comandos) le permitirá concentrarse en los conceptos básicos de sintaxis y lógica antes de avanzar a más cosas complejas que serán más fáciles de hacer con un entorno de desarrollo más potente.

Murph
fuente
2
Honestamente, veo que el tiempo necesario para encender el IDE es insignificante. Paso docenas de horas usando mi IDE entre encenderlo. Ciertamente, ahorra más del tiempo adicional de 30-45 segundos que se necesita para comenzar solo en la finalización del código solo durante ese lapso.
EricBoersma
@Eric: ¿en tu contexto? Si, 100% En el contexto de la pregunta, es decir, principiantes completos? Sospecho que el IDE se abrirá y cerrará más a menudo para sesiones más cortas y, en general, cualquier cosa que se interponga en el camino es un desánimo.
Murph el
Me siento así con respecto a los ORM, los principiantes de bases de datos no deberían poder usarlos porque no entienden lo suficiente sobre el desarrollo de la base de datos para usarlos bien. Grandes herramientas para las personas que saben lo que están haciendo, desastres para los novatos.
HLGEM
@HLGEM Iba a sugerir que es un poco más complicado que eso ... pero ya no creo que esté ni remotamente calificado para comentar sobre principiantes y bases de datos) -: (Y para mayor claridad, porque todavía aprender nuevos lenguajes y marcos creo que puedo comentar sobre el problema IDE - Tengo recuerdos específicos de tener problemas tempranos con .NET y Visual Studio haciendo demasiado)
Murph
4

Aprender de la manera difícil generalmente se queda contigo.

Como novato, NO use IDE. Usa la línea de comando, aprende de tus errores. Esto también lo ayudará a comprender las opciones del compilador y el vinculador más de cerca.

Entonces, ¿cuándo usas IDE? Cuando está diseñando algo enorme o trabajando en una enorme base de código con muchas clases, métodos y variables.

Fanático23
fuente
77
¿Qué sentido tiene comprender las opciones del compilador y el enlazador si aún no sabe qué es un compilador? Normalmente termina en un desastre. Pasé más de una década limpiando mi propio desastre creado por una exposición demasiado profunda y de bajo nivel al principio (MACRO32, Fortran, DCL ...).
SK-logic
2
Convenido. No tiene sentido aprender ensamblaje antes de aprender Python o C #, por ejemplo, simplemente te frustra más. En general, aprende conceptos de alto nivel y luego se filtra en conceptos de nivel inferior u otras cosas quisquillosas.
DMan
4

Sería el primero en decir que los IDE son una bendición para la productividad, incluso si a menudo me quejo de sus peculiaridades. Sin embargo, aprendí BASIC, C, C ++, Java, Python, Perl, PHP y varios otros lenguajes sin nada más que un editor de resaltado de texto y el compilador / intérprete para el lenguaje. ¡De hecho aprendí Java en el Bloc de notas!

Aprender un IDE promueve la "magia": la idea de que "funciona, no importa cómo". La abstracción es buena; La magia es mala. Un programador debe saber o ser capaz de averiguar todo lo que sucede en un proyecto. Un buen IDE está diseñado para encargarse de la contabilidad, no para controlar el proyecto. Usado adecuadamente es una gran herramienta. Pero, ¿qué artesano comienza a usar un enrutador CNC?

Creo que la forma en que aprendí (tener que escribir todo y conocer bien el compilador para construir un proyecto) me ha ayudado enormemente cuando finalmente comencé a usar IDEs. Por ejemplo, un proyecto Java no es una pequeña carpeta en el proyecto Eclipse, sino una colección de clases en una estructura de paquete con algunos archivos XML para rutas, configuración e implementación. No quisiera crear una aplicación empresarial grande sin un IDE, pero puedo crear aplicaciones pequeñas. Eso hace que sea más fácil entender la estructura de los grandes, y cuando quiero un comportamiento específico en la compilación, por ejemplo, sé cómo funciona javac, por lo que puedo ajustar el indicador de compilación real en lugar de tratar de encontrar esa combinación mágica que no funciona. Existe en la configuración de compilación. También creo que tengo una comprensión más profunda de los mensajes de error y cómo encontrarlos y solucionarlos.

No enseñaría con un IDE. Creo que los proyectos iniciales son lo suficientemente pequeños como para que los argumentos para gestionar la complejidad sean discutibles. Si está enseñando Java, por ejemplo, puede colocar todas sus clases en la misma carpeta y javac *.java. ¡No necesitas un IDE para eso! Esto argumenta a favor de mantener proyectos pequeños, poco más que una prueba de conceptos. Minimice los gastos generales y concéntrese en enseñar el concepto que los estudiantes necesitan. Los proyectos más grandes en los que un IDE sería útil pertenecen a clases SE más avanzadas o proyectos dedicados.

En cuanto a la ayuda para encontrar clases e investigación de API, nuevamente, creo que esto es discutible si los proyectos se mantienen pequeños. Nuevamente en Java, javadoc es muy fácil de leer. De todos modos, nadie puede mantener toda la API allí, y habrá un momento en el que necesitará investigar una API sin el beneficio de un IDE. Como, en otros idiomas, o si se está conectando remotamente a un servidor donde no puede abrir el IDE. Enseñe cómo encontrar documentación, no "presione". y puedes ver cuáles son los métodos de un objeto ".

Cualquier programador puede aprender un IDE, pero conocerlo no lo convierte en un buen programador. Dejando de lado el humor negro, "magia" nunca es una buena palabra para un programador.

Michael K
fuente
Aprendí resaltando texto ... punk afortunado. Algunos de nosotros solo tenemos una lista de palabras clave y un aviso.
Matthew Whited el
@Matthew: Java comencé con el bloc de notas ... :)
Michael K
LOL ... Comencé en un Apple IIc con Applesoft BASIC que estaba integrado en la ROM. : o)
Matthew Whited el
¡Guau, me siento afortunado de tener QBasic!
Michael K
4

Quizás un novato simplemente debería estar trabajando en problemas más fáciles primero. Y no, esos problemas no deberían requerir o alentar el uso de un IDE para completar la tarea. Hay mucho más que ganar a largo plazo al comprender los conceptos básicos. Las herramientas deberían venir después.

Ningún artesano de la carpintería saltaría directamente al uso de una cepilladora de superficie de alta potencia sin comprender primero las complejidades del tipo de madera y el plano manual.

(Nota: autocompletar e intellisense son dos cosas drásticamente diferentes).

Intellisense, en sí mismo, no es malo. Solo es malo cuando se usa una muleta para adivinar la funcionalidad sin leer o comprender la documentación o implementación subyacente.

Punto secundario: si el idioma requiere un IDE para codificar por usted, el idioma probablemente esté en el nivel de abstracción incorrecto para los problemas que está tratando de resolver.

Ryan McGeary
fuente
2
+1 para el punto lateral. Soy fanático de aprender varios idiomas, así que sabes cuándo un idioma no es adecuado para una tarea.
Michael K
3

Cuando crecemos de niños, no se nos dice que debemos entender las intrincadas reglas del idioma inglés antes de poder hablar. No se nos dice que debemos entender completamente el uso apropiado de preposiciones, conjunciones y evitar fragmentos de oraciones. Aprendemos haciendo. Aprendemos a través del éxito y el fracaso.

Un IDE con autocompletar ayuda al nuevo programador a ganar confianza al facilitar la creación de programas, mientras no lucha por recordar cada una de las innumerables funciones de una gran multitud de bibliotecas.

Si uno realmente extrapolara la opinión de que el autocompletado perjudica al nuevo programador porque lo hace demasiado fácil para ellos, entonces podría argumentar que los libros de referencia no deberían usarse durante la programación, porque los conceptos que se encuentran dentro deben comprometerse primero con la memoria, como no tenerlos memorizados los ralentiza y no les permite comprender completamente los conceptos primero.

Autocompletar es una herramienta, se utiliza para hacer que el programador sea más productivo. Al igual que con el aprendizaje de un idioma por primera vez, después de ganar confianza y un nivel de éxito con lo que estamos aprendiendo, trabajamos para mejorar nuestro conocimiento.

Cuenta
fuente
Ese es un excelente argumento para usar IDEs. Sin embargo, eso parece descomponerse en CS, porque parece (para mí) que muchos no van más allá de simplemente "aprender a hablar". Eso requeriría que el currículo se refactorice para enseñar explícitamente las cosas que oculta un IDE.
Michael K
2

Al principio, es bastante difícil construir algo que funcione, por lo que cualquier cosa que ayude a la marca novata es mejor. Un nuevo programador necesitará a alguien más experimentado para que piense si las listas enlazadas de matriz o las listas enlazadas serán la mejor opción para el problema en cuestión. Cada uno tiene sus fortalezas y debilidades.

Si el novato tiene un IDE o está navegando por los documentos de la API en línea, no habrá ninguna diferencia real entre el código que crean. Si bien lidiar con el dolor de escribir errores de sintaxis puede ser una experiencia de aprendizaje, hay demasiado para aprender a preocuparse por eso desde el principio.

No aprendes a caminar por la cuerda floja yendo directamente al cable sin una red. Empiezas caminando una cuerda que está a centímetros del suelo. Me atrevería a decir que la mayoría de nosotros trabajamos con un IDE y algún tipo de script de compilación (el IDE crea el script de compilación de Visual Studio, pero está ahí). La mayoría de nosotros no construimos nuestras clases a mano con un editor de texto, y luego invocamos el compilador a mano. ¿Por qué deberíamos imponer eso a un novato que tiene mucho más que aprender?

Berin Loritsch
fuente
2

No veo ninguna necesidad de sufrir el dolor de las herramientas anteriores, incluso cuando un desarrollador está aprendiendo. Creo que el tiempo extra y el esfuerzo que tomaría escribir el código sin las herramientas se gastaría mejor aprendiendo cómo escribir pruebas unitarias y depurar. Una vez que un usuario sabe cómo probar su código y recorrerlo mientras se ejecuta, aprenderá mucho sobre lo que realmente está haciendo.

Además, no es como usar un IDE significa que el código se escribe solo. Un desarrollador inepto o principiante va a escribir código que no funciona si usa un IDE o no.

Solo veo el IDE como otro nivel de abstracción al codificar. Si estoy escribiendo Java, generalmente no necesito entender cómo funciona el código de bytes que genera. Si un nuevo programador está usando libs de Java, no necesita saber en qué paquete está si el IDE puede agregarlo automáticamente. En cualquier caso, si puede surgir un error o problema en el nivel inferior (por ejemplo, choque de nombre de clase) que causa un error, entonces es hora de que el desarrollador lo mire manualmente.

Alba
fuente
0

Muchas otras buenas respuestas, así que no consideres esta una respuesta completa, pero es bueno para los novatos y para los usuarios experimentados ver una imagen completa de las funciones que tienen a su disposición.

En Delphi puedo presionar ctrl-j y veré una lista de todas las cosas posibles que podría esperar que funcionen sintácticamente.

No estoy necesariamente de acuerdo, pero he leído argumentos en el sentido de que los programadores ni siquiera deberían mirar a los miembros de la clase privada de los objetos que usan y de esta manera, el autocompletado le da a cada usuario una referencia de API instantánea.

Los IDE más nuevos permiten a los usuarios y desarrolladores de lenguaje poner metadatos en su inteligencia, lo que mejora aún más la capacidad de leer y comprender lo que hacen las funciones, sin leer la fuente (que es algo que no deberían tener que hacer de todos modos).

Quizás, lo mejor para los novatos es leer y comprender todo lo que implementan. Pero, tal vez sería una mejor pregunta si se debe permitir a los novatos incluir o importar los espacios de nombres o unidades que deseen sin documentar por qué lo están incluyendo.

Peter Turner
fuente
0

En mi experiencia, usar un IDE para aprender los conceptos básicos de OO es excelente porque oculta parte de la complejidad de escribir código mientras permite al nuevo desarrollador centrarse en la lógica del programa. Sin embargo, poco después de aprender a programar y los principios básicos de OO, a través del curso me obligaron a comprender con mayor precisión qué piezas necesitaban interactuar entre sí en los archivos fuente (sin olvidar las declaraciones de importación, crear instancias de las clases correctas, etc.) mediante un curso de programación. donde tuvimos que usar terminales solo máquinas Unix.

Esto es posible en la escuela porque alguien tiene la 'autoridad' para obligarte a usar herramientas de baja fidelidad. Sería mucho más difícil de lograr en un entorno empresarial o corporativo.

Bryan J Swift
fuente
0

Tengo dos pensamientos sobre esto. La primera es que para aprender realmente algo, creo que hay que saber lo que realmente está sucediendo. Y con lo bueno que se ha vuelto IntelliSense, puede ocultar algo de eso a un nuevo desarrollador. Por ejemplo, tuve una clase de ingeniería web en la universidad donde construimos nuestros propios marcos web para construir nuestras aplicaciones finales. Salí de esa clase con esa capacidad de adaptarme a casi cualquier marco web porque tenía la comprensión de lo que había debajo para empezar. Usar un IDE no está a ese nivel, pero creo que el punto sigue ahí.

Sin embargo, usar un IDE también puede hacer cosas como abrir API a nuevos desarrolladores. Cuando comencé a codificar en serio, el IDE que utilicé me ayudó enormemente porque hacía cosas como escribir un objeto, usar el autocompletado para ver qué métodos tenía y luego investigarlos usando los documentos disponibles. Todo esto se hizo dentro del IDE y fue una gran herramienta de aprendizaje.

Entonces, sí, creo que está bien usar uno siempre que también se tome el tiempo para comprender lo que está sucediendo. Simplemente usar una conversión de objetos sin entender por qué tuvo que hacerlo es realmente malo, pero si un nuevo desarrollador ve que puede usar una conversión de objetos y luego mira para ver por qué no veo nada malo.

revs Corv1nus
fuente
0

El aprendizaje requiere práctica. La programación puede ser una tarea muy frustrante cuando no tienes idea de lo que puedes hacer ni de cómo funcionan las cosas.

No es práctico, por ejemplo, leer muchos libros sobre principios de programación sin escribir una sola línea de código; uno no aprende nada de esta manera.

Intellisense es muy útil para brindar a los nuevos programadores la ayuda que necesitan para seguir programando, seguir practicando y, por lo tanto, aprender.

Como ya se dijo, aprender API específicas no es lo mismo que aprender principios de programación. Lo que sin duda sucederá es que los nuevos programadores cometerán errores (independientemente de Intellisense), y cómo eligen corregir esos errores es lo que los llevará a convertirse en buenos programadores o pobres.

Si estás tratando de enseñarle a alguien cómo programar, les pido que usen Intellisense y jueguen hasta que se atasquen. Fue entonces cuando traté de construir una base enseñándoles la razón por la que se atascaron.

Remus
fuente
0

OMI, los IDEs te harán más productivo. Pero para los principiantes generalmente no es una buena idea comenzar a programar con IDE. Los editores de texto como notepad ++, notepad, etc. serían suficientes.

Además, generalmente no se considera una buena idea comenzar a aprender la programación con lenguaje de alto nivel. Te sugiero que comiences con el lenguaje ensamblador. Esto te enseñará conceptos básicos y paciencia.

NinjaCoder
fuente