elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Java VS C#, No lo creo, Son lo mismo pero...
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 4 5 Ir Abajo Respuesta Imprimir
Autor Tema: Java VS C#, No lo creo, Son lo mismo pero...  (Leído 46,955 veces)
DragonFire


Desconectado Desconectado

Mensajes: 848



Ver Perfil WWW
Java VS C#, No lo creo, Son lo mismo pero...
« en: 26 Abril 2006, 01:04 am »

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


Código:
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



El binario corriendo en Linux como si el codigo binario fuera nativo de esta plataforma



En línea

JuszR


Desconectado Desconectado

Mensajes: 2.866


Programming & RI


Ver Perfil
Re: Java VS C#, No lo creo, Son lo mismo pero...
« Respuesta #1 en: 26 Abril 2006, 01:09 am »

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. :P


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]
DragonFire


Desconectado Desconectado

Mensajes: 848



Ver Perfil WWW
Re: Java VS C#, No lo creo, Son lo mismo pero...
« Respuesta #2 en: 26 Abril 2006, 01:16 am »

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

DragonFire


Desconectado Desconectado

Mensajes: 848



Ver Perfil WWW
Re: Java VS C#, No lo creo, Son lo mismo pero...
« Respuesta #3 en: 26 Abril 2006, 01:22 am »

¿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. :P

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.wmv

es 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 am por LastDragon » En línea

JuszR


Desconectado Desconectado

Mensajes: 2.866


Programming & RI


Ver Perfil
Re: Java VS C#, No lo creo, Son lo mismo pero...
« Respuesta #4 en: 26 Abril 2006, 04:31 am »


Me pregunto si tu y idol me hubieran insulteteado al escribir algo como eso...
No entiendo. :huh:


Citar
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?  :huh:
Por las dudas, que alguno lo intente y nos cuenta. :)


Citar

Encontre el siguiente material
http://www.webxalapa.com/cienciaytecnologia/deicaza0904.wmv

es 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. ;D

Miguel es el único mexicano que sabe e hizo algo bueno, yo seré el segundo. ;D
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]
DragonFire


Desconectado Desconectado

Mensajes: 848



Ver Perfil WWW
Re: Java VS C#, No lo creo, Son lo mismo pero...
« Respuesta #5 en: 26 Abril 2006, 05:26 am »

Asi como que de curiosidad...

Citar
¿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

DragonFire


Desconectado Desconectado

Mensajes: 848



Ver Perfil WWW
Re: Java VS C#, No lo creo, Son lo mismo pero...
« Respuesta #6 en: 26 Abril 2006, 05:35 am »



Citar
¿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..

Framework para linux

http://ftp://www.go-mono.com/archive/1.1.15/linux-installer/0/mono-1.1.15_0-installer.bin

Framework para Windows, si compite con el original de Microsoft

http://ftp://www.go-mono.com/archive/1.1.15/windows-installer/0/mono-1.1.15-gtksharp-2.8.2-win32-0.exe

Framework para MAC OS con procesador PowerPC osea las macs de verdad

http://ftp://www.go-mono.com/archive/1.1.15/macos-10-ppc/0/MonoFramework-1.1.15_0.macos10.novell.ppc.dmg


Framework para solaris con procesadores sparc

http://ftp://www.go-mono.com/archive/1.1.15/sunos-8-sparc/0/mono-1.1.15_0.sunos8.novell.sparc.pkg.gz


Framework para nokia 770

http://ftp://www.go-mono.com/archive/1.1.13/nokia/mono-nokia_1.1.13-1_arm.deb



Varios framework para linux optimizado para IA86

http://www.go-mono.com/download/sles-9-ia64

Por si fuera poco el codigo fuente para portar el framework a cualquier otra plataforma

http://go-mono.com/sources/mono/mono-1.1.15.tar.gz

digo solo basta tener las ganas para reimplementarlo en la plataforma que sea..


Entonces xciclop, que nos decias con la portabilidad de Java...

El programa que hice en Visual Stdio en C# o incluso Visual Basic .NET y cualquier cosa .NET compilada, puede correr felizmente por cualquier plataforma....


Asi, indirectamente hay para BSD, por que los que somos usuarios de BSD sabemos que solo basta instalar el modulo de linux en el kernel y listo... BSD corre cualquier programa Linux, incluyendo mono por supuesto
En línea

marioly

Desconectado Desconectado

Mensajes: 239


http://marioly.hackerss.com


Ver Perfil WWW
Re: Java VS C#, No lo creo, Son lo mismo pero...
« Respuesta #7 en: 26 Abril 2006, 05:59 am »

C# si es multi-plataforma ..., de echo muchos presentan a C# como un "Java mejorado", esto haciendo referencia a su portabilidad, seguridad y facilidad de desarrollo, entre otros... Creo que Microsoft se dio cuenta que mientras mas campo abarke con sus productos, estos seran mas rentables =/ , muy bueno tu post  :D
En línea

Eternal Idol
Kernel coder
Colaborador
***
Desconectado Desconectado

Mensajes: 5.969


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Java VS C#, No lo creo, Son lo mismo pero...
« Respuesta #8 en: 26 Abril 2006, 09:15 am »

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 Desconectado

Mensajes: 2.866


Programming & RI


Ver Perfil
Re: Java VS C#, No lo creo, Son lo mismo pero...
« Respuesta #9 en: 26 Abril 2006, 09:29 am »

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. ;D
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]
Páginas: [1] 2 3 4 5 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines