C# y su respuesta en la comunidad programadora.

Que lenguaje cree usted que dominara el futuro de la programacion?

  • C# (Incluido en Visual.NET)

    Votos: 3 18.8%
  • C++

    Votos: 8 50.0%
  • C

    Votos: 1 6.3%
  • Java

    Votos: 3 18.8%
  • Otro

    Votos: 1 6.3%

  • Votantes totales
    16
  • Encuesta cerrada .
Estado
Cerrado para nuevas respuestas.

ZeN<CyBeRKiLLeR>

LANero oficial
15 Abr 2001
2,486
Bueno me imagino que muchos de nosotros se preguntaran acerca del futuro del mundo de la programacion con esta oleada de nuevos lenguajes.

Bueno mejos, aca les tengo una encuestica y por hay derecho discutimos acerca de un tema que esta como bueno hoy dia.

Estuve en una conferencia y estuve consultando un poco acerca del lenguajes C# desarrollado por microsoft (Si me equivoco no me peguen jeje pero asi lo entendi) e incluido en su plataforma .NET-

Le vi muchas ventajas y no voy a comentar hasta ahora lo que he visto, quiero que ustedes empiecen a decir cual prefieren, contesten la encuestra centrados en lo que se pregunta y no en sus preferencias personales, pero en el foro si seria bueno discutir las opiniones de cada uno, dar los puntos claves que defienden el lenguaje que defienden y decir por que.

Analizaremos por ejemplo los lengujes en diferentes aspectos, programacion orientada a web, proramacion normalita de escritorio, programacion de juegos, etc, todo esto es bueno saberlo para ver a que se le va a gastar el tiempo, la cual es una de las dudas que mas mata a la gente.
 
me parece que java, es lo suficientemente potente, para satisfacer cualquier necesidad de programacion, creo que en un futuro mejoraran lo de su tamaño de memoria, pues actualmente es algo pesado
 
a mi personalmente Java no me parece una plataforma muy apta para programacion de grandes proyectos... es lento y su estructura hace que esto no se pueda arreglar (creo yo).
 
si a java lo optimizan , es muy posible que mande en el mundo de la programación. C no, porque para hacer aplicaciones de alto nivel es muy engorroso, java no porque es casi que interpretado y eso hace que las aplicaciones sean demasiado lentas, eh visto que por ejemplo la gente de Norton programan en Visual c++. en fin, no digo nada de C#, porque conozco poco sobre él. Mi voto fue por C++ :)
 
C++ es excelente, pero no es un lenguaje puramente orientado a objetos, dado que es como una especie de "mod" que le hicieron al ANSI C..

C#, por su lado, es muy completo, se aproxima muchisimo a ser orientado a objetos, y tiene muchas ventajas para el programador.

Pero, mi voto es por Java, porque ademas de ser construido como lenguaje orientado a objetos desde el principio, tiene mas librerias, no necesita de un entorno de desarrollo para poder sacarle jugo al maximo, es multiplataforma, es mas seguro, y no requiere de un sistema operativo en especifico para ser desarrollado.
 
Bueno, lo que he leido de C# es que al igual que java esta totalmente escrito para ofrecer un entorno orientado a objetos, con abstracciones similares y conceptos similares, ya a posteriori se le metio la compatibilidad con el viejo C++.

Yo mi voto lo doy a C# porque he trabajado con Java pero al ver las capacidades que tiene este nuevo lenguaje, puedo ver que es tan simple sintacticamente como java, tiene las mismas herramientas de java, las mismas mejoras y fuera de eso tiene un rango mas global, no se orienta solamente a un estilo de programacion.

Fuera de eso carece de los problema que ofrece la compilacion al vuelo de java, y aunque con el Just in time compilation de la maquina virtual de java se optimizo mucho la interpretacion en diversas plataformas, sigue siendo un lenguaje demasiado pesado para grandes proyectos.

Por otro lado C# compila todo el codigo a codigo assembler y el computador no usa en lo absoluto algun sistema de interpretacion, lo que le da el rendimiento de C++, pero con las mejoras que caracterizan al popular Java.

Ese fue mi punto de vista, espero ver el de mig posada.
 
Es que la gran ventaja de java es ser multiplataforma, donde no fuera por eso, gas java jejej :)
 
el lenguaje C# tambien es libre?? o es propiedad de M$??
 
el del visual studio .NET es de Microsoft ejejej , hey pero yo tengo una pregunta alguien dijo que C# bajaba el codigo a assembler pero el del .NET lo baja es a byte code, porque todos los lenguajes del .NET hacen eso, por eso es que uno puede hacer un modulo en C# y lo puedo llamar desde Visual Basic o desde Visual C++, o desde los otros lenguajes del VS .NET, si estoy equivocado que alguien me corrija por favor
 
jejej , y la pregunta shadow??? es byte code o es otra cosa es que no me acuerdo??? :)
 
es que esa estrategia .NET, es como la copia de Java, pero adaptada a M$ y con una que otra mejora, pero muy pocas!!
 
NOINONONO totalmente equivocados acerca de que es una copia de java.

C# usa el modelo que usa java, modelo totalmente orientado a objetos, abstraccion, etc, por ejemplo armar un UI en C# es ahora tan o mas facil que en java.

C# no es propiedad de microsoft, es un lenguaje mas y ya esta implementado en diferentes plataformas como linux, el visual obviamente si es de MS.

Si te parece tan igual java y c#, entonces que te parece el hecho de que podes unir codigo de vbasic, con C++ y C#, como dice shadow, eso es totalmente cieto, en una conferencia en eafit yo lo vi, y realmente RE ROX! para una empresa que esta en evolucion eso es lo ideal, reutilizacion de codigo, no hay que migrar todo.

Java es potente, pero nada que ver con C#, una cosa es que se parezcan en el modelo y en la sintaxis, pero C# tiene muchisima mas potencia.

En este momento se que estan migrando ya empresas como conavi y bancolombia, entonces miren que no es cualquier cosa la que se nos vino.

Personalmente lo unico que no me gusta de .NET es que para poder usarlo hay que instlar el framework en las otras maquinas, aunque no es nada parecido a la maquina virtual, si es como una base para la programacion .NET y me parece maluco, pero despues de ver el rendimiento, te olvidas de eso.
 
Antes quiero aclarar varias cosas sobre lo que ya han dicho:

Casi nadie programa en C puro o en C++ puro, la mayoría de programadores usa una mezcla de los dos. Por eso yo digo siempre que programo en C/C++.

Sobre lo que dijo Achtung:

El que sea una modificación de ANSI-C no indica nada malo sobre C++. Tampoco el que no sea puro orientado a objetos. Uno no piensa en esos terminos de un lenguaje de programación, lo que importa es lo que es capaz de hacer.

Sobre lo que dijo Sh4dow:

Java no lo pueden optimizar tanto como para llegar al rendimiento de un lenguaje de medio nivel, tan sólo la forma como esta diseñado lo hace imposible.

Sobre lo que dijo axelbeny:

Pienso totalmente al contrario.


Voy a analizar el poblema tal como lo pidio inicialmente Enigma (cL-Cyberkiller).

1. Programación de Aplicaciones Convencionales (Windows, Linux, MacOS)

El lenguaje que se utiliza en este tipo de programas depende de 2 cosas: El nivel de acercamiento al SO que se necesita, y que tán perezoso es el programador (créanlo o no, puede ser lo más importante).

Visual Basic y Delphi son dos lenguajes que dominan (y seguirán dominando) en esta área por su facilidad de uso.

Existen programadores que incluso quieren usar Java para estos programas, pero la verdad es que esa es una de las peores elecciones para este trabajo.

Me parece que el más adecuado para este trabajo es C/C++, porque es el que te permite mayor control sobre la aplicación y te permite entender como interactua directamente con el SO. Pero sólo cuando los programadores son lo suficientemente experimentados.

2. Programación de Juegos (y otras aplicaciones multimedia de alto rendimiento)

La situación sigue siendo la misma: C/C++ C/C++ y C/C++.

A menos de que quieras hacer únicamente Solitario 2: La Venganza, no escojas otro lenguaje.

3. Programación en Web

Es donde menos quiero hablar, porque tengo muy poco conocimiento.

Aún cuando C# sea superior que Java y PHP (no lo sé realmente), la gente seguira usando estos lenguajes por mucho mucho tiempo: porque ya lo saben manejar y porque le tienen bronca a Microsoft, esa es la cruel verdad.

Si se tiene una mente abierta de verdad, no se tiene en cuenta la compañia que hizo el lenguaje de programación, sino este en sí mismo.

Multiplataforma

Si se quiere un lenguaje que sea independiente de la plataforma y te permite hacer programas que funcionen en cualquier lado sin esfuerzo, tocaría utilizar Java (o C#, que ya he dicho no conozco).

Sin embargo, un buen programador de C/C++ sabe como distribuir el código eficientemente, separando las secciones que dependen de cada sistema operativo, de las secciones compartidas. No han visto lo que han hecho Id Software o Epic Games durante años???

Mi conclusión es que aún cuando no es directamente multiplataforma, la mejor opción para programas en multiples sistemas operativos es C/C++. Puedes crear programas para cualquier SO y además optimizados para cada uno!! Eso si es potencia.



Sobra decir, mi voto es por C++.
 
A menos de que quieras hacer únicamente Solitario 2: La
Venganza, no escojas otro lenguaje.

RELOL jajajaj yo si me pude reir con esto!

Bueno ya me esperaba esta respuesta de migposada, pero viejo mientras leia tu post sabes que me hiciste pensar, que eras un programador viejo y anticuado que ha pasado por casi todas las generaciones jejje (Espero no te ofendas claro).

Bueno esta vez quiero defender a C#, C# tiene las mismas capacidades de C++ y es mas, en la pagina gamedev que me diste vi que los programadores ya estan usando C# y vi algunos demos 3D en este lenguaje y a decir verdad no vi diferencia con C++.

Al igual que mig posada estoy -110% de acuerdo con axelbeny, los problemas de java nunca pero nunca han sido de memoria, el problema de java es que la forma en que fue pensado, un lenguaje interpretado en tiempo real lleva demasiado tiempo de procesador el cual podria ser util para la aplicacion propiamente.

Java tiene muchos problemas y personalmente la razon por la cual va ganando la encuesta es tal vez programadores perezosos como dice Mig, ya que a mi forma de ver es el lenguaje mas facil de todos.

La forma de ver c++ por parte de mig posada es valida, es mas real decir yo se c/c++, es un lenguaje que no es mas que una adicion a un lenguaje viejo, el cual tenia muchas cosas de acceso directo con la maquina, e incluye un paradigma que facilita la programacion, pero no deja de ser un lenguaje un tanto complicado por sus cosas antiguas.

Esta vez les tengo unas pregunta.

Realmente dedicarle tiempo a programar juegos si vale la pena?
Las empresas desarrolladoras de software de hoy dia en colombia que es lo que estan buscando en un programador?
 
Definitivamente no hay lenguaje en el momento que sea superior a C/C++, yo tambien me uno a este lenguaje, ya que es el mas potente de todos los que existen...
 
Originalmente colocado por <dmg|achtung>
C++ es excelente, pero no es un lenguaje puramente orientado a objetos, dado que es como una especie de "mod" que le hicieron al ANSI C..

C#, por su lado, es muy completo, se aproxima muchisimo a ser orientado a objetos, y tiene muchas ventajas para el programador.

Pero, mi voto es por Java, porque ademas de ser construido como lenguaje orientado a objetos desde el principio....

No hablen tanta caspa de que java es "puramente orientado a objetos", porque eso es popó que le meten a estudiantes de 2º en la U. Ya no estamos en 1996.

Para los que no sepan, java no es puramente orientado a objetos. "everything is a class" ..."except the fundamental things".

Java incluye tipos básicos (como int) que no son clases, y por ellos paga un precio alto: cuando hay que meter esos tipos básicos en containers, java tiene que hacer un wrapper, y crear un objetico que encierre el tipo básico. esa "vueltica" es sumamente cara en memoria y en tiempo, y es responsable de parte del bajo rendimiento de java.

Como hay datos básicos, no todos los tipos predefinidos son objetos (luego no es puro)

En java, no todos los métodos son mensajes a objetos, (algunos de los métodos predefinidos son globales), luego tampoco es puro.

En java no hay herencia múltiple. Le metieron interfaces para aliviar la cosa, pero todavía no hay verdadera herencia múltiple, luego no tiene todo lo que un lenguaje OO debe tener.

Léanse éste articulito:

http://www.jvoegele.com/software/langcomp.html

y entenderá que Java no es ningún "pure", y que lenguajes como Eiffel y Ruby si lo son.

Yo personalmente estoy de acuerdo con Sh4dow: si Java no fuera multiplataforma, no estaría donde está. En éste momento java está en una necesidad urgente de que salga el java 3 par que le corrijan muchas cosas que tiene (no son las que yo menciono, sinó otras).

.. y ojo, que el ser multiplataforma era gran cosa en 1996, pero hoy no. Hoy todos los lenguajes interpretados son multiplataforma (Perl, PHP, Python, Ruby, Eiffel)... hoy TODO es multiplataforma, así que java cada vez tiene menos apoyo por ese lado.

Aún más, yo opino que si Sun no hubiera impulsado a java al estilo microsoft, (cockteles, brochures, etc etc) java no estaría donde está. Noten queridos enemigos de Micro$oft, que java no es libre, sino una tecnología propietaria de Sun Microsystems (que la ha defendido con demandas y todo).

Por el lado del rendimiento, no se si han visto benchmarks recientes del jre 1.4, pero java ha mejorado bastante en los tiempos de ejecución. el una vez lento java, ahora corre mucho mucho más rápido que Perl y Python. Por el rendimiento, java sigue siendo la mejor opción para programación de redes, hasta que salga algo nuevo revolucionario.


Mi voto es por otro:
yo aspiro a que parrot (el lenguaje que están contruyendo Guido Van Rossum y Larry Wall, creadores de Python y Perl) dentro de unos 3 años revolucione este tierrero.

Si eso no pega y sun saca un Java 3 bien jalado que le corrija las fallas a Java, entonces mandará java.

y C# la va a tener muy difícil, porque no es revolucionario. si es mejor que java (fué hecho por el creador de Delphi, pagado por M$) pero no es revolucionario y los miles de desarrolladores con 7 años de experiencia en java no se van a pasar tan fácil. Si c# pega, no es por lo que es sinó a punta de marketing y yo creo que en pleno siglo 21 eso ya no ayuda tanto como en los 90's
 
Originalmente colocado por cL-CyBeRKiLLeR
Bueno ya me esperaba esta respuesta de migposada, pero viejo mientras leia tu post sabes que me hiciste pensar, que eras un programador viejo y anticuado que ha pasado por casi todas las generaciones jejje (Espero no te ofendas claro).

Bueno esta vez quiero defender a C#, C# tiene las mismas capacidades de C++ y es mas, en la pagina gamedev que me diste vi que los programadores ya estan usando C# y vi algunos demos 3D en este lenguaje y a decir verdad no vi diferencia con C++.

Puede que tengas razón, que ya sea un programador bastante anticuado (viejo no, tengo 18 años!) y que C# sea el futuro de la programación en casi todos los campos, pero yo no puedo ponerme a defender o atacar algo que no conozco!, no es cierto?


Realmente dedicarle tiempo a programar juegos si vale la pena?

Uno corre riesgos al perseguir un sueño.

De todas maneras, la ruta que he seguido me ha permitido aprender cosas que muchos programadores en nuestro país no saben hacer y menos a mi edad.
 
bueno, no veo nada de malo que el hobby de MIgPosada sea programar juegos, eso tal vez le puede dar un poco mas de pericia para hacer aplicaciones administrativas que son las que se venden aqui en Colombia. Eso da experiencia al programador.
 
yo pienso que desde que uno tenga pasión por algo, vale la pena gastarle tiempo!
 
jeje si mas bien antcuado en vez de viejo, sorry.

Bueno, yo no estoy cuestionando la idea de programar juegos ni el hbby de mig, realmente me parece muy bacano, yo lo digo porque me queria meter por esa linea pero si es de utilidad en mi vida profesional.

Realmente mi idea es ser el mejor en el campo en el que me desarrolle pero para poder lograrlo tengo que empezar desde ya entonces queria perfilarme, que aunque muchos cree que uno ya tiene todo definido, no siempre es asi.
 
Estado
Cerrado para nuevas respuestas.