Escribir programas sin IDE gráfico

18

No estoy seguro de si esto es posible, pero he visto algunos videos con ejemplos de programación en los que parece que el programa se está escribiendo en algún tipo de símbolo del sistema en lugar de un buen IDE gráfico. Tengo curiosidad por saber qué podría estar pasando en estos videos. ¿Es posible escribir un programa sin un IDE?

Heres dos ejemplos: http://www.youtube.com/watch?v=hFSY9cWjO8o (@ 6 min) http://www.youtube.com/watch?v=tKTZoB2Vjuk (@ 5 min)

¿Alguien podría explicar cómo se hace esto?

¡Gracias a todos por los excelentes comentarios!

Matt
fuente
48
Obviamente puedes escribir un programa sin un IDE. ¿Cómo crees que se escribió el primer IDE?
Charles Salvia
34
¡Los niños de hoy en día! ¡Piensa que no pueden escribir programas sin un IDE elegante! ¿Por qué, en mi día tuvimos que compilar el código de máquina nosotros mismos, caminando cuesta arriba en ambos sentidos en la nieve ...
JSB ձոգչ
33
Esta pregunta me pone triste. Incluso más que la gente común que asume que el software y el hardware son algo mágico: usted es un programador, ¡debería saberlo mejor! (Y para que conste, cuento como niño para las personas que usaron el código de la máquina)
10
No es una línea de comando, es un editor de texto basado en terminal. Dos de los editores de texto más populares, vi y emacs se ejecutan en terminales. (Y GUI también, hoy en día).
Lennart Regebro
44
@ jas- gracias por el comentario constructivo y perspicaz.
Matt

Respuestas:

22

Todo lo que necesita para escribir un programa es un editor de texto y un compilador (o un intérprete si está escribiendo en un lenguaje no compilado). El código suele ser solo texto sin formato. Realmente, podría escribir cualquier programa imaginable usando el Bloc de notas de Windows y un compilador de línea de comandos C.

Muchos programadores ni siquiera usan IDEs. Personalmente, utilicé Gedit (un editor de texto básico de Linux con resaltado de sintaxis) durante mucho tiempo antes de que finalmente cambiara a Eclipse.

De hecho, todavía uso Gedit cuando quiero escribir un programa simple. A veces incluso usaré nano si quiero crear un script rápido, porque estoy demasiado impaciente como para esperar que se cargue un IDE.

Charles Salvia
fuente
2
Soy un gran admirador de Gedit y KATE. Uso Nano cuando estoy editando código de forma remota.
Tim Post
8
Me gusta Notepad ++. :)
Mateen Ulhaq
mi +1 a nano y vi!
crodjer
44
De hecho, ni siquiera necesita un editor de texto tampoco. En UNIX puede escribir código caten Windows, more obviamente, tiene que escribirlo bien la primera vez. Por supuesto, los programadores reales usan mariposas;) xkcd.com/378
OscarRyz
1
@OscarRyz - "por supuesto que hay un comando emac para eso". +1 a Notepad ++ aunque
Jetti
11

@ Matt, es más simple de lo que parece. Echemos un vistazo al segundo video: están escribiendo un programa de Python. Python es un lenguaje interpred, lo que significa que un programa escrito en python no necesita ser compilado, solo necesita ser interpretado para ejecutarse.

Si tiene un editor simple, como el bloc de notas (Windows) o nano (Linux), puede escribir un archivo de texto simple, nombrarlo, digamos "program.py", y ejecutar el interpretado desde la línea de comandos, como se muestra a continuación:

python program.py

Si desea programar en Lua, por ejemplo, puede escribir un archivo de texto simple llamado "program.lua"usando el bloc de notas o nano y escribir una sola línea en su archivo de texto como se muestra a continuación:

print("my first program in lua")

Luego vaya al símbolo del sistema (cmd en Windows, terminal en Linux) y ejecute el comando:

lua program.lua

Los conceptos clave:

  • Un programa en bruto es un archivo de texto. Todo lo que realmente necesita para escribir un programa es un editor de texto;
  • Si su elección de idioma es interpretada, necesitará el intérprete para ejecutar su programa (Lua, Basic, Python, etc.). Este intérprete debe estar instalado en su computadora;
  • Si su elección de idioma es compilada, necesitará una cadena de herramientas instalada (principalmente un compilador y un enlazador) para traducir su código fuente a un código binario entendible y ejecutable por máquina. Cada lenguaje (C, Java, C ++, C #, VB.Net, etc.) tiene su propia cadena de herramientas.

Espero que ayude.

Machado
fuente
44
¡Notepad ++ es mucho mejor para resaltar la sintaxis! Y no te olvides de EMACS: D
K-RAN
Haskell es un lenguaje compilado (que también tiene un intérprete).
jsternberg
Me parece que Notepad2 (o Notepad2-Mod) es mejor que Notepad ++. ; P code.google.com/p/notepad2-mod
Spoike
@jsternberg, gracias por el aporte de Haskell ... Realmente no conozco el idioma demasiado bien para decirlo.
Machado
1
@ K-RAN: Todo lo que uso es Emacs, a menos que esté usando XCode para la programación de iPhone. ¡Con TRAMP es imparable!
Josh
10

Jesús, me siento viejo ahora, y nunca tuve que meterme con tarjetas perforadas o procesamiento por lotes. Demonios, solo tuve que usar una terminal impresa una o dos veces en el transcurso de mi carrera universitaria.

Así es como hicimos las cosas en el Cretácico tardío (alrededor de 1986). Estaba trabajando en VAX / VMS a través de un terminal basado en caracteres VT220 ámbar sobre negro que podía mostrarse en 80x24 o 132x24.

Primero, activó el editor de texto:

$ EDIT/EDT HELLO.C

EDT era el equivalente VMS de vi, cayendo en algún lugar en capacidad entre DOS edlin y Notepad. Escribiste el texto de tu programa

#include <stdio.h>

int main(void)
{
  printf("Hello, Stupid\n");
  return 0;
}

lo guardó en el archivo y luego salió del editor.

Luego ejecutó su código a través del compilador:

$ CC HELLO

Esto tradujo el código fuente en HELLO.C y generó el archivo objeto HELLO.OBJ. El archivo objeto contenía el código de máquina para el programa, pero aún no estaba en forma ejecutable. Por un lado, el código binario real para la printfllamada no está presente; solo hay un marcador de posición para ello. Aún tenía que ejecutar el archivo objeto a través de un enlazador , que incorporaba el código binario de la biblioteca estándar (y cualquier otra biblioteca que necesitara) y formateó el archivo para que pudiera reconocerse como un ejecutable:

$ LINK HELLO

El resultado de este paso es el archivo HELLO.EXE, que es la versión ejecutable de su programa.

El procedimiento es prácticamente el mismo en cualquier sistema moderno; es solo que las cadenas de herramientas específicas son diferentes. Por ejemplo, la secuencia de comandos en un sistema Linux típico sería

$ vi hello.c
$ gcc -o hello hello.c 

o

$ vi hello.c
$ gcc -c hello.c 
$ ld -o hello hello.o -lc

Desde que crecí en este entorno, nunca entendí cómo alguien podría necesitar un IDE solo para escribir su código. Sin embargo, a principios de este año comencé a trabajar en Java, y aunque Eclipse tiene muchas, muchas fallas, puedo entender cómo alguien puede confiar en gran medida en un IDE para hacer su trabajo. Dado que Java es un lenguaje tan enorme en comparación con C, y dado que todavía estoy tratando de reducir los puntos más finos de la sintaxis, ayuda tener un entorno de desarrollo inteligente que sepa en qué paquetes están los tipos particulares y me ayuda a organizar las importaciones.

John Bode
fuente
Lamento que haya estado expuesto al sistema (V) omitir (M) aking (S) a una edad tan joven e impresionable. Espero que no haya tenido consecuencias duraderas ...
Tim Post
2
@Tim Post: ¿Estás bromeando? Para mí, esos fueron los buenos tiempos; todo ha ido cuesta abajo desde entonces.
John Bode
tal vez sueno un poco amargo. Sin embargo, en mi defensa, yo era el que tenía que seguir grabando juntos una red de 3270 muy ad hoc Novell conducido sobre Token Ring. Todavía tengo nigtmares de eso, a pesar de años de terapia.
Tim Post
Interesante ortografía de "Mundo".
6

Sí, así es.

De la misma manera que es posible hacer café sin espumear leche simultáneamente, conducir al trabajo sin hablar por teléfono y pagar impuestos, o mirar las estrellas sin escuchar el "vuelo del abejorro" en un sistema de sonido envolvente, es posible para compilar código sin ejecutar también un editor, depurador, sistema de análisis de código y juego de serpientes.

Pero ... ¿quién realmente quiere mirar las estrellas en silencio ?

Shog9
fuente
1
¿Estarías dispuesto a explicar cómo?
Matt
1
@Matt: un programa por tarea ... Escriba el código en un editor , compílelo con un compilador , depúrelo con un depurador , tome un descanso y juegue a la serpiente .
Shog9
2
-1 No creo que esto sea constructivo.
sixtyfootersdude
1
+1, no es destructivo, es solo una metáfora . No le tengas miedo al humor.
ern0
6

¿Editor? No necesito ningún editor o IDE apestoso para escribir código:

cat << EOF > hello.c
/* This IS an example of writing code from the command line */
#include <stdio.h>

int main(void)
{
    puts("Hello, World!");
    return 0;
}

EOF

Sin embargo, es bueno tener algo para editar el archivo más tarde. IDE (entornos de desarrollo integrado) han existido mucho más tiempo de lo que muchas personas sugieren en sus respuestas. El único IDE que realmente me gustó fue el que vino con Turbo C , que se ejecutaba en DOS. Era como oxígeno para las personas que se habían visto obligadas a jugar con Edlin .

He intentado muchas 'suites' IDE diferentes con recomendaciones de amigos que no podían dejar de delirar sobre cuánto tiempo ahorran y lo conveniente que hacen todo. Cada vez que me siento para probar y usar uno, encuentro que lucho más que usarlo.

En su mayor parte, solo uso los editores de texto más simples. Mi favorito es KATE, que viene con KDE. Estas son las características que me gustan:

  • Gran resaltado de sintaxis
  • Código plegable
  • Búsqueda / reemplazo simple basado en expresiones regulares
  • Ventana de carcasa en línea
  • Ventana del compilador en línea / ventana del depurador
  • Galería de fragmentos
  • Visor de símbolos
  • Huella de memoria extremadamente ligera (algunos de mis proyectos tienen varios cientos de archivos fuente)
  • Fichas fáciles / ventanas divididas
  • Sesiones simples en lugar de complejos 'proyectos'
  • Arquitectura de complemento (semi) simple

Con solo esas características básicas, siento que estoy casi mimado.

En realidad, soy menos productivo cuando trabajo con IDE ricos en funciones y estoy agradecido de que nunca desarrollé una dependencia de uno.

Tim Post
fuente
Para el registro, la mayoría de las funciones que menciona están disponibles en cualquier editor de texto de programador moderno, no solo IDE.
Xiong Chiamiov
Odio decírtelo, pero estas características son las que hacen que un IDE.
devshorts
4

Un IDE no es un compilador, un depurador o algo similar, en realidad es un front-end que le permite acceder a todos estos, que generalmente son programas separados. Detrás de escena de Visual Studio hay un compilador al que puede acceder como un programa separado, compilando sus programas desde el Símbolo del sistema, y ​​probablemente hay un depurador que también es accesible por separado, etc. No estoy muy familiarizado con su infraestructura. porque no lo uso

Dependiendo de a quién le pregunte, un IDE es muy útil o tiende a interferir en su camino. También depende de lo que esté escribiendo, de su tamaño, su estilo de codificación, etc. Yo, por mi parte, no siento la necesidad de usar demasiado un IDE, pero creo que algunas tareas se manejan mejor (o, dependiendo de cómo lo veas, que soy demasiado vago para escribir scripts) / macros para esos yo mismo).

donkey_lz
fuente
3

Ciertamente lo es. En el primer video, se trata de la programación en C. Para escribir programas en C, necesita lo siguiente:

  • algún tipo de archivos fuente donde se escribe el código
  • una cadena de herramientas para transformar este archivo fuente en un binario, que es lo único que una CPU puede entender al final.

Estrictamente hablando, no necesita archivos, pero no conozco ningún entorno que no use archivos para C / C ++. Como tal, necesita un editor para editar el código fuente. Aunque algo tan simple como el bloc de notas funciona, realmente desea algo más elaborado para codificar (resaltar código, abrir varios archivos al mismo tiempo, etc.).

Para el segundo punto, necesita un compilador (código fuente -> código de objeto) y un vinculador (código de objeto combinado + soporte mínimo para iniciar el programa).

Incluso con un IDE, la mayoría de las tareas realizadas detrás de escena se pueden realizar desde la línea de comandos: por ejemplo, en Visual Studio, el IDE todavía usa archivos y llama a los compiladores en la línea de comandos, pero podría funcionar de otra manera ( y tal vez lo hace para una mayor integración).

Entonces, ¿por qué no usar un IDE? Algunas personas son bastante anales sobre su editor de código, porque realmente lo saben. Por ejemplo, soy bastante productivo con el editor de código vi. El IDE también está limitado si necesita interactuar con cosas para las que el IDE no ha sido diseñado. Aquí hay una compensación que depende de la capacidad del programador, el proyecto, los lenguajes / herramientas de programación, etc. Algunos lenguajes ni siquiera tienen un IDE decente, otros son casi inutilizables sin uno. Aunque no uso IDE yo mismo, un área donde creo que son muy útiles es la integración de depuración para C y C ++.

David Cournapeau
fuente
Utilicé el bloc de notas para aprender a programar en Java. Obtuve Crimson Editor y usé gedit en Linux poco después, pero no toqué un IDE hasta probablemente 2 años después de haberlo recogido. Mi trabajo actual es como programador de Java.
Michael K
Sí, Java es un ejemplo típico en el que rara vez he conocido personas que no usan un IDE. El lenguaje es solo un factor: el dominio, el tamaño, la "cultura" todos tienen en cuenta. Raramente he usado un IDE por mí mismo (hoy en día hago principalmente Python y C, y todavía no he visto un IDE de Python decente).
David Cournapeau
puede usar tcc para compilar / ejecutar programas en C sin crear archivos:printf '#include <stdio.h>\nint main() { printf("Hello, World\\n"); return 0; }' | tcc -run -
programmerjake
2

Ciertamente puede escribir programas sin un IDE gráfico. Para lenguajes compilados (por ejemplo, C o C ++) el proceso sería algo como esto:

  1. Escriba el programa en su editor de texto preferido.
  2. Desde la línea de comandos, invoque el compilador y / o el enlazador que convertirá su programa en código máquina ejecutable y extraiga las bibliotecas externas requeridas. (Estoy un poco confuso en el orden de vinculación y compilación aquí, pero estoy seguro de que alguien me corregirá en poco tiempo. :))

Para lenguajes interpretados como PHP o Python, usted escribe código en su editor de texto preferido (o un shell interactivo como el que viene con Python) y el código es ejecutado por un programa interpretado. Por ejemplo, para invocar un script de Python, ejecutarías algo como python.exe myScript.py.

Python no es un lenguaje puramente interpretado, ya que primero se compila, pero el intérprete de Python ejecuta esa forma compilada, por lo que aún se ajusta a la definición. Otros lenguajes como PHP se interpretan completamente.

Adam Lear
fuente
1

Sí, puede escribir código sin un compilador y sin un IDE. Todo lo que es es escribir. Texto.

Matthew Read
fuente
2
¿Estarías dispuesto a explicar cómo?
Matt
77
Escribes en tu teclado.
Matthew leyó el
Matthew quiere decir que puedes escribir un programa, pero no sirve de nada. :)
Abimaran Kugathasan
2
@Abimaran No estoy 100% seguro de lo que quieres decir, pero ciertamente puedes ejecutar / usar un programa sin un compilador o IDE. Los idiomas pueden ser interpretados, no solo compilados.
Matthew leyó el
1
@ Michael Tengo que estar en desacuerdo. No se interpreta más de lo que el motor analítico interpretó la posición de sus engranajes.
Mateo leyó el
1

Creo que te estás refiriendo al entorno de desarrollo integrado (IDE). Proporcionan sugerencias de código y resaltado de sintaxis, entre otras cosas. Un compilador solo toma los archivos y los compila en código de máquina o código de bytes. Un IDE suele utilizar un compilador enviándole un comando para compilar sus archivos.

Es posible escribir sin un compilador. Estos lenguajes usan un 'intérprete' y procesan el script en tiempo de ejecución.

Ross
fuente
1
¿Estarías dispuesto a explicar cómo?
Matt
O podrías programar en binario :)
Michael K
o use CIL ..: P Matt de los videos que vi, puede instalar algo como BASIC y escribir y ejecutar declaraciones a través de la línea de comando
Ross
1

Todo lo que hace un IDE es proporcionar varias herramientas en un solo lugar conveniente y luego automatizar algunos de los procesos. Esas herramientas son generalmente ...

  • Un editor de texto
  • Un compilador
  • Un depurador
  • Un visor de documentación

Para escribir su fuente, puede usar cualquier editor de texto que produzca texto plano, por ejemplo. NotePad, Word o un editor de texto de código especialmente diseñado.

Una vez que tenga su fuente en un archivo de texto, puede iniciar su compilador a través de la línea de comando que pasa su archivo de prueba, por ejemplo cc my_program.c Esto producirá un archivo de objeto que puede ejecutar.

Para depurar su programa, inicie su depurador a través de la línea de comandos que pasa en su programa, por ejemplo. gdb my_program Luego puede establecer puntos de interrupción, recorrer su programa, inspeccionar cosas, etc.

Con un IDE, todo esto sucede con solo presionar un botón detrás de escena y el IDE pone una UI elegante encima de todo.

PD. Los programadores reales usan la línea de comando

Enrique
fuente
2
Los programadores reales usan tarjetas perforadas y construyen su propia CPU a partir de transistores pre-MOSFET. También juegan al ajedrez con piezas de concreto y pesan al menos 25 libras cada una.
Trabajo
1
@Job, los transistores son para mariquitas, los verdaderos son esos: en.wikipedia.org/wiki/Vacuum_tube
Machado
Pensé que éramos débiles y no podíamos levantar un mouse, mucho menos una pieza de ajedrez.
Michael K
2
Los programadores reales usan una aguja magnetizada y una mano firme. xkcd.com/378
Goran Jovic
1

Escribo mi código diario en un editor vim (editor de texto básico) y puedo asegurarle que funciona sin problemas (la mayor parte de mi código es PHP). Especialmente porque mi entorno de desarrollo es una distribución Linux de base de desarrollo y aprovecho bastante las herramientas de shell. He programado así durante un año y esto me ha ayudado mucho cuando se trata de la implementación de aplicaciones remotas y las modificaciones de producción donde generalmente tienes acceso a una consola * Nix a través de ssh.

Guiman
fuente
1

Las computadoras digitales de programas almacenados han estado en uso desde la década de 1950, mientras que las interfaces gráficas de usuario realmente solo comenzaron a aparecer a fines de la década de 1960 (y para los usuarios finales en la década de 1980). La gente tenía que usar, y programar, las computadoras de alguna manera antes de eso.

Si bien contiene algunas imprecisiones (no todas las interfaces de usuario de la plataforma son una capa sobre un sistema de línea de comandos), probablemente debería leer el breve artículo de Neal Stephenson In the Beginning Was the Command Line .

Realmente te hará pensar en cosas en tu computadora que funcionan debajo del capó, y cómo es "posible" programar sin un IDE, hacer un trabajo real con una línea de comando, y así sucesivamente.

Chris Hanson
fuente
1

Realmente solo necesitas un editor de texto (demonios, el bloc de notas funcionará) y un compilador / intérprete (lo más importante).

¿Dijiste algo sobre hacerlo a través de la línea de comando? La mierda parece una locura, pero es muy posible. Me refiero a que solo usando el símbolo del sistema integrado de Windows, 'podría' escribir en un archivo a través de, echo "some codez" > target_file.saucepero tendría que

A) Sé realmente bueno en lo que estás haciendo

B) Estar escribiendo un programa simple

C) Estar loco de mierda

user7007
fuente
1
... o tratando de impresionar a alguien.
Michael K
O está tratando de recuperar algo de un sistema muy fubared y no tiene tiempo para reemplazar el monitor. He estado allí, hecho eso.
mu es demasiado corto el
1

Realmente debe pensar que un IDE es solo un Editor + Compilador + (algún tipo de) Makefile + Debugger (a veces) + Generador de UI gráfico (a veces), por lo que puede elegir no usar un IDE y reemplazarlo ellos con un editor de su elección (vim, emacs, gedit, notepad ++, [insert_others_here]), un compilador (jdk para java, gcc, plataforma SDK o [insert_Cpp_toolchain_here] para C ++, intérprete de python o cualquier cadena de herramientas que tenga su idioma), algún tipo de archivo MAKE (como autoh ... herramientas, cmake, ant, maven, etc.), algún tipo de depurador (que generalmente se incluye con el compilador), y si desea un generador gráfico de interfaz de usuario (me viene a la mente glade) y allí tienes tu propio IDE sin un IDE. El mejor enfoque depende de usted (y creo que los IDE de hoy están ligeramente sobrevalorados)

Coyote21
fuente
1

parpadea

Está usando pico, un nano clon. Lo uso de vez en cuando. Por lo general, uso emacs, que es un poco menos útil, pero más destacado.

No uso IDEs como regla general. De vez en cuando me he metido en ellos para depurarlos o porque la cadena de herramientas de la línea de comandos fue difícil de encontrar (mirándote, Xilinx). También los uso para esbozar C # en la rara ocasión en que hago una GUI. Pero los IDE no son muy buenos editores en mi experiencia: acordes de caracteres inflexibles y extraños, no muy fáciles de usar, no se admiten muchos idiomas, requieren demasiada memoria.

Prefiero usar emacs.

Deberías investigar la historia de la informática. Está escrito de manera bastante accesible y le dará una perspectiva maravillosa de nuestro trabajo.

Paul Nathan
fuente
1

Ni siquiera necesitas un editor de texto. :) :)

Si estás en Windows prueba esto:

more > hello.c 
#include <stdio.h>

main()
{
   printf ("Hello World!\n");
}
Ctrl-C

Si estas en UNIX

cat > hello.c <<. 
#include <stdio.h>

main()
{
   printf ("Hello World!\n");
}
.

Y luego compílelo con su compilador de línea de comandos favorito. :)

Obviamente tienes que escribirlo bien la primera vez.

Recuerde que los programadores reales usan mariposas: http://xkcd.com/378/

OscarRyz
fuente
0

Esto es lo divertido: Harvard Extension School está enseñando programación sin IDE ... a menos que telnet + pico sea lo que quiere decir con IDE.

La forma más fácil es usar un editor de texto básico para escribir sus programas Java, luego transferir archivos al sistema FAS usando un programa FTP, conectarse a través de telnet y compilarlos y ejecutarlos en FAS (fas.harvard.edu - Java ya está instalado allí). DEBEN estar en FAS para enviarlos para su tarea. Para usar este método, es posible que desee aprender lo suficiente sobre uno de los editores de texto de Unix para poder hacer las correcciones rápidas necesarias a sus archivos, o planear actualizar el archivo localmente y volver a transferirlo. Puede encontrar más información sobre la transferencia de archivos en la página de preguntas frecuentes.

¡NO use un procesador de texto, por ejemplo, Word o WordPerfect! Añaden muchos caracteres de formato que no ve, pero que evitarán que sus programas se compilen. En Windows, puede usar el Bloc de notas o Wordpad y asegurarse de guardar los archivos como "Documento de texto" con la extensión .java. Si el sistema intenta agregar un sufijo ".txt", ponga comillas alrededor de su nombre de archivo y extensión en el cuadro Guardar para evitar esto. También puede probar cualquiera de los editores en la sección de Descargas útiles (una muy recomendable para PC es Programmers File Editor). En Mac, use BBEdit Lite (también vinculado en la página de Recursos), o uno de los editores incorporados de Unix que están disponibles en una ventana de Terminal. Puede obtener un programa telnet seguro o usar uno que tenga, telnet en el sistema FAS, y escribe y edita tus programas en el sistema. Hay tres editores de Unix que puede probar: pico, emacs y vi. Una vez que haya escrito su programa y lo haya guardado, entonces, como se indicó anteriormente, puede compilarlo y ejecutarlo en FAS

http://www.fas.harvard.edu/~libe50a/homework.html http://www.fas.harvard.edu/~libe50a/faq.html http://www.fas.harvard.edu/~libe50a /java.html

Si me preguntas, están torturando a los niños, pero eso está bien. Hay más espartanos, y mucho menos Mothakes, Perioikoi y Helot de lo que Harvard puede admitir en un año determinado.


Sí, es posible. Supongo que algo como el Bloc de notas no es IDE, pero emacs y Textpad (utilicé ambos para C, cursos de Java) se consideran un IDE. Ahora ... después de codificar en C # en VS2010, con WinForms y todo eso, no querría volver a los editores de texto en el trabajo; me gritarían por no hacer una mierda.

Sin embargo, para proyectos académicos, cuando los ejemplos son pequeños, tiene sentido no usar IDE. Recuerde: en las clases de programación de introducción, muchos problemas del mundo real no están presentes. Probablemente no tendrá que agregar archivos .xml como recursos a un dll; Probablemente no necesite depurarlo mucho, no necesitará usar contratos de código o pasar de un C ++ no administrado a C ++ / ClI, luego a C # y viceversa. Las tareas académicas no tienen por qué ser complicadas porque se pueden hacer desde cero y se miden en días-hombre / semanas. Todos los archivos pueden ser parte de un solo proyecto (incluso para un compilador o una clase de sistema operativo). Un IDE como Visual Studio realmente puede obstaculizar cuando un simple archivo MAKE lo hará. Piense en la miríada de opciones que uno debe configurar. Lo mismo con Eclipse: es un editor sobre-diseñado que es infinitamente personalizable. Un simple archivo MAKE y dos archivos C simples pueden ser todo lo que necesita. De hecho, tiende a tener más control de esa manera, cuando especifica cada bandera usted mismo. Una vez he codificado así en un laboratorio universitario. Es divertido, pero una de las computadoras "incrustadas" (lo que significa que tenía que ser tan pequeña que cabía en un avión) no tenía GUI ni mouse :) Todavía podía iniciar sesión, editar, compilar y depurar un programa en C, así como agregar controladores y volver a compilar el núcleo.

Trabajo
fuente
De hecho, estoy de acuerdo con ese enfoque, aunque no forzaría telnet, solo la línea de comandos y el editor de texto.
Michael K
0

Para el trabajo de la base de datos, solo necesita un editor de texto (notepad ++) y un cliente de línea de comandos como osql o sqlcmd. Ni siquiera un compilador.

gbn
fuente
0

No sólo es posible , sino que - al menos una vez en su vida - que tiene que hacer la programación sin IDE. Le ayudará a comprender el proceso de compilación, el uso de bibliotecas, tal vez eso le abrirá los ojos sobre lo que significa realmente la programación.

Además, creo que un buen editor de texto es mejor que un IDE. Para MS-Windows, recomiendo PSPad (fue un flash tan fuerte, como MultiEdit en la era de MS-DOS), para GNU / Linux pruebe Geany (tal vez esté en el repositorio de su distribución).

ern0
fuente
0

Utilizo una libreta de 99 centavos con mi confiable Pilot Gel Pen para escribir programas.

Les acabo de volver a escribir en Visual Studio el código.

Escribir un programa y codificar son dos cosas diferentes (para mí).

Pablo
fuente
¿Primero escribes programas completos a mano en papel?
@ Thorbjørn: lo hice antes en el pasado (en su mayoría juegos cortos) y cuando estoy trabajando en algoritmos usualmente uso una pizarra para dibujarlos en lugar de un bolígrafo y papel.
rjzii
Sí, escribo mucho código a mano. No todo el programa, porque Visual Studio automatiza muchas cosas.
Pablo
0

La programación sin un IDE es una excelente manera de aprender lo que está sucediendo.

Comenzamos a programar en la escuela con un simple editor de texto coloreado de sintaxis. La compilación se realizó con el símbolo del sistema (o mediante un simple script por lotes).

Solo cuando entendimos los conceptos básicos de la programación pasamos a editores más potentes como Eclipse o Visual Studio.

Carra
fuente
0

Como se esperaba, todas las respuestas dicen lo mismo: "¡por supuesto que puedes! ¡Es solo texto! ¡Texto, texto, texto, texto!" Esto es cierto, en general, y es la mejor respuesta a su pregunta. La mayoría de los IDE simplemente manipulan texto.

Pero no siempre es cierto, y en ciertos casos alejarse de un modelo de solo texto da como resultado grandes avances. Estos avances generalmente son rechazados por los puristas de solo texto (que es la mayoría de todos, porque cómo fue también es cómo debería ser ... ¿no es una coincidencia?). IBM Visual Age fue un ejemplo realmente genial que tuvo una muerte horrible.

Otro ejemplo que me viene a la mente y es muy popular es Interface Builder para crear productos Mac e iOS. Su salida NO son programas de texto, sino más bien objetos serializados, por lo que no puede crear NIB sin usar IB o escribir su propio IB.

Los puristas dirán, "sí, ¡pero Interface Builder está escrito en código de texto!" ¿Entonces?

Realmente creo que CS como campo avanzaría mucho si pudiéramos ir más allá del paradigma de solo texto. Más allá de eso, creo que eventualmente iremos en esta dirección, pero tomará décadas. Primero tendríamos que averiguar cuál es mejor, vio emacs...

Dan Rosenstark
fuente
0

Últimamente he actualizado a vim. Me gusta cómo resalta las palabras clave en cualquier idioma que esté escribiendo. Suspiro, solo cuando puedo llegar a un sistema operativo real y no usar el bloc de notas.

Mi esposa escribió COBOL usando edlin. Pensé que era muy gracioso.

Tal mejora con respecto a las tarjetas de golpe de teclado que solíamos usar y el cambio de 24 horas de las operaciones solo para descubrir que teníamos un error tipográfico.

Tengo formas de codificación en algún lugar del ático.

¿Tenías 1 y 0? Tuvimos que dibujar una línea a través de nuestros ceros.

Pero le dices eso a los jóvenes de hoy y no te creerán.

j.

jp52
fuente