Informática en general > Dudas informáticas

 C# Vs. Php - Webs

<< < (6/11) > >>

JuanK:
Holas, que pena con uds, pero me tenia que ir a ecamen de ingles, y ya veo qu estoy muy desactualizado en cuanto a informacion de PERL.


--- Citar ---
--- Cita de: "JuanK" ---4- indexers
--- Fin de la cita ---
Según veo, indexer es lo que ahora se llama iterator.
--- Fin de la cita ---

no.


Un indexer es... la verdad notengo palabras para describirlo de manera corta, pero mas o menos es esto.

pseudocode
sin indexers

--- Código: Text --- class clas1{  class clas2  {         Bitmp mapaDeBits.  }    clas2 claseNumero2;} class program{    int main()    {         clas1 claseNumero1 = new clas1();         --ahora quiero acceder a un propiedad del b itmap para saber la data         claseNumero1.claseNumero2.mapaDeBits.BitmapData[0]= 1;    }}  
Conindexers

--- Código: Text --- class clas1{  //Este es el indexer  public int this[int pos]  {       set      {          claseNumero2.mapaDeBits.BitmapData[pos]= value;      }  }   class clas2  {         Bitmp mapaDeBits.  }    clas2 claseNumero2;} class program{    int main()    {         clas1 claseNumero1 = new clas1();         --ahora quiero acceder a un propiedad del b itmap para saber la data         claseNumero1[0]= 1;    }}  
Espero se haya entendido, adicionalmente el indice del indexer no necesariamente tiene que ser un entero, puede ser una cadena, un objeto o lo que sea que uno quiera. Esto simplifica mucho el trabajo y reduce notablementela cantidad de codigo requerida para lograr los mismo resultados.

1. ok

2.

--- Citar ---Obviamente pueden generar código, puesto que necesitan un archivo intermedio con un bytecode para la máquina virtual... Perl lo hace, pero lo pasa directamente al intérprete y al optimizador de código
--- Fin de la cita ---

Yo me referia al byte code sino a la posibilidad de generar codigos intermedios identicos usando un conjunto de reglas preciamente establecidas (CLI) es decri el lenguaje es solo circunstancial.

3. no encontre nada de esto en google , que es? tampoco entendi lo de currying .

4. explicado

5. claro, para mi eso es una gran ventaja, sobre todo si se sige el paradigma POO

6. Es otro concepto complicado pero hace referencia a la manera en que los hilos coparten infromacion unos con otros y una serie de reglas que se pueden imponer al respecto.

--- Cita de: "xtract from a ebook" ---• A .NET process hosts one to many application domains. Each AppDomain is able to host any
number of related .NET assemblies and may be independently loaded and unloaded by the
CLR (or programmatically via the System.AppDomain type).
• A given AppDomain consists of one to many contexts. Using a context, the CLR is able to place
a “special needs” object into a logical container, to ensure that its runtime requirements are
honored.
--- Fin de la cita ---

7.

--- Citar ---YA no supo que mas agregar...
esa es mi respuesta para JunaK

--- Fin de la cita ---

JunaK? quien es ese?  :devil:

7- enumerators
8- jagged arrays
9- partial types
10- soporte embebdido para documentacion XML

--- Código: Text ---/// &#60;summary&#62;/// The ctor lets you set the sunroofedness./// &#60;/summary&#62;/// &#60;param name=&#34;hasSunroof&#34;&#62; &#60;/param&#62;public Car(bool hasSunroof){   this.hasSunroof = hasSunroof;} 
Con estoo ya puedes generar documentacion web cmomo una opcion mas del proceso de compilacion... y la verdad es algo de lujo  ;)

11- Sobrecarga de operadores de cast implicitas
12- Sobrecarga de operadores de cast explicitas
13- Manejo y diferenciacion de tipos safe/unsafe
14- Type Reflection ( gracias a esto me enter que si hay PERL.NET y desde luego el si tiene todo o casi todo lo que he dicho por que usa el CLI y el CTS)
15- etc (y si tengo mas que decir  :P )

Pero estas son solo caracteristicas que podemos llamr del lenguaje, mas de fondo estan todos los coponentes del framework, todas las facilidades de acceso a datos, y ni hablar de las apis especificas para creacin de aplicaciones Web con enlace a datos, el excelente soporte para web services... etc.

El .net framework es realmente gigante... ustedes podran decir, si muchas cosas del .net ya las tiene java o perl etc..
claro que si, pero en .net , al menos comparado con java ( hasta alla no llega mi conocimiento  de PERL) es mucho mas rapido, facil y versatil.

Enko:
Si es para una web básica, con:
*)algunas bases de datos  
*)algo de informacion dinamica, encuestas, estadisiticas
*)algun juego estadistico y un par de imagenes dinamicas

Yo prefiero php, seguramente es más pobre que C#, pero tiene una sintaxis más transparente para mi gusto (nunca pude aprender bien C, si php y actionscript).
Además, le puedes agregar facilmente cosasde ActionScript para darle un lindo diseño.

El gran problema que se plantea aca es que PHP es para paraginas web y servidores, C# es un lenguaje de uso general, o sea, tiene muchismas más cosas que no se van a usar en una pagina web y por eso, C# ES MÁS DIFICIL DE APRENDER QUE PHP, ya que es un lenguaje completo.

amnesiac:
Que tal,

JuanK, todos los argumentos que diste son "características" de un lenguaje que tiene tipos de datos definidos y estáticos... Generics, Jagged arrays, partial types, etc, etc... Cómo entonces puedes comparar a 2 lenguajes que ofrecen pecualiaridades completamente diferentes?

Creo que tus palabras solamente se pueden medir en la experiencia que tienes usando esos lenguajes ( y por lo visto tu experiencia no es muy vasta ni en C# ni en Perl ).

Nuevamente yo te puedo citar muchas características que C# no tiene a comparación de Perl, y mas aquellas que tienen que ver con el paradigma funcional. C# no tiene manera de utilizar variables léxicas, puesto que no es débilmente tipificado, no puede por lo tanto generar dynamic closures, C# no tiene la habilidad de modificar su tabla de símbolos en tiempo de ejecución, no tienes funciones de alto orden, no puedes tener funciones que pre-fabriquen otras funciones ( por elementos citados atrás ).

Qué me gano citando esas características de un lenguaje que NO las tendrá?

Soporte embebido para documentación en XML? who the fuck cares about that? La gente de Perl es feliz con POD, y es demasiado rápido de analizar y transformar.

Me gustaría que me hablaras de cosas verdaderamente tangibles...
Mira C# por ser tan reciente no tiene el soporte que tiene Perl y otros lenguajes con mas tiempo, C# no tiene una comunidad que tenga un repositorio en común con código de terceros, C# no tiene la cantidad de frameworks que contiene Perl para facilitar MUCHAS tareas (web,administración,GUI). C# es una moda, la cual como todas las modas, establecerá su nicho en su momento, y listo, esto sucede SIEMPRE.

Y para culminar con mi comentario, C# NO ES UN LENGUAJE, así como tampoco Java lo es, aquí es donde tu conocimiento me pone a pensar en tus comentarios.... C# y Java son ESPECIFICACIONES; de qué? de un lenguaje, de una máquina virtual, de una API, de conjunto de herramientas. Qué es .Net, qué es .Mono? son IMPLEMENTACIONES de dicha especificación.

Qué es Sun JDK, Qué es IBM JDK, Qué es Blackdown JDK? Son implementaciones de la especificación de Java.

Espero te quede mas en claro el punto de comparación ahora...

Saludos,

JuanK:
:lol:



--- Citar ---Creo que tus palabras solamente se pueden medir en la experiencia que tienes usando esos lenguajes ( y por lo visto tu experiencia no es muy vasta ni en C# ni en Perl ).

--- Fin de la cita ---
Si tu lo dices...


--- Citar ---1.variables léxicas, puesto que no es débilmente tipificado, no puede por lo tanto generar dynamic closures, C# no tiene la habilidad de modificar su tabla de símbolos en tiempo de ejecución, no tienes funciones de alto orden,
--- Fin de la cita ---

Al menos para mi gusto ser fuertemente tipificado es una gran ventaja con respecto a no serlo.

Funciones de Alto Orden: Una de las principales características de los lenguajes funcionales es la facilidad que presenta para tratar funciones como objetos, lo que permite aceptarlas como parámetros de otras funciones, retornarlas como resultado y permitir que otras estructuras de datos las contengan dentro de sus componentes.

Desde luego que C# no tiene los mismo tal cual , pero tampoco lo necesita:
delegados (delegates). si entendi bien a que se refieren con Funciones de alto orden:


--- Código: Text ---namespace SimpleDelegate{  // El delegado apunta a cualquier metodo,  // que tome dos enterod y retorne un entero  public delegate int BinaryOp(int x, int y);    //esta clase contiene los delegados a donde se va a apuntar  public class SimpleMath  {    public static int Add(int x, int y)    { return x + y; }     public static int Subtract(int x, int y)    { return x + y; }  }   class Program  {     static void Main(string[] args)    {      Console.WriteLine(&#34;***** Simple Delegate Example *****&#092;n&#34;);      //Crar un objeto BinaryOp que      // &#34;apunte a&#34; SimpleMath.Add().      BinaryOp b = new BinaryOp(SimpleMath.Add);            // Invocar el metodo usando el delegado      Console.WriteLine(&#34;10 + 10 is {0}&#34;, b(10, 10));      Console.ReadLine();    }  }}  
El delegado que apunta a la funcion, puede ser enviado como parametro a cualquier otro metodo, los metodos tambien pueden devolver delegados.

respecto a las variables lexicas... si sabes algo de POO y de .net te daras cuenta que no necesitan dicha habilidad, para eso existe POO y en varios lenguajes hay modificadores de acceso, en el caso de C# puedes usar:

public
private
internal
static
protected

y dentro de las metodos miembro el contexto de una variable se puede limitar a cualquier bloque de codigo dentro del mismo bien sea para todo el bloque, para solo un bloque condicional etc. Tambien se peuden crear atributos static para proponer su uso de manera global en el ensamblado o los ensamblados... usando la palabra reservada

using


--- Citar ---no puedes tener funciones que pre-fabriquen otras funciones ( por elementos citados atrás ).
--- Fin de la cita ---
Si se peude, aunque en tu vasto conocimiento no lo sepas. Por supuesto que se pueden generar ensamblados dinamicos en memoria usando .NET.

FYI

-Refleccion de tipos
-Module Builder


--- Citar ---Soporte embebido para documentación en XML? who the fuck cares about that? La gente de Perl es feliz con POD, y es demasiado rápido de analizar y transformar.

--- Fin de la cita ---

No se según tu que gran ventaja tiene usar algo como POD contra usar un standart global como XML.


--- Citar ---C# no tiene la cantidad de frameworks que contiene Perl para facilitar MUCHAS tareas (web,administración,GUI). C# es una moda, la cual como todas las modas, establecerá su nicho en su momento, y listo, esto sucede SIEMPRE.

--- Fin de la cita ---

jajajaja!!! ah no?  que profundo conocimiento de C# y de .NET tienes verdad... sabes que es el .NET fram,ework? parece que no, pero tlo que has mencionado esta muy ampliamente soportado, no se de donde sacas que .net no... eso es ridiculo y es una afirmacion ilogica.


--- Citar ---Y para culminar con mi comentario, C# NO ES UN LENGUAJE, así como tampoco Java lo es.
--- Fin de la cita ---

ahh no?  :whistling:

entonces que son?


--- Citar ---C# y Java son ESPECIFICACIONES
--- Fin de la cita ---
3

Estas mal, no hablare por java. Pero c# es un leguaje.


--- Citar ---; de qué? de un lenguaje, de una máquina virtual, .
--- Fin de la cita ---

El lenguaje de la 'maquina virtual' de .NET si es que se le puede llamar maquina virtual porque no lo es realmente , al meno no desde el mismo punto de vista de java,  es el MSCIL, al compilar codigo escrito en lenguaje C# el compilador genera codigo CIL que es el que en primera instancia es accedido por el JIT.


--- Citar --- Qué es .Net, qué es .Mono? son IMPLEMENTACIONES de dicha especificación.
--- Fin de la cita ---
Nuevamente tu profundo conocimiento de .NET me deja anonadado  :lol:

.NET y Mono son implemenciones de CIL segun el estandart

CLI Specification

Es lo mismo que decir que C++ no es un lenguaje sino una especificacion ANSI...

Ecma-334 : C# Especification

por otro lado:



--- Citar ---Qué es Sun JDK, Qué es IBM JDK, Qué es Blackdown JDK? Son implementaciones de la especificación de Java.
--- Fin de la cita ---
No, no son la sespecificaciones del lenguaje, son especificaciones del
J2EE
J2ME
J2SE

todos SDKs...

SDK es: Software Development Kit, es decir un conjunto de herramientas que sirven para desarrollar, sino tienes el JDK o el .NET FrameWork SDK lo unico que no puedes hacer es desarrollar, pero los programas pueden correr noemalmente asi que no son las especificaciones de java.. ni nada parecido.

Que son el conjunto de Frameworks y/o librerias que son utilizables por el lengueja de manera nativa,pero nada tiene que ver con el lenguaje.


--- Citar ---Espero te quede mas en claro el punto de comparación ahora...
--- Fin de la cita ---

No me quedo claro nada mas de lo que ya habia dicho en mi post anterior.

Adicionalmente me quedo claro:
-que hablas demasiado
-que sabes tanto de .NET como yo de PERL ( incluso menos)
-Que eres un pelion buscapleitos, nadie estaba peliando hasta que llegaste con actitud provocadora... habia necesidad de eso...?
-Que me dejo provocar muy facilmente.


---Porque hicieron PERL .NET?

su -:

--- Cita de: "JuanK" ------Porque hicieron PERL .NET?
--- Fin de la cita ---
Por lo mismo que haces copias de programas de Win32 a Gnu/Linux....  :rolleyes:  polvo eres y polvo te combertiras creses en ActiveX, .NET y en eso te quedas porque cuando creses, sos como rata, solo pensas en que lo que conoces es suficiente... que ironia decir esto no?

--- Cita de: "JuanK" ---SDK es: Software Development Kit, es decir un conjunto de herramientas que sirven para desarrollar, sino tienes el JDK o el .NET FrameWork SDK lo unico que no puedes hacer es desarrollar, pero los programas pueden correr noemalmente asi que no son las especificaciones de java.. ni nada parecido.
--- Fin de la cita ---
:blink: De verdad, pues si podes hacer correr HotJava (ya se que no lo hacen aun asi...) sin JDK sos un Dios...
Bien, como no se mucho de esto mejor me quedo mudo... no quiero decir idioteces.
 :comp:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa