Ver Mensaje Individual
  #9  
Antiguo 08-05-2013
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.913
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por nlsgarcia Ver Mensaje
1- ¿Que quieres decir con "forma de trabajar burocratica y toma una ruta mas agil" en .NET?
Digamos que todo empieza como dice el dicho: Cuando todo lo que tienes es un martillo, todo parecera un clavo.

Cada lenguaje/entorno promueve una cierta forma de trabajar y resolver las cosas. Por ejemplo, si alguien usa delphi y necesita manejar datos, quizas lo piense inmediatamente en terminos de TDataSource y TDataSets. Pero apuesto que pocos piensan en terminos de HashTable. En contraste, en python, todo es Listas y Diccionarios -que son una de las causas de que pueda ser lento-.

En python, la idea de datasources y recordsets es practicamente inexistente.

Un lenguaje OO te hace pensar en clases y subclases. Pero uno funcional, en funciones anidadas. Osea, el lenguaje moldea la forma de pensar de la gente, a un nivel profundo. Esto se expresa muy bien en http://steve-yegge.blogspot.com/2006...-of-nouns.html

Ahora bien, esto tambien se da como cada cual aprende a hacer sus primeros programas. En java, es muy comun el uso de XML para configurar cosas. El crear clases que usan clases que se basan en clases con clases y mas clases, AD-INFINITUM

http://www.quora.com/Java-programmin...from-real-code

http://godsnotwheregodsnot.blogspot....va-coding.html

Y luego todo la forma de como se hacen los proyectos. Cuando se comparan las librerias entre iOS y Android, hechas por la misma gente para hacer los mismo, es notable lo "verbosed" que son las hechas en Java (y eso que obj-c es para nada conciso).

Luego esta el asunto de los IDEs y como operan, al igual que con .NET, uno no piensa: Voy a hacer un archivo unico para hacer esto simple. No, lo que se hace es un proyecto con un monton de cosas, referencias, configuraciones y archivos extras, osea, de entrada asumen proyectos complejos y grandes.

En contraste, uno en python, por ejemplo, hace un archivo .py, hace su tarea, y se acabo.

Hace poco rehice todo un proyecto hecho en .NET a python, y la cantidad de codigo y archivos que se redujo fue impresionante (al final, python fue como 20 archivos vs. casi 100 de .net). No toda esa reduccion es debido al lenguaje, sino a todo el "equipaje" de como se hacen las cosas en .NET.

Es algo que tambien se vive con obj-c, donde los proyectos son masivos. Uno mira un repositorio open-source de algo y aunque sea un solo archivo donde esta el codigo importante, siempre vienen con unos 10 archivos extras hechos por el IDE.

Luego, esta la forma de pensar. Es dificil de comunicarlo, pero te pongo un ejemplo. Imaginate que quieres hacer grafos, y hacer la siguiente tarea:

En base a una lista de tablas, determinar de forma automatica como se hacen las relaciones de la forma mas eficiente posible, sin que el usuario haga los join manualmente. Osea, si hay Cliente, Factura, Detalle, y el usuario arrasta esas tablas, el programa solito sabe como hacer los joins entre los 3.

Eso se hace con grafos. Asi que dale una buscada a como se hace eso en java (o .net). Luego mira el codigo, y como se hace todo ese cuento.

Cuando me toco hacer eso, arrastre varios hiper-complejas librerias de .net. Super-enruedadas en ese entonces. Luego pense "a que en python es mas facil" y encontre esto:

http://www.python.org/doc/essays/graphs/

Luego re-implemente eso en C#, puff!!! quedo como en 20-30 lineas de codigo. Ves? No fue el lenguaje, es la forma como se enfrentan las cosas.

Cita:
Empezado por nlsgarcia Ver Mensaje
2- He visto aplicaciones hechas en .NET para Desktop muy optimizadas nivel de GUI, ¿Podrías aclarar un poco lo relacionado a la GUI en .NET?
EL problema de fondo, era que Winforms no tenias soporte de hardware para la tarjeta grafica (todo el render es por software). Con lo nuevo si hay soporte de hardware, pero requiere direct-x, asi que los equipos viejos no pueden. Java es igual, al usar widgets no nativos no hay aceleracion y todo es lento. Si siquiera usara open-gl pero nada (luego por ahi se inventaron unos widgets que enlazan a lo nativo y sale mejor).

Cita:
Empezado por nlsgarcia Ver Mensaje
3- ¿Podrías darme tu opinión sobre Visual Basic 2010 y C# 2010 en Aplicaciones Desktop y Web y sus ventajas desventajas con respecto a Delphi?.
Ya de eso se ha hablado bastante . La cosa, es que en mi opinion, no hay nada que supere al estilo VCL de delphi, con excepcion de Coccoa (osx). Hacer una GUI en .NET es entre facil (winforms) y limitado y lento y frustrante y dificil (WPF) enruedado y frustrante.
__________________
El malabarista.
Responder Con Cita