¿Cómo podría tener computadoras modernas sin GUI?

Aunque los terminales basados ​​en texto todavía ven casos de uso especiales , las computadoras modernas de propósito general generalmente ejecutan software gráfico y tienen una interfaz gráfica de usuario (GUI). Esto incluye todo, desde teléfonos celulares de gama baja y algunos periféricos de computadora como impresoras, hasta servidores de gama bastante alta.

Me gustaría que las computadoras estuvieran más o menos a la par técnicamente con lo que tenemos hoy, pero con interfaces de usuario predominantemente basadas en texto. Está bien si estas computadoras funcionan con bloques de texto y cosas por el estilo (por ejemplo, cómo funcionaba la serie de terminales IBM 5250 ), pero a excepción del trabajo orientado gráficamente, como la edición de imágenes, debería haber gráficos mínimos.

Dado que en nuestro mundo, las computadoras personales comenzaron a volverse gráficas tan pronto como fueron lo suficientemente poderosas para ejecutar una interfaz gráfica de usuario a velocidades aceptables, y algunas incluso antes , ¿cómo puedo explicar razonablemente que las GUI nunca se generalizaron?

Tenga en cuenta que estas computadoras no necesitan ser sistemas exclusivos para expertos ; Solo quiero que sus interfaces estén predominantemente basadas en texto en lugar de predominantemente gráficas como es el caso hoy en día en nuestro mundo.

Además, para aclarar, ya que parece haber una confusión generalizada sobre esto: la falta de una interfaz gráfica de usuario no implica una falta de capacidad gráfica. Tome el modelo 5150 de IBM PC original como ejemplo; con la excepción de aquellos equipados solo con una tarjeta gráfica MDA, el software que se ejecuta en los modos de visualización gráfica de entrada de datos basados ​​​​en texto de uso frecuente (lo que en términos modernos podríamos llamar "vista previa de impresión" más o menos precisa). Por ejemplo, algo similar a las primeras versiones de Microsoft Word para DOS o cómo las primeras versiones de Lotus 1-2-3 usaban diferentes tarjetas gráficas y monitores para mostrar datos y gráficos.. En lugar de pensar "sin gráficos en absoluto", piense en "gráficos solo como complementos al texto, en lugar de como un elemento principal de interacción con el usuario".

Y dado que muchas respuestas implican que las únicas alternativas son las GUI y las interfaces puramente basadas en la línea de comandos, permítame recordarle herramientas como Norton Commander . Utilicé Norton Commander a fines de la década de 1980 y principios de la de 1990, y todavía uso similares como Midnight Commander hasta el día de hoy, y puedo garantizar que pueden proporcionar un entorno perfectamente útil para la administración de archivos y el lanzamiento de aplicaciones que de ninguna manera dependen de más de una consola de texto. Incluso hay un término general para estos; Interfaz de usuario basada en texto o TUI .

Los comentarios no son para una discusión extensa; esta conversación se ha movido a chat .
También se llama "interfaz de usuario pseudo-gráfica".
En realidad, muchos (¿la mayoría?) fairly high-end serversno ejecutan GUI. Las GUI generalmente se asumen para los sistemas cliente que se conectan a los servidores. Casi todos los "servidores de gama alta" en los que he trabajado en los últimos 40 años o más no tenían GUI. (Tenga en cuenta, sin embargo, que las funciones como X server/X windows o Java RAWT, etc., a menudo están disponibles en los servidores, incluso si los propios servidores no tienen la capacidad de gráficos nativos).
Como dijiste " estas computadoras no necesitan ser sistemas exclusivos para expertos, no creo que sea un escenario viable. Me refiero a los usos principales de las computadoras hoy en día. Su objetivo principal es el consumo y la edición de (multi) medios. No GUI significa que no hay autoedición, ni edición o reproducción de películas, ni web (tal como la conocemos), por lo que lo más probable es que la mayoría de la población no esté interesada en las computadoras, solo los expertos, las personas que procesan grandes cantidades de datos y algunos fanáticos del bricolaje.
Los televisores @ mg30rg durante muchas décadas no tenían una GUI (y uno puede discutir fácilmente si las GUI de los televisores modernos son "detectables" o "fáciles de usar"). La web está predominantemente basada en texto, aunque hay elementos gráficos. Creo que está haciendo la misma suposición errónea que muchos ya han hecho: el hecho de que sea gráfico no significa que deba controlarse o exponerse a través de una GUI. También tenga en cuenta el pasaje en la pregunta de que " a excepción del trabajo orientado gráficamente , como la edición de imágenes, debe haber gráficos mínimos" (énfasis agregado).
@MichaelKjörling "Los televisores durante muchas décadas no tenían una GUI ". No es cierto. Cuando cambia a un canal de televisión y ve el logotipo del canal en la esquina de la pantalla, eso ya es una GUI. (Sin embargo, no es muy avanzado). Una GUI no significa automáticamente un mouse. Los botones de los televisores antiguos eran el dispositivo de entrada y la imagen en la pantalla era la salida.
@MichaelKjörling La salida gráfica sin una GUI es, por ejemplo, el programa de seguimiento de luz POV. Puede editar todos sus modelos en texto (incluso copiando CON), luego ejecutar su trazador de rayos y obtener un avi como resultado. Si sus acciones tienen un resultado gráfico directo (como cambiar un canal de televisión), de hecho es una GUI.
@ mg30rg Eres unas pocas décadas demasiado moderno. Los televisores originales, en el mejor de los casos, tenían una perilla selectora de canales. Como en una perilla literal que giraste para seleccionar la frecuencia en la que operaba el receptor de TV. A principios de la década de 1990, teníamos un televisor en casa que tenía botones para seleccionar cuál de una docena de frecuencias preestablecidas usar, donde la frecuencia se configuraba con una pequeña perilla física. Y aún diría que ver una película cuenta como "orientado gráficamente" y, por lo tanto, se ajusta a la excepción ya permitida en la pregunta misma.
@MichaelKjörling " Cuando cambias a un canal de televisión y ves el logotipo del canal en la esquina de la pantalla " - ¿Exactamente qué parte de este comentario implica no usar una perilla?
@ mg30rg Depende del canal de televisión al que esté cambiando para transmitir su logotipo en ese momento. Hay varias razones por las que dicho logotipo podría no estar presente en ese momento. ¿Por qué cree que los televisores posteriores agregaron una visualización en pantalla configurable que muestra una identificación del canal al que acaba de cambiar el televisor?
@MichaelKjörling Podría tomar prestado de Fallout 4, en el sentido de que la tecnología se movió en una dirección diferente a la miniaturización de los sistemas informáticos, lo que ralentizaría drásticamente los avances en ese campo. La primera GUI comercial no se lanzó en nuestro universo hasta 1985, así que imagine que el desarrollo tecnológico se ramifica justo después de la invención del circuito integrado en 1958 y va en una dirección diferente. Para 1985, ¿estaría la tecnología al nivel que necesitaría para que Apple lanzara su GUI?
@NZKshatriya No estoy seguro de dónde obtuviste 1985 cuando se lanzaron las GUI comerciales en nuestro universo; el Macintosh se introdujo en enero de 1984, y Windows 1.0 (difícilmente un éxito comercial revolucionario) se introdujo en noviembre de 1985. De hecho, creo que el Macintosh inicial fue más un éxito comercial que el Microsoft Windows inicial.
Paranoia de seguridad. Una interfaz basada en texto tiene menos grados de libertad y se puede lograr con menos código. Incluso podría imaginar que la 'L' minúscula, la barra vertical '|', el número '1', etc. se diferencian más fuertemente en un conjunto finito y fácilmente distinguible de símbolos. Una sociedad preocupada por la piratería y el potencial de engaño consideraría que un medio limitado como un terminal de texto es más fácil de auditar y no dejarse engañar, y esta priorización podría generar desconfianza en las GUI.
@MichaelKjörling Me faltó un año de memoria a la 1 am más o menos >.<
La pregunta parece demasiado específica, por lo que parece que desea examinar una posible reacción a la eventual introducción de GUI o algún evento relacionado. Una dificultad es que los gráficos detallados son un complemento casi necesario para el desarrollo de muchas tecnologías que dan como resultado "computadoras modernas". Los diagramas de ingeniería, CAD/CAM, etc., conducen naturalmente a la manipulación de elementos gráficos; y la inclusión de esos métodos en las interfaces de usuario sigue de forma bastante natural. La ingeniería de sistemas modernos es difícil .
¿Es posible que más usuarios potenciales en este mundo tengan discapacidades que dificulten el uso de una GUI? Mi trabajo se trata de documentar las GUI de manera que los lectores de pantalla* que usan teclados puedan usarlas. ¡Donde el enfoque es IMPORTA! (El lector de pantalla en el que nos enfocamos donde trabajo es JAWS). Posiblemente mire las WCAG para tener una idea de cuánto más fácil es solo texto para la accesibilidad.

Respuestas (36)

Como diría casi cualquier persona que haya usado Shell, una interfaz de usuario basada en texto es mucho más cómoda, rápida, fácil de desarrollar y simplemente MEJOR. Sin embargo, el gran problema es que es un idioma que debe conocer antes de hacer cualquier cosa con su computadora. Esta es la principal ventaja de una GUI.

Entonces, creo que lo que debe considerar es una forma de explicar por qué las computadoras siempre pueden suponer que los usuarios "hablan su idioma". Veo algunas opciones:

  • Las computadoras comenzaron como una tecnología muy elitista, y conocer el idioma es una especie de símbolo de estatus. Esto daría a las personas la motivación para aprender y a los desarrolladores la motivación para no atraer a audiencias menos sofisticadas, porque eso arruinaría su marca. pronto, el lenguaje es sólo conocimiento común.
  • El lenguaje en el mundo es, en primer lugar, muy preciso y estructurado. Siempre hay exactamente una manera de decir todo. (Creo que esto podría ser muy interesante de desarrollar, pero también bastante difícil)
  • El lenguaje de las computadoras se desarrolló muy rápido o coevolucionó con la comprensión humana, es decir, las computadoras "aprenderían" una nueva palabra, esto se haría famoso y todos conocerían esta nueva palabra.
Los comentarios no son para una discusión extensa; esta conversación se ha movido a chat .

Un simple cambio:

Nunca inventes un mouse de computadora

No importa cuán reconfortante sea una interfaz gráfica de usuario (GUI), no sería tan cómoda y útil sin la invención del mouse de la computadora (y las interfaces táctiles posteriores).

Si bien las interfaces de texto provienen de otros tiempos y todavía están diseñadas para usarse solo/principalmente con teclados, no puede hacer uso de ninguna GUI de manera cómoda ni confiable sin tener un mouse o cualquier otro 'puntero' disponible para seleccionar cosas e interactuar con ellas.

La invención del mouse de la computadora y, por lo tanto, el puntero trajo consigo la era de pointy-clicky , un término despectivo que se refiere a los botones virtuales y las áreas interactivas que son completamente virtuales en oposición a la realidad del hardware de un teclado. Ahora, en lugar de tener que trabajar con un conjunto limitado de funciones de entrada, el único límite es la cantidad de píxeles que puede mostrar una pantalla (si abusas del desplazamiento , ni siquiera el tamaño de la pantalla será un obstáculo para tus locos experimentos de interfaz).

La combinación de mouse/toque y GUI permite eliminar una capa de direccionamiento indirecto que siempre estará presente cuando tenga que escribir algo y confirmar su comando antes de que suceda algo. Aunque podría reaccionar directamente a cada pulsación de tecla, habrá un conjunto finito de interacciones por estado del programa, mientras que existe un conjunto potencial ilimitado de interacciones que se pueden realizar con el mouse/táctil.


Elaboración sobre la evolución de sus interfaces :

Ahora, incluso si solo tiene una forma indirecta de interacción, eventualmente surgirán GUI. Aunque sus GUI serán enormemente diferentes de las GUI a las que estamos acostumbrados (y hemos llegado a odiar el amor).
Las GUI eventuales serán más una interfaz de texto mejorada gráficamente (GETI) y los gráficos se utilizarán para mostrar cosas como videos, imágenes, hacer algunos fondos o degradados agradables, etc. Es poco probable que desaparezca el indicador clásico.

Eventualmente, también es probable que la entrada de voz se vuelva más común. La entrada de voz será simplemente una adición y un pseudo-reemplazo para el teclado, pero no puede reemplazarlo por completo a menos que los procesadores de voz sean mucho mejores de lo que son en nuestra línea de tiempo o su software se vuelva más indulgente y esté equipado con pseudo-inteligencia que pueda adivinar lo que usted Tengo la intención de hacer y ayudar/aclarar pidiéndole información adicional cuando sea necesario.

Inteligente, pero no estoy muy seguro de esto. Se pueden hacer paneles táctiles ; en su lugar, se pueden desarrollar pantallas táctiles ; o, en los niveles más básicos, puede haber algo como teclas de flecha para mover el cursor y una barra espaciadora para seleccionar. Yo no diría que sin ratones significa que no hay interfaces ; simplemente reemplazaríamos los ratones.
Una interfaz no se trata solo de entrada, también se trata de salida. Incluso sin dispositivos de entrada especializados, las personas seguirán desarrollando gráficos para mostrar información.
@Zxyrra, pero ¿cuál es el ímpetu para "inventar" la pantalla táctil? y actualmente tenemos un camino para tocar - Consola => Gui => Ratón => Tocar... con alrededor de 100 revisiones de GUI. Demonios... mira todos los problemas que hay al pasar de la interfaz gráfica de usuario a la pantalla táctil... No podría imaginarme pasar del teclado a la pantalla táctil sin los mismos o peores problemas.
Existen aplicaciones pseudográficas de salida de @WernerCD para CLI. Por ejemplo, htop para Linux o vtop . Incluso sin usar una GUI para ingresar datos o comandos, la mayoría de los sistemas operativos modernos brindan muchas opciones de salida gráfica a través de sus CLI y, como se señala en otros comentarios, es difícil encontrar una forma plausible de que esto no se convierta en alguna forma. de GUI para uso en el mercado masivo. Incluso con solo esos dos ejemplos, la utilidad de una pantalla táctil es bastante obvia, y es discutible que representen una GUI, a pesar de que son aplicaciones CLI.
Trackball fue inventado en 1941; lápiz óptico en 1955. Pero el punto general de la respuesta es válido. Sin cosas como estas, probablemente nunca tendría una GUI.
Mi Nintendo 3DS tiene GUI pero no mouse. PS y Xbox tienen GUI pero no mouse. El mouse es útil para las GUI, especialmente en las PC. Sin embargo, hay muchos casos en los que la GUI puede funcionar bien sin el mouse. Las GUI podrían verse diferentes, pero aún estarían allí. Simplemente no inventar el mouse/touchpad/dispositivo de entrada X no servirá.
¿No hay niños de los 80 aquí? Olvidaste el joystick. Y probablemente algunos otros dispositivos de entrada. Por no hablar de los no inventados o no muy conocidos.
@MatthewRock, su xbox (original, 360 y uno) usan un joystick y un teclado simplificado; sus ps (uno, dos y tres) están usando los mismos mecanismos; tu ps4 usa lo mismo y además una especie de trackpad; tu gameboy (clásica, color, bolsillo, advance, advance SP) usa joysticks y un teclado reducido; tu Nintendo DS, DS Light, 3DS, 3DSi, etc. usa lo mismo y además dos pantallas táctiles... No es una lista exhaustiva. Supongo que solo enumerar el mouse de la computadora y pensar en los joysticks, etc., ya que los mouse implícitos no son suficientes para satisfacerlo, así que tal vez agregue otra sección ...
@dot_Sp0T pero luego pasamos de la ciencia ficción directamente a la fantasía. Las computadoras están hechas para ser útiles; las posibilidades de que alguien no piense en hacer su vida más fácil, especialmente los informáticos, estos tipos inteligentes, son 0.
@MatthewRock No estoy seguro de poder seguirlo, pero lo que entiendo es: está diciendo que no hay forma de asegurarse de que no haya una GUI; estoy de acuerdo, una GUI es un paso de desarrollo lógico, lo único que realmente podemos hacer es tomar medidas para cambiar las GUI de lo que tenemos hoy a algo más texturizado como el OP espera lograr. Los informáticos trabajan principalmente con interfaces de texto y editores (al menos de acuerdo con lo que hago a diario), aunque se abren en un 'escritorio'. Escribo palabras y comandos y hago que hagan cosas; hay un pequeño paso para tener todos hacemos eso
Nuestro arquetipo de interfaz GUI es WIMP, que significa "ventanas, iconos, menús, puntero". No requiere un ratón para mover el puntero. Hay muchas interfaces WIMP que utilizan teclados o joysticks para mover el puntero; y hay interfaces WIMP que utilizan lápices ópticos o pantallas táctiles como puntero directo. El mouse puede incluso verse como una distracción en el camino hacia la señal "verdadera" mediante el toque físico. Definitivamente no es un requisito previo para una GUI.
@WernerCD "Hombre, odio presionar la flecha hacia la derecha 88 veces para llegar a la posición correcta en esta línea. Desearía poder tocar la pantalla para mover el cursor exactamente a donde quiero ir o tocar un elemento de texto para alternar un encenderse o apagarse como si fuera un interruptor o un botón". Ahí tienes Inspiración para inventar pantallas táctiles.
@Tophandour en realidad eso es inspiración-para-organizar-texto-en-este-editor-en-bloques-para-que-pueda-usar-ctrl-y-flecha-derecha-para-saltar-entre-elementos-completos , se ven similares pero no iguales; Además, al inventar la pantalla táctil , no necesariamente inventa la interfaz gráfica de usuario pointy-clicky , simplemente inventa un nuevo método de entrada que mejorará los métodos de entrada actuales.
@dot_Sp0T básicamente siempre habrá un caso en el que tocar una posición en una pantalla (1 acción) requiera menos tiempo o acciones que usar atajos de teclado. Digamos que ctrl-right te mueve n posiciones a la derecha. ¿Qué sucede si desea mover n/2, n+1, n-1, etc.? El punto es que algunas interfaces de línea de comandos que he usado admiten el uso del mouse para mover el cursor a un punto específico, por lo que, en ausencia de mouse, no veo por qué sería un salto imposible querer hacer lo mismo. con una pantalla táctil.
@HopelessN00b Como una extensión de esto, los primeros programas como el editor Turbo C en realidad producían una GUI basada en texto que no requería un mouse para usar de manera efectiva.
Norton Commander: gran interfaz gráfica de usuario, requiere prácticamente nada más que teclas de flecha, Enter y ESC. El mouse ni siquiera fue compatible hasta versiones posteriores.
También debe evitar tocar las bolas, y la pantalla Textronix 4014 tenía ruedas de desplazamiento para mover el cursor hacia la izquierda y hacia la derecha, y hacia arriba y hacia abajo.
"Nadie tenía idea de X" es un gran problema; tales ideas por lo general co-evolucionan.
@Raphael se trata menos de no tener una idea y más de no tenerla en ese momento/no convertirla en un dispositivo que se use ; Tengo muchas ideas sobre cosas geniales y no geniales todos los días, pero no hago ninguna de estas porque parece inútil o no sé cómo hacerlo.
Las aplicaciones de @Michael GUI que no están bien diseñadas para el uso del teclado son exasperantes. El mouse es la opción de descubrimiento rápida y simple: tan pronto como me familiarizo con la interfaz, cambio a controlar la mayoría de las cosas a través del teclado. La principal excepción es en la mayor parte de la web, pero Windows, Office, Visual Studio, Total Commander... el método de interacción principal es el teclado, con el mouse donde estoy trabajando en algo donde no vale la pena obtener la "memoria muscular" del teclado o donde la selección precisa es más simple a través del mouse. El mouse (y amigos) es genial, pero los teclados siguen siendo esenciales.
La pantalla táctil no es lo mismo que la GUI. Cuando era niño, mi biblioteca local tenía terminales tontas con pantalla táctil para acceder al catálogo que estaban 100% basadas en texto. No había teclados. Seleccionó Autor, Título o Materia, luego tendría algo así como 6 opciones en cada pantalla subsiguiente para reducir gradualmente su selección. 6 niveles le darían la opción de más de 40 000 entradas.

Respuesta ligeramente alternativa.

Podría haber tenido un gran avance en el reconocimiento de voz en los primeros días de la computadora. El efecto de esto podría ser que la interfaz evolucionaría en torno al uso de la voz y el oído, en lugar de los ojos y las manos.

El beneficio adicional de esto es que puede continuar usando sus manos y ojos para realizar ciertas tareas (por ejemplo, está arreglando un automóvil y mientras tanto le pide ayuda a la computadora).

(Esto a su vez significa que no se pone ningún esfuerzo en desarrollar GUI para computadoras, pero la depuración/configuración se puede hacer usando una CLI)

Vi este comentario sobre UX y creo que su respuesta encaja muy bien. ux.stackexchange.com/questions/101990/…
No estoy tan seguro de eso. El reconocimiento de voz tiene la mayoría de las desventajas de CLI, con algunas de las ventajas. La única ventaja real que obtienes es cuando no puedes usar tus manos (o, hasta cierto punto, tus ojos), o cuando no puedes escribir muy bien. Prácticamente necesitaría un sistema experto totalmente capaz para que el reconocimiento de voz funcione mejor que una GUI o incluso una CLI.
Esto funcionaría bien, especialmente si las computadoras pudieran leer texto a un alto nivel. Piense en cómo se retrataron las computadoras futuristas en "Alien", por ejemplo. El capitán simplemente le escribió preguntas complejas. Star Trek, especialmente Next Generation, podría hacer mucho simplemente hablando con la IA de la computadora.
@Luaan Estoy de acuerdo en que hay desventajas, por ejemplo, no puede mostrar un gráfico agradable con audio. Sin embargo, si la voz/oído comienza como la forma principal de comunicarse con las computadoras, podría obstaculizar el desarrollo de pantallas de computadora avanzadas y la construcción de visualizaciones de software, ya que no hay mercado para ello (todavía).
Ni siquiera lo estaba comparando con GUI, solo CLI triviales. Incluso allí, el reconocimiento de voz es un perdedor (nuevamente, a menos que la vista / el tacto no sean prácticos por alguna razón). Las GUI (o "TUI", si desea mantenerlas separadas) lo hacen pedazos. El enfoque más "realista" sería lo que Jason sugirió: si la computadora pudiera realmente entender el habla humana arbitraria, combinaría principalmente las partes buenas de CLI, GUI y voz, en lugar de combinar principalmente las partes malas de cada uno :) El reconocimiento de voz es No es suficiente, necesita sistemas expertos y flexibles.
Bueno, básicamente sería un símbolo del sistema glorificado, pero de hecho podría hacer que las personas prefieran hablar con su computadora en lugar de señalar cosas. La cuestión es que el reconocimiento de voz complejo requiere algoritmos complejos que requieren potencia de cálculo en bruto. Entonces, a menos que hagas magia en este avance, realmente no sería factible.
Reconocimiento de voz y algún tipo de experiencia de usuario habilitada para IA mucho mejor (interacción con handwavium): Yo: "Refactorizar código para una mejor cohesión y menos acoplamiento, y escribir más pruebas". Computadora: "Completado. ¿Le gustaría una lista actualizada de estadísticas de cobertura de código y métricas de calidad significativas?"
@WarrenP Y ahora compárelo con hacer clic en el botón "Refactorizar código para una mejor cohesión y menos acoplamiento, y escribir más pruebas" o presionar "Ctrl + R + R". Necesita comandos bastante flexibles para que el reconocimiento de voz (y CLI, en realidad son casi idénticos) valga la pena. Si ya tiene la IA, una GUI podría ser una mejor opción que el control por voz, según la tarea que realmente desee realizar.
¿Alguna vez ha comparado sus tiempos, leyendo un libro versus escuchando el audiolibro completo? ¿Ha comparado el tiempo que le toma escribir "ls" ingresar, hojear el resultado, escribir "cd xyz" tabular ingresar, ojear el siguiente resultado y luego escribir "menos interés" tabular ingresar para señalar y hacer clic a través de una estructura de directorio y para el tiempo que te toma describir lo que estás haciendo (de una manera bastante estúpida para la computadora. En caso de que no lo sepas: muy estúpido).
Me gustaría ver a alguien jugar terremoto, contraataque con comando de voz. Y me gustaría escuchar a la computadora describir verbalmente incluso algo tan simple como un gráfico de barras, y mucho menos una escena de naves de guerra. Creo que las GUI son inevitables.
@WarrenP Si pudiera decirle a la computadora "Código de refactorización para una mejor cohesión y menos acoplamiento, y escribir más pruebas", ¿cuál sería su punto en ese escenario?
@¿Nadie leyendo un libro? Mucho mas rápido. Pasando por ls, cd? Mucho más lento que una GUI bien hecha. Trate de cronometrarlo algún día, puede que se sorprenda. El texto se siente más rápido, pero rara vez lo es. No olvide que en una GUI, puede elegir entre un teclado y un mouse, y en una GUI bien diseñada, la transición es bastante fluida. Rara vez apunto y hago clic en TC/Explorer; ambos tienen sus ventajas. Pero sí, hacer lo mismo en el control por voz es aún más lento, a menos que obtenga una IA y una búsqueda de texto completo de todo, y en ese punto, la distinción apenas tiene sentido de todos modos.
@Luaan Bueno, admito que no sé mucho sobre mejores que las GUI de archivos estándar/de nicho. Pero comparando Nautilus (Gnome 3) y Explorer (Windows), estoy seguro de que soy mucho más rápido con cd/ls y mucho autocompletar. Creo que una GUI bien diseñada (es decir, que aproveche al máximo tanto el teclado/mouse como la pantalla gráfica) podría ser más rápida, pero todavía tengo que encontrar una GUI de este tipo.

La afirmación de que "las computadoras modernas de propósito general generalmente ejecutan software gráfico y tienen una interfaz gráfica de usuario (GUI)" es simplemente falsa. La gran mayoría de los servidores no tienen GUI; ver " servidor sin cabeza ". Viven en filas y filas de bastidores y solo se puede acceder a ellos a través de la red. Las computadoras detrás de los motores de búsqueda, los servicios de almacenamiento en línea, los servicios de correo basados ​​en la web, el software de planificación de recursos empresariales, los tableros de preguntas y respuestas como este, los sistemas de administración de contenido, las computadoras que brindan servicios de archivo, impresión y transmisión, y en general los las computadoras que sirven los documentos interconectados que forman la red mundial no tienen interfaces gráficas de usuario (con, por supuesto, las raras excepciones que se esperan de todo en TI). Una mejor formulación sería "(y las estaciones de juegos) generalmente tienen GUI"; las estaciones de trabajo generalmente han tenido GUI durante mucho tiempo. El sistema de ventanas en la distribución actual de Linux se basa en el protocolo X11R6, lanzado por primera vez en 1994 .

La primera clase importante de aplicaciones comercializadas en masa que usaban gráficos de pantalla completa fueron los juegos. Los juegos se ejecutaron en modo gráfico de pantalla completa en el ZX Spectrum . Las primeras "aplicaciones asesinas" basadas en GUI fueron la autoedición y el trabajo de preimpresión.

El principal problema que veo con las interfaces de celdas de caracteres en todas partes es la compatibilidad con varios idiomas. Una computadora que puede mostrar muchos miles de caracteres diferentes en una pantalla de celdas de caracteres también puede mostrar gráficos en la misma pantalla; una computadora que puede mostrar 中华人民共和国 ciertamente puede mostrar gráficos. Y dado que puede mostrar gráficos, mostrará gráficos: algún joven estudiante en una universidad en algún lugar escribirá una interfaz gráfica y el juego terminará. A no ser que...

La única forma de preservar las interfaces carácter-célula para las masas es hacerlas obligatorias; Supongamos que el dominio de la industria informática por parte de una gran corporación azul de tres letras no se hubiera enfrentado con desafíos antimonopolio por parte del gobierno de la mayor potencia del mundo. Supongamos que, por el contrario, esa dominación hubiera sido impuesta por los poderes fácticos; no hay sistemas operativos de código abierto como UNIX, no hay sistemas operativos simples como MS-DOS y el Mac OS clásico; todas las computadoras ejecutan sistemas operativos seguros, protegidos y confiables como OS/360. ¿No estaríamos todos contentos con la variante de celda de caracteres de la arquitectura de usuario común ?

Muchos servidores ejecutan variantes de servidor de Windows, e incluso Windows Server Core tiene una GUI (es una GUI muy simplificada y se usa principalmente para mostrar ventanas de línea de comandos, pero a pesar de lo que Microsoft llama, sigue siendo una GUI, no texto). basado, en el fondo). Agregue a esto casi todas las computadoras personales que existen (que generalmente ejecutarán Windows, OS X o Linux + X de una forma u otra) y considere que las computadoras en enrutadores, hornos de microondas, lavadoras, automóviles y demás no son de uso general. , y sospecho que mi declaración se mantiene.
@MichaelKjörling: Una gran parte de esos servidores de Windows ni siquiera tienen pantallas y teclados conectados... Por eso Powershell está tan de moda en el mundo de Windows Server. Pero sí, RDP es una cosa y se accede gráficamente a bastantes servidores basados ​​en Windows a través de RDP. Aún así, muchas computadoras de uso general no tienen ningún tipo de software de gráficos instalado.
Podría decirse que se accede a muchos de esos servidores a través de una GUI: un navegador web, ya sea un usuario final que visita una tienda en línea o un blog, o un administrador que accede a un panel de control de administración. Y hay otras GUI similares, todas sus aplicaciones de correo electrónico de GUI, sus aplicaciones de chat de GUI, sus aplicaciones de transmisión de video de GUI... La GUI no se limita solo a X11 o Aqua o Windows Shell alojados localmente; las aplicaciones dentro de ellos pueden presentar GUI para servidores remotos. Por supuesto, habrá casos en los que los usuarios realmente accedan a un servidor exclusivamente a través de medios de solo texto, pero el servidor sin cabeza no significa automáticamente sin GUI.
@MichaelKjörling No, esa declaración no se sostiene. Hay estadísticas bastante bien verificadas sobre la cantidad de computadoras, personal versus centro de datos/servidor, y cuántas de ellas ejecutan Linux, Windows, Mac OS X, Solaris, AIX, etc. Y mi enrutador es razonablemente de propósito general. Claro, en su mayoría hace enrutamiento, pero es un dispositivo Linux que hace varias cosas que no son enrutador para mí. Por supuesto, esto es discutible en relación con su pregunta: los servidores sin cabeza pueden ser la mayoría, pero son un nicho técnico en muchos sentidos, solo que más numerosos.
Los servidores no son computadoras de propósito general
@AlexP Eso es realmente un punto interesante. Powershell ganó tracción porque le brinda una mejor repetibilidad, auditoría, automatización... pero está en declive nuevamente, porque las herramientas GUI también evolucionaron mientras tanto. Hoy en día, puedo hacer exactamente la misma implementación sin escribir (personalmente) una línea de PowerShell, de la misma manera en cien servidores en un clúster. Y, por supuesto, ahora con Windows Server Nano (que no tiene GUI), Powershell (y sus amigos) regresan. Momentos interesantes :)

Creo que las GUI son tan populares porque los aprendices visuales constituyen la mayoría de la población. Con 2 de cada 3 personas siendo aprendices visuales, constituyen el mercado más grande, al igual que la mayoría de las cosas están hechas para personas diestras. Si hace que los estudiantes auditivos sean la mayoría de la población, seguidos por los kinestésicos con estudiantes visuales en un distante tercer lugar, el mercado se adaptará y las GUI serán un nicho de mercado costoso.

ingrese la descripción de la imagen aquí

Soy programador y no me gusta la interfaz de usuario de texto. Sé muy bien lo poderosos que son, aprendí a ser bastante bueno con bash, y lo uso todos los días en el trabajo para administrar nuestros servidores UNIX, pero si tuviera elección, siempre elegiría las GUI. Así es como mi cerebro está conectado. Aprendí a usar Emacs pero siempre elijo Atom & Visual Studio.

PS Imagen tomada de Uso exitoso de ayudas visuales en su presentación

Iba a responder esto. Haga que su idioma sea fácil de reconocer y que las computadoras lo entiendan, y las terminales de voz serán mucho más prolíficas desde el comienzo de la informática.
Las CLI caen en el sector Visual de su diagrama, al igual que las GUI: se trata del reconocimiento y la manipulación de los símbolos que ve en una pantalla. Si los aprendices auditivos y cinestésicos fueran la gran mayoría de la población, podría imaginar mucha más motivación para el desarrollo de interfaces de voz e interfaces hápticas, pero creo que la preferencia por las CLI requiere una explicación diferente.

Su mundo no tiene pantallas compatibles con píxeles. Con los componentes fácilmente disponibles, uno podría construirse solo de manera tosca, en tamaños poco prácticos (tamaño de cartelera o más grandes) y con grandes espacios entre los puntos. Pero nunca se desarrolló ningún hardware o software ( trazado de rayos , etc.) que hiciera un buen uso de esto, y nadie, excepto quizás los autores de ciencia ficción, realmente ve mucho valor en tal cosa.

Si todo lo que tiene para hacer monitores de escritorio son conjuntos de pantallas de siete segmentos , entonces tiene una experiencia de usuario basada en texto integrada en el hardware. Si los monitores están hechos literalmente de pantallas de 7 segmentos (o algo parecido), y particularmente si aporta una base histórica/legal para eso, entonces realmente no necesita ningún argumento torturado sobre por qué no simplemente hacer dibujos sobre las cosas, porque la capacidad no está allí.

También puede ofrecer algunos otros beneficios secundarios que están fuera de nuestro alcance en el mundo real. Como tener el monitor como otro dispositivo USB económico, o dispositivo Bluetooth, con un consumo de energía prácticamente nulo. Y puedes recuperar el arte ASCII a lo grande.

Esta concepción de la tecnología requiere una divergencia del desarrollo tecnológico del mundo real alrededor de 1900. La radio está dentro, la televisión está fuera. Los libros de historietas, las novelas de diez centavos y los cuentos de hadas están de moda, el cine está fuera. Los sismómetros anticuados y otras máquinas que dibujan directamente sobre papel están de moda. El advenimiento de las computadoras todavía ocurre, porque esto se hizo por razones de descifrado de códigos e investigación matemática ( Babbage , Zuse , otros). Las luces parpadeantes están de moda.

La fotografía barata y accesible está fuera; la mayoría de las personas solo pueden permitirse uno o dos retratos familiares en su vida, y todo está basado en películas. Pero por el precio, los estándares de calidad son muy altos y los retratos suelen ser estereográficos (da más sabor al progreso tecnológico divergente ).

Las impresoras son muy elegantes, muy baratas (¡y la tinta es aún más barata!) y muy rápidas, con capacidades tipográficas avanzadas, y el papel es increíblemente barato y fácil de reciclar . Incluso la encuadernación de libros sofisticada es una característica estándar en una impresora muy asequible.

Si necesita una "opción nuclear", refuerce aún más la suspensión de la incredulidad con la ley de derechos de autor. En su mundo, los fabricantes de equipos serían responsables de cualquier dispositivo capaz de mostrar una fotografía o un facsímil de una pintura al óleo con derechos de autor. (Si va en esta dirección, haga que "el caso Betamax" ocurra 100 años antes, se aplique a la fotografía de película de un solo cuadro y se decida más o menos al contrario de la historia real. ¡El caso real fue una decisión dividida de 5-4! ) Controlar estrictamente las licencias de fotografía sobre esta base, teniendo en cuenta además el alto precio y, por lo tanto, la rareza y la calidad superior y exaltada de las fotografías.

Por todas estas razones, nadie tiene mucha motivación para desarrollar tecnología capaz de mostrar imágenes, y el trabajo que se necesitaría para hacer coincidir las capacidades analógicas con cualquier sistema gráfico digital sería demasiado alto para que los aficionados realicen un intento exitoso. Incluso los esfuerzos serios con un presupuesto serio serían percibidos como proyectos burdos de juguete o, peor aún, como subterfugios ilícitos, sin ningún uso práctico legítimo.

Con suerte, todos estos factores de fondo reforzarán la divergencia de los gráficos de píxeles y crearán una gran barrera para introducirlos en su mundo. ("¡Un monitor así requeriría demasiada energía!" "¡La estereoscopia sería casi imposible!" "¡Tendría que trastornar más de 100 años de leyes de derechos de autor y precedentes legales!" "¡Incluso el arte lineal simple parecería basura!" )

"Hay demasiada información para decodificar Matrix. Sin embargo, te acostumbras. Tu cerebro hace la traducción. Ni siquiera veo el código. Todo lo que veo es rubia, morena, pelirroja. Oye, ¿quieres un ¿beber?"

Hay una variante de la pantalla de 7 segmentos llamada pantalla de 14 segmentos que puede mostrar el alfabeto latino completo.
Si bien la mayoría de los CRT proyectan un punto, es posible hacer que el haz proyecte otras formas, y algunas pantallas tempranas para cosas como el control del tráfico aéreo mostraban alfanuméricos seleccionando formas de letras para los haces y destellando en la ubicación requerida. Tal enfoque probablemente no requeriría encender y apagar el haz tan rápido como sería necesario con una pantalla de trama.
-1 Esta propuesta simplemente no es técnicamente plausible; por ejemplo, si "la fotografía barata y accesible está descartada", también lo estará la fabricación de circuitos integrados a través de la fotolitografía, lo que significa que las "computadoras" están atrapadas en la edad de piedra de los componentes discretos. De manera similar, toda la idea de que los píxeles densos no se pueden hacer es totalmente incompatible con cualquier cosa que se acerque a la densidad computacional que se encuentra en nuestro mundo; si los píxeles son enormes, también lo son los elementos lógicos.
@ChrisStratton "con los componentes fácilmente disponibles". Sólo propongo que ciertas cosas que se podían haber hecho, no se hicieron.
El problema es que también está proponiendo cosas que esencialmente requieren como tecnologías de apoyo las mismas cosas que propone que no sucedieron. No puede hacer que nadie elija mirar el equivalente de una pantalla, pero tendrá la tecnología para construirlos.

Haz que la pornografía y los videojuegos no sean una cosa.

Ahora, ¿a quién le importa hacer que las computadoras manejen más gráficos? Buena suerte en hacer que la gente lo crea.

Haga que las computadoras móviles sean útiles/deseables antes.

Si tuviéramos computadoras de mano que pudieran hacer algo útil o genial antes de que alguien hubiera ejecutado los gráficos, o cuando los gráficos hubieran tenido una batería prohibitiva, el texto solo podría haberse convertido en la forma estándar en que todos usan las computadoras.

Hacer que la programación sea mucho más popular

Si la mayoría de las personas escriben al menos algunos de los programas que usan y el texto es la forma (más fácil) de interactuar con ellos, el texto será popular. Esto podría suceder si los derechos de autor se salieran de control o si la gente perdiera la confianza en los programas distribuidos.

Hacer del analfabetismo o del analfabetismo funcional un problema mayor.

No querrás parecer el único hombre en la reunión que necesita fotos, y realmente no querrás dar a entender que tu jefe no sabe leer.

Todavía estoy esperando que los historiadores de Internet me validen, pero estoy 100% convencido de que los gráficos del navegador web están impulsados ​​​​únicamente por la pornografía.
@kingledion ¿Pensé que se trataba de mosaicos?
Les presento: AAlib .
La biblioteca de representación de imágenes de @kingledion Mozilla se llamó libpr0n y su principal objetivo era "representar imágenes pornográficas de manera eficiente". (Sí, ese sitio es una broma de uno de los desarrolladores, pero la biblioteca realmente se llamó así. Se le cambió el nombre en 2011 )
@oals Hice clic en ese enlace en el trabajo y ahora creo que me van a despedir.

Me sorprende que tan poca gente se haya referido a los posibles motivadores culturales que limitarían/prevendrían el desarrollo de las GUI.

Mi primer pensamiento fue (sin juego de palabras), "iconoclasia".

En un mundo donde domina la religión iconoclasta, la gente creerá que las GUI son malas y/o degeneradas. Las palabras son importantes; la representación innecesaria de las cosas es una afrenta a Dios.

La idea de @Dotan Reis con respecto al elitismo también tiene un potencial real. Si los primeros usuarios de computadoras fueran ricos E inteligentes, entonces un culto a la personalidad del elitismo informático llevaría a las personas a querer usar solo interfaces basadas en texto.

Este es un motivador mucho más fuerte para evitar las GUI que cualquier limitación técnica.
La iconoclasia potencia las guerras de los editores.
En realidad eso tiene sentido. Si en Alemania los juegos están siendo censurados para no mostrar algunas cifras de la Segunda Guerra Mundial, Facebook censuró el video del gobierno sueco sobre el cáncer de mama, por lo que un desarrollador en la sociedad iconoclasta realmente sería demasiado cuidadoso para no clasificar su programa como solo para adultos.
  • Deje de empujar para poner una computadora en cada escritorio; Las TUI pueden ser utilizadas por expertos, pero las GUI eran casi necesarias para dar el salto de "equipo especializado" a "equipo de uso general".
  • Nunca vea un impulso capitalista para crear un mercado de estaciones de trabajo de consumo (las TUI funcionan para profesionales capacitados y no exigen una GUI)
  • Aumentar la cultura de elitismo hacia las computadoras; siempre ha sido una tendencia (aunque disminuyendo con el paso del tiempo) entre la gente de informática/TI preferir medios más difíciles para demostrar su valía; muchos tipos de TI hoy en día "prefieren" Linux, pero no pueden proporcionar un argumento que no sea un recorte de cartón de por qué . Command Line/Terminal siendo el mismo trato.
  • Paralizar el mercado de la exhibición. Mantenga los monitores primitivos, de un solo color.
  • Introducir una estratagema de marketing terriblemente ejecutada para las GUI; alejar a los consumidores y al mercado de la idea
  • Hacer que los principales creadores/comunidades de sistemas operativos vean las GUI como ineficientes e ineficaces. Más elitismo.

... Básicamente, acaba con el impulso del mercado capitalista e introduce la mala prensa y el elitismo para ahuyentar a las GUI.

Pero los terminales son mejores, están más cerca del software y, a menudo, brindan acceso a más funciones más fácilmente que una GUI.
Las TUI de @dot_Sp0T siempre requerirán una curva de aprendizaje más pronunciada y harán que las características y la funcionalidad sean menos obvias. Son menos atractivos para los nuevos usuarios, requieren más inversión y son menos intuitivos. Esas son las razones por las que las GUI se hicieron cargo. También una gran razón por la que los controles táctiles en los dispositivos móviles se hicieron cargo. Las TUI no son mejores que las GUI, pero las GUI tampoco son mejores que las TUI. Cuál usar depende del entorno, el usuario, la tecnología y la cultura.
Esta respuesta es absolutamente sesgada y no se basa en hechos. Las interfaces basadas en texto son demostrablemente mejores para muchas tareas que las gráficas. La componibilidad y la automatización no se dan con las GUI, pero vienen naturalmente a las IU basadas en texto. Las GUI son las herramientas más accesibles, pero ciertamente no las herramientas más útiles o más poderosas.
No hay nada "más difícil" en Linux (hay muchas versiones de Linux y no puedo hablar por todas), es un sistema operativo simple y efectivo. Si estuviera seleccionando un sistema operativo para alguien sin conocimientos informáticos, Linux Mint sería una buena opción debido a su tendencia a seguir funcionando una vez configurado. (configuración bastante simple) Linux tiende a hacer que sea más fácil agregar su propio código al sistema operativo y realizar ciertas acciones avanzadas que no están disponibles en otros sistemas. Es por eso que muchos expertos lo usan. Simplemente no es a lo que estás acostumbrado.
@DonaldHobson No mencioné ningún sistema operativo específicamente, y sí, estoy de acuerdo en que varias distribuciones de Linux con GUI son excelentes sistemas operativos fáciles de usar. Por otro lado, no le daría una distribución solo de terminal como Linux Arch a un padre promedio que se queda en casa y esperaría que disfrutara de su experiencia.
@Polygnome ¿Eh? ¿Cuándo hablé de TUI? Yo mismo uso Terminal/PowerShell. No son buenos para ser fáciles de usar para aquellos que no son expertos en tecnología, y no son intuitivos para los que no tienen educación. Un usuario educado, seguro e inteligente puede hacer un gran uso de una interfaz de usuario de texto, pero una GUI no requiere ninguna de esas tres características de un usuario para ser funcional.
@NexTerren "siempre ha sido una tendencia (aunque disminuyendo a medida que pasa el tiempo) entre la gente de informática/TI preferir medios más difíciles para demostrar su valía; muchos tipos de TI hoy en día "prefieren" Linux, pero no pueden proporcionar una solución que no sea de cartón. argumento recortado de por qué" Esa parte es condescendiente y extremadamente inapropiada. hay muchas razones para usar otros sistemas operativos además de Windows. El hecho de que no parezcas entender esas razones no significa que no existan y no sean válidas. Y echas en el "terminal/TUI" lo mismo. Simplemente no es cierto. lea la pregunta vinculada! tiene muchas ventajas de terminales/carcasas.
@Polygnome Ah, mencioné Linux, mi error en eso. Dicho esto, mi comentario no fue condescendiente. Hay razones válidas para elegir un sistema operativo, proveedor de hardware, etc., en lugar de otro, pero muchas personas no pueden explicar por qué son tan leales a una tecnología sin recurrir a Google. No importa cuán técnico (opciones de editores, distribuciones, lenguajes de programación) o no técnico (qué teléfono nuevo), las personas con demasiada frecuencia tienen opiniones sólidas sobre la tecnología sin una justificación real pensada (/ investigada). .

Busca, no ordenes.

Google Desktop eliminó el 90% de la GUI de Windows en 2004.

Apple implementó funciones similares en Vanilla OSX en un momento similar.

No más hacer clic en subcarpetas tratando de recordar dónde almacenó algo. Simplemente recuerde algún dato al respecto: palabras en el título, palabras en el contenido, última fecha de modificación. Ingrese algunos de esos parámetros como una búsqueda y el archivo aparecerá instantáneamente.

En términos de lo que podría hacer para pasar de "no usamos mucho las GUI" a "no usamos las GUI", mejore las capacidades de búsqueda de IA o envíe a Microsoft a la bancarrota.

Con MS fuera del camino, la GUI de su computadora se vería como la página de inicio de Google. Espacio en blanco en blanco, un solo cuadro de texto para la entrada. En ese momento, ya no es realmente una GUI.

Pero si tiene más de un archivo que coincida con los criterios, necesita una GUI para seleccionar el que desea. Pero supongamos que encuentras bien las fotos de tus vacaciones. Ahora, ¿cómo los editas sin una GUI? ¿Qué hay de las hojas de cálculo y los procesadores de texto? Tengo la edad suficiente para haber usado hojas de cálculo y procesadores de texto antes de que existieran las interfaces basadas en mouse, y hay una buena razón por la que la edición WYSIWYG eliminó las no WYSIWYG; bastante lo que quería, renderizar de nuevo, demasiado lejos, renderizar de nuevo" es una dolorosa pérdida de tiempo.
@Graham parece que nunca antes usaste látex. Sin embargo, la edición de fotos será dolorosa
Desafortunadamente, @Graham, los bucles de representación de LaTeX a veces son bastante molestos, pero para muchos tipos de documentos sigue siendo mucho más eficiente que cualquier cosa que pueda hacer con WYSIWYG, especialmente si le preocupa el diseño preciso. — Una hoja de cálculo es solo el reemplazo de un hombre pobre para un lenguaje de datos adecuado. — Con la manipulación multimedia tiene indudablemente razón, no evita una GUI... aunque incluso aquí hay una cierta tendencia hacia la edición basada en texto, con cada vez más capacidades de secuencias de comandos integradas en CAD/NLE/DAW e incluso algunas funciones innovadoras. Lenguajes de programación gráficos puros.
re: hojas de cálculo: es la misma situación que con el sistema operativo: elimine MS y los competidores tendrán éxito con algo más práctico pero menos bonito. Wolframio en este caso.
Buscar y ordenar no son interfaces de usuario, son tareas que realiza EN una interfaz de usuario. Ambos se pueden realizar en entornos de GUI o CLI, y ninguno aborda todas las otras funciones requeridas en una UI. "Escribir algo en un cuadro" también es algo que se hace tanto en entornos GUI como CLI.
@barbecue tal vez no aclaré lo suficiente mi punto. Sí, la página de inicio de Google es una GUI. Es un cuadro de texto y un botón. Pero literalmente podría reemplazarlo con una interfaz de usuario de texto de línea de comando y sería exactamente lo mismo. No necesita ser una GUI, y no utiliza ninguna característica en la que una GUI sea buena y que una TUI no lo sea.
@scott Tiene razón en que podría ser una TUI en lugar de una GUI, pero no hay nada en esto que desaconseje activamente el uso de una GUI. Si cualquiera de los enfoques funciona igual de bien, ¿por qué se prefiere uno sobre el otro?

Una cosa importante a considerar aquí es que una vez que haya superado la curva de aprendizaje más pronunciada, trabajar con entradas basadas en texto suele ser mucho más fácil que usar una GUI.

Un ejemplo: supongamos que tengo un directorio que contiene unos pocos miles de archivos, dispersos en varios subdirectorios. Quiero ordenarlos en directorios separados según varios criterios. Digamos que quiero mover todos los archivos que comienzan con "foo-" y terminan con ".log" que se crearon el último día.

En una GUI, la forma más eficiente de hacerlo es probablemente ordenar los archivos por extensión de archivo, luego ir a cada subdirectorio, encontrar el bloque de archivos que comienza en "foo-" y termina en ".log", luego haga clic derecho en cada uno individualmente, abra las propiedades, verifique la fecha de modificación, luego arrástrelo al nuevo directorio si se modificó el último día. Luego paso al siguiente archivo y hago lo mismo. Y espero no cometer ningún error al hacer esto manualmente unos cientos de veces. Y en la práctica, si todo lo que tengo es una GUI, simplemente no voy a reorganizar esos archivos porque no hay forma de que pase por todo eso.

Con una línea de comando, escribo find ! -type d -name 'foo-*.log' -mtime -1 -exec mv '{}' 'other_directory/{}' +y termino en 5 segundos. Y en la práctica, toma alrededor de 5 minutos porque no uso el -mtimeargumento con tanta frecuencia y necesito buscarlo en el manual muy rápido (que consiste en escribir man findy luego /modifiedencontrar la sección correcta).

Para la mayoría de las tareas, la diferencia no es tan extrema, pero la línea de comandos es casi siempre la opción más poderosa. La versión de la línea de comandos ciertamente parece más complicada (y para ser justos, lo es), pero una vez que la aprendo, puedo hacer las cosas mucho más rápido de lo que podría hacerlo de otra manera. Además de mi navegador web, la única razón por la que uso una GUI en el trabajo es para poder mantener varias terminales en la pantalla al mismo tiempo. A menos que la tarea sea específicamente de naturaleza gráfica, una GUI me parece un juguete.

Ahora considere su requisito de que los sistemas no sean "solo para expertos". No voy a negar que en este momento, la competencia con la línea de comandos generalmente es solo para expertos, pero piense en la diferencia promedio en la alfabetización informática entre un niño de 14 años y uno de 74 años. El adulto ha tenido el mismo tiempo para aprender las habilidades y, sin embargo, lucha con ello. Pero el niño creció con estas cosas y descubre que es algo natural. Si crea una sociedad en la que la mayoría de la gente aprende a usar una línea de comandos como una habilidad "solo para expertos", entonces en una generación o dos, será otra habilidad trivial que todos aprendieron cuando eran niños.

Editar: un par de personas han mencionado GUI que pueden filtrar archivos según la fecha de modificación, así que aquí hay un ejemplo un poco más complicado. Esto ordenará todos los archivos .log en directorios con el formato 'logs/2017-05-20/' en función de su hora de modificación, creando los directorios según sea necesario.

find ! -type d -name '*.log' -exec bash -c \
"export DIR=\$(date +logs/%F -d\$(stat -c @%Y '{}')); mkdir -p \$DIR; mv '{}' \$DIR/\$(basename '{}')" \;
Creo que su caso es un ejemplo de mala GUI [mala para una tarea específica], no de superioridad en la línea de comandos. Podría hacer su tipo de copia en la GUI de Windows Commander fácilmente en 10 segundos.
El ejemplo es malo incluso usando Windows básico. Abra el Explorador. Vaya al directorio que desea buscar. Escribe "foo*.log" en el cuadro de búsqueda. Te dará la opción de agregar un modificador de búsqueda, uno de ellos la última vez que se modificó el archivo, y puedes seleccionar un rango de fechas. Los resultados aparecerán, y puede arrastrarlos y soltarlos en la carpeta que desee.

Solo una pequeña sugerencia: es posible que también desee que el teclado de entrada de datos sea totalmente diferente. El tipo que es el mayor responsable de las GUI y el mouse que usamos hoy, Douglas Engelbart, había desarrollado originalmente un sistema de entrada basado en acordes donde, en lugar de tener botones para cada letra, el usuario tenía un teclado con una sola mano que usaba combinaciones para crear acordes similares a letras. en una guitarra Vale la pena investigar.

¿Cómo detendría esto el desarrollo de las GUI? En todo caso, tener una mano de repuesto parecería hacer que una GUI evolucione más fácilmente, porque los usuarios no tendrían el problema de usabilidad que todos compartimos de tener que mover una mano entre el teclado y el mouse.
@Graham haría que la entrada basada en texto continuara naturalmente en la era móvil. Si todos tuvieran un teclado bluetooth en todo momento, una terminal sería la forma más efectiva de interactuar con su teléfono. (FWIW, estoy escribiendo esto desde un teclado de 10 dedos , usando vimperator para compensar los problemas de Firefox basado en GUI...)
No quise dar a entender que un teclado basado en cable impediría el desarrollo de una interfaz GUI. Creo que es inevitable, pero pensé que el teclado con cable era lo suficientemente diferente sin ser demasiado radical para encajar en un universo alternativo como se describe en el cartel.
@Graham Es posible que esté haciendo referencia a esto, pero ese era el plan original : una mano en el teclado y una mano en el mouse en todo momento. Ratón para navegar, teclado para entrada de datos.
@TessellatingHeckler Sí, esa es la idea. Hay una razón por la que los jets rápidos usan HOTAS: es simplemente la mejor ergonomía. El mismo principio para el uso de la computadora es definitivamente un avance. Desafortunadamente, siempre hemos tenido una gran base de usuarios con teclados QWERTY (o AZERTY o cualquier variante local) que hizo que esto no fuera práctico. Como siempre, debe haber una razón sólida para cambiar una base de usuarios establecida. El mouse era simplemente una mejor manera de mover un puntero que las teclas del cursor, y mejor para un control preciso que un joystick. Sin embargo, el teclado de acordes no tenía suficientes incentivos para desplazar a QWERTY.

Bueno, lo matas cuando dices que Norton Commander, Emacs, vi y sus amigos no cuentan como GUI. En ese punto, casi no queda nada que cuente como GUI, tal vez solo la pelusa visual que obtienes de las pantallas de alta resolución (por ejemplo, más de 80x25 y similares).

Entonces, supongamos que eso es exactamente lo que quieres decir. Sin pelusa.

¿Por qué tenemos tanta pelusa? Cuando llega por primera vez, tiene un cierto aspecto de novedad. Pero eso se desgasta con bastante rapidez y, en realidad, es bastante desalentador para muchos usuarios. Solo mire todos esos ejemplos como esquinas redondeadas, brillo, ventanas transparentes y similares: los muestra durante una generación o dos, solo para flexionar sus músculos frente a una multitud de fanáticos aduladores, se copian por todas partes y se usan en todos. las aplicaciones incorrectas, y luego la novedad desaparece y la moda cambia. Mire Windows 10 en comparación con Vista (¡todo ese brillo y transparencia!), XP ( ¡ todo redondeado !). El diseño de Windows 9/10 es simple, limpio y discreto; un buen espectáculo de lo que queda cuando te deshaces de la pelusa.

Entonces, ¿por qué se mantienen los gráficos, en lugar de volver a las interfaces de texto? La respuesta es bastante simple: facilita muchos problemas complicados. Eso sí, no estoy diciendo que sea una panacea. no lo es Las interfaces de texto todavía tienen muchos beneficios:

  • Más amigable para terminales remotas
  • Auditoría humana más sencilla, con fácil registro de todo lo que sucede en la terminal
  • Muestra más fácil de la historia en general.
  • Composición más fácil de aplicaciones de solo texto (aunque esto se desvanece cuando cualquier tipo de "GUI" ingresa a la ecuación, incluso en modo de texto)

Ahora, por supuesto, los gráficos tenían ventaja en las aplicaciones que eran, bueno, gráficas. Diseño asistido por ordenador. Publicación. No es realmente una lista larga. Incluso hoy en día, algunas personas no pueden soportar el uso de una interfaz gráfica para cosas tan complicadas como DTP; en el mejor de los casos, tienen una ventana gráfica sobre cómo se verá el diseño en papel (o lo que sea), mientras hacen el edición real en algo como TeX, o incluso MarkDown o (¡jadeo!) HTML.

¿Por qué los gráficos ganaron en el escritorio en general? Como se señaló anteriormente, las aplicaciones en modo texto todavía tenían excelentes "GUI", todavía tenía entornos integrados completos con todas las cosas geniales que le brindan las GUI verdaderas, como atajos de teclado, menús, control del mouse, sugerencias, toda la agradable capacidad de descubrimiento.

Exactamente por esos usuarios avanzados que todos aquí están llamando al rescate. ¿Por qué? Porque no había compatibilidad en ninguna parte . Todos hicieron aplicaciones basadas en texto a su manera. Incluso los intentos de estandarización como POSIX, o incluso MS-DOS (que fue diseñado para ser un poco diferente de lo que realmente resultó, principalmente para, adivina qué, compatibilidad con IBM DOS, que se lanzó un poco antes) fallaron en su mayoría. Incluso en la PC de IBM (y sus clones), donde Microsoft ganó dominio rápidamente, cada aplicación tenía su propia idea sobre qué comandos debían nombrarse, qué acciones debían hacer qué, cómo formatear sus datos de entrada y salida. Nadie trató de hacer interfaces comunes, formatos. Había discusiones interminables sobre quién era mejor. No había final a la vista.

Y luego vino Xerox con su revolucionario PARC. Ahora, fíjate, esto era un montón de cosas que eran completamente poco prácticas cuando los equipos de investigación realmente las diseñaron. No había computadoras lo suficientemente potentes como para ejecutar sus sistemas, y al mismo tiempo eran asequibles para cualquier familia, o incluso para las corporaciones. Pero las computadoras se volvieron poderosas rápidamente y todos se fueron al pozo. Atari, Amiga, Apple, Microsoft: todos adoptaron los mismos paradigmas básicos. Todos también agregaron algunos propios, pero también se extendieron rápidamente en el nuevo mundo, un mundo de interoperabilidad y compatibilidad. En gran parte porque los que se preocupaban por la compatibilidad comenzaron a ganar. MS-DOS no era el mejor sistema operativo, ni mucho menos. A menos que te importe el hecho de que ejecuta casi todo. Puede tomar sus aplicaciones de Dr-DOS, IBM DOS y unas pocas docenas de Something-DOS y OS, y ejecutarlas en MS-DOS. ¿Qué sistema operativo compras? ¿El que te tiene encerrado en un par de paquetes de software, o el que te da casi todos ? ¿ Para qué sistema operativo diseña software ?

Windows no fue el primer sistema operativo gráfico, pero eso ya no importaba. El impulso por la compatibilidad ya estaba allí, y en pleno apogeo. Use un mouse para señalar un botón, presione el botón del mouse, ocurre la acción. Cada aplicación en cada sistema se comportó de la misma manera. Tenías ventanas, botones, barras de desplazamiento y menús, y había mucha presión para unificar su comportamiento tanto como fuera razonable, sin dejar de parecer algo diferente. E incluso cuando las plataformas diferían (ligeramente), dos aplicaciones en la misma plataforma nunca lo hicieron, algo con lo que Linux todavía lucha hasta el día de hoy, con la idea equivocada de que es la aplicación., que debería elegir la GUI, en lugar del usuario. ¿Qué hacían los usuarios "avanzados"? Lo ignoraron por completo y por completo, contentos con sus CLI patentadas (gracioso, ¿eh? :)) e incompatibles. Los usuarios avanzados invierten mucho más en su plataforma, simplemente porque invirtieron mucho tiempo y esfuerzo en volverse competentes en esa plataforma . Los usuarios avanzados son la ruina del progreso.

Así que la solución no es hacer que todo el mundo sea un usuario avanzado, sino todo lo contrario. No espere ningún esfuerzo de sus usuarios. Comience con entornos que intenten estandarizar sus interfaces: use los mismos métodos abreviados de teclado, convenciones de nomenclatura y formatos. Piense en la accesibilidad, no solo en la eficiencia. Claro, lsestá bien si tienes un teclado horrible o si no puedes escribir muy bien, pero listes muchísimo más accesible. Utilice alias si es necesario, pero incluso estos deben ser compatibles con otros sistemas: no va a seguir llevando sus alias a otras computadoras que necesita usar; solo apégate a los valores predeterminados. Echa a cualquiera que no juegue bien. Deshazte de los hipsters, que no solo no pueden reconocer el progreso, sino que se burlan de la idea misma de progreso.

Una interfaz agradable, compatible y en su mayoría estandarizada le dará la inercia que necesita. Aplicaciones como Norton Commander, no de línea de comandos ls. Aplicaciones como Turbo Pascal, no vi. Busque por comodín, no por expresiones regulares (¡pero siéntase libre de mantener la opción avanzada!). Ordenar "por humano", no "por computadora": Folder 100nunca debe terminar en orden de clasificación entre Folder 2yFolder, tratar con él. Aprenda todo lo que los sistemas operativos gráficos hicieron bien y utilícelo también. No considere demasiado las terminales remotas, incluso las terminales inteligentes: nunca obtendrá una aplicación interactiva real allí: el ancho de banda es un problema menor que en una aplicación gráfica, pero la latencia es igual de horrible; en algunos casos incluso más. Estandarice terminales enriquecidos, la transmisión de solo texto no es lo suficientemente buena, y tampoco lo es solo el posicionamiento del texto en un fondo fijo. Hágalo realmente inteligente, como lo que lograron hacer las verdaderas GUI.

Manténgase enfocado en los sistemas libremente integrados, en lugar de grandes bolsas de trucos propietarias (y no, mantenerlo como "FSF" u "OSS" no hace que sea menos una "gran bolsa propietaria de trucos"). Haga que los desarrolladores de todo el mundo cooperen en lo que están haciendo, en lugar de competir simplemente por despecho y otras iniciativas equivocadas. Encuentre formas de involucrar a los usuarios, mejorar su productividad, en lugar de introducir diferencias arbitrariamente solo para dificultar la conversión. En lugar de diez paquetes competitivos "de todo", modularice: brinde a los usuarios una manera fácil de tomar decisiones sin que las cosas parezcan demasiado complejas. ¿Recuerdas cómo Turbo Pascal, a pesar de ser un IDE, te permitía conectar un enlazador, compilador, depurador...? Fomentar ese modelo. La empresa que es excelente escribiendo compiladores no es No es necesariamente el mejor en enlazadores. Introducir funciones de productividad y visibilidad como la finalización automática que en su mayoría tuvo que esperar a las GUI en nuestro historial.

¿Eso nos deja con todos los problemas resueltos? Casi. Todavía hay cosas que los gráficos simplemente hacen mejor. El diseño es mucho más fácil con una resolución más alta, el diseño independiente de la resolución es mucho más fácil con una resolución más alta. Permita mejoras sobre el modo de texto ideal; por ejemplo, permita combinar múltiples tamaños de "mosaico" en una pantalla, de modo que pueda, por ejemplo, tener texto escrito "como si fuera en 80x25", mientras permite que otros elementos sean "como- si-en-80-40". Permita que los elementos gráficos se incluyan en una aplicación en modo texto, para que no tenga que seguir cambiando toda la pantalla solo para tener una apariencia WYSIWYG en su documento o para mostrar gráficos dentro de una hoja de cálculo.

Esta es la parte realmente complicada: en algún momento, se vuelve más difícil justificar que tener dos formas de hacer fundamentalmente lo mismo es algo bueno; ¿Por qué tener un renderizado "híbrido" en una máquina Haswell, cuando puedes renderizar todo en modo gráfico con la misma rapidez, manteniendo las cosas más simples y bonitas? Use accesorios que puedan explotar pantallas de baja resolución extremadamente baratas para realizar un mejor seguimiento de todo su sistema, o incluso brindarle una interfaz gráfica "simulada" genial de una manera similar a las mini-arcadas de Nintendo, sin renunciar a los beneficios del texto. ¿modo?

Para ser justos, emacs -nwdefinitivamente no es una GUI, sino una TUI. Y muchas TUI que procesan ratones solo lo hacen porque ellos y los terminales que permiten que el programa subyacente interactúe con ellos están muy extendidos en nuestro mundo. Si los sistemas nunca fueran completamente GUI, sería razonable suponer que dicho soporte no existiría, sería una ocurrencia tardía, o simplemente no sería utilizado por la mayoría de los usuarios.
De todos modos, a pesar de estar en desacuerdo en algunos puntos y matices, hice +1 en esto. Creo que toca varios puntos buenos sobre por qué las GUI se desarrollaron como lo hicieron, qué papel desempeñó el impulso por la coherencia y algunas de las razones por las que los usuarios avanzados pueden ser (aunque no estaría de acuerdo con "son") impedimentos para algunas formas. de progreso
@mtraceur No creo que la distinción entre una TUI y una GUI tenga sentido; la única diferencia real es la resolución. No hay ninguna razón por la que las TUI no tengan el control del mouse (o del lápiz óptico), que existió tanto tiempo como las verdaderas GUI; de hecho, fue mucho más fácil, ya que el direccionamiento en modo texto es mucho más fácil (nuevamente, resolución). Y, por supuesto, la verdadera razón por la que la gente compró ratones fue para Doom, todo el mundo lo sabe: P La principal diferencia sigue siendo entre CLI y no CLI, y aunque muchos "TUI" tienen CLI integrado de alguna manera (al igual que, digamos, Total Commander), no son CLI.
¿Por qué crees que la compatibilidad con el mouse es trivial? ¿Sabes cómo funciona el subsistema TTY/PTY (teletipo/pseudo-teletipo) en la mayoría de los sistemas operativos? Si escribo una TUI relativamente flexible y el usuario la ejecuta en su shell en su terminal, no hay ninguna garantía de que tenga alguna indicación de lo que está haciendo el mouse, a menos que la terminal convierta las interacciones del mouse en códigos de escape o haya otra API no estándar para acceder a ellos desde el lado esclavo del terminal. Para el entorno de la terminal, la compatibilidad con el mouse es una chapuza añadida.
Tangencialmente, sin embargo, reconozco que muchas TUI modernas se han acercado a las GUI en flexibilidad y funcionalidad, por lo que, en cierto sentido funcional, es justo reconocer ese punto. Por ejemplo, describiría irssiun cliente TUI IRC (que yo sepa, sin soporte para mouse), como funcionalmente comparable a cualquier cliente GUI IRC, menos características superficiales como soporte para mouse. Así que tienes algo de razón allí.
@mtraceur Bueno, eso siempre fue un problema de los sistemas tipo Unix. Nunca fue un problema de DOS, OS/2, Atari... porque no se apegaron a la idea de que estás controlando tu sistema a través de un teletipo (¡una tecnología que tiene más de cien años!). Es por eso que noté que los usuarios avanzados pueden retrasar el progreso, porque tienen una inversión mucho mayor en lo que ya aprendieron y evitan nuevos enfoques para hacer lo mismo, solo porque haría que la inversión fuera un desperdicio (hasta cierto punto ). Hay tantas cosas que ya funcionan con TTY que la inercia era demasiado grande. No es así en DOS :)
@mtraceur Y no soy exactamente un experto en Unix, pero realmente no he visto un buen enfoque para resolver eso, incluso con todo el esfuerzo puesto en las extensiones TTY virtuales o (Dios no lo quiera) X. Pocos incluso intentan cambiarlo, y son tratados con indiferencia o con absoluto desprecio. Porque todo el mundo sabe que el teletipo es el rey :D Eso sí, todavía existen algunos vestigios de esa era incluso en el mundo de Windows/Mac: todavía tenemos los caracteres de control de la vieja escuela, todavía tenemos flujos de E/S de texto sin formato (como si hubiera era algo así como "texto sin formato"!) ... pero sobre todo para la compatibilidad con versiones anteriores, no para avanzar.

Tu enlace da una pista:

Los sistemas Xerox Alto, debido a su potencia y gráficos, se utilizaron para una variedad de propósitos de investigación en los campos de la interacción humano-computadora y el uso de la computadora.

Construyeron una GUI que es reconocible como los conceptos que todavía se usan en la actualidad, y luego investigaron la interacción humano-computadora, lo que presumiblemente solo refinó las ideas ya planteadas, pero más cínicamente puede haber justificado las nociones preconcebidas.

Se financió una de las primeras “ideas brillantes” que inspiró directamente las principales GUI que aparecieron en los productos de consumo.

Podría decirse que las ideas estaban por delante del hardware y las primeras implementaciones fueron inferiores a lo que podría haber sido.

Si alguna "idea brillante" diferente se investigara, estudiara y refinara en los primeros días antes de los productos comerciales, podríamos haber tomado una ruta diferente. De hecho, un paradigma que no fuera tan intensivo en gráficos podría haberlo hecho mejor antes , antes de que las máquinas fueran lo suficientemente poderosas para que la GUI fuera realmente práctica.

Entonces, si el público en general se había dado cuenta de conceptos que trascendían la "manipulación directa" y "lo que ves es lo que obtienes (lo que ves es todo lo que tienes )" como lo sintieron los expertos, incluso cuando las cosas se pusieron más bonitas, el las nociones de manipulación directa (solamente) podrían no tener los mismos avances.

Sería genial saber qué conceptos/paradigma de manipulación se podrían haber desarrollado que serían mejores que una simple CLI.

Amazon Echo, Alexa y otros son computadoras sin GUI. Diablos, incluso le digo OK Google a mi teléfono para que haga cosas como enviar mensajes de texto a mi amigo (Historia divertida: no importa lo que le dije a mi primer teléfono celular con reconocimiento de voz, siempre lo malinterpretó ... "Llama a mamá", "Llamar a Brian". "Llamar a Neil", "Llamar a Brian".) Predigo que en 10 años no interactuaremos con una GUI tanto como le hablamos o usaremos "mensajes de texto" (por ejemplo, escritura natural) para esos momentos cuando hablar sería grosero (como en un avión)

Ahora intenta editar tus fotos usando "OK Google". No voy a trabajar. El reconocimiento de voz es bueno como dispositivo de entrada, pero eso es todo. Si necesita una salida de la computadora, ya sea una lista de cosas que se encuentran, imágenes o lo que sea, entonces necesita una GUI de algún tipo.
@Graham, puedo decir que nunca has usado una buena TUI. Definitivamente no necesita "una GUI de algún tipo" para obtener resultados de la computadora. Consulte, por ejemplo , Microsoft Works para DOS o Microsoft Word (disponible para DOS) o Norton Commander para DOS o PC Tools para DOS ( también ) o cualquier cantidad de productos TUI.
@MichaelKjörling Mi primer procesador de textos DOS fue Word Perfect. Mucho mejor que Word en ese momento. :) Tomo su punto de que una interfaz basada en texto es posible hasta cierto punto, pero solo hasta cierto punto, y solo para aplicaciones limitadas, y con una usabilidad muy limitada. La entrada demasiado tardía de Word Perfect en WYSIWYG fue la causa directa de su fracaso.
Trabajé con personas con discapacidades del desarrollo durante ~20 años. Es increíble cuando ves a alguien ciego de nacimiento navegando mejor que tú por una interfaz gráfica de usuario. Nuestras interfaces para ciegos son ideas posteriores. Imagínese si hubiéramos desarrollado esas interfaces primero y luego desarrollado las GUI. (Aunque, dado que los humanos son principalmente visuales, nunca encontraría un mundo sin GUI tan creíble).
@Graham "la interfaz basada en texto es posible hasta cierto punto"? No has usado bash. No has usado Markdown. Ah, tienes. Está en stackexchange.
@uoɥʇʎPʎzɐɹC Excepto que soy un ingeniero de software principal con una maestría y más de 20 años de experiencia. El dominio de la línea de comandos y las secuencias de comandos es una gran herramienta para tener. Pero es una herramienta realmente mala para cualquier cosa visual, y las largas invocaciones de la línea de comandos a menudo son propensas a errores y más lentas que la GUI equivalente. Es como discutir cómo usar mejor un martillo y un cincel para extraer un tornillo. La respuesta correcta es que no, obtienes un destornillador ensangrentado. ¿Interfaz para gráficos? Obtenga una interfaz gráfica de usuario. Es la herramienta adecuada para el trabajo.
@AllOfYou: el OP preguntó cómo hacer que las GUI sean secundarias, no inexistentes. Obviamente, una GUI es más fácil cuando se editan gráficos/fotos (difícil para Sports Illustrated aumentar el busto de una modelo con solo texto/habla). Y, obviamente, una TUI es más fácil cuando se realizan tareas muy repetitivas (como archivos .BATch o secuencias de comandos .PS1). Incluso en el mundo dominado por la GUI de hoy, una CLI puede ser bastante útil y (francamente) preferible a un viejo tipo de DOS como yo. Un teclado y un mouse son realmente para alguien con 3 manos, en mi opinión. Es una interfaz terrible, pero un poco mejor que presionar la pestaña 37 veces para seleccionar el elemento que deseo.
@Graham Estoy de acuerdo, pero el OP tiene poco sentido

¡Haz que todos en tu mundo tengan mala o nula visión ocular !
Esto hará cumplir la necesidad de lectores de pantalla . Los lectores de pantalla con GUI son un verdadero fastidio. Es mucho más fácil leer solo texto que describir una ventana, por ejemplo.

Tal vez esto tenga más implicaciones en su mundo, pero definitivamente es factible.

O la persona/grupo que inventó las computadoras era ciega. Inventaron la computadora como una forma de brindar a las personas ciegas un entorno más fácil para trabajar y luego los "videntes" se dieron cuenta de lo útiles que podrían ser las computadoras.

Hay algunas formas generales de hacer computadoras modernas que no sean intensivas en GUI.

Cambiar el historial de la computadora:

Esta es una opción algo obvia, porque hubo algunos grandes avances en la informática que hicieron que la GUI sucediera. En nuestro propio planeta Tierra, las computadoras se volvieron enormes en los países que ganaron la Segunda Guerra Mundial y la Guerra Fría, también conocidos como Gran Bretaña y Estados Unidos. Esto se conecta con una pregunta reciente de la red, "¿Por qué todos los lenguajes de codificación están en inglés?". Entonces, ¿qué tiene eso de importante? Bueno, Estados Unidos es un país capitalista, cada empresa que se subió al carro de la informática creó su propio lenguaje de codificación. Solo piense en hoy, tenemos Haskell, C, C ++, C #, Java, etc. Para la línea de comando tenemos Cmd en Windows y terminal para Linux y Apple. Pero, ¿y si el gobierno se involucrara más?

En 1965, Estados Unidos aprueba un proyecto de ley que crea un lenguaje de codificación estadounidense, que se utilizará en toda la programación y la línea de comandos. Se desarrollará en un proyecto similar al Proyecto Manhattan, reclutando a las mejores mentes en informática, quienes tienen que trabajar todos juntos. De repente, se reduce una gran barrera de entrada, las personas solo tienen que aprender un nuevo lenguaje informático en lugar de siete. El gobierno también decide que quiere las computadoras más poderosas posibles para ejecutar sistemas de guía de misiles, submarinos nucleares, etc. No tienen tiempo para cosas sofisticadas como gráficos.

El impulso de "una computadora en cada escritorio" nunca sucede, en cambio, el gobierno pone una computadora en cada escuela para que los niños aprendan. Ahora esos niños crecen y compran sus propias computadoras, usando nada más que la línea de comandos.

Eventualmente, la tecnología se lanza al público y una nueva compañía hace la GUI, pero a nadie le importa esa pelusa, ya que está en una etapa alfa y es bastante mala. Se ve como un lujo tonto como la realidad virtual en los años 90 y no despegará hasta dentro de unas pocas décadas, si es que alguna vez lo hace.

Límite de computación:

Como se mencionó en otra respuesta, Internet gobierna gran parte de nuestra vida. Y cuando el ancho de banda era bajo en los años 90, no enviamos memes dulces, enviamos ascii o solo palabras. Si el ancho de banda es limitado, de repente, las imágenes desaparecen, Internet se basa en texto. Ahora, si quitas el escritorio no conectado, el gobierno dice que todas las computadoras deben estar conectadas a la red en todo momento, ya no hay computación personal, el factor más importante es el ancho de banda. Si el ancho de banda es limitado, no hay GUI.

Límite de personas:

No es una gran opción, pero si las personas son ciegas, la GUI no es importante. Si las personas son daltónicas, a las personas no les gusta la apariencia de la GUI. No puede transmitir tanto significado, por lo que no se utiliza. Si las personas no tienen manos para usarlo, entonces deben usar el dictado de voz en su lugar. En estos casos, nunca se molesta con la GUI.

"En 1965, Estados Unidos aprueba un proyecto de ley que crea un lenguaje de codificación estadounidense, que se usará en toda la programación" Eso me recuerda a COBOL ("creado como parte de un esfuerzo del Departamento de Defensa de EE. UU. para crear un lenguaje de programación portátil para el procesamiento de datos" ) o Ada ("diseñado originalmente por un equipo dirigido por Jean Ichbiah de CII Honeywell Bull bajo contrato con el Departamento de Defensa de los Estados Unidos (DoD) de 1977 a 1983 para reemplazar más de 450 lenguajes de programación utilizados por el DoD en ese momento").
@MichaelKjörling: ese enlace trae un buen punto. Hay diferentes tipos de lenguajes, pero en realidad solo se reducen a tres tipos: scripting, lenguajes imperativos y declarativos, todo lo demás es solo semántica, o formas y medios. Entonces, el gobierno podría hacer uno de cada uno. Además, la diferencia entre lo que hizo EE. UU. y lo que estoy diciendo es que EE. UU. permitió que ocurriera otra programación mientras se hacía COBOL, si prohibieran otros lenguajes, sería mucho más fácil hacerlos converger.
+1 por lo que creo que es la clave: educación temprana. Imagínese si en lugar de lecciones en la escuela secundaria sobre cómo hacer diapositivas de PowerPoint, recibiera lecciones sobre cómo resolver varios problemas usando un entorno de terminal/shell similar a Linux/Unix. Las GUI seguirían existiendo, pero la persona promedio crecería contenta y nunca daría el salto a las GUI, y lo encontraría muy extraño/poco intuitivo, al revés de lo que tenemos ahora.
sobre limitar a las personas: por qué no hacer que la epilepsia sea más común, para que las personas se queden con pantallas menos animadas y coloridas .
Su analogía con los lenguajes de programación es un poco defectuosa. "Terminal" es solo una interfaz gráfica de usuario para cualquier shell de comando que haya configurado como predeterminado. Los propios shells serían análogos a los lenguajes de programación. Entonces, sh, bash, dash, ksh, csh, tcsh, zsh, solo por nombrar los más comunes. Y el mundo MS tiene cmd.exe, command.com y Powershell.
No estoy de acuerdo con que obligar oficialmente a un solo lenguaje de programación haría alguna diferencia en la ubicuidad de la informática, pero aún así voté porque una gran iniciativa de educación del gobierno a principios de la Guerra Fría fue lo primero que pensé para detener el nacimiento de la GUI. ; si todos ya están aprendiendo a usar interfaces basadas en texto como parte de su educación, entonces se puede dar el salto de mainframe a escritorio sin necesidad de una interfaz más simple. Incluso podría hacerse antes si las personas están más familiarizadas con las computadoras.
@mtraceur Eso sí, teníamos eso. Y fue tan efectivo como cuando trataron de enseñarnos Excel, Powerpoint y demás, es decir, no funcionó. Hasta cierto punto, se podría decir que esto se debió a que ya usaron GUI mucho antes de llegar a esas lecciones en la escuela, pero la razón más importante es que, para la mayoría de las personas, la computadora es el viaje, no el destino. Es una herramienta para ayudarlos a hacer la tarea que realmente necesitan hacer , no la recompensa. No piensan en la barra de direcciones de su navegador cuando buscan... materiales de estudio... en Internet.
Yo diría que si ordenaras un lenguaje de programación para todos los EE. UU., lo que harías sería simplemente destruir a los EE. UU. como una gran potencia en el mundo de las computadoras. Eso sí, es posible que todavía se use el inglés (o no), pero simplemente no se puede construir cuando se requiere que todos usen las mismas herramientas. Solo piense en qué gran potencia serían los EE. UU. en la artesanía, si solo pudiera usar un destornillador. Buena suerte si eres carpintero, ¿eh? :)
@Luaan: la diferencia es que puedes hacer todo, excepto arte, en una computadora basada en texto. Puede que sea menos intuitivo, pero sigue funcionando. La GUI es básicamente un montón de botones de acceso directo, todavía hay líneas de código ejecutándose en segundo plano. Entonces, es como dije, siempre que la computadora estuviera orientada a los resultados, construiríamos computadoras muy poderosas que no fueran gui, porque la GUI sería una floritura innecesaria. Además, muchos científicos informáticos tienen la mentalidad de que la GUI fue el mayor error en las computadoras, porque desperdiciamos poder de cómputo en gráficos. Haciéndonos retroceder años.
@EvSunWoodard Pero eso es lo mismo para CLI. La CLI también es solo un poco de pelusa para conectar la interfaz de usuario con el código que se ejecuta "en segundo plano". Por supuesto, con la excepción de sistemas como LISPM, que son verdaderos "CLI es código", prefiero eso al típico sistema Unix-y con, por ejemplo, bash ejecutando aplicaciones C. ¿Pero adivina que? Unix superó a los LISPM al ser más barato y "más rápido". Muchos informáticos están muy equivocados; no hay desperdicio de poder de cómputo en los gráficos: los gráficos no dominan el poder y no se usan cuando no valen la pena (excepto por los cultores de carga).
@Luaan - ¡Tienes toda la razón! Es por eso que el mercado libre vende tantas computadoras con GUI. Me encanta mi GUI. Pero, si bien puede argumentar que la CLI también es un tipo de GUI, es minimalista. E independientemente de la verdad detrás de las opiniones de muchos científicos informáticos, ¡la percepción está ahí! Si algún gobierno tuviera la misma percepción, entonces podría imponer leyes tales como prohibir la GUI extravagante y derrochadora y, en su lugar, impulsar la CLI. Es una forma en que funciona la historia alternativa, siempre que haya una percepción, hay una posibilidad, incluso si no es lo que sucedió.
@EvSunWoodard La percepción es realmente extremadamente fuerte, como lo han demostrado muchos estudios. No solo por la "potencia de procesamiento desperdiciada", sino incluso por la velocidad: la mayoría de los usuarios de CLI piensan que son mucho más rápidos que cuando usan una GUI, pero resulta que ese no es el caso, incluso si invierte mucho más en aprender a usar CLI. que en una GUI. Usar un mouse se siente mucho más lento de lo que realmente es, y usar un teclado se siente mucho más rápido de lo que realmente es, muy probablemente porque el cerebro tiene buenas "sensaciones" al hacer tanto trabajo mientras golpea el teclado, mientras que el uso del mouse se siente "vacío".

antes de 1988 : Xerox contrata a un brillante equipo legal

1988 : Apple presenta una demanda contra Microsoft y Xerox contra Apple, al igual que la línea de tiempo real.


Luego suceden muchas cosas en 1989-1990:

Xerox gana o resuelve a su favor el caso de infracción de patente contra Apple. Luego se unen como demandantes en el caso Apple-Microsoft look and feel y lo ganan también. [en la línea de tiempo real, Microsoft ganó el caso de apariencia y sensación en 1994, y Xerox perdió el suyo]

Demandas adicionales relacionadas con problemas de infracción de la Ley de Estadounidenses con Discapacidades (ADA). Las empresas que desarrollaron las primeras GUI sin funciones de accesibilidad o capacidades de automatización llegan a un acuerdo o son declaradas responsables. Xerox escapa a la responsabilidad porque su GUI nunca salió del laboratorio y su equipo legal es increíble. Apple y Microsoft son responsables de los daños civiles a pesar de perder los derechos de propiedad intelectual de Xerox. [en la línea de tiempo real, las reglas de la ADA no tienen efecto hasta más de 20 años después]

Las nuevas regulaciones gubernamentales , que se basan en la opinión pública en apoyo de los requisitos de la ADA, hacen que las capacidades de accesibilidad y automatización sean obligatorias en todo el software e introducen fondos federales para la educación y estándares para la alfabetización informática basada en texto en los EE. UU., clonados rápidamente en Japón y Europa.

Apple cambia la marca de MacIntosh como un juguete y se retira del mercado educativo.

Microsoft retrasa el lanzamiento de Windows 3.0 para eliminar funciones que infringían las patentes de Xerox y agregar funciones de cumplimiento de ADA. El producto resultante es tardío, inutilizable, no tiene soporte de ecosistema, un fracaso total que quema a consumidores e inversores.

En Linux , el desarrollo de X11R6 se detiene por falta de voluntarios y, aunque puede encontrar versiones anteriores, se han vuelto ilegales por falta de funciones de accesibilidad y falta de mantenimiento (como lo es DeCSS hoy).


1992: IBM lanza OS/2 y nadie se da cuenta. Igual que la línea de tiempo real


Finalmente, en 1995, las GUI están muertas tanto académica como comercialmente:

Apple gira hacia el control por voz a medida que continúa siendo líder en la experiencia del usuario, para competir contra las interfaces de texto.

Microsoft se recupera del fiasco de Windows 3.0 invirtiendo en una versión de MS-DOS de 32 bits para competir contra un Linux ahora sin GUI.

La experiencia de GUI ahora es peligrosa para su currículum . El capital de riesgo y la financiación de la investigación para las GUI se agotan , como una versión extendida de AI Winter .

Tim Berners-Lee decide centrarse en crear una versión gratuita de Gopher , abandonando el trabajo en HTTP/1.1 y X-Mosaic, por lo que nunca se materializa una Internet basada en GUI.

Xerox acaba con toda la investigación de GUI y nunca lanza un producto. Conservan todas las patentes incluso durante la quiebra, evitando que otros lancen un producto.


Entonces, en esta línea de tiempo, hay un período de aproximadamente 10 años entre 1985 y 1995 en el que las GUI luchan por ganar popularidad y finalmente fallan en múltiples frentes, 20 años completos antes de que aparezcan las "computadoras modernas de uso general".

Linux no era un jugador importante en el mercado de escritorio incluso a principios de la década de 2000; Yo mismo comencé a usar Linux entre 2000 y 2001 (recuerdo claramente haberlo usado a mediados de 2001) y aunque en ese momento el núcleo era estable, la GUI era muy tosca. OS/2 1.0 estaba completamente basado en texto (la primera GUI se agregó en 1.1, y lo que podría llamarse una GUI moderna solo apareció en 2.0). La experiencia de Apple en ese momento era en interfaces basadas en texto (¿Apple II, alguien?). Windows 2.x fue útil en la práctica, al menos como un entorno contra el cual desarrollar, pero quizás no como un entorno independiente. Etc.
En esta línea de tiempo alternativa, Linux se vuelve lo suficientemente popular como para llamar la atención de Microsoft.
@MichaelKjörling Oh, lo recuerdo muy bien. Tuve que escribir mis propios controladores para casi todo: el mouse, el controlador de pantalla, la tarjeta de red... ugh. Y la "recompensa" fue X Window con una representación de texto horrible y que apenas funcionaba. Toda una ducha fría después de usar Windows 3.11 y 98. Y Microsoft fue extremadamente inteligente cuando diseñó Windows para ser integrado (es decir, podría escribir aplicaciones de Windows y venderlas de forma independiente a personas que no tenían Windows) - fue Realmente no fue hasta Windows 3.X que realmente hizo que la gente usara Windows como una interfaz de sí mismo.
Bueno, Linux (y otros sistemas similares a Unix) también recibieron mucha atención de Microsoft en nuestra línea de tiempo, varias veces. Realmente nunca valió la pena: veremos cómo les va en su último intento :)

¿Qué tal una opción que no se base en paralizar a su gente, ni en que sean consistentemente irracionales y/o faltos de imaginación?

Encarece las pantallas.

Si un monitor o un proyector con capacidad gráfica en vivo (es decir, que muestra datos a medida que se crean) cuesta tanto como un automóvil o incluso una casa, la mayoría de las familias no van a comprar uno. Pero las empresas y los gobiernos podrían permitirse comprar algunos que sus artistas, diseñadores, ingenieros y científicos puedan usar para trabajar.

La mayoría de las personas estarían atrapadas con impresoras, o posiblemente pantallas de caracteres posiblemente hechas usando tecnologías relativamente económicas como flip-dot (o flip-segment), segmentos LED o tubos nixie que, al menos en su mundo, no se pueden reducir. suficiente para hacer una pantalla de gráficos de escritorio útil, pero lo suficientemente compacto para una pantalla de caracteres de escritorio viable.

Desafortunadamente, esto significa que es probable que la televisión en vivo nunca se convierta en la corriente principal. Sin embargo, las películas deberían estar bien, posiblemente incluso en casa. En lugar de mostrarlos en una pantalla de gráficos en tiempo real como lo hacemos en el mundo real en estos días, simplemente use un proyector y una película. Las características clave de la película son que mostrarla es simple: solo brille una luz blanca brillante a través de ella con una lente para enfocarla, y carece de un tiempo de respuesta rápido de escritura para leer, por lo que no es adecuada para gráficos en vivo. La televisión puede terminar más como una suscripción audiovisual a un periódico oa una revista, con entrega regular de películas en su puerta, en lugar de una transmisión en vivo.

Para aquellos que desean una vista previa de la impresión en su hogar, simplemente agregue un cartucho adicional (o varios, para colores) a las impresoras, llenos de tinta de borrado en seco. Agrupe un poco de papel laminado y listo: imprima una vista previa con la tinta borrable en el papel laminado, revíselo y luego imprima el resultado final en papel normal con tinta permanente mientras borra el papel de vista previa para reutilizarlo más tarde.

La razón por la que las primeras PC venían con monitores de solo texto como estándar era que la MEMORIA era costosa. Necesita memoria para mostrar cualquier cosa en un CRT de trama o también en un dispositivo de visualización LCD, a menos que el software esté dispuesto a volver a calcular constantemente la imagen. Mientras que una página de texto de 25x80 caracteres cabe en una memoria de 2kbyte (o 4kbyte con colores primarios/subrayado/...), ¡una imagen en blanco y negro de 720x384 píxeles ya necesitaba casi 40 kilobytes! Dado que 32-640 kilobytes se consideraban tamaños apropiados para la memoria principal de una computadora de escritorio en estos días debido al costo...
@rackandboneman Cierto, también teníamos televisión en ese entonces, pero encarecer la memoria paralizaría las propias computadoras. Mejor encarecer algo exclusivo de los monitores que algo usado por ambos.
Incluso el almacenamiento de imágenes de televisión era un negocio terriblemente costoso y complicado en los años 50 y antes. Grabadoras de video del tamaño de una gran estufa :) Y ese sería un tipo de memoria realmente engorroso para usar para la salida de la computadora. La otra alternativa (y SE UTILIZÓ en las décadas de 1960 y 1970 para gráficos por computadora): Caros, difíciles de construir y mantener CRT (Google DVBST CRT si le importa) que literalmente podría decir para mantener la imagen una vez escrita (necesita ser completamente reescrito para borrar cualquier cosa!). Esa tecnología está casi extinta, excepto por los osciloscopios más antiguos que todavía están en uso.
@rackandboneman Mi punto era que encarecer la memoria encarece las computadoras, lo que parece estar en contra de los deseos del OP. Recuerde, esto es la construcción del mundo, por lo que estamos tratando de construir un mundo que no sea necesariamente idéntico al nuestro. Sugiero que el OP haga las cosas que necesitan los monitores, pero no las computadoras en sí mismas. Posiblemente el proceso de construcción, o ciertos materiales... o lo que sea. Y al mismo tiempo, tenga algún tipo de pantalla barata de solo texto disponible para todos, incluso si esa misma tecnología es realmente costosa en la vida real.
Todavía puede hacerlo sobre la memoria: simplemente haga que su mundo se acerque a la memoria de computadora económica basada en una tecnología que la hace utilizable para el cálculo pero que la hace apesta como un búfer de cuadros (las modalidades de acceso/protocolos/tiempos para la memoria juegan un papel importante allí) .
Y, por cierto: los MONITORES de PC reales, incluso desde 1982 (como se suministran con la primera PC de IBM) eran perfectamente capaces de mostrar gráficos: era el hardware de generación de imágenes en las computadoras lo que estaba limitado a menos que se actualizara. A los monitores se les envió una imagen que resultó ser la de un texto, simplemente se generó sin usar un framebuffer. Los sistemas mainframe/multiusuario eran una tetera diferente: utilizaban soluciones integradas de monitor/teclado/imagen y generador de texto, a menudo conectadas a través de una línea larga y LENTA: piense en las velocidades de teléfono y fax, ¡y a menudo eran líneas telefónicas literales!, llamadas "terminales tontas". .
terminales-wiki.org/wiki/index.php/Category:Year_of_Introduction tiene mucho más historial de interfaz de computadora temprana :)
@rackandboneman Sí, lo sé. He escrito controladores para una terminal serie y, aunque tal vez no sea del todo 1982, he escrito controladores para el estándar VGA de 1987. Pero me resultaría bastante difícil creer que sería capaz de tener cachés de varios megabytes en sus CPU, con latencias de decenas de nanosegundos o menos, pero que no podría crear un búfer de fotogramas de unos pocos cientos de kilobytes con confiable temporizaciones a 10 Hz más o menos. Podrías ir por ese camino, pero personalmente encontraría más plausible decir que los fósforos CRT son raros y caros, que las pantallas LCD son difíciles de construir y que las pantallas OLED se queman demasiado rápido.

¿Cómo puedo explicar razonablemente que las GUI nunca se convirtieron en la corriente principal?

Las computadoras ingresaron al mercado masivo al mismo tiempo que el reconocimiento y la síntesis de voz útiles. En lugar de sentarse frente a la pantalla y presionar botones, los usuarios principalmente conversan con computadoras. Lo que haría que el concepto de una GUI suene extraño "¿Qué quieres decir con que tengo que aprender a presionar esto y eso y luego eso? ¿Por qué no puedo simplemente decirle lo que quiero?".

"Para que puedas ver porno sin que todos los que estén cerca se enteren de tu fetiche con los enanos". :PAG
" ¿Quieres decir que tienes que usar tus manos? Eso es como un juguete de bebé "
Cuando el correo electrónico estaba arrasando en la sociedad, leí un poco en alguna parte: imagina que los teléfonos (de voz) se inventan después del correo electrónico. Hoy todos diríamos "¿Quieres decir que puedo tomarlo y hablar con alguien? ¡¿No es necesario escribir?!"
De acuerdo, pero ¿cómo se obtiene un reconocimiento y una síntesis de voz útiles sin computadoras? La forma en que lo hacemos ahora requería que las computadoras fueran un mercado masivo: para obtener la potencia de procesamiento y la memoria requeridas, para obtener toneladas de entradas de entrenamiento y verificación...
@Luaan, lo siento por la respuesta extremadamente tardía; tenga en cuenta que escribí "Las computadoras ingresaron al mercado masivo". Teníamos computadoras mucho antes de que alguien tuviera una en casa.

Haga que las computadoras estén interconectadas y bloqueadas por el ancho de banda. Un Internet de bajo ancho de banda obliga a optimizar la transmisión de contenido, que probablemente esté basado en texto.

Desde mi propia experiencia con las etapas iniciales de Internet, una GUI apenas se puede usar en una red cuando el ancho de banda es lo suficientemente bajo. Incluso un sistema GUI diseñado específicamente para redes cliente-servidor, como X, es molesto en conexiones como un módem 14k4.

Antes de que existiera la WWW, usábamos el protocolo Gopher para navegar por los sistemas de información de todo el mundo a través de conexiones telefónicas. Luego se inventó la WWW e Internet se volvió más gráfica, el rendimiento en los navegadores gráficos ( Mosaico , Netscape ) todavía era angustiosamente lento. Dado que el contenido textual seguía siendo la atracción principal, muchos de los primeros usuarios usaban navegadores basados ​​en texto como w3m y lynx para navegar por la web. En los servidores Linux, los sucesores como elinks todavía se usan hoy en día.

Si hubiera alguna razón para que el ancho de banda simplemente permaneciera limitado, es posible que las GUI no se desarrollaran en absoluto. La gente probablemente seguiría creando arte ASCII y las TUI mejorarían, tal vez admitiendo múltiples ventanas como el administrador de ventanas i3 .

"... las TUI mejorarían, tal vez admitiendo múltiples ventanas como el administrador de ventanas i3": no es necesario compararlo con un administrador de ventanas GUI como i3, ya tenemos multiplexores de terminal: GNU Screen y tmux . Además, con respecto al bajo ancho de banda: VNC, X11 y RDP no son las únicas formas de interactuar con datos remotos mediante una GUI. Puede ejecutar la GUI localmente y simplemente transferir los datos reales. Hacemos esto todo el tiempo: vemos el correo electrónico, el chat, los navegadores web (muchas páginas siguen siendo principalmente texto, a veces con controles GUI). ¡Sin imágenes remotas! = sin GUI local.
Puede imaginar que el ancho de banda se mantenga bajo porque las líneas telefónicas son un monopolio natural. La empresa propietaria de las líneas es de alguna manera corrupta o disfuncional, y ninguna otra empresa puede tener la infraestructura para competir con ellos.
Puede desincentivar la ejecución de la GUI localmente centralizando el poder de cómputo fuera de los hogares; tal vez el software como servicio con clientes ligeros se desarrolle antes que en nuestro mundo, o tal vez haya alguna razón por la cual agrupar el hardware de todos en un centro de datos es importante, por ejemplo, porque significa que no tiene que usar el cableado del terrible monopolio de las telecomunicaciones para conectar en red sus cosas.

¿Quieres un mundo donde las computadoras estén muy extendidas pero las GUI no existan? Simple: encuentre una manera de crear un mundo en el que todos estén totalmente ciegos, tal vez incluso donde los ojos nunca pudieron evolucionar. (la escritura usa algún equivalente de Braille)

Educar al público rápidamente

Las GUI son populares porque son fáciles de aprender para los nuevos usuarios y no requieren tanto conocimiento especializado como usar una CLI. Por ejemplo, para cambiar los permisos de archivo a través de la GUI en Linux, puede hacer clic en las pequeñas casillas de verificación etiquetadas como "leer", "escribir" y "ejecutar", mientras que para cambiar la misma información con la CLI, debe recordar qué bits corresponder a qué permisos, y hacer una conversión de decimal a binario.

Si, por alguna razón, las clases de computación se convirtieran en parte de la educación obligatoria durante el tiempo en que los CLI todavía eran populares, toda una generación crecería usándolos. Cuando surgieron las GUI, no parecían tener mucha ventaja sobre las CLI para el público en general. Además, los CLI, especialmente los caparazones que se enseñan en la escuela, tendrían la inercia del consenso y la gente no estaría dispuesta a cambiar.

Los CLI tenían la inercia del consenso. En algunas plataformas, todavía lo hacen. La mayoría de los usuarios los conocían mejor de lo que los usuarios de Excel conocen Excel. Eso no impidió que desaparecieran. Todos sabían cómo usar CLI, y luego llegó Norton Commander (y sus amigos) y el 99% de los usuarios de computadoras abandonaron CLI, así como así. Los únicos lugares donde sobrevivió fue con 1) sistemas remotos, donde era mucho más rápido, o una interfaz interactiva simplemente no estaba disponible, 2) automatización, especialmente para infraestructura corporativa/académica, 3) hipsters (¡antes era genial!) .
Las CLI tenían la inercia del consenso entre las personas que usaban computadoras durante el tiempo en que las CLI eran la única opción, no mucha gente (comparativamente). Las GUI se hicieron populares casi al mismo tiempo que las computadoras personales se hicieron populares. La mayoría de las personas que usaron GUI aprendieron con GUI: los pocos que comenzaron con CLI pueden o no haber cambiado, pero son la minoría. Esa es mi opinión de todos modos, y no soy un experto.
Eso probablemente depende mucho de la región de la que estés hablando. De donde soy, la gente usaba interfaces basadas en texto hasta Windows 95 o incluso más en su mayor parte; Todavía cambiaron tan pronto como pudieron. Y una máquina 486 costaba del orden de 10.000 a 20.000 dólares en dinero actual, mucho más cara que un coche nuevo en ese momento. Y todos cambiaron tan pronto como pudieron, la principal excepción son las universidades, que propagan CLI casi exclusivamente hasta el día de hoy :)
Eso es realmente interesante y sugiere que las GUI tienen una ventaja inherente sobre las CLI, al menos para la mayoría. ¿Quizás un elemento de esnobismo podría funcionar, si suficientes personas crecieran con CLI? Tal vez OP podría hacer un mundo lleno de los hipsters antes mencionados...
@Luann Hablas de Norton Commander como si señalara la transición inevitable de CLI->TUI->GUI. Y, sin embargo, mi padre, que solo se metió en las computadoras en la década de 1990, poco después de que terminara la Unión Soviética, todavía elegía hacer la mayoría de sus tareas diarias en Far Manager, pantalla completa en Windows XP y versiones posteriores. He vivido solo desde 2009, así que no estoy seguro de cuánto lo usa todavía. Mientras tanto, crecí con GUI y pasé años sin entender por qué alguien querría hacer eso, sin embargo, en los últimos años he estado cambiando todas las tareas de mi computadora a CLI/TUI tan rápido como pude.
@mtraceur No, eso no es lo que estoy insinuando en absoluto. Estoy diciendo que Norton Commander (y amigos) ya es una GUI , solo una de baja resolución. Apenas hay distinción entre lo que usted llama "TUI" y "GUI" además de la resolución más alta (y de la mano, eliminando el mosaico monocromático). Lo principal es que las "TUI" se han estancado hasta cierto punto, especialmente en Windows, mientras que las "GUI" siguen desarrollándose. Principalmente uso Total Commander, que es esencialmente NC, pero con arrastrar y soltar, portapapeles, extensiones de shell y un área mucho más grande para el contenido. Nunca hice clic en un botón en TC, todavía GUI.
@Luaan, la distinción clave permanece: uno funciona en un entorno que representa texto , el otro depende de entornos que pueden representar gráficos arbitrarios. Ahí está el límite, de ahí la distinción significativa de los términos. Sin embargo, estaré felizmente de acuerdo en que demuestran claramente la falta de una diferencia sustancial de usabilidad/funcionalidad. Aún así, hago la mayor parte de mi navegación y manipulación de archivos en un shell tipo Bourne, la mayor parte de mi edición de texto en vi. Incluso si junta las TUI con las GUI, para muchas tareas, estoy más contento con las CLI que con las GUI.
@mtraceur Bueno, "feliz" realmente no se compara bien. Se trata principalmente de familiaridad, en lugar de cuál es realmente mejor para una tarea determinada (y fíjese, por supuesto, hay un gran impulso para "subjetivamente mejor" si ya tiene una herramienta que entiende, incluso si no es "objetivamente" una mejor herramienta). Si te gusta trabajar con CLI, más poder para ti, yo no; y no por falta de intentos (he trabajado exclusivamente con un sistema de texto unix-ey durante algunos años, no funcionó). Y claro, viestá bien, pero ¿qué tan diferente es realmente de algo como Atom o VSCode, aparte del control remoto?

Si los usuarios no son humanos, una interfaz GUI puede presentar problemas graves. Tal vez tengan ojos compuestos, como los insectos, y cualquier tipo de pantalla de cuadrícula de píxeles crea serios efectos de muaré entre la pantalla y sus ojos. O tal vez ven en el sonar, como murciélagos o delfines. ¿Cómo se hace una pantalla de sonar?

Si son (¿casi?) humanos, tal vez su sociedad sea una estricta meritocracia (con tintes fascistas). No se le permite acceder a una computadora hasta que demuestre que es lo suficientemente inteligente para usar una de manera inteligente. En otras palabras, programa uno. Para cuando sea un programador medio decente, probablemente preferirá una interfaz de línea de comandos a una interfaz GUI para la mayoría de las tareas en cualquier caso.

(Si eres un tipo de geek, habrás escuchado los chistes sobre lusers y teclados a prueba de babas. En este mundo, los geeks son los gobernantes).

No creo que esto sea posible, si desea mantener las posibilidades de las computadoras modernas, especialmente si considera a Norton Commander como 'texto', ya que lo que realmente está haciendo es abusar del texto para ser una GUI, y la mayoría de las GUI hacen es texto de posición, fuera de un sistema de cuadrícula . Pero un posible enfoque que no he visto mencionado en otras respuestas: el texto es legible por máquina, las GUI no lo son.

Esto podría surgir de varias maneras diferentes:

  • Pruebas de calidad de software obligatorias , muy pronto. Tan pronto como aparece el primer software con errores y las empresas se dan cuenta de que están pagando por productos dañados, especialmente si ocurre una catástrofe grave como la explosión de un cohete espacial, hay un gran impulso legal y reglamentario para que el software sea exactamente como se describe, con grandes tarifas por cualquier error encontrado.

    • Esto se manifiesta como especificaciones precisas para entrada y salida, y pruebas automatizadas obligatorias con supervisión regulatoria. Puede verificar automáticamente el texto que se muestra y la salida de la pantalla en cada estado, pero no puede verificar fácilmente automáticamente la visualización de una curva, y la cantidad de posibilidades con ventanas redimensionables por el usuario hace que sea inviable intentarlo.
  • Auditoría obligatoria de un tipo u otro. Todas las entradas y salidas deben auditarse para detectar fraudes, o para protegerse contra prácticas contrarias al consumidor, o para exigir que los sistemas informáticos de diferentes proveedores funcionen de la misma manera, o como una expectativa básica en una sociedad digital de cómo se comportan las computadoras. Puede auditar la escritura y la impresión, pero realmente no puede auditar los clics del mouse y el desplazamiento de la GUI de la misma manera. Puede auditar "esta imagen se mostró: {}" para usar con su especificación de salida única, pero no querrá los costos generales o de almacenamiento de auditar cada marco de una GUI.

  • Los primeros desarrollos de la informática se centraron mucho en interpretar el texto y procesarlo de manera personalizada. por ejemplo, el gobierno transmite noticias a través de una fuente de texto como el antiguo Ceefax del Reino Unidosistemas, y las personas individuales colocan coincidencias de palabras clave en el flujo de datos que los alertaría sobre las cosas que encontraron interesantes. Empresas alertadas sobre transacciones, personas que jugaron con conjuntos de datos en tiempo real: puede esperar ofertas especiales de tiendas, servicios meteorológicos, servicios de noticias, ingeniería civil (obras viales) en su área, precios de electricidad actualizados, o lo que sea. , y retome las cosas que le importan. Esto sucede lo suficientemente temprano en su línea de tiempo para que se incruste en la cultura, y cuando aparecen las GUI, las personas las consideran una novedad, pero finalmente rechazan la forma en que no se pueden automatizar y la búsqueda de patrones como demasiado limitante, así que solo utilícelos como un dispositivo de salida, pero no como el principal punto de interacción. Trabaja con los datos estructurados, tal vez los muestre en una GUI si es un gráfico, o tal vez no

  • Los puntos anteriores interactúan; la auditoría obligatoria significa que los gobiernos quieren un flujo continuo de información de cada usuario, que pueden buscar y recopilar estadísticas de toda la población, lo que significa que las GUI solo se pueden usar para visualización, pero toda la información debe provenir de un teclado.


La sección de pruebas de software obligatorias podría surgir en otro enfoque, la razón por la cual los servidores sin cabeza son tan populares hoy en día es que menos código significa una superficie de ataque más pequeña por consideraciones de seguridad. Si todo el software tuviera que pasar por un costoso proceso de auditoría regulatoria (o cualquier restricción que tenga un efecto similar, las compañías de software deben estar aseguradas contra el riesgo de que su código salga mal, y las compañías de seguros cobran por línea de código asegurada o por función). ), entonces 'menos código' empujaría a las industrias a preferir las TUI si es posible. Dado que una GUI tiene que mostrar texto y también gráficos, siempre resultará más caro.


Otra posible desviación de la historia del mundo real es que nuestros primeros dispositivos de salida eran pantallas RADAR y osciloscopios , con un haz de electrones escaneado de izquierda a derecha y modulado hacia arriba y hacia abajo por una señal analógica. Se convirtieron en CRT, que fueron la tecnología de visualización dominante durante muchos años.

Pero, ¿y si los CRT no pudieran volverse dominantes, por ejemplo, si los límites regulatorios prohibieran las cámaras de vacío en los dispositivos vendidos al público, porque eran demasiado peligrosos debido al riesgo de implosión?


Preocupaciones ambientales o comportamiento de búsqueda de rentas financieras. Si pudiera modificar el mundo para que mostrar una imagen costara significativamente más, cada vez, la gente la evitaría para un uso normal. por ejemplo, si hubiera una pantalla de 'texto' que venía con una computadora, y pudiera comprar una pantalla 'gráfica' como complemento para acompañarla, pero podría mostrar 1000 gráficos antes de que se agotara la licencia y fuera necesario renovarla, o costara un día de electricidad de texto para actualizar en comparación con la pantalla de texto. El mercado decidiría cómo hacer todo por texto, manteniendo las GUI disponibles para uso ocasional o para los ricos.

Haga un mejor trabajo enseñando a los niños a leer y escribir.

Dibujemos una línea entre un sistema que es capaz de hacer gráficos, cuando sea apropiado, y la GUI, que es para computar lo que "point & grunt" es para lenguaje. Entonces, el usuario de su computadora tiene lo que tengo en mis máquinas (4 en mi escritorio o junto a él en este momento): un administrador de ventanas que se ejecuta sobre X, que en su mayoría tiene un montón de ventanas xterm. Para interactuar con la computadora, uso el lenguaje en forma de comandos, en lugar de señalar algo y hacer clic con el mouse.

Ahora bien, esto no significa que no pueda hacer gráficos. Puedo hacer cualquier cosa, desde mirar fotos que descargué de mi cámara (con comandos de texto) hasta ver documentos PDF (que puedo haber creado con LaTeX basado en texto) y visualizar el resultado del programa de tomografía sísmica 3D en el que estoy trabajando. on (cuya entrada es texto). Simplemente no tengo que tener un ícono en el que haga clic para cada cosa que quiero hacer, y no tengo que perder el tiempo tratando de averiguar qué significan esos íconos, potencialmente miles de ellos. . (Si me encuentro con un comando de texto desconocido, puedo buscarlo en el manual o con un motor de búsqueda, tal como buscaría una palabra desconocida en un diccionario).

Si necesito una lista de comandos para usuarios que no están familiarizados con un sistema o aplicación, puedo usar menús de texto, como de hecho hago con el navegador (qupzilla) que estoy usando en este momento. Tiene algunos iconos GUI. en una barra en la parte superior, pero nunca he descubierto exactamente lo que significan, porque también hay un menú de texto útil.

Las GUI, en mi humilde opinión, son básicamente una muleta, necesaria porque una gran fracción de la población parece ser analfabeta funcional.

Eso ciertamente es consistente con los periódicos y gerentes que insisten en comunicarse a través de videos, en lugar de mensajes de texto.
Más en serio: aumentar la prevalencia y la popularidad de los rasgos de personalidad que producen tenedores de libros, bibliotecarios, nerds informáticos, etc., a expensas de los que producen vendedores, políticos y artistas. Haz de "geek" un cumplido. Haga que el "perfeccionismo" y la "experiencia" sean más deseables que los "trucos rápidos" y la "flexibilidad". Una GUI moderna es, después de todo, una forma para que un usuario no calificado administre una tarea, en la que nunca podrá mejorar.
Muchas, muchas personas altamente alfabetizadas (p. ej., personas con doctorados en literatura, autores consagrados, académicos, etc.) tienen poca o ninguna experiencia con las interfaces informáticas. Me parece extraordinario establecer un vínculo entre ellos.
@Ben Millwood: Debido a que las GUI aparecieron antes de que la mayoría de esas personas estuvieran expuestas a las computadoras, y luego Windows y MacIntosh les forzaron la GUI, por lo que nunca tuvieron la oportunidad de experimentar cuánto mejor puede ser una buena CLI.
@BenMillwood Estoy de acuerdo en que no se correlaciona fuertemente con el analfabetismo en lenguajes naturales. Pero, ¿qué se puede hacer con un ratón? Puede señalar cosas y luego expresar algunas intenciones diferentes (clic con el botón izquierdo, clic con el botón derecho, tal vez con el botón central o con la rueda o incluso con el cuarto clic del botón del mouse, etc.). Ese es el poder expresivo de señalar y gruñir. Con soporte de gestos, puede agitar la mano. Se necesitan acciones de teclado/modificador para obtener más flexibilidad. Un buen CLI tiene un poder expresivo mucho más comparable a un idioma. Es analfabetismo, solo que en un lenguaje informático completamente extraño.
Está bien, pero eso todavía significa que "Hacer un mejor trabajo enseñando a los niños a leer y escribir" no es la solución, porque la incapacidad de leer o escribir no es el problema.
@BenMillwood El problema de las GUI de apuntar y hacer clic probablemente no existiría si la población adulta cuando las computadoras se expusieron por primera vez a las masas ignorantes (: P) hubiera sido más alfabetizada. Pero hoy, sí, la razón por la que la gente debería estar más alfabetizada probablemente tenga poco que ver con las GUI.
@Nadie: No. Las tasas de alfabetización en el mundo occidental ya estaban en 98-99% en la década de 1970. Lo cual es otra razón por la que esta respuesta no es plausible.
@BenMillwood 98%-99% de las personas que, cuando se les presiona, pueden leer un texto corto y fácil con un poco de esfuerzo. Eso incluye analfabetos funcionales, dependiendo de sus estándares. Incluso hoy en día, las cifras son (mucho) peores que eso si define alfabetizado como algo así como "Comprende inmediatamente todo el texto que encuentra en la vida diaria sin ningún esfuerzo consciente; comprende la esencia de las principales obras literarias con poco esfuerzo; comprende la esencia de los contratos que firmar con la cantidad de tiempo y esfuerzo necesarios en una proporción sensible a la importancia del contrato".
@Ben Millwood: Sí, como dice Nadie. Puede observar la cantidad de productos que brindan videos instructivos, aunque para una persona alfabetizada funcionalmente, el texto hace un trabajo mucho mejor al transmitir información a un costo mucho menor. O considere por qué tantas personas ven televisión y películas, a pesar de que los libros generalmente hacen un mejor trabajo al contar una historia.
@Nadie, sin embargo, tenga en cuenta que "alfabetización" y "alfabetización funcional" pueden significar esencialmente cualquier cosa que un escritor quiera que signifiquen. En algún lugar, alguien está etiquetando a las personas que luchan por analizar a Shakespeare a nivel universitario como "analfabetos funcionales" para respaldar su solicitud de otros cinco millones de dólares en subvenciones para construir Centros de Lectura para Adultos.
@RobertColumbia Estaba tratando de explicar qué nivel de alfabetización pensé que era necesario para que las interfaces de computadora evolucionaran de manera diferente. Ya sea que llame a las personas por debajo de ese nivel analfabetos funcionales o lo que sea, es una pregunta completamente diferente que no estaba tratando de responder.
Curiosamente, muchos programadores que conozco son analfabetos funcionales.
@idrougge: Debe asociarse con un grupo de programadores diferente al que tengo. (¿Apple o Microsoft, tal vez?) Casi todos los que conozco leen libros, y no solo manuales de programación.
No, estoy pensando sobre todo en los barbudos que solo leen páginas man de Unix y ciencia ficción pulp.
@idrougge: La ciencia ficción pulp viene en libros, y uno tiene que saber leer y escribir para leerla. (Y para apreciarlo a menudo se requiere un mayor grado de alfabetización científica, técnica y antropológica que otros tipos de escritura). Puede que no sea del gusto de su persona, pero ese es un asunto bastante diferente.
@jamesqf Especialmente si eso es todo lo que has leído.

Trate de ver "para qué" realmente quiere usar la informática. ¿Seguirán todos tan conectados como en estos días? si es así, ¿podrían estar usando versiones más potentes de los primeros teléfonos móviles que tenían botones y una pantalla LCD (mi viejo Ericsson A1018 era así). O está buscando más un mundo computarizado, pero sin necesitar necesariamente el nivel de entrada del usuario que tenemos ahora?

Me refiero, por ejemplo, a buscar 'internet de las cosas'. El concepto básico es que todo lo que nos rodea ahora tiene una computadora (hervidores, tostadoras) que están todos interconectados para formar su propia red. Sin embargo, los microcontroladores dentro de ellos rara vez tienen una GUI. A lo sumo, hay muchas licuadoras/procesadores de alimentos que tienen botones para cocinar "inteligentemente". Estos son botones de función dedicados, mientras que el microcontrolador interno simplemente (o no tan simple) lee los datos de algunos sensores y aplica cierta lógica al modo de cocción.

El Raspberry Pi es otro buen ejemplo moderno. Aunque normalmente está conectado a un mouse/teclado y TV/monitor, no necesita ninguna de estas cosas para funcionar. Los he visto configurados como servidores informáticos inalámbricos; uno de mis compañeros tiene la mitad de su casa automatizada con microcontroladores, incluyendo cámaras wifi y su impresora 3D, todo conectado a través de la Pi como servidor. Puede acceder a su impresora en el trabajo y mirarla en la cámara para asegurarse de que su casa no esté en llamas, pero el punto es que el Pi en sí no tiene GUI, y la tableta o lo que sea que use para acceder no es más que una terminal tonta.

SI está hablando únicamente de cómo acceder a la computadora sin la interfaz gráfica, entonces el siguiente nivel hacia arriba (o hacia abajo) sería el antiguo interruptor DIP y el enfoque de puente para la programación/uso de la computadora. Tengo una de las primeras computadoras portátiles Amstrad PPC512 en casa que consta de una pantalla LCD monocromática, dos unidades de disquete, un módem y no tiene disco duro ni ningún tipo de sistema operativo, aparte del que se usa en el disquete de arranque. La configuración de la fuente de disquete, monitor externo, etc. se realizó con una serie de interruptores DIP en el lateral.

Hay muchos otros buenos ejemplos a lo largo de la historia de la informática: la computadora Apolo utilizada durante los alunizajes tenía la interfaz DSKY, que estaba equipada con botones de función dedicados (sustantivo, verbo) y lecturas de 7 segmentos. Las calculadoras gráficas serían otro ejemplo que podría "tomar prestado" y modernizar.

TLDR: Su mundo comenzó con computadoras pre-GUI como la computadora de guía Apollo. En lugar de que la computadora de escritorio / monitor se convirtiera en estándar, la investigación se centró en computadoras portátiles como calculadoras gráficas y tecnología de telefonía móvil temprana, mientras que la industria se centró en computadoras de un solo uso programadas por interruptor DIP. En el momento en que Internet convencional estuvo disponible para vincular los dispositivos IOT, la gente todavía confiaba predominantemente en sistemas basados ​​en texto como sus teléfonos con botones.

Algo un poco menos anacrónico sería eso, o los dispositivos de retroalimentación háptica (vibradores o teclados braille) se inventaron antes. Tal vez la IA se desarrolló antes, lo que reduce la necesidad de computación 'práctica', aunque esto comienza a superponerse al enfoque activado por voz como se mencionó en una publicación anterior.

¿Estás obligado a que los usuarios sean como humanos? Si los sentidos del usuario no están dominados por la visión, puede descuidar la GUI e ir más a una interfaz de usuario táctil/sonora/olor.

Básicamente, puedes imaginarte un ser parecido a un topo usando una computadora.

La mayoría de estas respuestas se centran en que la tecnología se está reteniendo, voy a suponer que avanza rápidamente. Comunicación directa con la computadora a través de ondas cerebrales a través de cables inventados antes de las GUI.

Si usa telepatía o implantes neurales para comunicarse con su computadora, no se necesita teclado, mouse, GUI, etc. Tienes un enlace directo entre el cerebro y la computadora con un tiempo de reacción muy superior.

El único problema posible es que las personas pueden optar por visualizar una GUI en su mente. Sin embargo, dudo que sea útil con la conexión directa de la computadora al cerebro.

Dudo que la gente evite usar representaciones gráficas con conexión directa entre el cerebro y la computadora. La vista es, con mucho, dominante en los humanos, es por eso que las GUI funcionan en primer lugar. Incluso pensar en problemas en mi cabeza implica visualizar cosas "como si estuvieran a la vista". Incluso pensando en las CLI, tengo una imagen de una CLI en mi cabeza. De hecho, me imagino golpeando el teclado ahora mismo :)
@Luaan I, los teclados de mi mundo nunca se inventaron debido al enlace cerebral, por lo que no sabes cuál es, así que puedes imaginarte golpeando uno.
Las computadoras no inventaron los teclados. Los teclados existieron mucho antes que las computadoras. ¿Estás diciendo que la gente pasó directamente de dibujar a mano en una hoja de papel a la interfaz cerebro-computadora? ¿Por qué no hay máquinas de escribir? ¿Por qué no hay pianos para el caso? ¿Sin imprenta? Incluso entonces, simplemente me imaginaría escribiendo a mano, en lugar de golpear el teclado; realmente no cambia mucho el argumento :)
Estoy diciendo en la pregunta de la persona que están en una realidad alternativa, ya que ya tenemos GUI. Los pianos, etc. pueden tener teclados, pero no computadoras. Dado que puede pensar más rápido de lo que puede hablar, escribir, hacer clic o escribir, la interfaz neutral sería la forma dominante de hacer las cosas. Una GUI simplemente lo ralentizaría.
  1. Antes de que las computadoras sean lo suficientemente poderosas para los gráficos, invierta mucho en educación informática, comenzando desde la escuela primaria. Esta sería probablemente una buena inversión de todos modos, al menos en retrospectiva.
  2. Todos podrán usar una terminal. No se puede enseñar informática teórica a niños de primer grado (también se desconocía gran parte de ella en ese entonces), comenzará con un enfoque muy práctico de la informática, lo que implica un uso intensivo de computadoras reales; programación. De todos modos, esa es la parte que es útil para la población en general, para que puedan automatizar pequeños problemas en su vida diaria/lugar de trabajo.
  3. Todos podrán usar una terminal de manera más eficiente que los programas gráficos porque ya saben cómo hacerlo y las terminales son inherentemente mejores, por lo que la inversión para aprender GUI no valdría la pena.
  4. No habría necesidad de interfaces gráficas de usuario.

Es decir, todavía habría salida gráfica, pero solo para cosas como obtener una vista previa de los modelos 3D que describe textualmente (¡existe! En mi opinión, es realmente fácil de aprender y poderoso), obtener una vista previa de los documentos que escribió en algo como LaTeX, ver imágenes y videos , etc.

La informática y el uso de la computadora en su mayoría no están relacionados.
@Raphael Obviamente, al menos de una manera. Pero al mismo tiempo, la informática implica programación y la programación implica poder usar una computadora para programar y poder programar programas para computadoras existentes. Es decir, podrá usar una terminal y crear programas que se ejecuten en la terminal. Ahora explícame por qué alguien con esa experiencia usaría un intento temprano (probablemente de mierda) de una GUI, o incluso uno moderno que usó (desperdició: P) millones de horas-hombre durante su creación.
"La ciencia de la computación implica programación" -- no necesariamente, no. No más que la física implica soldadura.
@Raphael No me importan las implicaciones filosóficas descabelladas. Claro, CS no es equivalente a la programación, eso no es lo que estaba diciendo. Pero si estudias informática, escribirás mucho código. No hay forma de evitarlo. Demonios, si estudias física, también escribirás mucho código, aunque menos que los estudiantes de informática (la soldadura, por otro lado, definitivamente no está en el plan de estudios al menos donde yo estudio). Si desea una prueba, consulte el plan de estudios de CS del primer año en cualquier universidad grande. O echa un vistazo a esto: vvz.ethz.ch/Vorlesungsverzeichnis/…
"Pero si estudias informática, entonces escribirás mucho código", tal vez, pero no necesariamente. Conozco personalmente una serie de contraejemplos. Sin embargo, tienes razón al decir que no es la norma. De todos modos, aparentemente tengo que aclarar mi punto: probablemente desee proponer la enseñanza de habilidades informáticas, incluida la programación, no las ciencias de la computación. Eso es similar a que enseñar física es el curso de acción incorrecto si desea que las personas suelden en lugar de pegar.
@Raphael Eso es exactamente lo que no estoy proponiendo. Lo que realmente deberían aprender son los conceptos importantes de la informática. No puedes enseñar conceptos solo (si lo haces a estudiantes universitarios, encontrarán tu curso aburrido a menos que estudien matemáticas, si lo intentas en educación primaria/secundaria, simplemente no lo entenderán). Entonces, ¿adivina qué aplicaciones (algo que los niños pueden hacer en la escuela y como tarea) van bien con los conceptos de CS? ¿Cómo sería una muestra representativa? ¿De verdad quieres decirme que eso no incluye programación?
Ciertamente, de la misma manera puedes aplicar la física jugando con bloques de construcción. No cambia eso, en mi experiencia, la superposición entre los grupos de personas que están interesadas (y entienden) los conceptos importantes de CS y aquellos que son ávidos programadores se superponen menos de lo que la mayoría de la gente piensa. De hecho, la educación escolar en computación centrada en computadoras/programación asusta a muchos jóvenes y los aleja del campo.
@Raphael ¿Qué tal si me dice cómo cree que sería una muestra representativa de combinaciones apropiadas de concepto/aplicación para jóvenes estudiantes de informática en lugar de hacer extrañas comparaciones de física que no me dicen nada más que no está de acuerdo? ¿Cómo enseña, por ejemplo, algoritmos y estructuras de datos? ¿Cuáles espero que esté de acuerdo son conceptos importantes de CS?

Obviamente, necesita mantener las computadoras caras. Sin microprocesadores baratos significa que no hay pantallas baratas impulsadas por microprocesadores, y probablemente tampoco GPU multinúcleo. Regrese a la visión de los años 60 de terminales en cada hogar que se conectan a una computadora central. Mantenga el ancho de banda bajo para que los gráficos no sean suficientes (¿recuerda los minutos de espera para que las páginas web se descarguen en los años 90?). Tal vez hacer que la utilidad de la computadora local sea algo así como una biblioteca, con muchas terminales de acceso público y algunas impresoras de alta velocidad para que la gente pueda imprimir cosas y llevárselas a casa. Recuerdo que en la universidad, las terminales en las salas de terminales de los dormitorios funcionaban con líneas arrendadas de 2400 baudios. Cuando ingresaba al campus, las terminales estaban en líneas directas de 9600 baudios, fue un gran incentivo para trabajar en los laboratorios del campus.

Mira esto: https://en.wikipedia.org/wiki/HAL_9000

HAL 9000 es una inteligencia artificial. Es cierto que HAL tiene monitores para mostrar cosas. Pero la parte de "Interacción" en GUI es verbal.

Solo cuando HAL se descompone y pierde sus habilidades de comunicación verbal, necesita la entrada del teclado, que realiza el Dr. Chandra.

Otra posibilidad serían las leyes de patentes que no estaban preparadas para manejar la tecnología. Un escenario en el que las patentes fueran un poco más amplias que en la actualidad y tuvieran un período de 50 años o más, podría permitir que alguien patentara la visualización de la GUI, la interacción basada en el movimiento con una computadora y/o algún otro aspecto esencial para las GUI o la GUI. interacción.

Para proteger su marca, el propietario de la patente fija el precio de la licencia de la patente fuera del alcance de la mayoría de los consumidores. En cambio, lo licencian a precios exorbitantes a industrias que absolutamente no pueden funcionar sin él. Tal vez vendan computadoras con capacidades GUI, o tal vez vendan software, o vendan un conjunto de herramientas de software para crear software, o tal vez alguna combinación como Apple.

Las leyes se han cambiado desde entonces para evitar ese tipo de problema, pero no pueden invalidar retroactivamente la patente.

Si hablamos de humanos, seguramente vendrán con ideas para GUI; usar los ojos y las manos en combinación es una de tus ventajas evolutivas. Estamos tan especializados en esto y hemos estado dibujando cosas durante miles de años, que no se puede eludir la idea .

Por lo tanto, debe encontrar formas de evitar que estas ideas se ejecuten.

Un ángulo posible es la energía . Calcular la salida visual y mostrarla requiere mucha energía. Es probablemente para lo que la mayoría de los dispositivos orientados al usuario consumen más energía, incluso con la tecnología de visualización moderna.

Entonces, si la energía es, históricamente, mucho más cara de lo que ha sido en nuestro mundo (¿quizás los combustibles fósiles no existieron, o nos dimos cuenta pronto y dejamos de usarlos tanto?), entonces la eficiencia energética se convierte en un factor en el diseño de dispositivos informáticos. mucho antes de lo que lo ha hecho en nuestro mundo. Una vez que las interfaces de texto son ubicuas, la GUI probablemente tenga poca tracción fuera de las aplicaciones especializadas.

Asegúrese de inventar algo más que pantallas para la salida. Nuestras interfaces de texto aún necesitan uno, y las interfaces de texto más útiles también usan colores.

Mata a Doug Englebart antes de 1968 y haz explotar el laboratorio de automatización de SRI. Para estar doblemente seguro, asegúrese de que Alan Kay nunca nazca y deje caer una bomba nuclear táctica en Xerox PARC. También deberá hacer algo para reducir la productividad de los programadores para que nunca se lleven a cabo proyectos como los que condujeron a las GUI, así que asegúrese de que los programadores de computadoras tengan licencia y estén regulados por el gobierno federal, las herramientas de programación requieren una licencia para comprar y los costos son increíblemente alto, prohibir la producción de cualquier computadora más pequeña que una mini-van, y hacer de COBOL el único lenguaje de programación sancionado. (Lo siento, Grace, pero según los estándares actuales es un cerdo...). Eso debería hacer 'er ..!

matar ventanas

Haga que la empresa que inventa las GUI haga que su nombre sea peor que el barro, por ejemplo, plantando spyware en las GUI. Luego, las GUI están vinculadas al nombre de la empresa más infame del mundo. También señale que las GUI usan mucha más potencia de CPU, RAM, etc. que las TUI. La combinación de estos dos factores (sin GUI y más hardware disponible para su software (que no está siendo consumido por su sistema operativo (que en realidad solo funciona sin problemas en segundo plano, solo usa 0.5 k de RAM))) es mucho más esfuerzo dedicarse a hacer cosas útiles, como reconocimiento de voz, IA y otras cosas por el estilo.

¿"Ventanas"? Se detectó un chip antimicrosoft en el hombro. Las computadoras tenían GUI ( 1973 ) antes de que existiera Microsoft, y pasaron 10 años después de la fundación de Microsoft hasta que comenzaron con Windows. Y realmente no pueden usar " mucha más potencia " si las computadoras de la década de 1970 pudieran usarse para GUI, pero las PC de IBM de la década de 1990 se usaban a menudo para interfaces solo de DOS, las computadoras veinte años más antiguas simplemente no eran mucho más poderosas.
@TessellatingHeckler Windows 10: las PC con especificaciones sin Windows son mucho mejores que las computadoras de 1970