🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #12262

Re: Iniciandome en programación bajo Linux

#12262
From: do_not_use
Date: Sat, 25 Aug 2001 06:02
86 lines
5587 bytes
Carlos Paramio <carlosparamio@wanadoo.es> wrote:
> Hola,

>>  un punto antes de nada: quieres aprender a programar linux, el kernel, o
>> quieres programar sistemas similares (unix)?

> Principalmente, programar bajo Unix aplicaciones diversas, aunque me
> gustar�a tocar m�s adelante partes del kernel, especialmente la programaci�n
> de m�dulos (drivers). De todas formas, estaba pensando m�s en un Unix que en
> el propio Linux para todo esto, porque de hecho pensaba migrar a FreeBSD u
> OpenBSD y ver qu� tal. Adem�s, me han comentado que el kernel de FreeBSD es
> mucho m�s "bonito" y estructurado que el de Linux. Y ya puestos a estudiar
> un kernel, pues prefiero algo novedoso e interesante.

 Je, cuidado, que el grupo es *.linux  ;-)
Ah, para jugar con linux, no solo con el kernel, te recomiendo el user mode linux,
user-mode-linux.sf.net, IIRC. Especialmente si vas a hacer con el kernel, pero
tambien es util para probar configuraciones de servidores sin chafarte tu
sistema basico.

>>  Lee el man page un par de veces (unas 10). Mirate los init scripts, es
> algo
>> basico del linux y algunos tienen miga.

> Veo que al final, me toca tirar de las man pages... ufff, a veces las odio
> ;) Pero bueno, seg�n dices, son bastante completas. Espero que abunden en
> ejemplos. En cuanto a los init scripts, los he mirado ya por encima, y por
> lo que vi, �s� que tienen miga!

>>  Sobre librerias: diferencia POSIX (unix +o-) de ansi c.

> Bueno, ten�a entendido que las llamadas al sistema (POSIX) son mucho m�s
> b�sicas y limitadas que otras posibles estructuras complejas, que m�s bien
> podr�an aparecer en librer�as como las libc (al fin y al cabo, las libc son
> una capa m�s de soft, que usa las llamadas al sistema, �no?). En principio,
> me interesan ambas cosas. POSIX para programaci�n a bajo nivel, y libc y/o
> stdc++ para cosas m�s grandes y que tengan que tocar poco el sistema.

 Hmmm, recuerda man 2 son system calls, esto es un cambio de contexto, una llamada
al kernel, man 3 son libraries, esto es, se ejecutan (en un principio) sin cambio
de contexto. Algunas cosas se hacen mas comodamente sin librerias y viceversa.
 En este contexto hay que decir que posix es ciertamente unix-like y suele modelar
los system calls clasicos de unix(BSD).

>>  A mi me molo el Advanced Programming in the Unix Environment o algo asi
> del Stevens,
>> en general el Stevens es bastante bueno, su libro de network programming
> para unix
>> me parece otro clasico.

> Genial, echar� un vistazo. A ver si lo tienen en la biblioteca de la UNED
> para poder mirarlo antes de comprar.

 No tiene perdida, el de 800 paginas. Ah, no se como leeras tu, yo, cuando
empiezo a meterme en un tema usa la tecnica de la recorta, cubra un campo
amplio rapidamente y sin mucha fineza, para pillar las ideas, despues se
pueden volver a leer los libros buenos y/o los man pages empiezan a tener
sentido.

>>  En un momento dado te puede interesar instalar un BSD o algo ligeramente
> diferente,
>> para aprender a usar unix y no solo linux. A veces hay pequegnas
> diferencias, pero son
>> la diferencia entre ser un linux-head y un programador efectivo.

> Como ya coment� arriba, pensaba migrar a alg�n BSD, aunque todav�a no he
> tenido tiempo con el tema de los ex�menes de septiembre. Para ya mismo
> pretendo instalar FreeBSD, leerme el "Handbook" y ver qu� tal. Pero de todas
> formas, creo que mis primeras intenciones sobre aprendizaje son bastante
> "gen�ricas".

> Por cierto, con Emacs ya m�s o menos manejo lo b�sico (el tutorial de Ctrl+h
> t). Pero quer�a leer m�s cosas acerca de, por ejemplo, los "modes" y dem�s.
> En cuanto a vi, tanto �ste como vim los uso a menudo, manejando b�squedas,
> copiado cortado y pegado b�sicos, y alguna otra cosilla. Pero me har�a falta
> un manejo algo m�s avanzadillo para estar totalmente c�modo con �l. Al fin y
> al cabo, seg�n tengo entendido, pueden usarse marcas, dividir la zona de
> usuario en dos para ver distintas partes de un c�digo, etc. Ese tipo de
> cosas es muy, muy �til a la hora de la verdad.

 Yo uso vi[m] cuando me olvido de export VISUAL=joe. Emacs: usas emacs o xemacs?
yo suelo usar xemacs *.[ch]& que es mas potito. Y ademas, usa el syntax-hiliting
con colores por default. A veces me cuesta entender mi codigo si no tiene colorines :)

saludos
 yon
Technical Details
Message-ID: <11f7m9.bjn.ln@habana.yon.net>
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!newsfeeds.belnet.be!news.belnet.be!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!fu-berlin.de!newsfeed.bcn.ttd.net!news.mad.ttd.net!not-for-mail
References: <9m4kph$dfg$1@news.wanadoo.es> <slrn9ocfsg.9u6.david@fangorn.net> <9m6t08$3aa$1@news.wanadoo.es> <nk77m9.qsm.ln@habana.yon.net> <9m79rp$rj2$1@news.wanadoo.es>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,ceb4342b436efc23
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2001-08-24 23:02:22 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!newsfeeds.belnet.be!news.belnet.be!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!fu-berlin.de!newsfeed.bcn.ttd.net!news.mad.ttd.net!not-for-mail
From: do_not_use@thank.you.invalid
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Iniciandome en programación bajo Linux
Date: Sat, 25 Aug 2001 08:02:09 +0200
Organization: Telefonica Transmision de Datos
Lines: 89
Message-ID: <11f7m9.bjn.ln@habana.yon.net>
References: <9m4kph$dfg$1@news.wanadoo.es> <slrn9ocfsg.9u6.david@fangorn.net> <9m6t08$3aa$1@news.wanadoo.es> <nk77m9.qsm.ln@habana.yon.net> <9m79rp$rj2$1@news.wanadoo.es>
NNTP-Posting-Host: 193-153-228-37.uc.nombres.ttd.es
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
User-Agent: tin/1.4.2-20000205 ("Possession") (UNIX) (Linux/2.4.9 (i686))