Y sobre el lenguaje Asm... hace un par de meses me llevé la sorpresa al enterarme que el sistema informático más difundido en el planeta no era el x86 (amd, intel y demás), sino los chips FPGA. Y ya sabemos que es lo que se necesita para programar un chip hecho a medida... (mi profesor de electrónica usa a veces Asm y otras veces C). No quiere decir que existan más programadores de Asm que los de Java, por ejemplo. Pero sí que existen. Y su documentación es tan técnica que hay poquísimas editoriales que se dediquen a sacar sus datasheets de programación. Más bien lo hacen las mismas empresas fabricantes del chip. A mí me ocurrió lo mismo: hace algunos quise aprender a programar el Motorola DSP56000 y la única forma que encontré es pedir a la biblioteca de la Facultad que pidieran el libro diréctamente a Motorola Madrid. Y Motorola respondió enviando el libro (800 páginas) al día siguiente de forma gratuita (le interesaba, naturalmente).
Una duda, C# fué creado "exprofeso" para "aprovechar al máximo" la plataforma .NET, ¿qué limitantes tiene al respecto C++ managed?Saludos,JJ (Geo).
X.cyclop.. todo programador c(++,#) considera VB una porqueria.. mi intencion no fue ofender al c. en cualquiera de sus versiones.. jajaja y si tienes razon java no es gpl..
Una duda, C# fué creado "exprofeso" para "aprovechar al máximo" la plataforma .NET, ¿qué limitantes tiene al respecto C++ managed?
C no tiene versiones.
El lenguaje C fue inventado e implementado en una máquina Unix, por Dennis Ritchie, en los años 70. C fue "sucesor", por así decirlo, de un lenguaje llamado B, que a su vez descendía de otro llamado BCPL. Tras muchos años de ser un lenguaje sin reglar, en el verano de 1983 se decide formar un comité para crear el stándar ANSI (Instituto Nacional Americano de Estándares) y así formalizar el lenguaje. Pero, este proceso, no fue nada corto. 6 años después, por fin sale el stándar ANSI del lenguaje C, en diciembre de 1989, comenzando a comecializarse a partir de los 90. El stándar, también fue reconocido y aceptado por la ISO (Organización Internacional de Stándares). Cuando hacemos referencia a ese standar, solemos hablar de C89. En 1995 C89 se amplía con con varias funciones y se asientan las bases de lo que más tarde sería C++. Con el desarrollo de este nuevo lenguaje, C quedó algo apartado, pero en 1999 se definió otro stándar, el C99. C99 era prácticamente el stándar C89, si bien con funciones y bibliotecas nuevas y algunas características innovadoras. Indistintamente, en nuestros artículos y programas utilizaremos los dos stándares, si bien hay que tener cuidado con C99, pues puede que algunos compiladores no lo acepten. Por ello, te recomiendo tener un compilador actualizado, que sea capaz de reconocerlo. Esta tarea no es difícil, buscar un poco en internet y listo De todas formas, sólo utilizaremos algunas cosillas propias de C99; como has visto éste se basa en C89.
on un .Net Framework que consume lo mismo que el JVM.
Si "C++ managed" es el C++.Net, pues no sirve. Es el C++ pirata. ¿No dice Microsoft que usemos lo "genuino"? ... C++
Si tiene:CitarEl lenguaje C fue inventado e implementado en una máquina Unix, por Dennis Ritchie, en los años 70. C fue "sucesor", por así decirlo, de un lenguaje llamado B, que a su vez descendía de otro llamado BCPL. Tras muchos años de ser un lenguaje sin reglar, en el verano de 1983 se decide formar un comité para crear el stándar ANSI (Instituto Nacional Americano de Estándares) y así formalizar el lenguaje. Pero, este proceso, no fue nada corto. 6 años después, por fin sale el stándar ANSI del lenguaje C, en diciembre de 1989, comenzando a comecializarse a partir de los 90. El stándar, también fue reconocido y aceptado por la ISO (Organización Internacional de Stándares). Cuando hacemos referencia a ese standar, solemos hablar de C89. En 1995 C89 se amplía con con varias funciones y se asientan las bases de lo que más tarde sería C++. Con el desarrollo de este nuevo lenguaje, C quedó algo apartado, pero en 1999 se definió otro stándar, el C99. C99 era prácticamente el stándar C89, si bien con funciones y bibliotecas nuevas y algunas características innovadoras. Indistintamente, en nuestros artículos y programas utilizaremos los dos stándares, si bien hay que tener cuidado con C99, pues puede que algunos compiladores no lo acepten. Por ello, te recomiendo tener un compilador actualizado, que sea capaz de reconocerlo. Esta tarea no es difícil, buscar un poco en internet y listo De todas formas, sólo utilizaremos algunas cosillas propias de C99; como has visto éste se basa en C89. mas info:http://en.wikipedia.org/wiki/C_programming_language#History
Cuando lo pruebes vuelve a postear, a mi en mis pruebas me ha salido mucho menor.
Se le agregan algunas palabras reservadas y no se que mas vainas para que pueda funcionar.
Cita de: ""JuanK""Cuando lo pruebes vuelve a postear, a mi en mis pruebas me ha salido mucho menor.En Windows Vista... Yo digo en XP, allí es donde consume lo mismo que el JVM.
Cita de: ""JuanK""Se le agregan algunas palabras reservadas y no se que mas vainas para que pueda funcionar.Y le quitan lo "difícil" (¿punteros?...).
A mi modo de verlo es el mismo principio de C++, pues asi sea para usar la API esta usando Dlls que le hacen el trabajo duro, solo que los lenguajes cada vez usan mas dll para que les haga el trabajo duro.Finalmente esas dll (digamos las de la api) son del sistema operativo y para eso se hicieron los sistemas operativos, para crear una abstraccion de la maquina y asi ghacerla mas sencilla para el programador y ahi vamos con C#, java, etc... ahora el framewoek metido en el sistema operativp y en el caso de java ya lo estan metiendo tambien en los sistemas operativos ( Solaris? ubuntu? no se pero algo ohi) y en el firmware en el caso de los moviles...
adicional a eso una sintaxis mas clara, una implementacion de POO mas limpia, una sana costumbre de no nombrar las APIS o los componentes con nombres obsoletos, el uso de namespaces, comprobacion de tipos seguros en tiempo de compilacion, el garbage collector, y muchas otras cuialidades del lenguaje que no existen en C++ como por ejemplo los indexers, los properties, los atributos, los delegados, la implementacion nativa de safe threads etc.
Java es muy utilizado en estos momentos, 1 es licencia gpl, es multiplataforma y las universidades ven esto como una ventaja. ademas fue pensado para dispositivos ubicuos(portables) y ultimamente se han propagado en sistemas como celulares y pda,s etc. su desventaja .. interprete: eso lo hace mas lento que los otros.
Cita de: "JuanK"adicional a eso una sintaxis mas clara, una implementacion de POO mas limpia, una sana costumbre de no nombrar las APIS o los componentes con nombres obsoletos, el uso de namespaces, comprobacion de tipos seguros en tiempo de compilacion, el garbage collector, y muchas otras cuialidades del lenguaje que no existen en C++ como por ejemplo los indexers, los properties, los atributos, los delegados, la implementacion nativa de safe threads etc.Los namespaces existen en C++, el garbage collector se puede implementar con bastante facilidad (eso no quiere decir que nos resulte util su funcionalidad comparada con su perdida de rendimiento ver Smart Pointers de cualquier manera). Muchas de las cualidades que nombras se pueden implementar (ver Boost http://en.wikipedia.org/wiki/Boost_library) y otras muchas mas vendran con el nuevo standard (ver http://en.wikipedia.org/wiki/Technical_Report_1) como pueden ser tablas hash o expresiones regulares. ¿Es esto realmente necesario para el lenguaje? Yo diria que no, util es, pero no es necesario. C++ no es una caja cerrada sino todo lo contrario, lo que no hay se puede implementar a mano sin ningun tipo de problema.
Tampoco escojeria lenguaje C o C++ para hacer una aplicacion en 3 dias cuando en C# la puedo hacer en horas... desde luego hay cosas que aunque quisiera no las podria hacer en C# como un Sistema operativo o que se yo.
Cita de: "JuanK" Tampoco escojeria lenguaje C o C++ para hacer una aplicacion en 3 dias cuando en C# la puedo hacer en horas... desde luego hay cosas que aunque quisiera no las podria hacer en C# como un Sistema operativo o que se yo. Perdón, pero eso es una tontería. Esa comparación solo se haría entre Vb y Asm, allí si tardarías un buen en hacer una aplicación de gestión en Asm.Si en C# tardas 1 hora, en C++ tardas 1 hora y cuarto como máximo. Obviamente teniendo la misma experiencia en los 2.
Y lo que dice su- es cierto, que la venta de libros representa los deseos de los programadores por aprender, pero no coincide a veces con los puestos de trabajo (absolutos). Y ni siquiera la gráfica de trabajos representa un estado actual. Hay pocas ofertas de trabajo de PHP, por ejemplo, porque es muy fácil encontrar desarrolladores en PHP. Sí que ayudan a ver tendencias.
ok, pero en C# ya estan implementadas, asi que porque esperar.. y ojo, no digo que C++ sea malo porque de hecho lo adoro.. pero no me voy a poner a hacer un garbage colector ni a implementar todas las cosas de C# , ni a esperar a que otros lo hagan cuando ya lo tengo listo
Eso es lo malo de pensar solo como programador, no se ve más alla...por eso yo soy de los que insisto en formarce integralmente.Para un programador usar C++ es 'lo mejor' porque 'si es un buen lenguaje' y realmente solo porque se siente mejor consigo mismo usando las herramientas que implican mayor dificultad y practica... para un gerente de proyecto ese chiste del programador le puede costar quebrar la empresa... o dejarla en manos de la competencia...
Y a lo que dice JuanK es cierto. Pero yo lo veo hasta donde quieres llegar es decir cual es la meta en tu vida, puede que siendo programador seas feliz. Algunos empiezan ensamblando, programandor, analista, arquitecto, jefe de proyecto, ....Cada etapa tiene su visión, y como dicen hay que ir quemando etapas, y por supuesto depende a hasta donde quieres llegar.
De cualquier manera asumo que hablas de programas bastante repetitivos ya que en horas es dificil hacer algo nuevo de la nada ...
Si, es bueno tambien pensar antes de escribir ya que a veces estos postulados solo causan gracia si uno en vez de poner formarse pone formarce
Para un programador C++ es lo mejor porque es el lenguaje mas versatil que conoce, el que le permite trabajar casi al mas bajo nivel y casi al mas alto nivel. Y para un jefe de proyecto que tenga una tarea de medianamente bajo nivel no hacerla con C/C++ no solo le implicaria perder el tiempo sino su puesto de trabajo.
Efectivamente, tal vez como jefe de proyecto sin mover un dedo y dedicandote a charlar y discutir con los otros jefes de proyecto (si estas en una empresa grande claro) te sientas realizado.
Realmente a mi ese trabajo me haria quedar dormido del aburrimiento.
o digo por una empresa donde trabaje... el codigo de muchos modulos apestaba y estaba myu mal construido, pero el gte de poyecto se las arreglaba tan bien en tdodo que el producto se vende como pan caliente.
Citaro digo por una empresa donde trabaje... el codigo de muchos modulos apestaba y estaba myu mal construido, pero el gte de poyecto se las arreglaba tan bien en tdodo que el producto se vende como pan caliente.Eso me recuerda a una empresa muy famosa que empieza con "micro" y termina con "soft"
Solo recuerden no importa lo mucho que apeste el codigo por lo regular el cliente jamas huele el codigo, solo le interesa que sea bonito y que sea màs o menos funcional
Generalmente para poder ser programador hay que ser analista/arquitecto o como lo quieras llamar, la epoca de los diagramas de flujo esta muy lejana y casi todos sabemos UML por si es necesario.
Si haces una carrera universitaria no necesitas tener esos puestos para saber sus responsabilidades y como decia antes prefiero ser Software Engineer que Program Manager.
Solo recuerden no importa lo mucho que apeste el codigo por lo regular el cliente jamas huele el codigo, solo le interesa que sea bonito y que sea màs o menos funcional , eso no quita que todos debemos hacer nuestro trabajo lo mejor posible...
Analista.
¿Analista? blink.gif Pero eso no tiene nada de especial, cualquiera que sepa un lenguaje de programación sabe analizar un código y checar si tiene bugs. tongue.gif