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!
Respuestas:
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.
fuente
cat
en Windows,more
obviamente, tiene que escribirlo bien la primera vez. Por supuesto, los programadores reales usan mariposas;) xkcd.com/378@ 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: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:Luego vaya al símbolo del sistema (cmd en Windows, terminal en Linux) y ejecute el comando:
Los conceptos clave:
Espero que ayude.
fuente
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:
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
lo guardó en el archivo y luego salió del editor.
Luego ejecutó su código a través del compilador:
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
printf
llamada 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: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
o
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.
fuente
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 ?
fuente
¿Editor? No necesito ningún editor o IDE apestoso para escribir código:
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:
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.
fuente
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).
fuente
Ciertamente lo es. En el primer video, se trata de la programación en C. Para escribir programas en C, necesita lo siguiente:
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 ++.
fuente
printf '#include <stdio.h>\nint main() { printf("Hello, World\\n"); return 0; }' | tcc -run -
Ciertamente puede escribir programas sin un IDE gráfico. Para lenguajes compilados (por ejemplo, C o C ++) el proceso sería algo como esto:
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.
fuente
Sí, puede escribir código sin un compilador y sin un IDE. Todo lo que es es escribir. Texto.
fuente
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.
fuente
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 ...
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
fuente
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.
fuente
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.
fuente
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.sauce
pero tendría queA) Sé realmente bueno en lo que estás haciendo
B) Estar escribiendo un programa simple
C) Estar loco de mierda
fuente
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)
fuente
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.
fuente
Ni siquiera necesitas un editor de texto. :) :)
Si estás en Windows prueba esto:
Si estas en UNIX
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/
fuente
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.
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.
fuente
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.
fuente
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).
fuente
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í).
fuente
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.
fuente
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,
vi
oemacs
...fuente
Ú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.
fuente