¿Un programador sin experiencia necesita un IDE? [cerrado]

12

Leer esta otra pregunta me hace preguntarme si yo (como un programador PHP principiante absoluto) debería seguir con WAMP y Notepad ++ o cambiar a algún IDE como Eclipse.

Es comprensible que los desarrolladores calificados se beneficien de un gran IDE brillante. Pero, ¿por qué un principiante absoluto debe usar un IDE? ¿Los beneficios superan el desafío adicional de aprender el IDE además de aprender a desarrollarse?

Actualización para aclaraciones:

Mi objetivo es obtener experiencia en programación básica. Al elegir PHP y WAMP (y FogBugz y Kiln) espero evitar tener que navegar por los detalles del sistema operativo complicado y desordenado y compilar, etc. y solo centrarme en la funcionalidad básica como un formulario de registro de usuario en línea.

Tengo una gran comprensión teórica de la universidad hace una década, pero no tengo experiencia práctica. Quiero remediar eso con un proyecto de pasatiempo que sería similar a una aplicación web vendible del mundo real.

Hay tantas preguntas que hacer. Así que muchas trampas que probablemente tengo en equivocarse al. Esta pregunta es solo una pieza (¡la primera!) De ese rompecabezas.

Torben Gundtofte-Bruun
fuente
Depende de lo que quiera decir con IDE ... Notepad ++ se puede usar como IDE rudimentario.
Oded
10
¡Si! ¡No! No lo sé ... ¡Ve con lo que es correcto para ti!
Ben
1
La situación con un editor simple es la línea de base: la experiencia común a todos los programadores. Todas las herramientas además de eso son solo eso, herramientas además de eso, por lo que debes comenzar a aprender los conceptos básicos para apreciar lo que el IDE puede ayudarte.
Ejecuté un pequeño raspado de pantalla en programmers.stacexchange.com. El uso de la palabra "depende" o "depender" parece aumentar la posibilidad de votos mientras que las personas que responden con frases que comienzan con "Yo ..." o que comienzan con "Sí" o "No" tienden a ser rechazadas. Consejo para escribir publicaciones: no tenga una opinión clara sobre nada.
Jason Sebring

Respuestas:

21

Dependiendo del tipo de programa que intente crear, un IDE puede hacer que todo el proceso, especialmente la construcción y la implementación, sea mucho más fácil. Este es especialmente el caso cuando está utilizando marcos relativamente complejos.

Por otro lado, hacerlo todo a mano mejora enormemente la comprensión de lo que sucede debajo del capó. Por esa razón, crear algunos programas pequeños "por las malas" es un buen ejercicio para un novato.

usuario281377
fuente
16

¿Debería un n00b usar un IDE? Esto depende de cuál sea su objetivo como n00b. Aquí hay algunos posibles objetivos inmediatos:

1) Simplemente comience a aprender un lenguaje de programación / algo sobre programación (introducción ligera)

2) Conviértete en un maestro y comprende cómo funciona todo (introducción de peso pesado)

Para 1), use un IDE . Usar un buen IDE hará tu vida más FÁCIL. No mas dificil. Aprender a usar un IDE rara vez es tan difícil después de instalarlo. Luego, para compilar y ejecutar su programa, simplemente haga clic en el botón "Ejecutar" o algo así. La depuración también será más fácil ... simplemente haga clic en algún botón de depuración.

Para 2), no use un IDE (al principio). Si desea comprender todo a la perfección, el uso de un depurador y un compilador de línea de comandos le dará más información sobre cómo funciona todo. Esto será más difícil y puede ser desalentador al principio.

Casey Patton
fuente
¿Cómo no usar un IDE le daría una mejor comprensión de cómo funciona todo? Te perderías las opciones de la línea de comandos del compilador y los comandos del depurador, pero estas son dos cosas que puedes aprender más adelante en una explicación de una página. Los makefiles tampoco son mucho más difíciles. No puedo pensar en otra cosa que no sea trivial.
Rei Miyasaka
3
No digo que haya una diferencia de día y noche, pero ciertamente no clasificaría Makefiles y todo eso como "trivial" para un nuevo desarrollador. Tampoco estoy diciendo que vas a ser completamente ajeno si comienzas con un IDE. Solo digo que comenzar con la línea de comando te da una mejor idea de cómo funcionan las cosas.
Casey Patton
Bueno, quiero decir, los Makefiles son bastante triviales más adelante una vez que comprendes que la creación de programas generalmente implica varios pasos y muchos archivos, que los IDE te enseñarán en el camino de todos modos.
Rei Miyasaka
3
@ReiMiyasaka, ¿los IDEs te enseñan eso en el camino? Mi impresión es que muchos codificadores nunca descubrieron lo que sucede entre ingresar código en IDE y producir código ejecutable.
Winston Ewert
@ Winston Sí, lo hacen. No hay forma de no darse cuenta de que sucede algo que reúne docenas de archivos de código y bibliotecas. Aprender el formato exacto de los datos que describe las interacciones es útil, pero nuevamente, es algo que se puede aprender en unas pocas horas una vez que ya se entiende que algo está sucediendo. ¿Alguna vez has intentado enseñar listas enlazadas sin explicar para qué sirven? Las listas vinculadas tienen mucho más sentido para las personas una vez que tienen una razón para necesitar conocer sus detalles. El mismo trato con los makefiles y los parámetros del compilador y todo eso.
Rei Miyasaka
5

Como alguien que intenta aprender un nuevo idioma en un pequeño proyecto de pasatiempo, diría que se adhiera a un editor de texto con resaltado de sintaxis.

Cuando comienzas por primera vez, vas a cometer errores. Olvidará un punto y coma en algún lugar o escribirá mal un nombre de variable. Sin IDE, tendrá que centrarse solo en el idioma y en cómo lo escribió. Este es un aprendizaje valioso.

Un gran IDE brillante intentará ahorrarle tiempo tratando de detectar estos errores, lo que le robará su aprendizaje. Además, como otros han dicho, aprender el IDE también colocará más sobrecarga en su aprendizaje. Imagínese cuando el IDE sugiere algo, se preguntará por qué está haciendo la sugerencia, o incluso si es lo correcto. Esto solo agregará confusión.

Me gusta comenzar un nuevo idioma solo con el editor de texto, luego busco en los complementos de Eclipse una vez que tengo suficiente confianza.

joatis
fuente
4

el desafío extra de aprender el IDE

¿Quieres decir, la parte donde el IDE hace la mayor parte del trabajo por ti?

Ahora, nunca he usado ningún IDE de PHP, pero suponiendo que funcionen de manera similar a otros tipos de IDE, le ahorran enormes cantidades de trabajo. El trabajo involucrado en el aprendizaje del IDE será trivial en comparación con la funcionalidad que el IDE le evita tener que hacer usted mismo. Cosas como la finalización de código y el resaltado de sintaxis son herramientas increíblemente útiles y completamente irremplazables.

Todos los que codifican profesionalmente lo hacen con la ayuda de herramientas como IDEs y por una buena razón.

DeadMG
fuente
2
¡Trabajo con PHP profesionalmente y no uso un IDE, uso Vim!
Gary Willoughby
1
@Gary VIM es un IDE.
derecha el
2
No, es un editor. Definición de un IDE: en.wikipedia.org/wiki/Integrated_development_environment Vim no es eso.
Gary Willoughby
1
Estoy bastante seguro de que Vim viene con cosas como la finalización del código, o se puede agregar para hacer eso, lo que lo convierte en un IDE para este propósito.
DeadMG
3
Hay una gran diferencia entre VIM y un IDE. VIM no oculta los detalles de lo que está sucediendo como lo hace un IDE. Muchos de los beneficios de un IDE están disponibles en VIM. Pero llamar a VIM un IDE simplemente no es correcto.
Winston Ewert
4

Creo que un desarrollador PHP sin experiencia sería mucho más productivo con un IDE.

La pregunta debería ser, ¿deberían los desarrolladores PHP experimentados necesitar un IDE?

Gary Willoughby
fuente
2
eso es en realidad lo que pensé que significaba de leer mal el título ...
bunglestink
4

Como regla general elijo así:

  • Si es una aplicación pequeña con pocos archivos, quédese con la línea de comando.
  • Si se trata de una aplicación grande con muchos archivos, use un IDE, ya que cambiará constantemente de un archivo a otro y podrá beneficiarse de las funciones de exploración rápida y descripción general (especialmente los lenguajes orientados a objetos).

Aprenda a usar ambos cuando sea apropiado. Comience con la línea de comando.

David
fuente
3

Hay algunas cosas que ayudarán a cualquier programador en cualquier idioma sin importar el nivel de habilidad:

  1. resaltado de sintaxis más coincidencia de llaves

  2. comprobación de sintaxis a medida que escribe (muy útil para evitar la docena de errores que provienen de un solo ;paréntesis olvidado o no coincidente)

  3. Navegación fácil de la documentación (sin embargo, esto no necesita estar en el IDE en sí),

    • Las principales bibliotecas de cualquier idioma tendrán documentación en línea a la que puede acceder en su navegador,
    • pero la documentación interna (del proyecto en el que está trabajando) no estará a menos que la ponga a disposición explícitamente
  4. formateo automático al estilo de llave verdadero y espaciado correcto (para que pase menos tiempo aplicando esas reglas) (nuevamente, esto se puede hacer con una herramienta externa)

solo 1 y 2 deben estar en el IDE / editor

monstruo de trinquete
fuente
3

Siempre uso un IDE (Eclipse) y lo recomendaría incluso para un principiante. Principales ventajas si está comenzando:

  • Comentarios instantáneos sobre código incorrecto (por ejemplo, errores de sintaxis en el código)
  • Se encarga de configurar proyectos utilizando convenciones estándar para que no tenga que preocuparse por la configuración / especificaciones del sistema operativo, etc.
  • A menudo puede generar código de muestra sobre el que puede construir y aprender
  • Evita tener que recordar un conjunto completo de opciones de línea de comando arcanas e invocaciones para que pueda concentrarse en el código.

Sin embargo, aunque creo que debería usar un IDE en general, creo que vale la pena realizar al menos una o dos ejecuciones manuales de su código en la línea de comandos. Esto es para que entiendas lo que sucede debajo del capó. Esta comprensión lo ayudará si necesita depurar problemas más adelante.

mikera
fuente
1

La otra pregunta no formulada: ¿un programador PHP experimentado necesita un IDE?

Un IDE lo ayuda a automatizar el proceso de compilación, pero con PHP, no hay proceso de compilación. El resaltado de sintaxis es una característica muy agradable, pero no necesita un IDE completo para eso, muchos editores de texto livianos proporcionan resaltado.

Hago mi trabajo PHP en NetBeans, pero eso es solo porque estoy acostumbrado a NetBeans. Apuesto a que podría hacerlo igual de bien en cualquier número de editores de texto.

Mike Baranczak
fuente
1

Si espera razonablemente que principalmente escribirá código durante toda la vida, o incluso si no, debe obtener un editor / IDE extensible y comenzar a aprenderlo. Si no puede pagar nada, vaya con Notepad ++ o similar, algo que le permitirá comenzar su tarea de toda la vida de decidir "cómo me gustan mis teclas de acceso rápido" y aprender las convencionales.

Sus IDE de herramientas, como los llamo: Visual Studio, Eclipse, What-have-you, van y vienen y evolucionan, a menudo se vuelven demasiado voluminosos y no responden para ser utilizados cuando solo quiere soltar código o masajear / refactorizarlo de ciertas maneras.

Por lo tanto, tiene su editor de "casa", el que permanece con usted toda la vida, a quien ama más que a su novia.

Llegará al punto en que será perfectamente natural y productivo trabajar en algo utilizando tanto su IDE de herramientas como su IDE de inicio al mismo tiempo, aprovechando lo mejor de ambos mundos.

My Home IDE es SlickEdit, que he usado y extendido en los últimos 10 años, en ese momento he escrito más de 120 módulos Macro para él, y tengo más de 1000 teclas de acceso rápido.

¿Los recuerdo a todos? No, probablemente alrededor de la mitad en un momento dado, tal vez el 60%, pero los otros son para tareas especializadas, que termino buscando a pedido.

Recuerde, la vida es corta, y si hace los cálculos en cualquier proyecto grande, verá que incluso si los extraterrestres benevolentes dictan telepáticamente un código perfecto en su cabeza para que escriba 8 horas al día, aún le tomaría MESES escribir algo grande (sin un editor inteligente, macros, plantillas, etc.).

Esta es la razón por. Planifique a largo plazo, allane el camino hacia el futuro de vez en cuando.

En realidad, muy a menudo. Aunque te cueste ahora.

marca
fuente
1

Solo puedo compartir mi propia experiencia, así como una idea de cómo afecta a un desarrollador.

En primer lugar, declararé que disfruto trabajando en ambos tipos de entornos. Si estoy usando Vim y un archivo MAKE con GCC o QtCreator / Visual Studio con sus respectivos entornos y compiladores depende únicamente del proyecto en sí y de la escala de la aplicación.

Para aprender, ocasionalmente usaré Vim simplemente porque odio no saber cómo funcionan las cosas y simplemente ir y escribir algo por ignorancia. Cuando aprendí a codificar por primera vez, lo hice a través de C # y Visual Studio. Esto me enseñó lo básico. Sin embargo, después de un tiempo, decidí encargarme de aprender a usar Makefiles y un editor de texto decente.

Rei Miyasaka dijo en un comentario que cualquiera puede aprender a usar un Makefile en un par de horas con nada más que el valor de una página. Estoy totalmente de acuerdo con esto, especialmente para alguien nuevo. Puede tomar algunos días (al menos, en mi caso lo hizo). También vale la pena señalar que la mayoría de la documentación en Makefiles abarca cientos de páginas, y si bien puede obtener una buena introducción a través de una sola página, saber realmente cómo usarlas requiere mucho más tiempo y lectura.

En mi opinión, si eres lo suficientemente ambicioso y acabas de comenzar a aprender, lanza una distribución de Linux (no importa cuál, siempre que tenga un buen administrador de paquetes y sea relativamente estable; recomiendo Linux Mint o incluso Debian ) y aprenda C. Comience con un editor de texto (el resaltado de sintaxis, la sangría automática y el soporte de números de línea son obligatorios; todo lo demás es pura preferencia), simplemente aprender a invocar el compilador a través de CLI. Una vez que ha llegado al punto en el que está aprendiendo pasado cómo el código con un solo archivo fuente por proyecto es cuando entoncescomienza a aprender a escribir un Makefile. También vale la pena elegir Valgrind (si está escribiendo en C / C ++, no estoy seguro de si es compatible con otros lenguajes de programación). Después de unos meses de codificación en este entorno, a medida que asume proyectos más grandes, aprenda un IDE (preferiblemente algo FL / OSS) y estará listo para comenzar.

La razón por la que sugiero esto es porque usar un IDE limita severamente a un programador cuando solo está aprendiendo. La autocompletación y la gestión de proyectos / compilaciones es muy agradable, sin embargo, si no tiene idea de cómo funciona debajo del capó, estará muy limitado en términos de depuración y / o averiguar por qué su aplicación no es se ejecuta correctamente, especialmente si se debe a una configuración incorrecta de compilación o compilación especificada por usted o el IDE en sí.

Salud.

sobre blanco
fuente
-1

Usar un IDE hará la vida mucho más fácil. PHP especialmente tiene muchas funciones inconsistentes con las que el autocompletado en IDEs puede ayudar mucho. Además, tener un depurador en su IDE es realmente invaluable ...

Hay algo bueno en la simplicidad de trabajar con archivos sin formato en un editor de texto, pero si está buscando aprender cómo es producir una aplicación web real, aprender a usar las funciones de un IDE será de gran ayuda en el largo plazo.

bunglestink
fuente
-1

En mis clases de informática, no comenzamos con un IDE. Fue algo que hicimos DESPUÉS de que entendimos lo que estábamos haciendo.

Los IDE tienden a abstraerse demasiado para los principiantes y terminan produciendo tontos educados. Al principio, es crítico que entiendas bien o terminarás pensando solo en el IDE y no podrás resolver cosas básicas sin él. También estará limitado solo a lo que el IDE puede hacer. Algunos IDE son francamente maliciosos al tener tales abstracciones y tener su propio paradigma que realmente hace que las personas sean más tontas al usarlo. Caso en formularios web de puntos para ASP.NET.

Hay algo que decir para arrancarte a ti mismo.

Jason Sebring
fuente
-4

Aquí está mi opinión sobre esto:

  1. Los principiantes son las únicas personas que necesitan IDE. Esto se debe a la depuración: los principiantes aún pueden tener problemas para comprender cómo funciona la ejecución del programa, y ​​recorrer el código puede ayudar con eso.
  2. Los programadores de Mediogre pueden acelerar su proceso de programación porque los IDE proporcionan características que le permiten navegar más fácilmente en grandes repositorios de origen y encontrar dónde se encuentra cada símbolo en el código fuente. Ya no necesitan ide, pero a veces hace la vida más fácil.
  3. Los programadores avanzados no necesitan IDE. Lo han hecho lo suficiente como para que la interfaz de usuario de IDE sea demasiado lenta para ellos: presionar una tecla y esperar la respuesta lleva demasiado tiempo; se requiere una respuesta instantánea para no perder el tiempo. Navegar por el código fuente no es la prioridad principal, ya que pueden recordar dónde se encuentra cada parte del código: leyeron todo el código antes de modificar cualquier cosa.
tp1
fuente
1
Rechazaría el voto si pudiera. Cuando se trabaja con grandes proyectos no es factible tener todo en su cabeza. No necesariamente necesita usar un ide, pero tener algunas herramientas para esto es imprescindible.
Bwmat
@Bwmat, ahora PUEDES
votar a favor