El post que buscas se encuentra eliminado, pero este también te puede interesar

Porque Windows SI es mas facil que Linux

Anuncios

Aclaracion para tadingas !!!:
* Facil no necesariamente significa mejor o mas seguro.
* No estoy diciendo que Windows sea mejor o peor sistema operativo que GNU/Linux
* No estoy diciendo que existan tareas imposibles de realizar en una distro Linux


Porque Windows SI es mas facil que Linux
Este texto fue 100% escrito por mi, basado en mi larga experiencia con sistemas Windows y GNU/Linux.
Mi trabajo es programar software comercial para ambas plataformas asi que conozco muy bien sobre este asunto.

Recientemente lei por ahi algo que me parecio muy errado:
"La facilidad de un Sistema Operativo depende en parte de la costumbre que tenga el usuario a trabajar con el mismo"
Eso es totalmente falso.
El error esta al confundir "costumbre y experiencia" con "dificultad".
Es sabido que el "español" es un idioma complejo comparandolo con el ingles (reglas de acentuacion, distincion de sexo el/ella, etc).
Yo que creci con el castellano en mi sangre ya lo se hablar muy bien, eso significa que el ingles es mas dificil?. Obviamente no. Aun sigue siendo mas facil.

Y para dejar las cosas aun mas claras voy a dar algunos ejemplos que ciertamente demuestra el porque Windows SI es mas facil que GNU/Linux


Registro de Windows:
El registro de Windows es una base de datos pensada para almacenar, en forma eficiente y estructurada, toda la configuracion de Windows y demas programas.

Antiguamente en Windows 3.1 se utilizaban archivos de texto con extension ".ini" pero demostro ser un desastre absoluto.
Imaginen un programa que por error genere un archivo C:/WINDOWS/system.ini... terrible problemon.
Afortunadamente la gente de Microsoft aprendio y se les ocurrio la idea del registro.

Como programador no me tengo que preocupar en donde crear un archivo de configuracion.
Simplemente hago llamadas a algunas funciones de la libreria ADVAPI32.DLL que esta presente en todas las versiones de Windows.
Eso es facil.
No importa si uso Windows 98, Me, 2000, XP, 2003, Vista, 2008, CE, Multipoint o 7.
Siempre voy a tener disponible esa base de datos y esa libreria ADVAPI32.DLL para que yo pueda almacenar mis configuraciones.

En cambio en GNU/Linux tengo que crear archivos de texto en un formato no standarizado (a mi antojo).
Y lo peor de todo es... donde guardo ese archivito?
Como sabe las demas personas donde lo guarde?
Entonces comparemos, en que sistema es mas sencillo?


Regedit.exe:
Como explique mas arriba, en Windows no es necesario crear un archivo de configuracion por cada programa.
Todo se almacena en una base de datos conocida como "Registro de Windows" y "regedit.exe" es la herramienta de Microsoft pensada para explorar y editar su contenido.
Pero aun hay mas...
regedit.exe permite exportar e importar archivos .reg
Supongamos que quiero compartir con un amigo la configuracion de algun programa... no se por ej. del "Ares"
Que tengo que hacer? simple... exporto: HKEY_CURRENT_USER/Software/Ares a un archivo "ares.reg" y se le envio x email.
Finalmente mi amigo lo unico que tiene que hacerle doble-click y listo !
Eso es simplicidad. Bien facil.
Intenta hacerlo en menos pasos en Linux.


"Program Files" (Archivos de programa):
Donde se almacenan los programas que instalo ?
El 99,99% queda en "C:/Archivos de programa" (Program Files).
No importa lo que instales... es casi seguro que si alguien te pide que le copies por ej. un soft contable a un pen drive... seguramente este estara ubicado en esa carpeta.
En linux no hay un standard, dependiendo de la distro varia y mucho (y ni hablar con distribuciones minimalistas).


Ejecutables segun su extension:
En Windows si un archivo termina con la extension .exe si o si es un ejecutable.
Que puede ser mas simple que eso ?
En Linux es muy diferente. Podes tener tranquilamente un archivo holamundo.exe pero para que se ejecute le tenes asignar permisos de ejecucion, al menos para tu usuario (chmod u+x holamundo.exe)
Por esa razon los ejecutables en Linux generalmente no llevan ninguna extension haciendo las cosas un poquitito mas dificiles en comparacion con Windows.
Intenta identificar ejecutables desde una terminal remota. Tenes que estar leyendo sus bits de modos para ver si tiene una "x" y no empieza don "d" de directorio.
No hace falta aclarar la tremeneda diferencia de dificultad.


Programas portables:
Recien explique que en Windows, si encontras un archivo que termina en .exe, es un ejecutable, verdad?
Entonces si subo sin comprimir ese .exe a mi web y vos lo descargas... no hace falta que lo instales. Lo ejecutas directamente.
En Linux no existe tal cosa. Trata de subir un ejecutable, descargarlo y despues ejecutarlo.
Para solucionarlo tenes dos alternativas:
1) bajar y despues asigarnle permisos "+x" o
2) empaquetarlo con por ejemplo Tar y Gzip para que conseve en el paquete los atributos de ejecucion.


API de Windows para el desarrollo de software simple y standarizado:
Este es el punto que marca un diferencia impresionante de dificultad entre ambos sistemas.
Desde el punto de vista de la programacion de aplicaciones nativas para Windows, todo se resume a unas pocas librerias:
kernel32.dll, user32.dll, gdi32.dll, advapi32.dll, comctl32.dll, wsock32.dll.. entre otras.
No importa si usas Visual Basic, Visual C++, C++Builder, Intel compiler, Open Watcom para Windows, Delphi, etc etc...
Al final el .exe va a contener llamadas a estas librerias que estan SIEMPRE disponibles en todas las versiones de Windows.
Crea una ventana que diga "Hola mundo" en Windows es muy facil
Solo tengo que llamar a las funciones RegisterClass y CreateWindowEx y listo!!
Apenas unas pocas lineas de codigo y va a funcionar en cualquier Windows.
Intenta hacer lo mismo en GNU/Linux... jajaja, que librerias pensas usar? GTK+, wxWidgets, Qt, SDL, etc???
Y con las dependencias que hacemos? como se lo explicas a tus amigos?
Claramente es terriblemente mas complejo en GNU/Linux, es tan complejo que se vieron obligados a inventar un sistema que los asistiera para esa tarea (apt por ej. en debian).


Desarrollo de juegos:
Si usas Windows y te gustan los juegos seguramente conoces la palabra DirectX
DirectX son varias librerias pensadas para dar una solucion completa a los desarrolladores de juegos.
Y ojo... que no solo se trata de graficos en 3D, ademas tiene muchisimas funciones para 2D, sonido, musica, jugabilidad en red local y/o via internet, metodos de entrada como por ej. joystick, volante, etc.
En Linux tenes un abanico gigante de librerias, no existe algo standarizado... algunos usaran SDL otros quizas directamente con OpenGL, Allegro, OpenAL o quien sabe que otra cosa.
Es o no es mas sencillo en Windows ?


Conclusion:
El exito de Windows se debe a su poca seguridad pero impresionante simplicidad tanto para el usuario comun o desarrollador avanzado de software.
Afortunadamente para nosotros los que tambien usamos Linux ya existen varios proyectos que intentan solucionar esas diferencias.
Es cuestion de tiempo, nada mas. 

Anuncios

0 comentarios - Porque Windows SI es mas facil que Linux

Los comentarios se encuentran cerrados