Ipsissima verba DRI:
> Hola Amigos... soy super-nuevo y quiero meterme en esto de
> desarrollar un Sistema Libre....

Excelente, perm�teme ser el primero en agradecerte por lo que sea que
vayas a regalar al mundo.

> �por donde empiezo?

Supongo que por aclararte a ti mismo exactamente qu� quieres hacer, si
no lo tienes claro ya.  Eso puede sonar obvio, pero mi punto es que
corres un riesgo alto de reinventar el hilo negro.  Quiero decir, a
menos que est�s pensando en algo muy, muy innovador, lo m�s probable
es que hayan ya proyectos de desarrollo de cosas similares a la que
tienes en mente.  En tal caso, quiz� te convenga explorar la
posibilidad de sumarte a un proyecto que ya est� en marcha, en vez de
iniciar uno nuevo.  Puede resultarte m�s f�cil adaptarte a un grupo de
gente que ya hace las cosas de una manera determinada, que inventar
desde cero tu propia infraestructura.

> Programo en VisualBasic.... �que hago primero?
> �Estudio C... CSharp.... C++?
> (supongo que la mayoria de las cosas estaran en algunos de estos
> lenguajes)

Pues mira, la mayor�a de programas existentes est�n en C y C++, s�.  A
reserva de saber m�s acerca de tus planes, se me ocurre que lo mejor
que puedes hacer es aprender C.

En "Cash" lo �nico que encontrar�s ser� cosas de Mono, supongo, que no
es software maduro ni popular (si es que alguna vez llega a serlo, que
tengo mis dudas).  Pero puedes ir a echarles una mano, si las m�quinas
virtuales son lo tuyo.  Icaza te lo agradecer� :-)

Dicho lo anterior, nota que la variedad de herramientas y lenguajes
que se usan para desarrollar software para Linux (que no es lo que
dijiste que quieres hacer, yo s�, pero la mayor�a del software libre
se hace en Linux y para Linux) es mucho m�s amplia y heterogenea que
la que se usa en el mundo de Microsoft.  C es lo m�s popular, pero
mucha gente desarrolla en Perl � Python.  Para aplicaciones "web", PHP
es lo m�s com�n.  Hay software libre en Java, en dialectos de Lisp, y
a�n en simple lenguaje de shell (sh).  Puedes optar por Objective C,
con lo cual tu desarrollo ser� ideal para GNUStep y, por extensi�n,
MacOS X; o puedes usar Caml o Ruby y aprender en el proceso acerca de
lenguajes alternativos extremadamente interesantes y bien dise�ados.

Como vienes del otro sistema operativo, quiz� que llame la atenci�n
saber que las interfaces gr�ficas (GUI) no es algo que se espere por
defecto en cada aplicaci�n, ni mucho menos.  Hay gente que incluso las
considera indeseables en muchos casos (yo me cuento entre esa gente).
Y en los casos en los que se usa un GUI no siempre es el mismo.  El
"toolkit" que vas a usar (la biblioteca con controles y dem�s
parafernalia GUI) lo tienes qu� elegir t�, entre diferentes
alternativas; y de esa elecci�n depende qu� manuales y tutoriales
tienes qu� leer.  Y puedes desarrollar aplicaciones que se "integren"
de varias formas a ambientes como Gnome y KDE, pero ten en cuenta que
habemos quienes no usamos ni uno ni otro, y probablemente no estaremos
dispuestos a usar una aplicaci�n que dependa de ellos para funcionar.

Y la misma historia ocurre con las herramientas para desarrollo.
Puedes usar un IDE (hay muchos, y ninguno es realmente predominante),
o puedes usar Make y un editor separado (Emacs, Vi o cualquiera de los
otros cuatrocientos mil editores disponibles en Linux).

En fin.  Este es un ecosistema muy diverso.  Tienes una pila de
elecciones por hacer.

> �estudio la arquitectura del kernel, estudio linux, estudio unix?

Si realmente vienes de VB y nunca has tocado C, olvida el kernel por
el momento.  Mi recomendaci�n es que te pongas a empaparte de la
filosof�a y los conceptos de UNIX.  Esto incluye el shell (como
lenguaje de programaci�n, no s�lo como interfaz de usuario), los
comandos y herramientas b�sicas, y los manuales.  Lee por lo menos
superficialmente acerca de procesos, se�ales, variables de ambiente y
permisos.  Asimila el concepto de los descriptores de archivo (que
incluyen pipas y sockets).  Intenta aprender un poco de expresiones
regulares.

> �con quien me conecto?

No s�.  Cuando tengas una duda m�s concreta, o una idea menos vaga de
qu� es lo que vas a hacer, sin duda resultar� obvio con qui�n tienes
qu� hablar.

> POR DONDE EMPIIIIIEEEEEEEEEEEZZZZZZZOOOOOOOOOO...

Si lees ingl�s,

 http://rute.sourceforge.net/

Eso es un tutorial de UNIX, no una gu�a de programaci�n (aunque
incluye una secci�n con rudimentos de C).  Realmente no te puedo
apuntar a literatura para desarrollador hasta que sepas qu� quieres
hacer.

Espero que alguien aqu� te apunte a m�s recursos disponibles en
nuestro idioma.  O ll�gale al Google.

> Gracias, amigos .. . por quitarme el stress..

Pues no s� si te quit� el estr�s o te acabo de infundir m�s...  :-)
pero honestamente espero que algo de esto te ayude.

Que te diviertas.

 -CR

-- 
Ceterum censeo: SCO delenda est.

Responder a