Ver Mensaje Individual
  #5  
Antiguo 02-08-2014
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por nlsgarcia Ver Mensaje
por lo cual creo que debes conocer una amplia gama de paginas relacionadas con el tema que puedas recomendar ampliamente
Basicamente el inicio es que he manejado muchos lenguajes, y casi que adrede el menos popular -en su momento- (FoxPro en vez de VB, Delphi en vez de C/C++, Python en vez de PHP/Ruby, Obj-c en vez de Java, Postgres en vez de Mysql, etc), lo que me ha expuesto a muchas ideas que no son tan comunes. Tambien esta el asunto de que cuando se trabaja solo o en equipos pequeños es inteligente saber que realmente hay lenguajes mejores que otros.

El sitio donde se habla a nivel *MUY* teorico sobre todo esto es: http://lambda-the-ultimate.org/. En http://www.hckrnews.com/ de cuando en cuando se habla.

Pero basicamente el asunto es que hay unas 2 ramas principales entre los diversos paradigmas: Funcionales e imperativos y/o OO.

Como *siempre* me a gustado irme por la rama *menos* popular u obvio (es una idea que saque del libro "Las 22 leyes inmutables del marketing" donde se postula que el #1 con el tiempo se vuelve perezoso y grande y el #2 se tiene que esforzar mas) entonces trato de determinar que me pueda dar una ventaja sobre lo mas "común".

Tambien, cosa que saque de FoxPro: Uno no sabe de lo que se pierde o las estupideces que son innecesarias si no se expone a ideas diferentes, y las ideas diferentes no están en la opción obvia. FoxPro es un lenguaje que es una rama "perdida" en la actualidad, pero que me enseño sobre como hacer BD y hacer OO.

Asi que vas caminando cada rama de la programacion, y te metes a cada lenguaje, y tratas de averiguar que tiene de interesante. Por ejemplo, en el caso de Julia son los multi-metodos. Y asi sucesivamente vas creando un modelo: "La inhiterancia en la OO es una solucion mas estupida que la cohesion" "El manejo de estado se debe reducir". "Si el lenguaje no tiene paradigma X, que tan costoso es emularlo? Y eso como afecta lo que hago?" y asi por el estilo.

Luego en cuanto a la idea de hacer el lenguaje vas mirando que es crucial, que es mejor, que es redundante, etc. y con el tiempo (y no es tan facil!) vas encontrando ideas utiles como el pratt parser.

-----

Algunos lenguajes que son utiles para empaparse de ideas:

Funcional, Totalmente tipado, Estricto en manejo de estado: Hakell : http://learnyouahaskell.com/

Software confiable y escalable: Erlang: http://www.erlang.org/ (Elixir es un "dialecto" mucho mas amigable: http://elixir-lang.org/

Pascal, y toda su familia (ADA, Modula, etc) por supuesto!

Python: La legibilidad importa

Lisp: No hay separacion de codigo y datos.

Un sitio que da un abrebocas de varios:

http://learnxinyminutes.com/
__________________
El malabarista.
Responder Con Cita