Propuesta para programadores

Whose

Hemos tenido la idea de crear una competición por equipos en el que se expondrá una aplicación a realizar y cada uno de los equipos debe desarrollar dicha aplicación en al menos uno de los tres lenguajes que se darán a elegir.

Esto es tan solo una propuesta para ver que opina la gente y saber si hay gente interesada en participar y también para que deis vuestras ideas sobre el tema.

IS4kO

LO VEO COJONUDO, una idea maginifica para picarse un poquillo, y aprender cosas nuevas e innovar ;)

LOc0

Si se organiza bien nos podemos divertir, jejeje... Contad conmigo.

Salu2 ;)

EnZo

Mapunto. Siempre y cuando los lenguajes sean relacionados con el desarrollo web xD

JuAn4k4

Hay una web que mas o menos hace eso y esta francamente bien, de hecho de ahi sacan muchos problemas para examenes en algunas facultades de informatica. : ) Suerte con ello

BlisZ

#5 cual es la web? esta interesante para practicar :)

maRc

Creo yo que no debería de haber una limitación en los lenguajes a usar.

RaYMaN

supongo k se referirar a php-hispano

r2d2rigo

Opino como maRc. Y si yo quiero hacer el programa en BrainFuck ( http://www.muppetlabs.com/breadbox/bf/ )? ;)

maRc

r2d2rigo, con befunge ;)

E

Wow! Vuelvo de mi inactividad MediaVidera y me encuentro con una buena propuesta. Aunque estoy muy liado, si puedo me uno.
Eso sí, nada de programas chorras en plan sumar una matriz o cosas de esas. NO! Abordemos la resolución de algoritmos jodidos y algo que incluya programación gráfica, aunque sea muy básico. Bueno, lo que Whose y el resto de moderadores propongan.

Salu2

SeiYa

Bueno yo me apunto y busco team XD

SeiYa> busco clan, sk1ll3d, buen l3v3l con serv0r y sp0nsor, abstenerse novatos y lamers

xD

Sería interesante que la gente pusiera los lenguajes que conoce y el nivel, bueno, mejor los que conoce por que el nivel es subjetivo...

IS4kO

Si no se va a entrar a analizar el código por dentro, podría darse total libertad a la hora de elegir lenguaje.

Aer si el Whose se curra las reglas :DDD

Soltrac

#11 yo comparto contigo lo de la programacion de algoritmos, pero no lo de la programación gráfica.

Yo puedo programar mejro que tu en bases de datos y tu ser un dios de la programacion de graficos pq tu trabajas ese campo y yo el otro. Sin embargo, si comparamos nuestra capacidad logica para resolver un problema, sabremos quien de los 2 es mejor.

Propongo que se valore tb la limpieza del codigo (comentarios y estructura) y sobre todo, eficiencia. Si mi algoritmo resuelve en 2n y el tuyo en 2n , puedo ser muy limpio pero mi algoritmo es una mierda XD.

Lo q yo creo q no se deberia valorar es la presentacion, porque yo creo que los que saben programacion grafica y programacion en ventanas tienen ventaja. Ademas, programar en ventanas para Linux es mas jodido q usar un visual basic para windows y esto limitaria a los que quieran compilar en linux.

Propongo tb, por ultimo, que aunke el programa del participante no compile o lo haga mal, tb se valore ya que muchas veces por falta de tiempo se dejan cosas interesantes a mitad.

Eso es todo, creo que he expuesto los examenes de cuando yo daba clases XDDD

PD: No creo q pueda participar pq entre el curro y el proyecto no me puedo meter a mas programacion, pero intentare participar de alguna manera

IS4kO

#14 el tema es que si nos metemos a valorar el código, tendriamos que limitar los lenguajes, ya que no todo el mundo conoce todos los lenguajes, y si X Se curra la aplicación en rubi para un servidor unix, aer cuantos de aquí podemos entrar a la aplicación compilarla y ver la calidad del código

Es posible que tu pilotes mucho en cuanto a programación lógica, y que X pilote de programación gráfica, pues te unes a el y listo un equipo cojonudo :D

Yo creo que la aplicación deberá ser valorada en los dos aspectos, tanto logica, como graficamente hablando. Ya que en este mundo la presentación gráfica tiene cada vez mucha mas importancia, al cliente se le vende muchas veces más por los tres graficos en flash que has metido que por la calidad general del proyecto. Dices que es posible que la programación de ventanas sea mas complicada de Linux, bien, pues elige windows xd

De todas formas esperemos a que Whose ponga la primera version de las normas, para debatirlas :)

RaCe

me gusta la idea, pero que lenguajes se piensan utilizar?

SeiYa

Yo propondría que se abriese un post nuevo en el que cada uno ponga los lenguajes que conoce o ha programado y todo eso para ir haciendo equipos XD aunque antes que el señor don gato aclare las reglas marramamiaumiaumiau sentadito en su tejado ... xD

cabron

Yo no sé si participaría o no, pero una cosa está clara, tiene que ser programación gráfica, ¿por qué?, por que es la única manera de juzgar quien ha ganado.

#14:

Eso que dices es cierto, pero imaginante que se presentan 10 programas, si tenemos en cuenta que esto no va a ser ninguna competición profesional, dime tú quien va a hacer de juez, se va leer el código entero de los 10 programas, y se va a poner a evaluar cual está mejor escrito...

Y si es un programa que trata con una base de datos, pues lo mismo, no creo que haya muchos voluntarios para tirarse una tarde probando cual de todos los programas es más eficiente a la hora de hacer consultas....

Tiene que ser algo que se pueda ver a primera vista, y comprobar si funciona con un par de clicks.

Y sobre la plataforma, tiene que ser Windows, por que todos los que particen querrán ver los programas de los demás, y Windows es ahora mismo la plataforma más extendida.

Esas normas dejaría fuera a los que no sepan hacer programación gráfica en Windows, pero así son las competiciones, si vas a cualquier competición tiene unas normas, y no puedes decir a la organización "eh, cámbialas para que pueda particpar yo"

JuAn4k4

#6 Si te digo la verdad, no me acuerdo , la tengo en una de las hojas de practicas :\ voy a intentar buscarlo..

Edit: Lo encontre, en nuestra 5ª Practica, creo que se trata de un libro:
Uva Online-Judge -> http://online-judge.uva.es/problemset/
Se trata de un concurso internacional: ACM International Collegiate Programming Contest. -> http://icpc.baylor.edu/icpc/

Este es un ejercicio sacado del libro: ( La practica de la que te hablo : http://webdiis.unizar.es/%7Ejcampos/EDA/material/practica5.pdf

Se trata de usar Arboles AVL y Monticulos, para mejorar el rendimiento.

BlisZ

gracias :)

Kartalon

En mi opinión habría que decidir varios aspectos antes que nada desde entre que lenguajes se podrá elegir hasta los criterios para evaluar los programas.

Respecto a lo de la programación gráfica es que según lo que se ha dicho no se sabe nada y si se tira por lo gráfico esto puede acabar siendo un concurso de demoscene donde lo que se premia es la creatividad, originalidad y demás más que un concurso de programación donde lo que debería primar es el algoritmo diseñado para resolver el problema.

Tambien ha dicho alguien que si lenguajes orientados al desarrollo web, a esto no le veo sentido ya que lo más importante en el desarrollo web es el diseño (para crear foros y trabajar con bases de datos es siempre lo mismo, no hace falta diseñar algoritmos ultracomplicados) y lo que es diseño de programación no tiene mucho.

No se, yo creo que un poquito de información no estaría de más antes de preguntar quien apuntaría.

En mi opinión yo creo que lo mejor sería elegir un sólo lenguaje (votado por los concursantes) además de votar tambien el compilador que se desea utilizar para que todo el mundo antes de entregar su código pueda verificar como compila y por último anunciar la plataforma en la que se evaluarán los trabajos ya que, en mi opinión, el criterio más objetivo para evaluar es la eficiencia del programa, pero para esto antes los concursantes deberían conocer al menos todo eso.

Aunque no conozco muchas iniciativas del estilo asi que hablo desde la ignorancia :(

Salu2

ZurIchK

mmm me vendria bien pa repasar algunas cosillas,,, por ke haces años ke no toko esto, y no deberia haberlo dejao asin :s

se intentara sacar time para participar :D

JuAn4k4

#23 Si realmente quieres que se "premie" el algoritmo, este ha de ser independiente de cualquier lenguaje y plataforma, esto es, notacion algoritmica. Ahora claro esta, busca tu un juez, que se lea y entienda todos los algoritmos con sus maravillosas ideas felices.
Realmente, usar lenguajes distintos es algo bastante complicado, ya que algunos poseen funciones que facilitan asi como otros carecen de ellas, lo cual dificulta la programacion del mismo sin embargo quizas aumente el rendimiento ... son cosas del lenguaje :\ , me veo a alguno programando en ensamblador por aqui xdddd.
Por eso creo que , realmente elejir un lenguaje y una plataforma , no es del todo mala idea, a pesar que lo ideal, seria que no lo hubiera xd.

LoRTH

Yo propondria, que un mismo problema, se pudiera valorar, independientemente:

  • el codigo.
  • la optimizacion.

Asi cada uno tira para donde tira.

En cuanto al lenguaje, si que lo limitaria a los mas standart, y son multiplataforma mejor que mejor...

Yo me apunto.

LOc0

A mi me da que Whose se ha acojonado xD...

Salu2 ;)

A

Me parece una buena idea, pero difícil de llevar a cabo. ¿ Qué valoras ? ¿ Cómo lo valoras ?

Si valoras el código, necesitas a gente que conozca muy bien cada lenguaje de programación que usan los participantes.

Si valoras la optimización, hay problemas que pueden resolverse de maneras más creativas que otras, con más posibilidades de expansión, aunque quizá menos optimizadas...

Yo creo que sería mejor proponer un prototipo de aplicación y que cada uno escoja el lenguaje que desee y haga la suya.

Por ejemplo: Hacer un generador de laberintos. (por decir algo). Y que se valore:

a) Lo que el programa tarda hacer los laberintos.
b) Si el programa puede resolverlos por si mismo.
c) Si permite escoger distintos tipos.
d) Si tiene un temporizador y tú puedes intentar acabarlos.
e) Si permite que tú definas el tamaño, la velocidad del jugador, otras opciones...

En definitiva, valorar el resultado final e ir puntuando entre los usuarios las aplicaciones que se crean mejores. El ejemplo es sólo eso, un ejemplo. : -P

Un saludo.

bLaKnI

Y quizas algo mas sencillo y limpio como proponer el "reto" y dejar que cada cual lo resuelva como le plazca para que despues, TODOS podamos disfrutar de las multiples soluciones?
No hace falta competir, mas bien, aprender.

Ejemplo:

Semana 1: Generador de Laberintos.

Al final de la semana (a modo Golpes de Photoshop) vemos todas las resoluciones y, sencillamente, disfrutamos con ellas. No hay uno mejor o uno peor, senzillamente, uno preguntara y porque eso? y el otro responderá "pues por aquello...". Luego, nuevo reto. Que podria consistir en un nuevo programa o directamente, en mejorar el reto anterior partiendo de un codigo seleccionado de entre los existentes. Asi por ejemplo, un codigo que resolviera la generación de laberintos mediante Grafos, siempre seria mejor que uno que lo hiciera matricialmente... etc.

Que os pareceria este reto para empezar (cuando este todo en orden)?

--> Algoritmo (bueno, programa) para obtener si un numero es primo, o no lo es. ^^ A ver que sale, ahora que está de moda en India...

Soltrac

#29 tu propuesta es demasiado sencilla y se ha resuelto como 300 veces en este foro. Tiene que ser algo mas complejo, de algun examen de informatica de universidad p ej.

Otra cosa, con respecto a lo del laberinto...q se va a meter la inteligencia artificial o solo algoritmos "perfectos"?

Si es IA yo tengo un montonazo de problemas para ofrecer