• Jueves 28 de Marzo de 2024, 19:14

Autor Tema:  Re: C, C#, C++ Diferencias??  (Leído 3876 veces)

llevoni

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: C, C#, C++ Diferencias??
« en: Viernes 20 de Junio de 2003, 09:34 »
0
Hola soy un nuevo usuario y me gustaria saber las diferencias entre los diferentes leguajes "C". Concretando más, para hacer un programa que representa estrellas en funcion de unos parametros, con lo cual hay una parte grafica, otra de calculo y otra de lectura de ficheros (Txt), cual es mejor.

:gracias:

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
C, C#, C++ Diferencias??
« Respuesta #1 en: Sábado 5 de Julio de 2003, 03:38 »
0
---C
Estructurado
no orientado a objetos
poderoso
permite manejar muy cerca el nivel de maquina
standart
portable
se pueden hacer programas 100% independientes del sistema operativo
y mas y mas y mas
los programas suelen ser  complejos
es decir el codigo se puede llamar poco natural al entendimiento comun
no posee faciulidades de desarrollo web
lenguaje compilado
ejecutable no portable
---C++
orientado a objetos
admite codigo c
poderoso
permite manejar muy cerca el nivel de maquina
standart
portable
en modo consola se pueden hacer programas independientes del sistema operativo
los programas suelen ser complejos , es decir el codigo se puede llamar poco natural al entendimiento comun
no posee faciulidades de desarrollo web
lenguaje compilado
ejecutable no portable
---C#
orientado a objetos.. es una nueva forma pero mno recuerdo el nombre
portable(aunque por el momento solo bajo sistemas windows, se supone que el .net framework tendra versiones para otros sistemas como linux y mac, en el futuro)
muy potente
utiliza lenguaje natural
posee muchicicimas facilidades de desarrollo web
ejecutable portable
es un lenguaje evaluado, es decir su ejecutable culmina su compilacion completa en el momento de ser ejecutado por primera vez en el sistema operativo..
esto es mucho mas portable que c y c++ y mucho más rapido que java.

eso es todo.

Juank
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

DarkSlash

  • Miembro activo
  • **
  • Mensajes: 95
    • Ver Perfil
Re: C, C#, C++ Diferencias??
« Respuesta #2 en: Jueves 4 de Diciembre de 2003, 19:48 »
0
me podrías explicar qué es "lenguaje natural" a qué te referís con "muy potente"  y otra cosita más... eso de que va a ser muy portable en un futuro con el tema del framework es porque como java el ejecutable pva a depender de algo externo como en java lo hace de una maquina virtual???
es un lenguaje nuevo con  estas caractristicas o es una especie de C++ mejorado? Admite codigo de C/C++? Pueden hacerse los mismos tipos de apps que en estos lenguajes + apps web???

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: C, C#, C++ Diferencias??
« Respuesta #3 en: Domingo 7 de Diciembre de 2003, 17:37 »
0
Hola,

Bueno si.. creo que no he sido preciso con esto.


Lo de lenguaje natural quice decir Intuitivo.

En efecto lo que se pretende es que todo programa sea portable,
es parecido a la maquina virtual de java pero no es lo mismo.

Hay una cosa que se llama el MSIL es un codigo de maquina intermedio, lo bueno de esto es que cuando el programa se ejecuta por primera vez en una maquina ej JIT(just in time compiler) termina de compilar el codigo MSIL y lo genera para hacerlo más eficiente segun la maquina(especificamente segun el tipo de procesador)  y el sistema operativo donde se este ejecutando. Una vez compilado totalmente el programa es capaz de reconconocer que ya ha sido compilado asi que no se vuelve a recompilar desde MSIL a no ser que hayan habido cambios en el programa. Esto hace que las aplicaciones hechas en C# sean mucho más rapidas que las hechas en JAVA.
Aca anexo algo que saque de microsoft.

Citar
Tomado de la página de microsoft..

--Lenguaje intuitivo basado en C++
Utilice un lenguaje basado en la sintaxis de C++, inmediatamente familiar para los programadores de C++ y Java, así como nuevas estructuras de lenguaje intuitivas que simplifican enormemente las tareas de programación.

---Interoperabilidad.
Utilice código "no seguro" para activar API de Windows nativas, utilice componentes COM ya desarrollados y aproveche los controles Microsoft ActiveX® existentes para integrar sin problemas aplicaciones y componentes existentes.

---Lenguaje moderno orientado a componentes
Aproveche las ventajas de la compatibilidad inherente con propiedades, indizadores, delegados, matrices únicas y multidimensionales, herencia avanzada, atributos, control de versiones y comentarios XML.

---Entorno sólido de programación para el Web
Cree soluciones basadas en Web con C# utilizando el Diseñador de Web Forms y el Diseñador XML compartidos. Los programadores pueden utilizar también las características de IntelliSense y la capacidad para completar etiquetas; o bien, elegir el editor WYSIWYG (lo que ve es lo que se imprime) para poder crear aplicaciones Web interactivas arrastrando y colocando elementos.

---Entorno completo de programación de aplicaciones para Windows
Cree visualmente aplicaciones basadas en Windows. Con la herencia visual, los programadores pueden simplificar enormemente la creación de aplicaciones basadas en Windows, centralizando en formularios primarios la lógica común y la interfaz de usuario para toda la solución. Utilizando delimitadores y acoplamiento de controles, los programadores pueden generar formularios redimesionables automáticamente, mientras el editor de menús in situ permite crear menús de manera visual directamente desde el Diseñador de Windows Forms.

---Compatibilidad con aplicaciones móviles
Llegue hasta la gama más amplia de dispositivos compatibles con Internet utilizando las características de Mobile Internet de Visual Studio .NET. Estas características ofrecen a los programadores una única interfaz Web móvil para proporcionar compatibilidad con una amplia gama de dispositivos Web, incluidos WML 1.1 para teléfonos móviles WAP, HTML compacto (cHTML) para teléfonos i-mode y HTML para Pocket PC, dispositivos de mano y localizadores (pagers).

Visual C# .NET es un completo conjunto de herramientas para la creación de servicios Web XML y aplicaciones basadas en Microsoft .NET para Microsoft Windows® y el Web. Este eficaz paquete de programación, que utiliza el lenguaje de programación orientado a componentes C#, ofrece a los programadores de nivel inicial o intermedio con conocimientos de C++ o Java un entorno y un lenguaje modernos para la creación de software de próxima generación. Visual C# .NET ofrece funcionalidad superior para optimizar procesos empresariales, por ejemplo:

Compatibilidad con el diseño, la programación y la implementación de servicios Web XML con rapidez.
Diseñadores de formularios y controles visuales para crear aplicaciones basadas en Windows muy completas.
Herramientas y servicios de diseño para crear eficaces soluciones de Microsoft .NET basadas en servidor.
Con Visual C# .NET, los programadores pueden crear soluciones para una amplísima gama de clientes, incluidos Windows, el Web y dispositivos de cliente ligero. Con este elegante y moderno lenguaje de programación, los programadores pueden aprovechar sus conocimientos y habilidades de C++ y Java para disfrutar de una experiencia satisfactoria con la plataforma Microsoft .NET.

esto otro lo saque de un pdf que tengo en la Casa.
Citar
Tomado de :

Programming C#
Jesse Liberty
Publisher: O'Reilly
First Edition July 2001
ISBN: 0-596-00117-7, 680 pages

1.4 The C# Language
The C# language is disarmingly simple, with only about 80 keywords and a dozen built-in datatypes,
but C# is highly expressive when it comes to implementing modern programming concepts. C#
includes all the support for structured, component-based, object-oriented programming that one
expects of a modern language built on the shoulders of C++ and Java.
The C# language was developed by a small team led by two distinguished Microsoft engineers,
Anders Hejlsberg and Scott Wiltamuth. Hejlsberg is also known for creating Turbo Pascal, a popular
language for PC programming, and for leading the team that designed Borland Delphi, one of the first
successful integrated development environments for client/server programming.
At the heart of any object-oriented language is its support for defining and working with classes.
Classes define new types, allowing you to extend the language to better model the problem you are
20
trying to solve. C# contains keywords for declaring new classes and their methods and properties, and
for implementing encapsulation, inheritance, and polymorphism, the three pillars of object-oriented
programming.
In C# everything pertaining to a class declaration is found in the declaration itself. C# class definitions
do not require separate header files or Interface Definition Language (IDL) files. Moreover, C#
supports a new XML style of inline documentation that greatly simplifies the creation of online and print
reference documentation for an application.
C# also supports interfaces, a means of making a contract with a class for services that the interface
stipulates. In C#, a class can inherit from only a single parent, but a class can implement multiple
interfaces. When it implements an interface, a C# class in effect promises to provide the functionality
the interface specifies.
C# also provides support for structs, a concept whose meaning has changed significantly from C++. In
C#, a struct is a restricted, lightweight type that, when instantiated, makes fewer demands on the
operating system and on memory than a conventional class does. A struct can't inherit from a class or
be inherited from, but a struct can implement an interface.
C# provides component-oriented features, such as properties, events, and declarative constructs
(called attributes). Component-oriented programming is supported by the CLR's support for storing
metadata with the code for the class. The metadata describes the class, including its methods and
properties, as well as its security needs and other attributes, such as whether it can be serialized; the
code contains the logic necessary to carry out its functions. A compiled class is thus a self-contained
unit; therefore, a hosting environment that knows how to read a class' metadata and code needs no
other information to make use of it. Using C# and the CLR, it is possible to add custom metadata to a
class by creating custom attributes. Likewise, it is possible to read class metadata using CLR types
that support reflection.
An assembly is a collection of files that appear to the programmer to be a single dynamic link library
(DLL) or executable (EXE). In .NET, an assembly is the basic unit of reuse, versioning, security, and
deployment. The CLR provides a number of classes for manipulating assemblies.
A final note about C# is that it also provides support for directly accessing memory using C++ style
pointers and keywords for bracketing such operations as unsafe, and for warning the CLR garbage
collector not to collect objects referenced by pointers until they are released.

Espero que esto haya aclarado tus dudas.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

DarkSlash

  • Miembro activo
  • **
  • Mensajes: 95
    • Ver Perfil
Re: C, C#, C++ Diferencias??
« Respuesta #4 en: Domingo 7 de Diciembre de 2003, 18:06 »
0
Huy suena MUY interesante... pero me kedandudas sobre cómo pueden funcionar los controles active X en otros SO diferentes a los de MS...  :whistling:  no creo que Microsfot haga esto 100% portable... al fin de cuentas... estamos hablando de la empresa del tío billy no? pero por el momento sie so funciona bajo windows ya me parece interesante! thanxs por la info!

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: C, C#, C++ Diferencias??
« Respuesta #5 en: Domingo 7 de Diciembre de 2003, 18:47 »
0
ya no existen los controles activex en .net.

Se usa el :netframework, que es donde se encuentra toda la coleccion de tipos y objetos de la tecnologia .net.
por eso lo puieden hacer.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

DarkSlash

  • Miembro activo
  • **
  • Mensajes: 95
    • Ver Perfil
Re: C, C#, C++ Diferencias??
« Respuesta #6 en: Domingo 7 de Diciembre de 2003, 19:06 »
0
Ahhh ok yo lo dije porque leí esto
Código: Text
  1. ---Interoperabilidad.
  2. Utilice código "no seguro" para activar API de Windows nativas, utilice componentes COM ya desarrollados y aproveche los controles Microsoft ActiveX® existentes para integrar sin problemas aplicaciones y componentes existentes.
  3.  
  4.  
  5.  
Pero según me decís ahora está todo dentro del frame work! ahora entiendo mejor! lo que pasa es que, como a mucha gente, me costó terminar de comprender qué era todo ese rollo del .net ahora comprendo un poco mejor! Gracias!  :hola:

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: C, C#, C++ Diferencias??
« Respuesta #7 en: Domingo 7 de Diciembre de 2003, 19:56 »
0
eso es, en efecto puedes utilizar ACtiveX ya hechos pero por no ser parte del framework ni de las extenciones administradas no podras generar un codigo capaz de ejecutarce en otros sistemas operativos, esto se hizo solo con el fin de brindar la opcion de utilizar comonentes desarrollados en otras tecnologias Microsoft.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io