Diferencias entre C y C#

Iniciado por Gambinoh, 14 Octubre 2016, 03:44 AM

0 Miembros y 1 Visitante están viendo este tema.

Gambinoh

¿Qué diferencias existen entre C y C# (C sharp).

Según tengo entendido la sintaxis es casi la misma, solo que C# ha sido desarrollado por Microsoft y ¿es un lenguaje propietario? ¿Qué opinión os merece en cuanto a utilidad y curva de aprendizaje? Dicen que es más fácil de aprender que C.

furciorifa

En cuanto la sintaxis se parece más a Java ya que es OOP y además tiene muchas diferencias C# de C ya que C# es lenguaje exclusivo de Windows, aunque se puede programar en Linux con MonoDevelop, pero es muy arduo y no te da 100% flexibilidad, C es un lenguaje de bajo nivel y C# es de alto nivel.

dato000

Cita de: Gambinoh en 14 Octubre 2016, 03:44 AM
¿Qué diferencias existen entre C y C# (C sharp).

Según tengo entendido la sintaxis es casi la misma, solo que C# ha sido desarrollado por Microsoft y ¿es un lenguaje propietario? ¿Qué opinión os merece en cuanto a utilidad y curva de aprendizaje? Dicen que es más fácil de aprender que C.

Más allá del lenguaje que es C#, es el ambiente de trabajo con visual studio, el cual ayuda demasiado a un desarrollador en los proyectos de trabajo por su flexibilidad, escalabilidad y compatibilidad en multiples ambientes de trabajo en diferentes metodologias (por ejemplo, C# puede usarse para programas de en consola/terminales, windows forms, ambientes moviles, ambientes web (web forms, mvc, CMS, web services) y varias cosas más (APIs).

Yo veo a c# como una evolución de C++ en ambientes de trabajo para este tipo de recursos.

C++ también es una herramienta poderosa, pero su perfil se ha mantenido para ambientes educativos y profesionales para usos exclusivos como linux o software propietario como desarrollo de juegos (unreal es un gran ejemplo de como puede usarse C++).

Diferentes, uy pues son demasiadas, ya seria analizar la sintaxis y los estandares que se utilizan dependiendo del compilador y debug y ambientes y esto y aquello.

Para mi la diferencia principal es que C++ es un poco más intuitivo y difuso en algunas cosas, por ejemplo, aunque es una evolución de C, usando Objetos para metodología de alto nivel, realmente uno se acostumbra más a C# en el trabajo con Objetos y Clases. Pero ya es por ambientes de trabajo, ya que comparar Lenguajes de programación uno tiene la tendencia a comparar IDE, SDK y librerias que se usan en conjunto con esos lenguajes de programación.

no quiero decir falacias, solo estoy contando una experiencia meramente empirica y prágmatica, yo soy un simple desarrollador junior, que trabaja con Visual Studio (solo C#, basic apesta) y que viene aquí a este foro a hacer pequeñas rutinas de C/C++ a modo de distracción (aunque me sigue jodiendo el tema de punteros jajajaja, pero vamos poco a poco), y debo decir que hoy en día, Visual Studio es simplemente la mejor herramienta de trabajo, y puede que se pueda usar Visual C++ en este ambiente, pero realmente funciona mejor con C#, simplemente son inseparables.



Gambinoh

dato000, ¿me podrías poner una serie de ejemplos de programas escritos en C#?

Digo programas conocidos, como Emule, VLC, Firefox, Thunderbird, Notepad++, CCleaner, KeePass, Avidemux, TeamViewer, o apps de móvil. 

dato000

Cita de: Gambinoh en 14 Octubre 2016, 21:55 PM
dato000, ¿me podrías poner una serie de ejemplos de programas escritos en C#?

Digo programas conocidos, como Emule, VLC, Firefox, Thunderbird, Notepad++, CCleaner, KeePass, Avidemux, TeamViewer, o apps de móvil. 



No se como tomarme esa petición, si seriamente, si de risa, si de lastima, o si de rabia...  :¬¬ :¬¬ :¬¬ :¬¬ :¬¬

Voy a intentar ser diplomatico en mi respuesta simplemente diciendo, busca los ejemplos que quieras, san google es la respuesta.

Solo mira como hacer un hola mundo con un compilador gcc o cywin, comparalo con el compilador de visual studio, en cualquiera de sus versiones y sabores, y notaras la diferencia.



ivancea96

Las diferencias entre C y C++ son, esencialmente, una librería estándar más amplia y programación orientada a objetos. (Digo esto, porque C# es más parecido a C++ que a C)

Luego. C# no es un lenguaje compilado como C++. Este se pasa a un lenguaje intermedio, como Java.
C# trabaja sobre la plataforma .NET, igual que VisualBasic.NET o F#. Esta es su mayor diferencia.

Luego, ¿programas en C#? Simplemente busca programas .NET. Estos programas fueron hechos en C#, VB.NET u otros de la plataforma. Pero el resultado es prácticamente el mismo. (Entre VB y C#, por ejemplo, cambia poco más que la sintaxis del lenguaje)

Si utilizas Windows 10 (PC o Phone) (o Windows 8.1), los programas de la Windows Store (al menos en su mayoría), son .NET.
Se está extendiendo mucho el uso de .NET, así que por cada programa "normalmente" compilado que veas, te encontrarás uno .NET. Por ejemplo, Unity utiliza C# (al menos, es una posibilidad dentro del engine), para programar sus programas y juegos.

dato000

Cita de: ivancea96 en 15 Octubre 2016, 13:39 PM
Luego. C# no es un lenguaje compilado como C++. Este se pasa a un lenguaje intermedio, como Java.
C# trabaja sobre la plataforma .NET, igual que VisualBasic.NET o F#. Esta es su mayor diferencia.

Luego, ¿programas en C#? Simplemente busca programas .NET. Estos programas fueron hechos en C#, VB.NET u otros de la plataforma. Pero el resultado es prácticamente el mismo. (Entre VB y C#, por ejemplo, cambia poco más que la sintaxis del lenguaje)

La sintaxis entre C# con Basic es terriblemente diferente, tanto que cambia completamente el esquema de trabajo, odio basic con todas mis fuerzas, es difuso y actualmente las librerias .NET no ofrecen un total adaptabilidad a los nuevos paradigmas de trabajo, un ejemplo perfecto es MVC, no conozco a nadie, repito, a nadie que use esta tecnologia con Basic, simplemente porque su trabajo se volveria una pesadilla al usar ese lenguaje, lo mismo ocurre al usar otros lenguajes interpretados que pueden soportar .NET como F# o Visual C++, su uso solo esta limitado a ciertas tecnologias y ambientes de desarrollo.




ivancea96

Cita de: dato000 en 15 Octubre 2016, 14:51 PM
La sintaxis entre C# con Basic es terriblemente diferente, tanto que cambia completamente el esquema de trabajo, odio basic con todas mis fuerzas, es difuso y actualmente las librerias .NET no ofrecen un total adaptabilidad a los nuevos paradigmas de trabajo, un ejemplo perfecto es MVC, no conozco a nadie, repito, a nadie que use esta tecnologia con Basic, simplemente porque su trabajo se volveria una pesadilla al usar ese lenguaje, lo mismo ocurre al usar otros lenguajes interpretados que pueden soportar .NET como F# o Visual C++, su uso solo esta limitado a ciertas tecnologias y ambientes de desarrollo.

No digo que sea diferente. Digo que ambos terminan en CIL, para .NET. Con ambos se puede hacer lo mismo, salvando la diferente sintaxis y diferentes estructuras que tiene cada uno.
Cada lenguaje en su momento, y si alguien prefiere uno frente a otro, tendrá sus razones. Ninngún lenguaje es 'malo', simplemente tienen sus limitaciones y sus ventajas. Y cada uno le sabrá sacar lo mejor de cada parte.

dato000

Cita de: ivancea96 en 15 Octubre 2016, 15:58 PMNinngún lenguaje es 'malo'

Eso es porque nunca te ha tocado usar Fortran, que pesadilla, o que decepción python, no sirve para nada.



engel lex

python seamos sinceros, es un dolor de ##### algunas veces con el asunto de la identación (nada que un editor de codigo decente como sublime no resuelva), pero para hacer scripts es muy versatil y potente (en linux sobre todo lo segundo)...
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.