Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Temas relacionados > Debates
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-12-2013
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.939
Poder: 27
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por Ñuño Martínez Ver Mensaje
De la propia definición de objeto... La comunicación entre objetos se realiza (por definición) mediante mensajes y estos (por definición) no revelan los detalles de su implementación, de hecho no tienen por qué ser respondidos de forma síncrona.
Ah, la definición del que invento la OO!

http://programmers.stackexchange.com...bject-oriented

Un paradigma que cumple mas de cerca esa definición es el modelo de actor:
https://en.wikipedia.org/wiki/Actor_model

Cita:
Empezado por Ñuño Martínez Ver Mensaje
Discrepo, y mucho. Personalmente me cuesta horrores hacerme una idea de cómo funcionan los programas Python .... En serio, en cuanto se meten en algo más complicado que obtener un dato y darle salida, me parece incluso más caótico que un mal programa escrito en PHP.
Eso si suena raro! Se que muchos detestan la identacion (significativa) pero decir que python no es legible? Mas cerca del pseudocodigo no hay. Que ejemplo podrías dar? Que es un ejemplo de algo legible?. De mas esta decir que los lenguajes que considero legibles (pascal, python, fox) tienen un aspecto de "bloques" que me parece muy intuitivo (y recuerdo que en el libro Code Complete había un estudio al respecto, de como ese estilo identado era mas claro). Aunque viendo que hay gente que le parece legible los lenguajes basados en LISP....

Lo que no me gusta de python es no poder darle los tipos a las variables. Cuando se ve una funcion read(name) no se puede deducir que pide y que devuelve y el compilador no te ayuda. Creo que el balance ideal es que el lenguaje sea tipado y permita escapar a dinámico, por ejemplo: http://cobra-language.com/. Me imagino que si se hace Customer.Name es tipado pero si se hace Customer..Name es dinámico.


Una de las cosas que le saco a python, es que no importa que código de quien este leyendo, todo parece escrito por la misma persona. Eso es algo que es difícil de encontrar en otros lenguajes.

------

Ultimamente están saliendo muchas cosas interesantes. Por ejemplo están http://julialang.org/ y http://nimrod-lang.org/. También, corriendo sobre erlang, http://elixir-lang.org/. Pero en cuanto a la OO, creo que me inclino mas por el modelo de GO.

Eso porque luego de todo este tiempo, me he dado cuenta que una jerarquía de clases tiende a ser la abstracción equivocada y el rehusó es mas problemático. Aparte, que cuando se entiende el propósito original de la OO de Alan y como se implementa el modelo de Actor se hace evidente (en mi opinión) que un programa se debe hacer mediante composición y se usan objetos para encapsular sub-procesos.

Digo que es equivocada porque es muy difícil de descomponer una jerarquía de clases, y recomponer funcionalidad para crear nuevos objetos. Por ejemplo, si se hace un control visual, digamos un listado para agenda de contactos, de donde derivo todo? Si lo saco de un grid me cargo del grid lo que no quiero (y es la abstracción errónea) y si lo saco de una lista lo mismo, no tengo lo que ya tiene el grid, y no es fácil hacer tipo "virtual", así que toca hacer casi todo desde cero. Con la composición no es así, es igual a hacer programación funcional -pero tipo OO- en donde si quieres algo combinas funciones hasta lograrlo, pero igual puedes obtener el pedacito que necesitas sin cargarte toda una jerarquía detrás...
__________________
El malabarista.
Responder Con Cita
  #2  
Antiguo 17-12-2013
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Átomos = funciones
Moléculas = clases
(Como en GHF, para mejor aprovechamiento).

Redefinición de clases o "herencia insertada".

If Result := S <> '' Then

Que todas las funciones y métodos sean virtuales (sustituibles).

Y muchísimas otras cosas...

No al sangrado significativo.
Sí a las variables tipificadas.

Escrito desde mi teléfono (disculpen lo escueto).
Responder Con Cita
  #3  
Antiguo 17-12-2013
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.025
Poder: 27
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Cita:
Empezado por nlsgarcia Ver Mensaje
Pregunto: ¿Que lenguaje creastes?, ¿Cual es su sintaxis?, ¿Cual es su paradigma(s)?, ¿Tipos de datos y almacenamiento persistente?, ¿Es de propósito específico o general?, ¿Es algo teórico o ya existe alguna implementación de mismo?, ¿Puedes mostrar algún programa de ejemplo?.
Uno de ellos es BAScript, que es una especie de ensamblador con correspondencia 1:1 a los op-codes de una máquina virtual. Algún día tengo que ponerme con la versión 2, porque la 1 que puedes obtener aquí es deficitaria. Se trata de un lenguaje similar a FORTH (la versión 2 se parece mucho más que la 1) pensado para una MV que sirva para extender aplicaciones (scripts, add-ons, etc.).

El otro lenguaje es específico para programa inteligencia artificial para videojuegos. Todavía no lo he implementado pero está descrito por completa. Está basado en objetos, orientado a estados y dirigido por mensajes. Es un poco complejo, pero ya hablaré de este lenguaje cuando tenga algo que enseñar.

Cita:
Empezado por Al González Ver Mensaje
If Result := S <> '' Then
Eso se puede hacer en C y derivados, porque en C absolutamente todo devuelve un valor, incluyendo las asignaciones, las cuales devuelven el valor asignado. Si bien puede ser útil en ocasiones, no es algo que me guste mucho ya que puede dar quebraderos de cabeza al mezclar cosas.
Responder Con Cita
  #4  
Antiguo 17-12-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
Ñuño Martínez,

Cita:
Empezado por Ñuño Martínez
...Uno de ellos es BAScript...El otro lenguaje es específico para programar inteligencia artificial para videojuegos...


Nelson.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Que lenguaje de programacion utilizar? m8estrella83 Debates 22 28-02-2013 19:51:22
Delphi mejor lenguaje de programacion 2010 Delfino Noticias 97 31-01-2012 00:46:18
Qué lenguaje de programación es el mejor pagado ? David Debates 14 14-04-2008 19:45:55
Actualización del lenguaje de programación PHP vtdeleon Noticias 0 03-12-2005 02:15:43
Lenguaje de programacion en LINUX uper Linux 2 12-07-2004 19:41:57


La franja horaria es GMT +2. Ahora son las 08:01:19.


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