Google
 
Mostrando entradas con la etiqueta windows. Mostrar todas las entradas
Mostrando entradas con la etiqueta windows. Mostrar todas las entradas

miércoles, marzo 05, 2008

Una linea de comandes decente para Windows

El terminal que viene por defecto con Windows apesta, simple y llanamente. Microsoft, consciente de ello, sacó hace tiempo el Windows PowerShell que aumenta enormemente el potencial de la linea de comandos. Pero a los que nos gusta el shell de Linux/Unix no nos acabamos de sentir cómodos. Por suerte tenemos Cygwin, que supongo que todos conocereis, pero Cygwin usa el cutre-terminal de Windows.

La gran noticia es que se puede usar el terminal del PowerShell con una shell bash de Cygwin. Cread un nuevo acceso directo que diga:

%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -command "& {c:\bin\cygwin\cygwin.bat}"

Y listo. Tendréis un bonito shell con un terminal decente sobre el que poder trabajar. Es rápido y al fin podréis cambiar el tamaño de la ventana al vuelo.

Nota: canviad c:\bin\cygwin\ por el directorio donde tengáis instalado cygwin.

jueves, enero 10, 2008

¿Porqué los sistemas operativos están en C?

No me refiero a esos sistemas operativos de juguete que pululan por la red, sino a los que son productivos: Windows, Linux, MacOS, etc... No es que no quieran usar otros lenguajes radicalmente diferentes, es que ni tan siquiera se atreven a tirar de C++ (MacOS con su Objective-C poca diferencia tiene con el C normal).

Después de mi visita diaria a Reddit lo he visto claro. No es cuestión de encontrar una respuesta sino de encontrar la pregunta correcta (como dirían los budistas). La realidad es que no hay lenguajes malos para crear un S.O. lo que hay son CPUs que no se llevan bien con determinados lenguajes.

Y es que después de que se programara el primer Unix en C, las CPUs han tendido a acomodarse más a este lenguaje. La forma en que trabaja el lenguaje ensamblador de, digamos por ejemplo 8086, está íntimamente ligada a la forma en trabaja el lenguaje C.

Una prueba de lo que digo son las Lisp Machines y las CPUs para Forth. ¿Porqué si no hacer CPUs para unos lenguajes en concreto? Pues porque una CPU modelada para usarla con C nunca se podría exprimir al máximo con Forth (por ejemplo).