Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Los retos Micro-Open Souce: Delphi (https://www.clubdelphi.com/foros/showthread.php?t=34893)

mamcx 24-08-2006 18:48:35

Los retos Micro-Open Souce: Delphi
 
Hoy se me ocurrio una idea sobre como lograr una mayor cooperacion entre nuestra comunidad y a la vez recibir beneficios, todo bajo el espiritu de open source, pero sin los costos de tiempo y compromiso que normalmente se requiere.

Empezar a lanzar (y en perspectiva del proyecto "The Club Delphi Killer Application") un conjunto de retos o challenges.

La idea es empezar a pensar preguntas y retos verdaderamente creativos, que puedan resolverse no en meses sino en semanas o pocos dias, y empezar a generar a partir de alli una fundacion que nos permita avanzar mas como programadores. Las soluciones las podriamos entonces empezar a coleccionar o aportar a un proyecto como el de Jedi o el que corresponda.

Una forma de ver que tipo de retos nos podemos proponer, es empezar a pensar en forma mas amplia de las tipicas necesidades que tenemos como programadores y ver si es posible crear soluciones mejor planteadas.

Esta idea seria similar a la de FastCode (http://fastcode.sourceforge.net/) donde la comunidad empezo a proponerse el reto de superar el desempeño de las funciones incluidas en Delphi, a tal punto que el propio equipo de desarrollo de Delphi a introducido sus mejoras, como el manejador de memoria que ahora posee Delphi 2005.

Noten que fastcode no es acerca de "creemos una aplicacion" sino "creemos un POS() mas rapido"

Una vez mas, propongo que haya una especia de estructura en las proposiciones, algo como:

RETO: XXX

Para poder indentificar los retos, les pondriamos "RETO:" y el nombre del reto

Problema:

En pocas lineas, cual es el problema

Solucion actual:

Como se resuelve de forma comun este problema.

Solucion propuesta:

Como seria *mejor* resuelto este problema (o un reto en que sea mas rapido, o en menos codigo, o que gaste menos memoria, o que sea mas simple de entender, etc....) Un esbozo de como se veria el codigo o como se percibiria el resultado.

Cada "challenge" se postearia de forma independiente, de acuerdo al tipo de problema. Por ejemplo, hay "challenges" que caben como problema de base OO, otros manipulan datos, otros pueden ser problemas de integracion, etc...

Para mantener los challenges en su debida perspectiva:

1- Deben ser solucionables en poco tiempo.
2- Para ello, debe enfocarse en cosas pequeñas
3- La solucion deberia ser accesible a la comunidad. O sea, ojala no dependa de componentes o librerias de dificil acceso, sin embargo esta bien decir que tal o cual libreria, de pago o no, lo resuelve. Tambien esta bien apuntar a tal lenguaje o API que lo tiene y que Delphi no, o que la solucion de Delphi es mas pobre.
4- La solucion debe apuntar a una meta: Mas rapido, mas flexible, menos memoria, mas simple, mas claro, menos codigo, etc...
5- Son competitivos. Cada reto puede recibir mejores soluciones a las originalmente planteadas.

Donde encontrar retos?

Una manera es viendo otros lenguajes u otros paradigmas de desarrollo. Tambien, utilizar aquellas capacidades de Delphi que quizas sean poco conocidas (pero que no dependan de bugs o funcionalidad oscura que no esta garantizada su soporte), o una mejor aplicacion de mejores practicas de programacion, patrones de diseño y similares.

En el codigo repetivo, en temas que son "dificiles" de comprender, como multi-hilos/multi-procesos, manejo de grandes volumenes de informacion, aspectos de matematicas, aplicacion de estructuras de datos, formas creativas de encadenar componentes/algoritmos, etc..

Quien propone el reto?

Cualquiera. Es mas importante una buena pregunta que una buena respuesta (o digan la respuesta sobre la vida, el universo y todo lo demas ;) )

Lo importante, es hacer una pregunta que sea creativa, que sea retadora.

Por ejemplo (unas que tengo rondando, luego las concreto... estas derivan de mis metas para MUTIS y por ende, reflejan los restos que encuentro)?

- Es posible hacer funciones que sean totalmente paralerizables y que usen de forma natural todos los procesadores, ie:

Código Delphi [-]
for i:= to Total do
begin
   Run(Function());
end;

Y que cada llamada a Function() sea totalmente paralerizable?

Obviamente, es posible... pero mas adelante les muestro como me gustaria que lo fuera ;)


La franja horaria es GMT +2. Ahora son las 06:46:15.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi