[Solar-general] Liberando código QBASIC... - Quick Sort

Gerardo Díaz gerardobdiaz en arnet.com.ar
Vie Oct 29 20:00:56 CEST 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



Pablo De Napoli wrote:

| No podés incluir código de otros en tu producto y licenciarlo (bajo
| ninguna licencia, incluida la GPL) salvo que la licencia bajo
| la cual vos recibiste ese código te habilite a hacerlo, sospecho
| que la licencia del código de M$ no debe hacerlo.

Es algo curiosa la licencia que acompaña el producto, genera un
espacio indefinido muy sugestivo.

Por un lado, Microsoft me invitaba en la documentación del producto
a aprovechar el código que te provee en los ejemplos en el libro,
para `acelerar los tiempos de desarrollo, la gran ventaja de este
finest product'. Incluso explica claramente como hacer copy-paste
desde el help para utilizar su código.

Peero, si lees la solapa del manual, en la letra chica te recuerda
que no podés hacer disclosure de nada de lo que está dentro del
manual o el `magnetic media' que lo acompaña.

O sea, sospecho que si yo me limitara a distribuir el runtime
brun45.exe + el eventual mi_prg.exe, estaría todo bien: ¡¡ESTARIA
USANDO  EL MISMO MODELO PRIVATIVO, CUAL POCIMA DE ETERNA JUVENTUD!!.

Ahora, si divulgo el conocimiento que adquirí ``desde y gracias a
ellos'', soy un rompecorral y un pirata y caigan sobre mí la ley y
todos los males que existan en el mundo :-)

Lamentablemente ya estoy contaminado, por lo que lo único que
puedo hacer es introducir mejoras indubitables de mi propia
cosecha, y eso hago. Agregar un cacho de código para que
sea `estable' (que no los cambie de lugar si coincide la llave),
trabajar ordenando en disco en lugar de hacerlo sobre un vector,
y sin usar la instrucción "swap" que no funciona con variables de
tipo field. Es muy fácil mostrar que el ejemplo de Microsoft está
severamente limitado para un uso profesional, y que además no funciona
(el `swap' provoca un estrepitoso `string space corrupted' cada
vez que sale de la rutina recursiva jajajaja)

|
| El algoritmo QuickSort es un un algoritmo estandar de la informática.
dearrollado
| por C. Hoare, ver
|
| Hoare, C. A. R. "Partition: Algorithm 63," "Quicksort: Algorithm 64,"
and "Find:
| Algorithm 65." Comm. ACM 4, 321-322, 1961
|
| http://en.wikipedia.org/wiki/Quick_sort
|
| (siempre la Wikipedia es el lugar correcto para ir a buscar algo =)

Voy aprendiendo que sí, no sólo eso, se lo recomiendo a cada docente que
conozco, junto a la recomendación de que si le sirve, hagan una vaquita
una vez al año con el valor de un diccionario, y se lo manden a los del
proyecto. Veremos si alguno se juega :-)

| sugiero que escribas tu propia implementación desde cero, sin mirar el
código de
| Microsoft. En el articulo de wikipedia hay implementaciones en varios
lenguajes,
| y se discuten optimizaciones posibles.
|
| Un saludo,
| Pablo De Napoli
|


- --
Gerardo Díaz
- -----------------
Asociáte a SOLAR!
Software Libre Argentina
http://www.solar.org.ar/breve.php3?id_breve=78
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.2 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQFBgoVTLHLbx9ffmf8RAqDFAKCdMPXu5R53uDE62Fu/lii83zUj6gCglU2X
K6v1Nmixy83v9ZbT+XNpno8=
=M48F
-----END PGP SIGNATURE-----




Más información sobre la lista de distribución Solar-general