¿Qué características predeterminadas falta en Windows que se requieren para los programadores? [cerrado]

13

Qué características le faltan a Windows que pueden mejorar la productividad de un programador. Sé que mucha gente querría algunas características de Linux y OSX portadas o creadas también para Windows. ¿Qué te falta?

Un ejemplo sería la opción de tener múltiples espacios de trabajo. Cuando no tiene la posibilidad de usar monitores duales que pueden ser útiles.

Ygrec
fuente
Múltiples espacios de trabajo? ¿Quieres decir ... subdirectorios?
Shog9
10
@ Mr.CRT ¿alguna vez has usado Linux?
Ygrec
77
Creo que por "espacios de trabajo" se refiere a escritorios virtuales.
Jesse Buchanan
@Ygrec: sí. Si, como adivina jbinto, te refieres a escritorios virtuales, entonces no estoy seguro de cómo eso califica como una herramienta de programación esencial. Los encuentro muy útiles para tareas como la edición de imágenes, pero para la programación es suficiente tener varias consolas abiertas a la vez, y ambos sistemas operativos admiten eso (aunque con una ... diferencia triste en los shells disponibles).
Shog9
Tanto gnome como kde se refieren a la función de los escritorios virtuales como espacios de trabajo que son, con mucho, los entornos de escritorio de Linux más comunes, tomate / tomate.
Quaternion

Respuestas:

14

Un compilador y un shell útil.


Aclaración basada en los comentarios:

No estaba claro, debería haber escrito el compilador C / C ++. Los compiladores para C # o Fortran no cuentan, ya que muchas de las herramientas y bibliotecas que necesita requieren un compilador C o C ++. Solía ​​ser realmente malo, donde no se podían construir extensiones C para Python con otro compilador que Microsofts, porque eso es con lo que se compiló Python, creo que MinGW ha resuelto esto y puedes hacerlo con MinGW ahora, pero esa es una buena razón por qué un compilador estándar de C / C ++ debería haberse incluido o estar disponible de forma gratuita hace 20 años. Microsoft solo recientemente está comenzando a comprender el poder de tener disponible un ejército de programadores de pasatiempos.

No he usado PowerShell, tal vez sea bueno. Pero la utilidad de bash para mí no está en el lenguaje shell. La familia de lenguas * sh son bestias horribles de todos modos. Incluso prefiero archivos por lotes. ;) Me refiero a cosas como la recuperación y búsqueda del historial de comandos, que son relativamente básicas en Windows, y que tienen tuberías y cosas de las que estoy hablando (y veo que PowerShell tiene tuberías, así que eso es bueno).

Hay cosas que también son buenas en Windows, pero ese es otro tema. ;)

Lennart Regebro
fuente
2
Es por eso que las distribuciones de Linux normalmente incluyen varios compiladores e intérpretes con muchos más disponibles desde el administrador de paquetes.
david4dev
1
@Victor Hurdugaci: Tienes un punto allí, pero el que más falta es, por supuesto, un compilador para C / C ++.
Lennart Regebro
44
Seguramente esta respuesta está desactualizada: obtienes un compilador y un shell razonable (powershell) en Windows 7.
FinnNk
1
@ Matt: Bueno, eso es solo fanatismo del lenguaje de tu parte. Hay muchos compiladores gratuitos disponibles para otros idiomas además de los idiomas de Microsoft, y dudo que los acusen de presionarlo.
Robert Harvey
44
Un shell útil seguro. Absolutamente ridículo que en 2010 simplemente no pueda maximizar la ventana del símbolo del sistema. WTF ?!
Colin Goudie
10
  • La capacidad de escribir y ejecutar programas en varios lenguajes (C, C ++, Python, Perl, Ruby ...) sin tener que instalar nada adicional.
  • Tener al menos un editor de texto con resaltado de sintaxis instalado de forma predeterminada.
  • Un administrador de paquetes para que pueda instalar fácilmente bibliotecas adicionales, sistemas de control de versiones, IDE, etc.
  • Una potente interfaz de línea de comandos.
  • La capacidad de ajustar la GUI para obtener la máxima eficiencia (atajos de teclado, esquinas activas, etc.)
  • páginas de manual
  • Tener el código fuente del sistema operativo y los paquetes de software fácilmente disponibles y con licencia permisiva para que pueda reutilizarlo.
  • Buen rendimiento en hardware modesto.
david4dev
fuente
2
"Tener el código fuente del sistema operativo y los paquetes de software fácilmente disponibles y con licencia permisiva para que pueda reutilizarlo". ¿Qué?
Ygrec
2
apt-get source package-namecuando quiera saber cómo funciona un paquete de software en particular.
david4dev
44
No estoy de acuerdo con tu primer punto. ¿Por qué llenar el sistema operativo con diferentes editores, compiladores y entornos de tiempo de ejecución, con la esperanza de satisfacer a todos? Es mejor dejar que cada programador instale las cosas que necesita.
Victor Hurdugaci
3
@Victor Hurdugaci: Eso sería cierto si Windows ya no estuviera hinchado aparentemente sin nada. Una instalación típica de Linux es un orden de magnitud menor, y viene con todas estas cosas.
Matt Joiner
2
(1) Acabo de instalar Ubunto y tuve que instalar los idiomas y la herramienta de desarrollo por separado, tal como lo hago en Windows. (2) Notepad es de hecho un editor predeterminado inadecuado; TextPad está más cerca de un punto óptimo. (4) El soporte general del teclado de Windows es mejor que cualquier escritorio de Linux que haya usado; Puedo operar el escritorio y la mayoría de las aplicaciones sin un mouse incluso conectado.
Mud
4

Podría eliminar "requerido" del título, ya que he desarrollado para Windows felizmente durante casi 20 años. Por supuesto, he desarrollado una buena caja de herramientas de utilidades y herramientas. Ver la lista de Scott Hanselmann para empezar. Es de primera categoría y mira hacia atrás hasta el 2003.

Por cierto, Windows 7 incluye PowerShell que ayuda con los comentarios de "shell decente".

Dicho esto, siempre es bueno tener mejores herramientas integradas. Tome cualquiera de las herramientas en la lista de Scott.

De manera realista, MS ciertamente podría mejorar la interfaz de usuario de muchas herramientas integradas, como regedit, task mgr (cf. Process Monitor) y las herramientas de visualización de eventos. Sería bueno tener soporte incorporado para múltiples portapapeles. Desde OSX, me gustaría exponer y su soporte multi-escritorio es bueno. Sería bueno que Windows nativamente (también conocido como más fácilmente) admitiera arrastrar texto desde cuadros de texto.

XCode realmente apesta a IMO, así que no querría eso en Windows. VS es mucho mejor, pero no está integrado, por lo que quizás VS Expess esté integrado con la capacidad de actualizarse. Por supuesto, la huella del sistema operativo crece con esto (como lo hace OSX), por lo que también hay un inconveniente.

distribuido gcc es muy bueno, por lo que sería muy bienvenido como marco integrado para que lo use cualquier compilador (consulte Incredibuild para obtener una solución VS).

Sería bueno si fuera más fácil obtener y usar una compilación comprobada del sistema operativo para encontrar problemas. El uso de cables de depuración es un poco extremo para la buena información que obtiene de la compilación comprobada. Las máquinas virtuales pueden hacer esto fácilmente; si es así, alguien comente con un enlace.

jschroedl
fuente
Sí, un IDE básico sería especialmente bueno, ya que un editor de texto moderadamente correcto sería un comienzo.
FinnNk
@FinnNk, ¿qué requisitos tiene para un editor de texto "moderadamente correcto"?
Algo de soporte para resaltado de sintaxis, búsqueda / reemplazo de expresiones regulares, múltiples ventanas, espacios en blanco visibles y numeración de líneas, por lo que no tengo en mente algo como emacs (aunque eso sería una buena opción). Aunque en realidad no es un editor de texto, para pequeños fragmentos de código .net en estos días uso mucho LinqPad.
FinnNk
4

BASH, sed, grep, awk, find y ssh

Delaware
fuente
He ejecutado la mayoría de esos en Windows ... y puedo hacer la mayor parte de lo anterior con powershell.
Murph
2
ssh con soporte para x windows;) Bash es poderoso pero todo lo que hay debajo es personalizable, un shell es tan poderoso como los recursos que puede manipular.
Quaternion
¿Desde cuándo se requieren awk y sed para un programador?
Dinámico
2
  • Copiar / pegar para múltiples objetos
  • Pegar sin formato (sin información de fuente / tamaño)

fuente
3
+1 para sin formato. Siempre termino pegando en un área de texto en una página web o un bloc de notas y luego cortando para eliminar estilos de texto.
Macneil
3
Windows admite el pegado de texto sin formato, las aplicaciones solo necesitan implementarlo como una opción.
GrandmasterB
1
@GrandmasterB Entonces es un deseo que los portapapeles sin formato sean los predeterminados.
pestaa
2

La capacidad de cambiar la interfaz de usuario a diferentes niveles de conocimiento de los usuarios.

Por ejemplo, como desarrollador / administrador, es posible que necesite un nivel experto en la interfaz de usuario.

Amir Rezaei
fuente
1

Las herramientas de procesamiento de archivos Unix (wc, sort, uniq, awk, cat, grep, find, etcétera), que incluyen, como otros han mencionado, un buen shell (por ejemplo, bash).

Para ser productivo en Windows, cuando estoy trabajando con cualquier cosa relacionada con el texto, eventualmente tendré que ir a la caja de herramientas de comandos de Unix. Afortunadamente, Cygwin es un excelente recurso solo para ese propósito.

Dicho esto, es necesario "domesticar" a Cygwin para que funcione bien con el sistema de archivos de Windows; a menos que anule algunas configuraciones predeterminadas, puede obtener archivos con permisos desagradables que son difíciles de eliminar. Si está muy por encima de las necesidades básicas, es mejor que tenga una VM o un arranque dual, pero para mis propósitos, estoy bastante satisfecho con Cygwin.

Macneil
fuente
0

Estoy de acuerdo con las otras publicaciones para agregar:

Echo de menos ssh con x reenvío vs escritorio remoto de Windows. Para aquellos que no saben, puede ejecutar un programa de escritorio a través de la red, pero actúa como una ventana local.

Cuaternio
fuente
0

Soporte para argumentos de línea de comando más largos. Te encontrarás rápidamente con problemas al crear soluciones java complejas que no usen sistemas de compilación Microsofts.

Morten
fuente
0

valgrindy gcov?

Utilizo PowerShell cuando desarrollo en Windows (como pasatiempo) y he instalado las herramientas GnuWin32 (sed, awk, grep, etc.) y Python para obtener una secuencia de comandos fácil, así que no hay problema.

Pero me encuentro golpeando una pared cada vez que quiero inspeccionar mi programa ... Claro que puedo usar el depurador (un poco) pero:

  • ¿Cómo se detecta una pérdida de memoria?
  • ¿Cómo se identifican los cerdos de memoria?
  • ¿Cómo se identifican los puntos calientes?
  • ¿Cómo se identifican las partes no utilizadas / no probadas del código?

He visto algunas herramientas aquí y allá y había una buena pregunta sobre StackOverflow y la cantidad de herramientas enumeradas es bastante aterradora ... y sus limitaciones también.

Linux ha sido creado por desarrolladores para desarrolladores, por lo que tiene muchas más herramientas amigables para desarrolladores :)

Matthieu M.
fuente
0

Copiar / pegar con la función de historial.

Por suerte, ClipX ofrece una solución:

ClipX

PD: no estoy afiliado a ClipX;)

Arcturus
fuente
-1

Un shell decente, más un compilador sería un buen comienzo en lo que respecta a las características "predeterminadas".

NPE
fuente
csc.exe está incluido en .NET framework. Puede compilar código C # con él.
Victor Hurdugaci
@Victor: ¿Está incluido con el stock de Windows?
Josh K
Si. .NET 3.0 se envía con Windows 2008 y Vista, mientras que 3.5 se envía con Windows 7.
Victor Hurdugaci
3
Estoy de acuerdo, si estamos hablando de la versión actual de Windows, entonces esta respuesta no tiene sentido: obtienes un compilador y un PowerShell.
FinnNk