Linux o windows 7?

Iniciado por TPHarker, 27 Mayo 2013, 20:08 PM

0 Miembros y 1 Visitante están viendo este tema.

TPHarker

Hola y buenas tardes a todos. Soy nuevo en el foro y en el tema de la informatica, me empezó a interesar y leyendo algo poco me topé con que lo principal es aprender a programar; pues tengo dos computadoras, una con windows 7 y otra con Xp la cual pretendo ponerle linux y mi duda es la siguiente: ¿cual de los 3 sistemas operativos me recomiendan para aprender a programar? Un saludo y gracias de antemano  :D

OmarHack

¿Sabes ya lo que quieres programar y en que lenguaje de programación?
En casi todos los casos lo mejor es programar en donde uno se siente más cómodo.
¿Sabes ya que Linux quieres? Hay muchísimos donde elegir. Normalmente se empieza por Ubuntu por ser el más "parecido" a Windows. 
Un saludo.
I like to test things.

TPHarker

leí un poco y como es una compu pequeña le pondre lubuntu, y al parecer el lenguaje mas básico seria el html o C, es correcto ?

WHK

#3
Si vas a programar en html da lo mismo que sistema uses, te recomiendo que utilices el editor Eclipse for PHP.

Si vas a programar en c o c++ el tema es muy distinto ya que un software hecho para linux no funciona en windows y uno hecho para windows no funciona en linux, salvo algunas excepciones pero si estas recien comenzando entonces no te va a servir ambos a la ves.

Windows tiene sus ventajas y desventajas, la ventaja es que tiene un editor muy potente llamado visual studio que te autocorrige muchas cosas, no es tan estricto y no tienes que preocuparte sobre como se compila, te hace todo solo y tiene una api muy amplia, o sea librerías como por ejemplo .net 4.5

La desventaja es que es incompatible con todo los sistemas habidos y por haber, por ejemplo si haces una aplicación para .net 2.0 no te funcionará en windows 7 sp1 o windows 8, si haces una aplicación con .net 4.0 si funcionará en windows 7 y windows 8 pero no en windows xp a menos que tenga sp2 y todos los frameworks instalados (y creo que aun asi da errores).
O sea, si tu aplicación usa .net 4.0 deberás obligar a todos los que usen la aplicación a descargar .net 4.0 (que pesa varios cientos de megas) e instalarlo y puede que algunas aplicaciones que fueron hechas para .net 3.0 dejen de funcionar como por ejemplo el visual studio 2008, Age of empires 3, etc.

Es una vieja técnica de Microsoft para forzar a las personas a que compren las ultimas versiones de los softwares, o usas todo viejo o usas todo nuevo pero no te dejan hacer mezclas.

Sin mencionar que dificilmente (o imposible) funcionará en linux o en mac o unix, etc.

La ventaja de programar en c++ sobre linux es que un código hecho en el año 1985 funcionará igual de excelente que en la ultima versión de ubuntu sin la necesidad de nuevas librerias o actualizaciones de todo un framework como en windows, o sea que puedes facilmente escalar tu aplicación sin el temor de pensar en que si va a funcionar o no en sistemas nuevos o viejos y no estaras amarrado a un fabricante o a actualizaciones.

En linux tienes por defecto GTK, es una serie de librerias graficas que te permiten crear ventanas mas facil, tambien puedes crear proyectos para windows con gtk embebido, o sea que puedes hacer una misma aplicación en linux y windows sin hacer mayores cambios usando las mismas librerias que encuentras en linux (vease cygwin y macports). Por ejemplo Wireshark utiliza elementos y apis de linux y tiene versiones para todos los sistemas operativos conocidos.

Si hicieras una aplicación con el IDE de windows entonces estas muerto porque no podras portar tan facilmente las mismas funciones y apis para otros sistemas, estarás obligado a programar sobre bajo nivel con apis menores como winapi y aun así te dará problemas al momento de pasarte a otro sistema.

Si te importa mucho que tu software sea cross plataform (o sea de plataforma cruzada, que se ejecute en todos los sistemas operativos) entonces windows no es una opción, pero si te da lo mismo y solo quieres programar para personas con windows 7 o un windows especifico entonces usa visual studio y c#.

Yo en lo personal no programo cosas de escritorio, se c++ pero lo uso a veces sobre linux, la mayoría de mis trabajos están en html+php+css+javascript o java sobre android.

Aprender java es bueno para aprender, te recomiendo que comiences por ahi, no importa el sistema operativo, solo usa Eclipse for java y listo, luego derivas a otro lenguaje pero nunca te quedes con el porque es un framework muy pesado y lento, hay otras alternativas mejores como python y nodejs.

Saludos.



NOTA:
Por favor, este post no se trata sobre que sistema es mejor que el otro, recuerden que hablamos de programación, nada de insultos, nada de windoseros y linuxeros. Gracias.

OmarHack

Si por lenguajes básicos te refieres a lenguajes que todo programador que se precie debería saber sí ( que no se ofenda nadie, es lo que pienso y pienso también que se deberían saber unos cuantos más) . Si te refieres a fácil c no es de los más fáciles, html en diseño web seguramente será el más sencillo para aprender.
Html es solo para hacer páginas web. C lo puedes usar para hacer programas de escritorio o para programar microcontroladores entre otras cosas.
Como ya verías tienes foros para todo en esta web. Yo programo en C++ (estoy aprendiendo) y antes me manejaba bastante bien en html. De momento creo que no he tenido ninguna duda que mis compañeros del foro no hayan podido solucionar.
Un saludo y Bienvenido!

Pd: ¿Si se ciñe al ANSI puede usar el mismo código para Windows y Linux no?
I like to test things.

TPHarker

entiendo entonces me quedare con linux debido a que si me interesa que los programas se puedan usar en varios sistemas operativos; hay varias palabras que mencionaron que no conozco, pero nada que una buena lectura no me ponga al tanto, en si la idea principal me quedo clarisima, Gracias a ambos ;-)

OmarHack

En teoría en C/C++ puedes usar el mismo código que en windows, linux o en mac si usas las librerías "standar". Y si usas Qt que es una librería gráfica multiplataforma el mismo código te sirve para Windows, Linux, Mac y con modificaciones incluso Android.
El reproductor del cono VLC eestá echo en Qt y los tienes para los 3 sistemas.

I like to test things.

Randomize

Hazte un arranque dual, hombre, hazte un arranque dual...

Aberroncho

No te cierres puertas y haz caso a Randomize: pon un arranque dual y te quedas con los dos mundos.

Y si lo que te interesa es programar en ambas plataformas aprende Java. Se parece mucho al C++, es portable entre plataformas sin modificar código, está mucho más demandado en el mercado laboral que el C++ (al menos en España), necesitarás conocerlo si después quieres dar el salto a la programación Android, y también te sirve para programar en Web.
"La ignorancia es la noche de la mente, pero una noche sin Luna ni estrellas."
(Confucio)