🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: programadores todos...me estoy oxidando

#18132
From: batsman batsman
Date: Tue, 28 Sep 1999 00:00
120 lines
6321 bytes
-----BEGIN PGP SIGNED MESSAGE-----

Bueno bueno bueno, me va a salir un followup tan laaaaargo que mejor lo 
env�o en 2 cachos:

cacho 1

In article <37efdbd7.5671156@news-3.rediris.es>, franci72 wrote:
>>�Y qu� es lo que quieres? :-D
>	Una lista asociativa para C ademas de C++, etc en C ( que es el
>que mas uso). 

�Y �sto no te vale? --> <glib.h>

...
/* Hash tables
 */
 GHashTable* g_hash_table_new           (GHashFunc       hash_func,
                                         GCompareFunc    key_compare_func);
void        g_hash_table_destroy        (GHashTable     *hash_table);
void        g_hash_table_insert         (GHashTable     *hash_table,
                                         gpointer        key,
					 gpointer        value);
void        g_hash_table_remove         (GHashTable     *hash_table,
                                         gconstpointer   key);
gpointer    g_hash_table_lookup         (GHashTable     *hash_table,
                                         gconstpointer   key);
.. y m�s funcs a continuaci�n ...

>>Lo que parece claro es que no deber�amos rehacer las estructuras 
>>de datos b�sicas. Tal vez ser�a m�s interesante proporcionar funcionalidades
>>adicionales, como por ejemplo (sugerencias): 
>>- gesti�n de archivos de configuraci�n (dotfiles)
>No se a que tipo te refieres, cuando tenga la lista asociativa, tengo
>pensado hacer un objeto conf para la gestion de archivos de
>configuraci�n tipo .ini de windows (compatible con el lilo.conf
>ld.so.conf, etc) y tambien del tipo XF86Config

Tengo c�digo *muy cutre* para otro programa *cutre* que me hice hace un par 
de meses (asNews, baja las noticias de Freshmeat, Slashdot, Segfault,
LinuxApps, LinuxToday, KDE, BBC, CEO, 7am... m�s info en Freshmeat). 
No es m�s que un recubrimiento en C++ de las tablas hash de glib. 
Lo uso para los archivos de configuraci�n... Para que te hagas una idea 
ah� van cachos de header:

class GenericHash: public Cloneable {
 private:
      GHashTable *hash;   
 public:   
      Cloneable *get_field(char *);
      int  insert_field(char *, Cloneable *);
      int  delete_field(char *);
      int  count_fields();
      void foreach ( void (*)(gpointer, gpointer, gpointer), void * );
      GenericHash(const GenericHash &);
      GenericHash();
      GenericHash(const GenericHash *);
      ~GenericHash() { destroy(); }
      void destroy();
      Cloneable *clone() { return new GenericHash(this);}
};
			  
Simplemente guarda objetos Cloneable asociados a un char*, tambi�n puedes
tener lista de listas, etc...
>>    --> facilitar el uso/creaci�n de lenguajes de extensi�n 
>Mande? tiene algo que ver con un interprete, de eso hice uno
>(interprete de Pseudocodigo+Controlador Canal de Panama) como practica
>para Automatas y Lenguajes formales (ofu que pecha).
Es que estoy viciado desde que vi un interprete de C en un libro de Schildt... 
despu�s me le� todo lo que pude sobre stack machines (incluida la 
especificaci�n del JVM)... despu�s descubr� forth... Al final no hago 
m�s que ir de doc en doc sin programar nada ;)

>Pues si es buena idea.
>>- lo mejor: un GC que hasta yo sepa c�mo usar :) 
>>    (habr�a que tener varias implementaciones)
>�Que es exactamente GC?
Un recolector de basura (Garbage Collector). Ya existen unos cuantos para
C, pero nunca me he lanzado a usar uno.

>>- IPC sin depender de SYSV (�c�mo se puede hacer de manera portable?, tal 
>>vez mediante archivos... lento)
>De eso estoy poco puesto aun, pero todo llegara.
�Y te crees que yo s� de esto? Tan s�lo lo que pon�a en el librito "Unix,
programaci�n avanzada" de ra-ma. ?;)

>>Tambi�n se podr�a hacer un "recubrimiento" en C++ de las funciones de glib, 
>>por ejemplo. (SIN TEMPLATES, que dan problemas hasta en el egcc)
>uy,uy,uy eso para dentro de mucho tiempo que tengo cates hasta en el
>recreo.
Pues a m� me parece lo m�s sencillo de todo lo propuesto anteriormente. 
Pesado pero sencillo (la glib tiene muchas cosas).

- -- 
              _           _                             
             | |__   __ _| |_ ___ _ __ ___   __ _ _ __  
             | '_ \ / _` | __/ __| '_ ` _ \ / _` | '_ \ 
             | |_) | (_| | |_\__ \ | | | | | (_| | | | |
             |_.__/ \__,_|\__|___/_| |_| |_|\__,_|_| |_|
  ________________________________________________________________
 |Visit   |  http://www.geocities.com/SiliconValley/Vista/2075    |
 |	  |    <=>   http://come.to/batsman                       |
 |	  | and http://www.linuxfreak.com/~quickchat		  |
 |Linux (esp):  http://www.geocities.com/SiliconValley/Vista/4289 |
 |----------------------------------------------------------------|
 |Email:  |          mailto:batsman_DELME_@_NOSPAM_geocities.com  |
 |	  | 		(remove _DELME_ and _NOSPAM_)		  |
  ----------------------------------------------------------------
		POWERED BY GNU/LINUX	DEBIAN 2.01 HAMM

-----BEGIN PGP SIGNATURE-----
Version: 2.6.3ia
Charset: noconv

iQCVAwUBN/D5uWXo+KDAJZdtAQHz+AP/R+ifBYbQeux2c9gdQFNOioNZLmERwHR9
NNVe0uYSMl9I7sFC+ks5IwVD35Ut55YvBnipLDGdmAIAsRVzz85S/QeQHon7Tz6Z
h+xoMdUQFmwoTZ2HmgalHYNMV+9ub1t2dFHsy3WFAx4VQStbsmArpoNLQW/v0EDO
RCMUFJ1zXzo=
=7/cQ
-----END PGP SIGNATURE-----
Technical Details
Message-ID: <vjtqs7.rk.ln@simpsons4ever>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <7rqela$1d7$1@nnrp1.deja.com> <37e378ee.4400639@news-3.rediris.es> <7s4vo4$5vq$1@nnrp1.deja.com> <37e93e1d.1457987@news-3.rediris.es> <7vsds7.621.ln@simpsons4ever> <37efe20c.1217156@news-3.rediris.es> <9bhis7.256.ln@simpsons4ever> <37efdbd7.5671156@news-3.rediris.es>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,cf81c02f1c0b3d34
X-Google-Attributes: gidf86c8,public
From: batsman@simpsons4ever. (batsman)
Subject: Re: programadores todos...me estoy oxidando
Date: 1999/09/28
Message-ID: <vjtqs7.rk.ln@simpsons4ever>
X-Deja-AN: 530357545
Content-Transfer-Encoding: 8bit
References: <7rqela$1d7$1@nnrp1.deja.com> <37e378ee.4400639@news-3.rediris.es> <7s4vo4$5vq$1@nnrp1.deja.com> <37e93e1d.1457987@news-3.rediris.es> <7vsds7.621.ln@simpsons4ever> <37efe20c.1217156@news-3.rediris.es> <9bhis7.256.ln@simpsons4ever> <37efdbd7.5671156@news-3.rediris.es>
Content-Type: text/plain; charset=iso-8859-1
X-Complaints-To: abuse@bt.es
X-Trace: titan.bt.es 938537351 15247 212.49.137.66 (28 Sep 1999 16:49:11 GMT)
Organization: Debian 2.01 HAMM User
Mime-Version: 1.0
Reply-To: batsman_DELME_@_NOSPAM_geocities.com
NNTP-Posting-Date: 28 Sep 1999 16:49:11 GMT
Newsgroups: es.comp.os.linux.programacion