![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Pero no sirve para varias cosas , y no hablo de superprogramas de simulación con 50000 threads capaces de predecir el universo (?), sino algo mucho más normal como hacer una aplicación de escritorio medianamente sofisticada. O sí, sirve, pero es muchísimo menos productivo que Delphi o Lazarus, además muchas funcionalidades quedarán recortadas o dependeremos de herramientas/lenguajes de terceros.
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma. Última edición por rretamar fecha: 13-12-2013 a las 21:06:11. |
|
#2
|
||||
|
||||
|
Cita:
![]()
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively... "Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum. Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco |
|
#3
|
||||
|
||||
|
mamcx,
Cita:
![]() Nelson. |
|
#4
|
||||
|
||||
|
Crudo? Uff! un monton.
Por ejemplo, esto:
Se hace en foxpro (copia los resultados en un array). No asi: Código PHP:
Ahora, lo mas cercano seria algo como LINQ:
Lo cual es genial. El compilador te ayuda con errores cuando cambia una tabla o campo (de nombre o tipo). Y automaticamente genera el sql de acuerdo a la BD. O si no es una BD? Pues tambien: http://code.msdn.microsoft.com/101-L...mples-3fb9811b Código PHP:
Luego viene otro problema, que mostre levemente con el codigo de fox. El como pasar datos a las estructuras (hacer binding). Con fox era muy facil incluso linkear a variables, copiar a cursores en memoria y cosas por el estilo. Con LINQ es masomenos igual de bueno, pero no identico. Ya que fox tenia el motor integrado, no se pierde ni la abilidad ni la velocidad al procesar localmente los datos. Lo mas cercano? Creo que python tiene http://pandas.pydata.org/pandas-docs/stable/10min.html (pero diverge mucho...). Asi que este paso es el del procesamiento local. Cuando mencione que el manejo de Bases de datos es crudo, realmente estaba pensando en "datos" en general. Asi que corremos la consulta de clientes y obtenemos un conjunto de datos. Esta en un dataset o un diccionario. No es lo mismo a que si estuviera en una tabla de datos local... Luego esta el problema en si de binding, validacion, procesamiento/transformacion. Pensemos en el binding. Delphi es genial con su TDataSet, pero eso tambien es una muy pobre opcion (en mi epoca de fox, uno no sabia que el binding era problematico!). La mejor idea actual es la programacion reactiva... porque resuelve el problema de los eventos. El uso de eventos (los tipicos OnClick) se vuelven muy complicados con el tiempo, y enredados de verificar, testear y entender. Son codigo espaguetti. Y en el momento que se le meten cosas asincronicas? Sin ayuda del lenguaje/librerias es imposible de manejar... Un ejemplo: http://swannodette.github.io/2013/07...ial-processes/ https://github.com/ReactiveCocoa/ReactiveCocoa Y la validacion y definición de campos. Un ejemplo de como podría ser, de cuenta de python/django: Código PHP:
Código PHP:
Ahora resumiendo (porque como notan, me toca jalar de multiples lenguajes y entornos) como se veria un lenguaje para que fuera como en foxpro, pero moderno?: P.D: La sintaxis y todo es un invento, aun no tengo nada en concreto. Código PHP:
__________________
El malabarista. |
|
#5
|
||||
|
||||
|
mamcx,
Cita:
![]() Nelson. |
|
#6
|
||||
|
||||
|
Esto es lo que yo quería: Debate. Es que me parecía a mi que esto iba a derivar en que cada uno diera una lista de características, y eso no me mola. Si en realidad a mi me entanta la idea de crear lenguajes nuevos. Incluso yo también he creado alguno.
![]() Cita:
Si habéis programado para algún entorno de ventanas a bajo nivel (por ejemplo, Windows 3.1 o XWindow), sabréis que están diseñados mediante objetos y que la comunicación entre componentes se hace a través de mensajes y que pocas veces estos mensajes se responden en el momento de enviarlos. Los entornos de ventanas son de las pocas aplicaciones realmente orientadas a objetos que he visto. Pues eso, a mi me gustaría un lenguaje que funcionara de esa forma. Cita:
Discrepo, y mucho. Personalmente me cuesta horrores hacerme una idea de cómo funcionan los programas Python. Lo he intentado. He leído tutoriales, manuales de introducción, cursos... Pero no me entra. 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. Además, tanto FORTRAN como COBOL desecharon la indentación significativa hace décadas porque dificultaba tanto la escritura como la lectura de programas. Me parece absurdo que un lenguaje que se considera moderno mantenga una característica tan obsoleta, útil sólo cuando se trabajaba con tarjetas perforadas. Esto me recuerda que tengo pendiente explicar cómo programar OO en C puro y duro*, con herencia y polimorfismo, y sin necesidad de hacer cosas raras (como el horrendo MFC y similares). Cita:
A modo de conclusión diría que me gustaría un lenguaje realmente orientado a objetos, no a clases ni prototipos. También abogo por los lenguajes de propósito específico, y no tanto por los de propósito general. ______________________________________ * Tentado estoy de hacerlo en la sintaxis de K&R, pero creo que al final lo haría en C99 o similar. ** Ojo, a partir de PHP2, cuando autor original lo dejó en manos de unos tipejos emperrados en hacer que se pareciera a C, primero, y C++, después. Por lo que he visto, el PHP original no era tan mala idea.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi! - BAScript - Multi Language Scriptable Development Environment |
|
#7
|
||||
|
||||
|
Ñuño Martínez,
Cita:
Pienso que crear un lenguaje es algo realmente notable ![]() Nelson. |
|
#8
|
||||
|
||||
|
Cita:
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:
![]() 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. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|