Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)
Autor
|
Tema: Java VS C#, No lo creo, Son lo mismo pero... (Leído 17,151 veces)
|
LastDragon
Desconectado
Mensajes: 847
Usuario Baneado (troll)
|
C# o Java Básicamente ambos son lo mismo. Ambos son lenguajes completamente orientados a objetos, Ambos son multiplataforma a nivel binario y código fuente, siempre y cuando el OS anfitrión tenga las mismas clases. En Java al compilar una clase se obtiene un archivo binario .class En C# o cualquier lenguaje .NET se obtiene un binario .exe Java corre sobre un framework denominado, La maquina virtual de JAVA Los programas .NET corren sobre el FrameWork .NET Tal vez la ventaja de ambos mundos no radica a nivel lenguaje, sino a nivel framework C# o Java son prácticamente iguales Pero el framework de Java solo corre programas JAVA El framework .NET corre cualquier programa creado en cualquier lenguaje que genere codigo .NET Siendo esta ultima la mayor ventaja de .NET, Cualquier lenguaje puede compilar código .NET en lugar de código maquina y este seria portable a nivel binario Los programas .NET tienen una cabecera similar a la de cualquier programa Windows que indica que no se pueden ejecutar en modo msdos, pero de ahí en adelante el código ya no es x86 sino pseudos código tipo JAVA listo para ejecutarse en una maquina virtual .net denominada FrameWork Entonces la guerra no es C# VS Java. El verdadero pleito es a nivel framework, donde el que si sale victorioso es el .NET por la capacidad de correr el codigo de cualquier lenguaje .NET en cualquier plataforma que soporte su framework. Sin importar procesador, ni OS. A continuación muestro un ejemplo. Se hace un simple programa que muestra una ventana usando las librerias de Windows form. Es compilado. El EXE es transportado a Linux y en Linux el binario es corrido, como si hubiera sido programado para correr en Linux. El futuro que promete .NET es programa en tu lenguaje favorito. Compila a .NET y córrelo donde sea using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data;
namespace winlinux { /// <summary> /// Descripción breve de Form1. /// </summary> public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.Label label1; private System.Windows.Forms.Button button1; /// <summary> /// Variable del diseñador requerida. /// </summary> private System.ComponentModel.Container components = null;
public Form1() { // // Necesario para admitir el Diseñador de Windows Forms // InitializeComponent();
// // TODO: Agregar código de constructor después de llamar a InitializeComponent // }
/// <summary> /// Limpiar los recursos que se estén utilizando. /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); }
#region Windows Form Designer generated code /// <summary> /// Método necesario para admitir el Diseñador, no se puede modificar /// el contenido del método con el editor de código. /// </summary> private void InitializeComponent() { this.label1 = new System.Windows.Forms.Label(); this.button1 = new System.Windows.Forms.Button(); this.SuspendLayout(); // // label1 // this.label1.Location = new System.Drawing.Point(72, 72); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(160, 48); this.label1.TabIndex = 0; this.label1.Text = "Me programaron y compilaron en Windows XP y Visual C#, Pero puedo correr en GNU/L" + "inux"; // // button1 // this.button1.Location = new System.Drawing.Point(88, 176); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(120, 32); this.button1.TabIndex = 1; this.button1.Text = "Cerrar"; this.button1.Click += new System.EventHandler(this.button1_Click); // // Form1 // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(292, 266); this.Controls.AddRange(new System.Windows.Forms.Control[] { this.button1, this.label1}); this.Name = "Form1"; this.Text = "Programa C#"; this.ResumeLayout(false);
} #endregion
/// <summary> /// Punto de entrada principal de la aplicación. /// </summary> [STAThread] static void Main() { Application.Run(new Form1()); }
private void button1_Click(object sender, System.EventArgs e) { this.Dispose(); } } }
Hecho y Compilado en Visual C# en Windows home /misarchivos/winlinux/winlinux1.jpg) El binario corriendo en Linux como si el codigo binario fuera nativo de esta plataforma /misarchivos/winlinux/winlinux2.png)
|
|
|
|
|
En línea
|
|
|
|
JuszR
Desconectado
Mensajes: 2.844
Programming, GNU/Linux & RI
|
Ambos son lenguajes completamente orientados a objetos, Ambos son multiplataforma a nivel binario y código fuente, siempre y cuando el OS anfitrión tenga las mismas clases.
¿C# multiplataforma? ¿En dónde viste eso? Solamente funciona en Windows, y en Linux de suerte por MONO. Ejecuta una aplicación en Mierdintosh o BSD y a ver qué pasa. Ahora, haz lo mismo pero con Java... ¿cuál es el multiplataforma? Java. 
|
|
|
|
|
En línea
|
- No programming language is perfect. There is not even a single best language; there are only languages well suited or perhaps poorly suited for particular purposes. [Herbert Mayer] - GNU/Linux is an alternative, not a replacement. Want a Windows replacement? Buy Mashitosh.
|
|
|
LastDragon
Desconectado
Mensajes: 847
Usuario Baneado (troll)
|
Le pusiste atencion a los pantallazos..
Un programa compilado en Windows el BINARIO.EXE, Esta corriendo en GNU/Linux.
Pero no lo compile en Linux solo cumpli con tener el framework .NET. En este caso proveido por Mono
pero igual podria haber usado el de dotgnu o el de cualquiera que lo implemente y cumpla con las normas del framework
|
|
|
|
|
En línea
|
|
|
|
LastDragon
Desconectado
Mensajes: 847
Usuario Baneado (troll)
|
¿C# multiplataforma? ¿En dónde viste eso? Solamente funciona en Windows, y en Linux de suerte por MONO. Ejecuta una aplicación en Mierdintosh o BSD y a ver qué pasa. Ahora, haz lo mismo pero con Java... ¿cuál es el multiplataforma? Java.  Me pregunto si tu y idol me hubieran insulteteado al escribir algo como eso... Afortunadamente yo mantendre el decoro con la esperanza de que no se descomponga el tema. si codigo de la MaC ha sido compilado para .NET correra hasta en Windows, lo mismo en el caso de BSD. Al final lo dejo claro.. la promesa .NET es: Tu binario puede correr donde sea bajo el OS que sea cn el procesador que sea...Encontre el siguiente material http://www.webxalapa.com/cienciaytecnologia/deicaza0904.wmves una platica con Miguel Icaza sobre la tecnologia .NET y mono. Miguel es el creador de mono y el proyecto Gnome y presidente de Ximian que fue comprado por Novell. Bueno ahi miguel explica muy bien que es mono, que no es y las ventajas
|
|
|
|
« Última modificación: 26 Abril 2006, 03:21 por LastDragon »
|
En línea
|
|
|
|
JuszR
Desconectado
Mensajes: 2.844
Programming, GNU/Linux & RI
|
Me pregunto si tu y idol me hubieran insulteteado al escribir algo como eso...
No entiendo.  si codigo de la MaC ha sido compilado para .NET correra hasta en Windows, lo mismo en el caso de BSD.
Al final lo dejo claro.. la promesa .NET es:
Tu binario puede correr donde sea bajo el OS que sea cn el procesador que sea...
Eso no lo puedo comprobar porque solamente tengo Windows y GNU/Linux, pero igual estoy seguro de que no corre en esos otros 2. ¿Con qué se ejecutará si no hay Framework para BSD ni Mierdintosh?  Por las dudas, que alguno lo intente y nos cuenta.  Encontre el siguiente material http://www.webxalapa.com/cienciaytecnologia/deicaza0904.wmves una platica con Miguel Icaza sobre la tecnologia .NET y mono. Miguel es el creador de mono y el proyecto Gnome y presidente de Ximian que fue comprado por Novell. Bueno ahi miguel explica muy bien que es mono, que no es y las ventajas Bueno... lo voy bajando mientras veo otro rollo.  Miguel es el único mexicano que sabe e hizo algo bueno, yo seré el segundo. 
|
|
|
|
|
En línea
|
- No programming language is perfect. There is not even a single best language; there are only languages well suited or perhaps poorly suited for particular purposes. [Herbert Mayer] - GNU/Linux is an alternative, not a replacement. Want a Windows replacement? Buy Mashitosh.
|
|
|
LastDragon
Desconectado
Mensajes: 847
Usuario Baneado (troll)
|
Asi como que de curiosidad... ¿Con qué se ejecutará si no hay Framework para BSD ni Mierdintosh? Por las dudas, que alguno lo intente y nos cuenta Ya viste el video explicado por el mismo miguel de icaza..
|
|
|
|
|
En línea
|
|
|
|
|
|
|
|
Eternal Idol
Desconectado
Mensajes: 4.389
Clarin miente, TN opera y los giles regurgitan.
|
Me pregunto si tu y idol me hubieran insulteteado al escribir algo como eso... ¿Que pasa? ¿Estas obsesionado por haber quedado en ridiculo? No hace falta que me nombres. En cuanto al tema te comento que Java y .NET me importan tanto como vos: NADA.
|
|
|
|
|
En línea
|
 La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
JuszR
Desconectado
Mensajes: 2.844
Programming, GNU/Linux & RI
|
Bueno, bueno. De todas maneras, según yo, son la misma porquería. Necesitan del VM - .Net Framework. C++ no necesita de NADA ni de NADIE.  Ya viste el video explicado por el mismo miguel de icaza..
Apenas ahorita voy a ver ese video. 
|
|
|
|
|
En línea
|
- No programming language is perfect. There is not even a single best language; there are only languages well suited or perhaps poorly suited for particular purposes. [Herbert Mayer] - GNU/Linux is an alternative, not a replacement. Want a Windows replacement? Buy Mashitosh.
|
|
|
LastDragon
Desconectado
Mensajes: 847
Usuario Baneado (troll)
|
¿Que pasa? ¿Estas obsesionado por haber quedado en ridiculo? No hace falta que me nombres.
En cuanto al tema te comento que Java y .NET me importan tanto como vos: NADA.
Y tu aporte cual es?, A nadie nos importa si te importa o no Java o .NET. Entonces que piensas aportar al tema... No me digas, eres un Trollesito, no te hubieras molestado en venir a escribir esa basura... este sitio parece tierra de nadie...desbaratas temas que da gusto y nadie te saca del foro. Entonces por favor deja de escribir en este tema si no piensas aportar nada.
|
|
|
|
|
En línea
|
|
|
|
LastDragon
Desconectado
Mensajes: 847
Usuario Baneado (troll)
|
Bueno, bueno. De todas maneras, según yo, son la misma porquería. Necesitan del VM - .Net Framework. C++ no necesita de NADA ni de NADIE.  Otro pequeñisimo error, por ahi... el compilador dependiendo de las banderas puede generar un precompilado en codigo nativo de la maquna.. el programa final se ejecutara tan veloz como un programa nativo... revisa las banderas del C sharp, para indicar una precompilacion a codigo maquina nativo
|
|
|
|
|
En línea
|
|
|
|
Eternal Idol
Desconectado
Mensajes: 4.389
Clarin miente, TN opera y los giles regurgitan.
|
Y tu aporte cual es? ¿Te jode? ¿No queres leerme? ¿Entonces para que carajo me nombras? Hace tu, patetica, vida. Entonces por favor deja de escribir en este tema si no piensas aportar nada. Por cierto, tu aporte es decir obviedades y mentiras, nada mas y nada menos. Ademas de tu hipocresia, me decis troll que gracia, el tipo que abre hilos para desprestigiar lenguajes y no aporta una minima prueba tangible ... por favor. Jamas pense en aportar nada y si escribi en este tema fue por tu culpa, ahora no te hagas el inocente, por algo me nombraste. No lo hubieras hecho, sabias perfectamente lo que significaba hacerlo.
|
|
|
|
« Última modificación: 26 Abril 2006, 09:47 por Eternal Idol »
|
En línea
|
 La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
JuszR
Desconectado
Mensajes: 2.844
Programming, GNU/Linux & RI
|
Otro pequeñisimo error, por ahi... el compilador dependiendo de las banderas puede generar un precompilado en codigo nativo de la maquna.. el programa final se ejecutara tan veloz como un programa nativo...
revisa las banderas del C sharp, para indicar una precompilacion a codigo maquina nativo
Ahora sí que no entendí nada. 
|
|
|
|
|
En línea
|
- No programming language is perfect. There is not even a single best language; there are only languages well suited or perhaps poorly suited for particular purposes. [Herbert Mayer] - GNU/Linux is an alternative, not a replacement. Want a Windows replacement? Buy Mashitosh.
|
|
|
LastDragon
Desconectado
Mensajes: 847
Usuario Baneado (troll)
|
Otro pequeñisimo error, por ahi... el compilador dependiendo de las banderas puede generar un precompilado en codigo nativo de la maquna.. el programa final se ejecutara tan veloz como un programa nativo...
revisa las banderas del C sharp, para indicar una precompilacion a codigo maquina nativo
Ahora sí que no entendí nada.  Vamos, no estan dificil. No siempre el codigo se teine que ejecutar al e interpretado como java, dependiendo de las "banderas" "argumentos" no se como le digas a las opciones del compilador... dependiendo de las que uno le indique... puede terminar precompilando el codigo a maquina nativa osea codigo maquina y ejecutarse a la velocidad directa del procesador. --aot Compiles the assembly to native codeUsage is: mono [options] program [program-options]
Development: --aot Compiles the assembly to native code --debug Enable debugging support --profile[=profiler] Runs in profiling mode with the specified profiler mo dule --trace[=EXPR] Enable tracing, use --help-trace for details --help-devel Shows more options available to developers
Runtime: --config FILE Loads FILE as the Mono config --verbose, -v Increases the verbosity level --help, -h Show usage information --version, -V Show version information --optimize=OPT Turns on or off a specific optimization Use --list-opt to get a list of optimizations --security Turns on the security manager (unsupported, default i s off)
|
|
|
|
« Última modificación: 26 Abril 2006, 15:55 por LastDragon »
|
En línea
|
|
|
|
|
|