¿.NET > Java?

Urien

Bien, despues de estar 3 años programando tengo que decir que al ver Visual C++ .NET me he quedado flipadisimo, seguidamente he visto mas lenguajes de la plataforma .NET y casi lloro de la emocion xD.

El dia que descubri Java (cuando aun programaba en C) me dije "ostia esto de los objetos... que curre", luego descubrí el interfaz grafico y me maraville en su momento tambien pero no dejaba de ser C mas potenciado.

Pero comparando los 2 lenguajes tengo ke decir ke .NET ha sobrepasado a Java en multitud de aspectos, en la funcionalidad de sus programas, en el consumo de recursos, etc.
Java no tiene 400 propiedades por control por ejemplo, cosa que me ha resultado tremendamente util y que es donde radica el exito de .NET.
Otra cosa ke me ha fascinado es la extrema sencillez para cambiar de una base de datos Access a una SQL.
El entorno de diseño de .NET (Visual Studio .NET) es una autentica maravilla y desde luego no es ni comparable al de Netbeans.
El problema de .NET es la implantacion, ya que se requiere el Framework 2.0 y las movidas de los anteriores lenguajes no son compatibles... pero sin duda MS se lo ha currado sobremanera para presentarnos una herramienta extremadamente potente que no tiene parangon en la programacion moderna.

Dicho esto quiero defensores de Java que argumenten que es mejor lenguaje que la plataforma .NET y tambien defensores de .NET claro xD.

No soy muy dado a comparar caracteristicas de los lenguajes de programacion pero es que me he quedado boquiabierto con los 2 meses de Visual C++ .NET que estoy viendo, no habia estudiado nada tan util y mi primera aplicacion grande y funcional (que gestionará una aplicacion para una clinica de estetica) la estoy resolviendo en este lenguaje y no esta siendo realmente complicado.

Espero una opinion mucho mas profesional :P

thrazz

Nadie te va a decir lo contrario. Las únicas razones por las que usar Java en lugar de .NET son el soporte multiplataforma y el coste de la licencia.

Tig

Yo te digo lo contrario thrazz! muhahea

no, que solo he programado en java, así que no tengo ni puta idea de como es .NET En lo único que me cago yo en su puta madre de java es a la hora de diseñar interfaces graficos...

D

pues yo el PFC creo que le voy a hacer en java... porque como ya he hecho algo en este lenguaje.. de .net ni zorra, pero parece que está de moda..

B

Ahí vamos los defensores de Java!!!

Tu puedes crear tu súper aplicación con .NET pero solo la podrás hacer correr bajo un Windows, con Java la puedes hacer correr donde te de la gana mientras haya la maquina virtual.

Eso de que .NET gestiona mejor los recursos... te falto poner los recursos de Windows, porque de los demás no gestiona nada.

Lo que dices de pasar base de datos Access a SQL, es tan fácil como crear una nueva conexión y grabar un select bajo el mismo nombre de tabla, vamos que todos los lenguajes de programación actuales tienen asistentes para hacerlo. Es mas el propio SQL tiene herramientas para importar base de datos Access.

Java Dispone de entornos de ventanas con las 400 propiedades o controles que mencionas, sólo que no será posible ejecutar ese programa en SO que no sean Windows.

La Herencia del .NET es realmente una ñapa que no saben ni como ha salido, ya que, te permite heredear de lo que quieras aunque no tengan nada que ver. Han intentado coger la parte que soluciona la Herencia de Java y la Herencia de C para obtener una Herencia caótica y sin estructura.

Un programa en Java va a funcionar aunque la maquina virtual se actualice, ya veras que gracia te va a hacer cuando salga el .NET Framework 3.5 y todo el software del 2.0 se quede obsoleto porque han cambiado la parte de interpretar la herencia por ejemplo.

Saludos,

pd: (Opinión personal) El entorno de programación .NET es bastante rancio, la pantalla de programación por ejemplo, donde se escribe el código, no se puede poner a pantalla completa o hacerla mas grande, todas sus pijadas ocupan demasiado espacio en el fondo de trabajo.

pd2: Hay Programas para programar Java Gratuitos.

pd3: Puedes resolver cualquier aplicación descrita en UML con Java, y para un usuario acostumbrado a tratar con UML el .NET no es la herramienta perfecta para esta empresa. (Microsoft se saca cosas de la manga que te pillan por sorpresa xD)

Urien

Bueno a esto tengo que decir un par de cosas xD.

Las 400 propiedades que dices que tiene Java yo no las he visto (bueno si, en el lenguaje de .NET para Java), asique no se, quizas no he buscado lo suficiente.

Las 2 primeras cosas que pones son identicas por ende, pero existe el proyecto Mono (o algo asi xD) que pretende que .NET pueda usarse en Linux, no se como de avanzado está.

La Herencia del .NET es realmente una ñapa que no saben ni como ha salido, ya que, te permite heredear de lo que quieras aunque no tengan nada que ver.

No entiendo eso xD, yo voy de form en form heredando segun si es MDI o no, importo el .h generado, me creo un puntero, muestro el form y asi... vamos no se que puede tener de complicacion, yo lo veo muy sencillo.

Lo que dices sobre que si updatean el Framework no hara compatible lo anterior con el nuevo... a mi parecer no es ninguna patraña, los updates de la maquina virtual de Java nunca seran comparables a los de .NET por las caracteristicas que has descrito. Se me viene un objeto de Java a la mente que no se cual es pero que se mantenia en java por "problemas de compatibilidad" si se eliminaba, no es un control eficiente y consume muchos recursos, el problema de Java es que no puede eliminar nada de lo que tiene sino ir añadiendo y añadiendo, lo que viene a ser parchear los controles, esto nunca supondra una revolucion que le de ventaja a Java sobre .NET.

Bueno y sobre el entorno de programacion de .NET... se pueden mover las ventanas perfectamente, esconder los menus, hacerlos flotantes, ponerlos en plan pestañas desplegables, etc.
Y si, si se puede poner en ventana completa, de echo mi compañero lo esta haciendo ahora mismo xD.
(Salu2 de su parte para todos ^^).

Salu2 de la mia tb ;D

IS4kO

Bien bien, un post mas que interesante, enhorabuena :)

Yo he programado tanto para JAVA como para .Net varios años, y puedo decir que .Net actualmente es bastante superior a JAVA, y repito, actualmente...y comentar que no necesitas el FW2.0 para trabajar con visualStudio, con el 1.1 vale, otra cosas es que quieras utilizar componentes del VS05 en cuyo caso como es lógico habrá que actualizar.

Voy a intentar rebatir los argumentos de #5 aer que tal queda la cosa

Tu puedes crear tu súper aplicación con .NET pero solo la podrás hacer correr bajo un Windows, con Java la puedes hacer correr donde te de la gana mientras haya la maquina virtual.

Bueno esto no es del todo cierto, por un lado para que Java te corra en cualquier máquina como bien dices, necesitas instalarte el JRE por lo que su multiplataformidad es muy similar a la de .Net ya que este necesita del FW para furrular. Por otra parte con .Net no solo puedes hacer aplicaciones q corran bajo windows, tb puedes hacer componentes a muy bajo nivel, para usar en distintos sistemas operativos, así como cualquier tipo de componente Harware

Eso de que .NET gestiona mejor los recursos... te falto poner los recursos de Windows, porque de los demás no gestiona nada.

Nose a que te refieres con "los demas", de todas formas te recuerdo que sin entrar a hablar de aplicaciones bajo pools de hilos o multithreads, a la hora de ejecutar un programa en .net, la gestión de recursos si que existe, ya que los fw de windows traen integrados el GarbageCollector, o recolector de basura, que va eliminando todos los procesos que no estan siendo usados, a parte de que tienes la posibilidad de configurarlo, puedes guardar x procesos que se vayan a usar en un momento determinado o no, por otro lado tb tienes el distinto proceso que se realiza a la hora de ejecutar o compilar un programa, en .net el sistema es bastante más optimo que en java. Ya que se utilizan tres tipos de lenguajes a la hora de hacer correr una aplicación, por un lado el codigo fuente de la aplicación propiamente dicho, por otro un código IL que es la traducción de dicho código a otro más básico interpretado por el compilador y luego el codigo final ejecutado.... Al haber tanto proceso, de traducción de un lenguaje a otro se podría pensar que esto consumiría mucho recurso, pero no es así, ya que solo se van compilando (traduciendo), los trozos de código imprescindibles para pasar de una rutina a otra.

Lo que dices de pasar base de datos Access a SQL, es tan fácil como crear una nueva conexión y grabar un select bajo el mismo nombre de tabla, vamos que todos los lenguajes de programación actuales tienen asistentes para hacerlo. Es mas el propio AQL tiene herramientas para importar base de datos Access.

Bueno la verdad es que esta parte de distintas formas de acceso a distintos tipos de datos es bastante similar, ya que cada lenguaje tiene sus propios providers incorporados que te lo hacen todo solito. La única pequeña diferencia es que .Net en su visual studio te trae unas 923847 ya incorporados, dejando la posibilidad de incorporar futuras nuevas versiones.

Java Dispone de entornos de ventanas con las 400 propiedades o controles que mencionas, sólo que no será posible ejecutar ese programa en SO que no sean Windows.

En cuanto a controles, propiedades y demás, no hay punto de comparación, puedo asegurarte que la plataforma .net puede tener 10 veces más de propiedades y controles que todo JAVA, no olvidemos que es ms el que está detrás implementando y completando másy mas controles, y por no hablar de la facilidad a la hora de crearte tu propio control, propiedades etc...

La Herencia del .NET es realmente una ñapa que no saben ni como ha salido, ya que, te permite heredear de lo que quieras aunque no tengan nada que ver. Han intentado coger la parte que soluciona la Herencia de Java y la Herencia de C para obtener una Herencia caótica y sin estructura.

Aquí me he perdido, me estas diciendo que la herencia de .net es una ñapa pq puedes heredar de cualquier clase??, eso será si el que hace la clase lo permite, sino NO. Por otro lado dices que no tiene estructura??, te propongo que te veas algun esquema de las librerías de .net, cuando lleves 5 horas viendo todas las relacionies que tiene una simple clase, vuelve a reflexionar, sobre eso de que no hay estructura

Un programa en Java va a funcionar aunque la maquina virtual se actualice, ya veras que gracia te va a hacer cuando salga el .NET Framework 3.5 y todo el software del 2.0 se quede obsoleto porque han cambiado la parte de interpretar la herencia por ejemplo.

Esto es falso, si tu haces una aplicación con el FW 1.1 te va a funcionar tanto en la version 2.0 como en la 3.0; otra cosa es que hagas una aplicación con componentes nuevos de la versión 3.0 y los hagas rular con un fw 1.1 como es lógico no funcionará, estamos hablando de componentes nuevos que antes no existian y ahora si... Y eso que dices de que cambiará la forma de heredar, bueno, eso habrá que verlo tampoco soñemos con lo insoñable, que yo sepa por el momento esa posibilidad es inexistente, pero repito, que yo sepa

pd: (Opinión personal) El entorno de programación .NET es bastante rancio, la pantalla de programación por ejemplo, donde se escribe el código, no se puede poner a pantalla completa o hacerla mas grande, todas sus pijadas ocupan demasiado espacio en el fondo de trabajo.

1º Si que puedes ponerlo a pantalla completa
2º Las pijadas pueden esconderse
3º Puedes configurar al 110% el entorno de trabajo
4º En cuando a IDE de desarrollo, en serio, o no has trabajado mucho con ello, o simplemente no te has puesto a mirar la total personalización que te ofrece vs

P.D:

La verdad es que a mi java me parece una plataforma bastante interesante en cuanto a una segunda opción, si es que no te gusta usar VS simplemente pq eres un radikal de la programación y odias todo lo que tenga que ver con Micrososft...

Aun así no quiero mostrarme pro-defensor de .net, pienso que java tiene sus cosas buenas como son los recursos de SERVIDOR necesarios para rular una aplicación WEB, cosa que se está acabando con la nueva generación de windows servers, sql05, etc..

P.P.D: Sorry por el rollo, pero hoy tengo tiempo libre xd

LOc0

Con .NET programa hasta mi abuela.

¡C 4ever!

Salu2 ;)

23 días después
SeXmA

Yo llevo trabajando 2 años con asp.net y la verdad que para web le pega mil vueltas a las jsp de java. Ahora los de java estan sacando los JSF que es algo parecido a lo que hace asp.net con los controles y tratamiento de eventos.

Lo bueno que tiene java ademas de lo de multiplataforma es que tienes mas opciones para elegir, un ejemplo el entorno de desarrollo en .NET tienes que morir en el visual studio (hay que decirlo es la leche)mientras que en java puedes empezar eclipse, netbeans, java sun on, jbuilder, tc... cada uno tiene sus cosas buenas y malas pero por lo menos puedes elegir el que mas te guste.

#7 el visual estudio te permite poner el codigo a pantalla completa.

7 días después
minipelos

emmm, nunca he programado en .net ni en java la verdad pero siempre he tenido ganas de ponerme con alguno. quiero daros las gracias por montar esta especie de debate, me vendra muy bien (cuando termine de leerlo, que aun no lo he hecho) para decantarme por cual empezar :)

gracias a todos, son muy utiles esta clase de posts

A

thrazz lo de coste de licencia .... que te cuesta mas comprarlo o que los programadores se tiren horas y horas diseñando los botones, que si ara esto que si lo otro todo absolutamente todo a mano. La facilidad y velocidad de .net a la hora de añadir objetos prediseñados y los eventos que tienen y propiedades le da dos millones de vueltas a java. A parte de que java va mas lento aun q .net

D10X

#12 Eso les importa un carajo, si lo necesitan en 2 dias, son 2 dias, ya sea en .NET, en Java o en binario :S.

Ahora mismo estoy en un proyecto ke estamos portando de .Net a Java, y el cliente lo kiere asi, porke .Net le sale por un paston :S. Y la de quebraderos de cabeza ke me estoy llevando es monumental ¬¬.

oFF-sIDE

Yo la verdad es q en esto de la progamación estoy bastante verde. Estoy en informática, pero las asignaturas de programación siempre me han dado quebraderos de cabeza, tengo muy poca capacidad de pensar en abstracto.

Con mi poca experiencia, y a pesar de que el elenguaje en el que más me gusta programar es en Java, me encanta usar C# con VS. La verdad es que este año seguro q me mandan hacer alguna aplicación más o menos gorda y estaré encantado de dedicarle un tiempo, a pesar de que no me gusta la programación.

A

Si bueno pues te tocara currar hasta las 4 de la mañana cada dia para pasarlo. Si teneis que pasar de .net a java a estas alturas esq quien firmo el contrato no tenia ni puta idea. Todo eso se especifica antes de iniciar un proyecto, no puedes a mitad o al final decir no no lo quiero en .net lo quiero en java...

D10X

En visual estaba todo hecho, hay ke hacer una "extension", esa extension toca hacerla en Java por lo que no puedo hacer copy&paste de lo ke ya estaba, simplemente porke no les da la gana ke sea asi.

El contrato puede estar todo lo pactado ke kieras, pero si llega otro y dice "ey, yo te lo hago mas barato", a mi empresa no le kedan mas cojones ke adaptarse o se keda sin contrato(por no hablar de ke al cliente se la pela ke lenguaje uses mientras el precio no cambie), el unico perjudicado es el currito ... Y no te hablo de un proyecto de 500€, ni de 5000€, si no de algunos ceros mas. Si mi empresa se ve obligada a pactar mas "barato", intentara abaratar costes como pueda, y uno de esos costes es la licencia, otro por ejemplo son los "profesionales", en vez contratar a un guru de java, gente ke no lo ha visto en su vida "porke son mas baratos".

En fin ... El apasionante mundo de la consultoria :P.

aLeX

Yo no he tocado el .Net, pero si Java y C++ y de largo, pero de largo, de larrrrrgoo me quedo con C++ y sus benditos punteros.

Java, para mi, es la peste para programar. Empezando por lo pesado y tedioso que resulta desarrollar una gui para tu programa y siguiendo por el maravilloso colector de basura que como te descuides saca una mano por el hueco del dvd y se come los dimms de memoria. Si hasta para hacer un olamundo de mierda el jre se come 16 mb de ram :S

Al menos con Java 6 se podrá acceder a la api de windows y hacer cosas tan simples como que tu programa se pueda pegar al tray. Cosas que a día de hoy no se pueden hacer.

IS4kO

#17 xddd que razón tienes, como quieras usar un par de variables por referencia la mano saca el disco duro y te enchufa en toda la geta xdddd

De todas formas, con jbuilder, ya simplifican muchisisisimo el tema GUI, antes reconozco que era la muerte, que si te creas un panel, lo colocas dentro de otro, dentro de ese un boton etc... pero ahora ya es muy similar a VS. El caso es que cuando alguna empresa te saca algo similiar a VS microsoft te saca la 05 y vuelven a estar por delante...

A todos los que piensan que programar en Java es más barato, bueno, habría que mirar qué se contrata y para qué, desde luego un servidor para correr aplicaciones java es mucho más caro que uno para win y no entremos en los temas de soporte (...), aunque por otro lado contratar a un certificado en .Net es bastante más caro que fichar a un Gurú javero, así que lo dicho, depende de que quieras y para que lo quieras te interesará .Net o Java, aunque como plataforma creo que en un post más arriba deje claro que no hay mucho color...

Besos. C# manda :)

Daves

#19 Ahora vas y desarrollas una aplicación gráfica en asm, LISTO, que eres un listo :)

Daves

Igual igual, solo que yo tardaré 5 minutos y tú 5 horas xD

kas

Hey chicos que buen post.

En cuanto a dinero:

Que yo sepa los compiladores de .NET son GRATUITOS. Se paga el IDE.

En cuanto a herencia:

Sera la ñapa que tu quieras, pero en mis 3 años de .NET no he tenido problemas en enteder lo que hago cuando heredo, ni en concevir codigo ni problemas en tiempo de ejecucion...

Solo hablais de Java vs C/C++/C#, pero yo creo que nos dejamos uno que hoy en dia ha cobrado una importancia muy grande: Visual Basic .NET (ojo! No VB6!)

He liedo articulos especializados en donde se contaba lo dificil que era tomar la decision del lenguaje escojido para hacer aplicaciones .NET: VB ó C#? Realmente son ambos igual de potentes, aunque C# conserva todo lo de C/C++, VB no se queda corto, y puede resultar mas rapido y barato ( en cuanto a cajas de aspirinas) hacer una aplicacion en VB.NET.

Ahora mismo estoy en una practica de Redes de Computadores (4º de IT. Ingenieria Gestion, Vilanova y la Geltru, Barcelona) en la que tengo que hacer un Cliente /servidor TFTP. Lo estoy haciendo en VB.NET 9 (2005) y de momento no me ha faltado NADA.

Yo siempre he dicho 2 cosas:

1) C / C++ / C# Sirven para hacer aplicaciones de estructuras complicadas, drivers o de muy buena gestion de recursos.

2) Visual Basic .NET Sirve para hacer aplicaciones windows de manera rapida y comoda para el programador.

PD: Ahora no quiero montar una batalla campal entre C# y VB.NET, pero no esta mal que le hecheis un ojo al VB.NET, se aprende bastante mas rapido que C#.

0x666

Las plataformas que requieran un framework que no sean parte del sistema me parece una basura.
.net es mas que un framework.
Java, java no vale na!!

.Net es el futuro.

Por mi todo seria C y ASM.

Urien

#24 claro y rompes una de las reglas fundamentales de la programación que dice algo asi como "entornos amigables para los clientes" (Lo digo por el ultimo comentario xD).

¿Es dificil manejarse por un entorno de DOS como resultado de programar en C? Para nada pero no es amigable y puede llevar a confusión si el programa es muy amplio. Aplicaciones desarrolladas con entornos graficos como VB (6 o .NET) o mismamente Java patean los culos de aplicaciones realizadas en C y ASM... ¿que estos dos lenguajes resultan cruciales a la hora de gestionar memoria y recursos? pues como todo lenguaje de abstraccion media que se preste asi debe de ser (quizá antes de que existiera C la gente dijo "pues Ensamblador > C porque es mas rapido") pero tal y como avanza la informatica he dejado de considerar que un uso extremadamente eficiente sea lo mejor para un programa porque se descuidan aspectos basicos como el diseño y por desgracia estos diseños van ligados a lenguajes de muy alto nivel como .NET o Java que, si bien hacen una peor gestión de recursos, son los mas demandados por el simple hecho de que sus diseños ayudan a mucha gente a entender y usar mas comodamente un programa.

Y lo del framework y la maquina virtual de Java... pues Vista traera por defecto Framework 3.5 (o eso creo) y si bien el proyecto MONO sale adelante las futuras versiones de Linux tambien lo traeran (en su adaptacion a este SO claro) asi pues MS cubre el 95% de los SO's utilizados y cuando Vista se estandarice como SO por encima del resto MS cogera la ventaja definitiva de su plataforma sobre cualquier otra que le haga sombra.

PD: Acabo de terminar mi proyecto de una clinica de estetica en Visual C++ .NET y la verdad... no llevo muxo en esto pero estoy literalmente flipando que yo halla podido hacer algo asi, no soy un hacha de la programación (y la verdad es ke no tengo una mente analitica, lo cual me complica las cosas mucho) y me he tenido que currar un monton de codigo para que las cosas salieran como yo queria pero al final han salido y el programa cumple la funcion para la ke fue diseñado a la perfeccion.

PD2: Me alegro de que os guste el thread ^^

Sigo diciendo lo mismo... MS lo ha hecho tremendamente bien.

AtollOndrao_

#23 con todos los respetos, no tienes ni p.i.
Se ve que todavía no has tirado ni una línea de código en C#.

C# no tiene nada que ver ya con C++. Es mucho más similar a VB.NET que a C++, pero además de lejos. Con C++ sí se programan periféricos, controladores, en definitiva, drivers. Pero C# es un lenguaje más dentro del mundo .NET orientado a aplicaciones de gestión.

No mezclemos C# con C++ porque la distancia es abismal. Y conste que me encanta C#. Pero es que lo mismo que puedes hacer con C# lo puedes hacer con VB.NET. Exactamente lo mismo. Y eso antes entre C++ y VB6 no existía. Eran lenguajes y plataformas distintas. Ahora son lenguajes distintos pero sobre la misma plataforma, con lo cual los dos pueden hacer lo mismo.

Y que una aplicación se hace antes con VB.NET que con C#... ridículo. Me da igual poner:
Dim intContador as Integer
que:
int intContador

Las curvas de aprendizaje se han armonizado, la de VB6 a VB.NET se ha complicado (por el conocimiento del Framework) y la de C++ a C# se ha simplicado (por la desaparición de punteros... sí sí, ya sé lo del código no seguro).

Es más, hay mil páginas por ahí de traducción de código VB.NET a C# y viceversa. No verás un parse que traduzca de C++ a VB6 y viceversa pq es imposible.

kas

#36 Teienes toda la razon en cuanto a mi conocimiento de C#, pero por favor un poco de respeto.

Yo continuo viendo la familia "C" de esa manera, simplemente xq "la estructura" no la encuentro tan amigable como l ade VB.NET.

Siento si te ha ofendido mi comentario, pero en DotNetMania lei un articulo donde se cojia a un grupo de chavales de unos 16 - 20 en Andalucia que no tenian ni papa y en 6 meses hicieron una aplicacion en VB.NET (tipica de gestion con SQL Server) y ademas sabian lo que estaban haciendo.

Este ultimo parrafo no quiere decir que si lo hubieran hecho en C# no lo hubieran pillado / hecho en 6 meses, deacuerdo? Simplemente es el anecdota.

Y hablando del tema Multiplataforma: Conoceis MONO?

http://www.mono-project.com/Main_Page

Mono es un proyecto para poder correr aplicaciones .NET en SO diferentes a windows. Obviamente este proyecto es independiente de MS y siempre ira por detras de los avanzes del Framework en windows, pero podria convertir los lenguajes .NET en esa maravillos palabra que tanto les gusta a los JAVEROS: multiplataforma.

IS4kO

#26 Pq tienes que intentar desacreditar a nadie ofensivamente e insultando, no creo que esto sea un concurso para demostrar que tu sabes más que Kas u otro, sino un foro para complementar los distintos contenidos e ideas de la gente, hombre si alguien mete un poco la pata se le puede decir, pero hay formas y formas, pero sobre todo hay que intenar corregir algo cuando se esté seguro de ello no crees?, pq no creo que Kas estubiera muy desencaminado...

Yo no se si si tu tienes algo más que ni puta idea, o si has tirado alguna linea o no, no voy a entrar ahí, pero sea lo que sea no te voy a insultar.

Y dicho esto:

1º C# y C++ si que tienen cosas en común por mucho que te duela, como es la identación de código, el soporte de POO (herencia, polimorfismo, interfaces, clases abstractas, amigas..), etc... A parte de que con C# tb puedes programar aplicaciones a bajisimo nivel.

2º Que VB.Net y C# aprovechen el FW no significa que puedan hacer ni mucho menos lo mismo, C# es bastante más potente que VB, como ya decía en el primer punto, con C# puedes llegar a muy bajo nivel, interactuar con periféricos etc... no solo se usa para aplicacíones de gestión como tu dices.

3º No es nada ridiculo decir que con C# se tarda más en programar que con VB.Net, C# es super restrictivo, mientras que VB se lo traga todo, es cierto que con C# la programación es más costosa, aunque todo es acostumbrarse.

4º Eso de que las curvas de aprendizaje se han armonizado xd, me suena a Platón... pero amigo, decir que han desaparecido los punteros.... en fin... qué te crees que son las variables por referencia...

Bueno, espero que esto no degenere más, que esto iba de .Net y Java y ya estamos con c# vs c++ nose si los que desvían la conversación lo hacen para meterse en temas que conocen más y demostrar su potencia genital ... o simplemente pq se quiere joder la pava :P abrid mas posts coño ;)

Kichess wap@s

AtollOndrao_

#27, mis más sinceras disculpos si he sido demasiado incisivo. Lo de p.i. lo puse con acrónimos y sin acritud. Quziás podía haber utilizado otras expresión. Perdón si te ha molestado mi lenguaje.

#28.
En cuanto a lo que dices:
1º Faltaría más que C# no heredada todas las características de orientación a objetos que tenía C++. Obviamente en eso se parecen. Insisto, faltaría más.


Con VB puedes llegar al mismo nivel que con C#. Hablamos del mismo framework y, al final y al cabo, el código se transforma por el CLR para todos por igual.

3º y 4º
Ahora VB es igual de restrictivo que C#. Por eso la gente que ha tenido que pasar de VB6 a VB.NET le ha costado más. Por eso y porque ahora sí hay una orientación a objetos en condiciones y no los módulos de clases cutres y limitados de VB6.

Y en ningún momento me las doy o no me las doy. Llevo 5 años de analista programador a mis espaldas y uno último de Jefe de Proyecto. Y por eso ni me creo más ni menos que nadie. Sólo que doy mi opinión como todos. Efectivamente esto no es un concurso de gallitos, sino un foro de intercambio de opiniones.

Eso sí, x mucho que te duela: i hate java xDDDDDD

IS4kO

#29 Así si, enhorabuena por el post AtollOndrao_ así mola mas postear :)

1º Hombre nose si faltaría más pero creo que es una característica bastante importante en común que no sucede con C o VB6 no crees?

Que los dos se traduzcan a código IL a través del CLR no significa que esa traducción sea la misma, y si no te lo crees haz la prueba con un simple HolaMundo, primero te ves el código IL generado desde VB.Net y después le echas un ojo al de C# podrás observar q este último para ese simple HolaMundo genera 2 ó 3 lineas más de código que el de VB, imagínate para una aplicación grande...

Lo de la convivencia entre los dos lenguajes, sobre el nivel de desarrollo de cada uno no es del todo cierto, si, podríamos decir que cualquier aplicación hecha con VB puede traducirse a C# pero hay ciertos casos en los que no puede hacerse el camino contrario, es decir de C# a VB.net

Y ahora te pongo unas cuantas diferencias más para que te des cuenta:

  • VB no permite realizar partes de programación avanzada como usar código no seguro, sobrecarga de operadores...

  • VB da problemas con valores por referencia cuando la opción "option strict on" está activada, en C# como sabemos directamente ya está implicita por defecto

  • Vb no permite enumeraciones de valores no numericos, C# si

  • Vb no dispone de continue en foreach y for, básicos en determinados algoritmos.

  • VB no es Case Sensitive.

Etc..

3º y 4º
Eso creo q tampoco es muy cierto, VB puede configurarse para que sea algo más reestrictivo de lo que es por defcto, activando los option strict, etc... pero aún así C# sigue siendo más costoso, ppalmente pq C# además de compilado (como es VB), es evaluado, por la que la detección de errores es mucho más completa.

Y por último, que yo sepa eso de que ahora la programación a objetos está en condiciones... y no como estaba en VB6.... bueno.... VB6 no es POO y mucho más importante, no es que tuviera clases cutres, es que directamente VB6 no trabaja con ningún tipo de clase, es totalmente modular.

Kichess :)

Usuarios habituales