¿.NET > Java?

kas

Sin problemas AtollOndrao.

@ Isak0: "- VB no es Case Sensitive."

Esto paa mi es una ventaja, me parece ridiculo que un programa no compile xq has escrito "If" en vez de "if".

Este comentario en el mundo laboral no tiene sentido, ya que todos usamos IDE's o herramientas parecidas. Pero en la universidad nos han hecho programar con el "notepad" de Linux y como etnendereis a mi se me ponian de punta.. lo pelos.

Y aunqeu CB y C· trabajen sobre el mismo framework, tengo entendido que, por bien o por mal, VB.NET continua teniendo una capa original del VB de toda la vida.

Un ejemplo era el de hacer un bucle para rellenar una matriz de 1 millon de posiciones (si mal no recuerdo), en donde C# acaba bastante antes que VB.

Ahora yo os comento una cosa:
Hasta la salida de VS.NET 2005 me tuve que crear yo mismo muchas herramientas, los ejemplos de las cuales las saque de ejemplos en C# y me funcionan perfectamente.

Lastima que con VS2005 ya vengan todas ellas por defecto xD

BlisZ

cual es la ultima version del visual studio ese? porque tengo un lio de cojones, acabo de bajar el visual studio 2005 pero no se si es el ultimo

IS4kO

Blisz de Visual Studio la 2005

Kas, el tema del case Sensive es importante sobre todo cuando empiezas a programar basandote en normas y patrones de estilo.

kas

@ BlisZ "acabo de bajar" Esto no creo que te dejen decirlo por estos lares xD Has adquirido de backup del VS2005.

Recuerda que si usas VS2005 tus aplicaciones solo podran correr en Windows que tengan instlado el .NET Framework 2.0. En principio VS2005 te lo instala por defecto, pero para que la gente pueda probar tus programas se lo tendra que bajar de microsoft (download.microsoft.com) o por el windows update.

BlisZ

no lo voy a isntalar porque el instalador parece que va mal, le digo que instale en D: donde tengo espacio, pero se ve que por cojones algunas cosas van en C: donde no tengo espacio, asi que por ahora ni lo instalo gracias al genial instalador restrictivo este (de microsoft tenia que ser)

kas

Como entenderas el framework no se puede isntalar en ningun sitio que no sea la particion del SO.

guner

#35 Si C: es una partición ntfs puedes hacer un link simbólico a una ruta de otro disco

http://support.microsoft.com/kb/205524
http://www.microsoft.com/downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&DisplayLang=en

BlisZ

el framework 2.0 ese ya lo tenia instalado :S ademas me pide mas de 500mb en C: que no tengo (particion de 5gb para el SO y poco mas

voy a probar lo de #37, gracias

edito: como se usa eso guner? :/

guner

#38 :/

Bueno, lo instalas, y ejecutas desde la línea de comandos el ejecutable linkd.exe

Yo ahora mismo no sé como se usa. En la ayuda (linkd.exe /? , supongo) explica la sitaxis. es similar a ln en UNIX.

Edito:


LINKD Source [/D] Destination

Source - Displays the Windows NT name targeted by Source

Source Destination - Links source directory to Destination directory or an NT device or any valid Windows NT name

Source /D - Deletes Source, regardless of whether a link exists at source

/? - Prints this help message

Ejemplo:

linkd.exe C:\vsnet2005\ D:\vsnet2005

y instalar tranquilamente en C:\vsnet2005

BlisZ

gracias guner, pero no me funciona :( la consola dice que crea el link y todo pero nada

Alcanor

Yo estoy empezando con Visual Studio ahora... se ve potente, pero es un poco caotico de primeras, ademas mucha de la documentacion esta hecha pensando en los que ya usaron con anterioridad visual studio.

En fin, ya contare q tal mi experiencia xD

kas

Realmente creo que la documentacion de la MSDN podria estar bastante mas completa.

En mi opinion falta ejemplos reales. Solo ponen ejemplos teoricos que pocas veces (almenos en mi caso) puedes utilizar como referencia.

Ahora que estoy con el tema de los sockets, he encontrado mas informacion util en elguille y en codeproject que en la MSDN.

Que tal va Java de documentacion?

IS4kO

La de Sun es muy similar a la de la MSDN, es cierto que muchas veces se echan en falta más ejemplos, pero es que a veces el programador, y me incluyo, nos volvemos demasiado vagos, vemos una clase nueva queremos probarla y en vez de trastearla, miramos en la msdn, pasteamos el ejemplo que te viene y listo :D

1 año después
B

Resucito el tema xD, que vengo de otro que enlazaba a este.

Hay mucho egocentrismo, en el sentido de que olvidais a otros muchiiisimos que programamos para otros fines, la electronica.

En la cual es imposible el alto nivel, es decir

C >> Java (en linux se puede trabajar muy muy comodo ademas de existir procesadores con la maquina virtual integrada) >>>>>>>>> .NET

Existe tb el mundo del control de sistemas, cualquier que trabaje con Simulink (yo no, pero se de muchisimos casos en el mundo mundial xD), Java es lo que toca.

Mi opinion personal, cuanto mas alto nivel, menos conocimiento de que esta pasando, y yo odio realmente eso. Yo lo asocio al RISC vs CISC en procesadores, si lo piensas, no es tan descabellado.

Para muchos el lenguaje perfecto es el siguiente:


main{

hazloqueteordenoypienso();

}

Esta claro que no te vas a poner a programar en ensamblador, pero algo intermedio para mi es lo perfecto.

P

¿No se suponia que c# es multiplataforma(hardware) con el que se puede programar para moviles, PDAs y demas pijadas (es de suponer que para multitud de micros)?.

yEnS

Así que sea multiplataforma C# partirá todavía más a Java (han liberado la 3.0 ;))

Por cierto para los que empiezan y para los que no empiezan: MSDN es otra de las razones por las que probarlo y dejar delado otros lenguajes anticuados, buscas algo? Todo está ahí con ejemplos, comunidad, y todo lo que quieras dispuestos a ayudar.

Urien

LoL, me kedao flipao cuando veo ke Sauron ha revivido el tema xD.

La verdad es que un tiempo despues puedo decir que habiendo probado Visual Basic .NET sin llegar a sacarle todo su jugo me gusta mucho mas que Java, no se, lo veo mas sencillo y mucho mas completo aunque ¿que no se puede hacer ya?.

De hecho hoy acabo de hacer un examen de VB .NET y es un 10 manifiesto, nunca me habia sido tan facil aprobar un examen de programación (que me las veia y deseaba para los de C xD)

Y

Bueno, yo tengo una opinión un poco más neutral.

Realmente, el lenguaje de programación es indiferente y solo dependiente de lo que vayas a programar.

Estoy de acuerdo que java se ha vuelto muy pesado, solo la carga de los módulos principales se nota en la ejecución del programa. Pero, si quieres programar algo, que realmente sea multiplataforma, java es lo más extendido, entre otras cosas, porque motores de java hay miles, desde libres hasta privados, aunque el más extendido es el de sun.

.Net y sus variantes, no me gusta. El proyecto MONO está bien, pero a fin y al cabo, por mucho que microsoft prometa que su intención es la multiplataforma, sabemos que no es así. Además, suele haber poca retrocompatibilidad entre un framework y otro... sin ir más lejos, el software de Autocalc se da de bruces con el último framework, y así hay muchos.

Pero lo que estoy viendo es olvido (y espero que sea olvido y no desinterés) por lenguajes, muy potentes, muy ligeros, muy extendidos, también interpretados y sobre todo, con una potencia, flexibilidad y ligereza que ya le gustaría tener tanto a .NET y Java

Estoy hablando de Python. Es un lenguaje de muy alto nivel, para el desarrollo de... lo que sea.

El sistema de POO es de los más flexibles que he visto, es cómodo y rápido... y lo que más me sorprende, es el lenguaje que más rápido evoluciona frente al resto.

El otro día, sin más, me encontré un módulo llamado py2exe... es un módulo genial, sirve para ejecutar programas en python, en cualquier máquina sin tener la máquina virtual instalada previamente.

Realmente es pura flexibilidad. Me hago un programa de gestión de routers, lo programo con la máquina virutal, como siempre. Le lanzo el módulo py2exe y finalmente le doy el programa a quienes me de la gana, sin necesidad de instalar nada previamente.

Vamos, como si fuera un programa compilado en C o C++

Con esto quiero decir, que hay muchos más lenguajes y lo más importante es con el lenguaje que más cómodo te sientas... para seros sinceros, muchas veces programo en bash, no es por nada, no es el mejor lenguaje, pero muchas veces me siento cómodo con él... y es muy potente, tanto que incluso puedes usar FUSE para crear drivers de sistemas de ficheros personalizados con BASH...

yEnS

yohna, ser es su intención, que se expanda .net, concretamente C#, de ahí que se hayan liberado la base sin "importarle un webo".

MTX_Anubis

#48 que se olvide en el foro no quiere decir que no se use xD

http://www.tiobe.com/tpci.htm

http://www.tiobe.com/tiobe_index/images/tpci_trends.png

python y ruby ahí que cada año se usan más xD

y mi pobre haskell en la posición 34 y bajando cada año xD

B

Logeo despues de mucho tiempo sin responder nada.

Realmente .NET sólamente es superior a JAVA en el tema de ventanas, es decir, para realizar programas ñapas en el que no existe una ingenieria de software detras de el. Yo lo veo de la siguiente manera:

.NET es comodisimo para contruir la caseta del perro, incluso podrias contruir una caseta para las herramientas, pero no os confundais, .NET no es el lenguaje para contruir una casa, o un rascacielos. Últimamente estoy realmente sorprendido de lo facil que es implementar en JAVA programas que han sido descritos con UML, y lo dificil que llega a ser con .NET

Por poneros un ejemplo, en mi último trabajo me pedian que hiciese una página web que funcionase igual que un software que tienen escrito en .NET, ingenuo de mi, pense que estaria estructurado y que solo tendria que relacionarme con el controlador. Es decir desde la capa Presentación a la de Controlador.

Bien, mi sorpresa fue cuando la interficie llamaba a la base de datos. Me plante delante del jefe y le dije que con todos mis respetos esto era imposible traspasarlo en 2 semanas, ya que, tecnicamente hablando el tejado de la casa esta enganchado a los ciminetos y no se puede separar. Bueno, lo mas increible es cuando el jefe me dijo que si habian tardado 1 mes en hacerlo como no iba a ser posible hacer una web que relacionara... Total, me asignaron a otro proyecto. Llevan ya 2 meses reescribiendo el codigo para adaptarlo a asp.NET.

No se puede comprar JAVA con .NET, ya que son dos visiones muy difirentes del mismo mundo. Yo cuando pienso en JAVA pienso en estructuración, patrones, the gang of four, UML, UP, OCL... y cuando pienso en .NET me viene a la cabeza un cafre que realiza una conexion desde una ventana porque si...

JAVA no es un lenguaje de programación, es una forma de vivir. No es una herramienta de programación, es la herramienta perfecta para realizar la faena que un ingeniero de software te ha encomendado.

Yo os lanzo un reto, usuarios de .NET si me realizais un programa en .NET que sea capaz de estar separado por paquetes y con interficies tan diversas como: Una para el windows, otra para acceder desde la Web y otra para acceder desde el mobil, sin tocar desde el controlador para abajo obtendreis mi respeto.

Resumen: JAVA != .NET, Java -> Forma de Vida (Una filosofia distinta de contruir software)
Java + UML = Grandes proyectos.
.NET = Proyectos pequeños con un gasto demasiado grande en mantenimiento.

SeiYa

#51 no me vendrás a decir que con .NET no puedes separar en capas no ? xD

No me digas eso XD

B

#51

ha descrito mas o menos lo que yo queria decir xD

yo no entiendo nada de BBDD, apliaciones web etc

pero si se que .NET es perfecto para tareas de alto nivel , en el momento que quieras otra cosa, ya Java y C son muchisimo mas potentes.

cabron

#51:

Lo que dices no tiene sentido, que culpa tendrá .NET de que un tío se mal arquitecto y diseñe mal el programa.

Supongo que eres consciente de que en Java también se pueden diseñar mal los programas....

Y sobre lo de que en .NET no se puede estrucutrar por capas... si se podía hacer hasta en Visual Basic 6.0, que como herramienta de desarrollo era el caos personificado.

B

#54

eso esta claro, el lenguaje es una herramienta y quien pone el cerebro es la persona.

pero eso no quita al nivel (no a la skill) que se quiera desarrollar algo, tanto por tiempo y/o nececesidades.

yo seria el primero que para hacer algun prototipo con solo ventanas etc pues usaria .NET , pero si ya voy a algo mas complejo, que necesite de mas bajo nivel, pues me meteria con Java o C.

cabron

Hombre es que como tú mismo dices, el lenguaje es solo una herramienta, y del mismo modo que a nadie se le ocurre usar un martillo para todo, usar el mismo lenguaje para todo no tiene sentido.

No puedes hacer el kernel de un SO usando C#, y del mismo modo, intentar hacer un programa corporativo con acceso a bases de datos, interfaz gráfica, seguridad, persistencia, y todo eso, en C, es algo matador.

IS4kO

Yo lo que pienso es que para postear, debería uno o bien conocer el tema, o bien informarse un poco antes de decir cosas que directamente son mentira.

Como se puede decir que con .net no puedes estructurar, que con .net no puedes hacer interfaces, que no hay patrones de programación, aplicaciones multicapa... que no puede llegarse a programar a bajo nivel, que solo vale para programar ventanitas, qué es empezar la casa por el tejado...

Por favor, si sabes de lo que hablas, opina con sentido, aporta argumentos, si no, dos opciones:

1º Directamente te callas.
2º Sigue meditando sobre la vida, las teorías de software, y tócate emocionado los pechos pensando en todas las cosas que sabes tras leer la wikipedia y hacer un holamundo

kas

Aunque veo que ya te han respondido, yo también me apunto a la fiesta:

@Atsumi #51

"... un software que tienen escrito en .NET, ingenuo de mi, pensé que estaría estructurado y que solo tendría que relacionarme con el controlador.."

Que el "programador" NO HAYA implementado un modelo de vista - controlador, no quiere decir que .NET sea incapaz.

Llevo todo este año desarrollando software para PocketPC (Windows CE 5.0) en C#. Un software cuyo objetivo principal era la FLEXIBILIDAD. Para ello he desarrollado 13 librerías TOTALMENTE INDEPENDIENTES:

Red
Sonido
Text-To-Speech
WIFIController
RFIDController
SQLTools
PocketPCHardwareCotroller

Por numerar unas cuantas. Pero la gracia ha estado cuando he tenido que juntarlas: he creado el ENGINE. Como tu dices, es EL CONTROLADOR. Una vez listo, he creado el FORM, que solo hace que llamar a las funciones publicas del ENGINE y consultar sus propiedades.

Pero no solo esto, si no que como diseñador del protocolo de red para el software, tube que desarrollar tanto el CLIENTE_TCP para POCKETPC como el SERVER_TCP y CLIENTE_TCP para WINDOWS.

Fue tan fácil como: COPIAR el código de WINDOWS, pegarlo en un proyecto de librería en C# para PocketPC y COMPILAR. Sin errores, sin ajustes.

Esto es la primera parte de presupuesta a tu perla:

"Yo os lanzo un reto, usuarios de .NET si me realizáis un programa en .NET que sea capaz de estar separado por paquetes y con interfaces tan diversas como: Una para el windows, otra para acceder desde la Web y otra para acceder desde el móvil, sin tocar desde el controlador para abajo obtendréis mi respeto."

La segunda parte para responderte a esto, es que, hace ya 4 años, desarrolle una librería TREMENDAMENTE POTENTE de tabulación, totalización y creación de gráficos desde SQL hacia EXCEL, para una aplicación WEB.

La misma ha sido posteriormente usada con una interfaz gráfica para windows, y conociendo un poco el office de pocketPc y con el ejemplo que te he puesto antes... ya conoces el resultado.

RETO CONSEGUIDO!

kas

Otra cosilla mas:

Si tan buena es la virtual machine de Java, porque hacienda cada año te hace quitar la VM de SUN para poner la suya?

B

pero que esto no es una batalla de que es mejor o peor.

son simplemente necesidades de tiempo, coste, esfuerzo....

y segun te compense tiras a un lenguaje o a otro, que con .NET se puede hacer bajo nivel? no lo dudo, con la misma potencia que C o Java pues no estoy de acuerdo.

como dice Cabron, no te vas a poner a picar codigo pq si si otro lenguaje te puede solucionar la papeleta acorde a tus necesidades.

Usuarios habituales