2009-07-02 9 views
7

¿Cómo migrar a la plataforma * nix después de pasar más de 10 años en Windows? ¿Qué sabor será fácil de manejar para hacerme sentir más cómodo y entonces quizás pueda cambiar a más sabores stadard * nix? He estado posponiendo desde hace un tiempo. Ayúdame con el empujón extra.cambiando de Windows a la plataforma de programación * nix

+0

Actualmente tengo el mismo problema, después de trabajar con el material de WPF/.NET de alto nivel durante el último año. Los * nixes no parecen tener mucho que sea compatible con lo que sé. – IanGilham

+0

En realidad, XAML se deriva en gran medida del XUL de Mozilla. Esta plataforma nunca despegó fuera del desarrollo del complemento de Firefox. XulRunner no es tan completo como .Net, pero el paradigma podría estar lo suficientemente cerca de WPF para encontrar un terreno común. – ConcernedOfTunbridgeWells

Respuesta

9

Linux es el más accesible y tiene la funcionalidad de escritorio más madura. BSD (initsvariousflavours) tiene menos espacio de espacio de usuario y sería más fácil de entender en un nivel fundamental. En este sentido, se parece más a un Unix tradicional que a una distribución moderna de Linux. Algunos pueden ver esto como algo bueno (y desde ciertas perspectivas lo es), pero será más extraño para alguien familiarizado con Windows.

Las principales distribuciones de escritorio son Ubuntu y Fedora. Estos son los dos sistemas capaces pero difieren un tanto en su arquitectura el espacio de usuario El utillaje para el entorno de escritorio y la configuración por defecto para la seguridad del sistema funciona un poco diferente en Ubuntu que lo hace en la mayoría de otros Linux o Sabores de Unix, pero esto es de poca relevancia para el desarrollo. Desde la perspectiva del usuario cualquiera de estos sería un buen comienzo.

Desde la perspectiva de un desarrollador, todos los sabores modernos de Unix y Linux son muy similares y comparten esencialmente la misma cadena de herramientas de desarrollador. Si desea aprender sobre el sistema desde la perspectiva de un programador, hay relativamente poco para elegir.

La mayor parte de la programación de Unix se puede realizar de forma bastante efectiva con un editor de programador como vim o emacs,, ambos en modo texto y con sabores de ventanas. Estos editores son muy potentes y tienen interfaces de usuario bastante estrafalarias: las interfaces de usuario son usuales, pero contribuyen significativamente al poder de las herramientas. Si no se siente cómodo con estas herramientas, this posting analiza otros editores que ofrecen una experiencia de usuario más cercana a las herramientas comunes de Windows.

Existen varios IDEs como Eclipse que pueden ser de más interés para alguien que viene de Windows/Visual Studio.

Algunas publicaciones en Stackoverflow que tratan sobre Linux/Unix recursos son:

Si usted tiene la t IME y quiero hacer un recorrido real por los aspectos prácticos Linux From Scratch es un tutorial que va a través de la construcción de una instalación de Linux a mano. Esta es una buena forma de aprender en profundidad.

Para programar, conozca C/unix de K & R y algunos de los recursos mencionados en las preguntas relacionadas anteriormente. El equivalente de Petzold, Prosise y Richter en el mundo Unix son W Richard Stevens Advanced Programming in the Unix Environment y Unix Network Programming vol. 1and 2.

Aprender uno de los lenguajes dinámicos como Perl o Python si no está familiarizado con ellos es también una cosa útil hacer.Como beneficio adicional, puede obtener buenos puertos de Windows de los dos anteriores de Activestate, lo que significa que estas habilidades son útiles en ambas plataformas.

Si está interesado en C++ eche un vistazo a QT. Podría decirse que este es el mejor conjunto de herramientas GUI multiplataforma del mercado y (una vez más) tiene el beneficio de un conjunto de habilidades y una cadena de herramientas transferibles a Windows. Hay también severalgoodbooks están en el sujeto y (como un bono) también works well with Python.

Finalmente, Cygwin es una capa de emulación UNIX que se ejecuta en Windows y da ambiente sustancialmente similar a Unix. Arquitectónicamente, Cygwin es un puerto de glibc y el crt (las bibliotecas base de la cadena de herramientas GNU) como un adaptador en la parte superior de Win32. Esta capa de emulación hace que sea fácil portar aplicaciones de Unix/Linux en Cygwin. La plataforma viene con un conjunto bastante completo de software, esencialmente una distribución completa de Linux alojada en un kernel de Windows. Le permite trabajar de forma similar a unix en Windows sin tener que mantener instalaciones de sistema operativo por separado. Si no desea ejecutar máquinas virtuales, varias botas o varias PC, puede ser una forma de facilitar el uso de Unix.

+0

woaw thx tanto, la descarga de Ubuntu ha comenzado, estoy intentando con la edición de escritorio 9.x – dhaval

+0

+1 para los enlaces "BSD (en sus varios sabores)" :) –

+0

También +1 para BSD. Intenté cambiar de Windows a Linux pero no funcionó. Eventualmente probé OpenBSD y realmente me gustó, incluso por no saber cómo trabajarlo. Creo que aprendí de un BSD más solo porque no asumía que hubiera compatibilidad de Windows en la interfaz de usuario. Es completamente diferente y te obliga a aprender. Dicho esto, ahora uso Arch Linux y OpenBSD. Me gustan ambos, pero los BSD siempre serán más limpios que Linux – Earlz

1

Ubuntu parece ser muy fácil de usar, y tiene mucha información específica para ello en los foros, etc. Por lo tanto, en términos de soporte, estará cubierto.

Experimenté el cambio de windows a ubuntu como muy factible, las cosas que puedes hacer gráficamente en windows se pueden hacer exactamente igual en ubuntu (quizás algunas excepciones) y un poco más. Un experto en informática no debería tener ningún problema.

Sin embargo, ayuda mucho si está familiarizado con los comandos de shell básicos (¡los necesitará como programador!). Algunos son los mismos que en Windows, pero especialmente ls (dir) a veces me tiene destrozando el cerebro por "lo que era ese comando otra vez", y viceversa cuando estoy de vuelta en Windows. Tómese su tiempo para probarlos. (Por ejemplo: pwd, ls, mv, rm, ps, kill)

Finalmente, al instalar programas a menudo un simple "sudo apt-get install X" hace todo el trabajo por usted, incluso más fácil de usar que las ventanas instaladores ejecutables que encuentro.

Editar: Es posible que desee probar un reproductor de VMware y probar algunas distribuciones de Linux antes de instalar el arranque dual.

+0

, ¿qué vmplayer se sugiere en winxp para ubuntu? – dhaval

+0

Uso VMware player de VMware, pero fue para una tarea escolar, no investigué el asunto. Aunque funciona (en vista al menos) – NomeN

1

Ubuntu es muy equilibrado, con un escritorio fácil de usar pero con la posibilidad de configurar un entorno de programación completamente funcional.

Aconsejaría experimentar con máquinas virtuales: no hay razón para abandonar su configuración actual hasta que haya probado algunas de las principales distribuciones. VMware y otros tienen una gran variedad de compilaciones de servidor y escritorio disponibles.

+0

estoy planeando particionar y mantener el xp por al menos algunos meses más – dhaval

+0

Recomiendo encarecidamente buscar máquinas virtuales en lugar de arranque dual. Realmente apreciarás la posibilidad de utilizar varios sistemas operativos a la vez. Y una vez que haya elegido, siempre puede ejecutar varias instalaciones de ventanas virtuales con su * nix de elección. – Ken

1

Supongo que también depende de los lenguajes de programación con los que se sienta cómodo.

Si trabajó con C# en el pasado, entonces podría utilizar el conocimiento ejecutando Mono, o tal vez usar Java (que es sintácticamente muy similar). De cualquier forma, Linux sería bueno.

Yo personalmente recomendaría que miraras el OS X de Mac. Es un sistema operativo basado en BSD de Unix, pero con una interfaz de usuario muy elegante en la parte superior. Para mí, se siente como lo mejor de los mundos de Windows y Unix.

Hago todo mi desarrollo de Unix en él, implementando en servidores Ubuntu.Si observa una Mac, definitivamente eche un vistazo al proyecto MacPorts, que empaqueta una gran cantidad del software de código abierto Unix/Linux haciendo que la instalación de herramientas de programación sea increíblemente fácil.

0

Obtenga un macbook pro. OSX es el sabor más suave de Unix y la computadora portátil debe darle el impulso que necesita.

A continuación, cuando se sienta más seguro, usted puede decidir si desea o no que pasar la mayor parte del tiempo configurando la tarjeta de sonido, corriendo ./autoconfigure & screwups & marca, y la depuración gestor de paquetes.

+1

que es una buena advertencia, se tendrá en cuenta pero mac es un sueño lejano con su precio en la India – dhaval

0

Cualquier versión moderna de Unix (o Linux) que pueda ejecutar en su máquina estará bien.

Éstos son los que iba a tener en cuenta:

  • Ubuntu. Como otros han notado, esto a menudo se considera el más fácil de usar. Sin embargo, algunas partes no son Unix "estándar". Por ejemplo, las secuencias de comandos de inicio no usan init. Esto es más que nada bueno, pero si estás tratando de aprender Unix puede no ser lo que necesitas.
  • Fedora. Borde sangrante pero con bordes ásperos.
  • Slackware. Posiblemente la distribución de Linux más parecida a Unix (¡algunos dirían fecha!).
  • Uno de los * BSD: FreeBSD, OpenBSD, NetBSD. Un enfoque diferente para algunas cosas aparte de Linux.
  • Solaris. Este es el Unix "correcto". Parece básico en comparación con Linux, pero vale la pena jugar con él para ver qué es "estándar".

De hecho, consideraría ejecutar al menos un par de ellas, la mayoría funciona bien como máquina virtual. Una de las cosas buenas y malas de Unix es que lo que está estandarizado es más el philosophy que muchos de los detalles. No hay Visual Studio, no hay C# (con eso me refiero a ningún lenguaje de alto nivel canónico, sé acerca de Mono).

-1

Pruebe Kubuntu como una distribución y Kdevelop y Qt para comenzar a programar con, todo es muy civilizado.

Kate es un editor de texto al estilo de un bloc de notas, si quieres ir por ese camino, pero no veo por qué querrías entrar a Vi o Emacs, aparte del atractivo de utilizar algo realmente arcano.

+0

Iría a Fedora y usaría el Eclipse CDT hoy en día, incluso podría usar el Eclipse IDE en Windows. Echaré un vistazo a gedit también para su uso tipo 'bloc de notas'. Respaldo mi comentario de Vi/Vim/Emacs, lo siento, pero ya pasó ... escape colon write quit bang – timB33

0

Excelentes respuestas. Algunos comentarios:

Casi todas las distribuciones admiten LiveCD, para permitirle probar antes de la instalación. las personas mencionaron VMWare y VirtualBox, también tienen en cuenta que el instalador WUBI de Ubuntu le permite instalar Linux en Windows sin reparticionar; muy agradable; Lo usé la primera vez que cambié a mi sistema de 64 bits, ya que no estaba seguro de lo bueno que era el soporte del controlador. Ubuntu 9.04 funciona muy bien en 64, sin embargo. Además, dado que Ubuntu es tan popular, que hay muchas versiones, Kubuntu usa KDE en lugar de Gnome, Mint y Xubuntu son más livianos.

Espere que se ejecute lado a lado durante un tiempo cuando la transición de Windows. Cygwin tiene algunos buenos manuales descargables para personas que se están acostumbrando a bash, e información básica sobre cómo funciona * nix, dirigido a usuarios de Windows. Hay toneladas de sitios útiles; los foros de la comunidad Ubuntu tienen una gran cantidad de información, tanto para principiantes como para avanzados.

Para acostumbrarse a desarrollar bajo Linux, verifique el proyecto de documentación de Linux. Además de KDevelop, está Anjuta, Eclipse y muchos más. Algunos son livianos, otros pesados.

Una cosa que puede facilitar la transición es usar software que se ejecuta en ambos sistemas operativos. Firefox, Thunderbird, OpenOffice, Subversion y cientos, sino miles, funcionan bien tanto en Linux como en Windows. Y con muy poco esfuerzo, puede usar las mismas carpetas para la configuración de la aplicación y los datos de muchos de estos. Firefox y Thunderbird pueden usar fácilmente las mismas carpetas/archivos en una partición NTFS. Hace que el arranque dual sea mucho más fácil. Las instrucciones están en el sitio de la comunidad Ubuntu y en otras ubicaciones.

Tenga en cuenta que algunos softwares Linux no son compatibles con NTFS; en Linux mantenga sus carpetas de trabajo de Subversion en una partición nativa.

Una advertencia para compartir configuraciones de aplicaciones; algunas aplicaciones almacenan rutas absolutas; como solución alternativa, puede crear enlaces simbólicos que se parecen a las letras de las unidades de Windows.

Después de que se sienta cómodo con Linux, diversifique y pruebe aplicaciones y herramientas que no sean de Windows. A veces diferente es mejor. Mucha gente usa Emacs y Vim por buenas razones.

Cuestiones relacionadas