Autor Tema: Ventajas y desventajas de los compiladores  (Leído 40238 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: Ventajas y desventajas de los compiladores
« Respuesta #30 en: 06 de Octubre de 2007, 08:43:54 »
Yo comencé por ASM, me sirvió para aprender como es el PIC "por dentro", ver sus registros, configuración etc... 

Ahora si lo que se quiere es empezar a programar... pues C directamente, pero creo que es útil conocer un poco el funcionamiento del PIC con ASM.

Las interioridades de un PIC no se aprenden con ASM, se aprenden leyendo el Datasheet. Es un error frecuente pensar que por que se programa en ASM ya se conoce el pic y es totalmente erroneo, solo se conoce la parte correspondiente a la interacción entre el pic y asm (puertos, registros, etc), pero no todo. De echo en este foro hay cantidad de mensajes de gente que pregunta por que sucede una cosa y es por que no se ha leido el datasheet (un ejemplo claro es en la gama baja el cambio de banco). Por ello no confundir una cosa con la otra.

Por otra parte es curioso como la gente que empieza con el ASM aconseja que se empiece por ASM, cuando la curva de aprendizaje del "C" es mucho mas suave que la del ASM a la par que mas portable, ya que el "C" de los micros es muy similar, mientras que el ASM es muy dispar. Cuando uno pasa de programar en un pic16f84 a un dsPic, en "C" es bastante facil, mientras que en ASM es mucho mas complicado.

Un saludo
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: Ventajas y desventajas de los compiladores
« Respuesta #31 en: 06 de Octubre de 2007, 09:05:09 »
Te perdiste varios episodios de Barrio Sésamo

... a ver si puedo exponer en pocas palabras ...

Corregido.  :mrgreen: :mrgreen: :mrgreen:

P.D.: El problema es que la primera frase la escribo antes que la última, y entonces pasa lo que pasa, que hay afirmaciones que son falsas en cuanto me abandono en una explicación de las mías.  :D :D :D
« Última modificación: 06 de Octubre de 2007, 09:08:30 por RedPic »
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Ventajas y desventajas de los compiladores
« Respuesta #32 en: 06 de Octubre de 2007, 20:00:43 »
Hola a todos.

La verdad es que tienes razón RedPic. Leer un desamblador es muy dificil y poco utilizado, pero es una herramienta más que uno posee, que en algún momento, lo puede llegar a usar.

Hay otro punto que se esta pasando por alto y es que algunas personas le es más facil utilizar un leguaje que otro, por eso, cuando aconsejan que lenjuage utilizar, cada uno lo hace desde el que le resulta más facil. Y el que recibe los consejos, deberá estudiar bien la situación, en especial aquellos que no saben ningún lenguaje (como fue en mi caso, que empeze a programar con los Pic)

Saludos.  :-/ :-/
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Ventajas y desventajas de los compiladores
« Respuesta #33 en: 08 de Octubre de 2007, 09:20:03 »
Las interioridades de un PIC no se aprenden con ASM, se aprenden leyendo el Datasheet. Es un error frecuente pensar que por que se programa en ASM ya se conoce el pic y es totalmente erroneo, solo se conoce la parte correspondiente a la interacción entre el pic y asm (puertos, registros, etc), pero no todo. De echo en este foro hay cantidad de mensajes de gente que pregunta por que sucede una cosa y es por que no se ha leido el datasheet (un ejemplo claro es en la gama baja el cambio de banco). Por ello no confundir una cosa con la otra.

Es cierto Jesús que se aprenden usando el datasheet pero usando el assembler se aprenden cositas, limitaciones que no son tan obvias leyendo solamente el datasheet, en eso si coincido con freshdesing.

Te perdiste varios episodios de Barrio Sésamo

... a ver si puedo exponer en pocas palabras ...

Jiji, cuando leí pensaba en la afirmacion de la primer frase de 'en pocas palabras'.  Y no tuve más que pensar... ¿cómo será explicarlo en muchas palabras? Se viene el RedPic ilustrado?  :) :)

En realidad creo que a veces para explicar claro hace falta no ser breve, me pasa a menudo que por ser breve peco de no explicar bien y por ahí suena a que no quiero ayudar  :shock: :shock:  pedagogía que me falta supongo  :-) :-)

Por suerte vienen los posts tuyos o de reinier (ojo, solo por citar los que más recuerdo como grandes explayadores de conceptos) que no escatiman palabra y nos muestran como se puede explicar escribiendo mucho jijiji.

Una cosa es saber y otra saber explicar.

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Ventajas y desventajas de los compiladores
« Respuesta #34 en: 08 de Octubre de 2007, 11:12:22 »
Las interioridades de un PIC no se aprenden con ASM, se aprenden leyendo el Datasheet.

Pues para mi lo seira.

ASM el lenguaje que te obliga a conocer mas a fondo el microcontrolador, ya que si quieres encender un LED, debes saber de antemano que el Existe algo llamao TRIS, Que para modificarlo debes cambiar de banco, que colocar un 1 en los bits del trs ese pin sera entrada y 0 sera salida, que ......

EN C solo dices output_high(pin_b4); y se acabo todo.....

En ASM debes saber que la arquitectura del PIC es Harvard, y que un Motorola es Von Newman.... En C...pasar de PICs a FREESCALE programando en C no es mayor dolor de cabeza,

En ASM es otro mundo distinto. Pasar de RISC del PIC a las ciento y pico de freescale....   :z)

Por eso digo que ASM no es un indicador de que la persona sabe la arquitectura interna de un PIC, pero si es el lenguaje que lo pide.

SALUDOS!!

PD: Pa redactar soy malisimo... Perdonen ese desastre juajuajua :D

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
Re: Ventajas y desventajas de los compiladores
« Respuesta #35 en: 08 de Octubre de 2007, 11:25:51 »
Siento que no voy a aportar nada a este post... solo venía a expresar las risas que me han sacado el dúo Diego-Manolo :D Tengo que robar un coche y ponerme ya en viaje para conoceros en persona! menudo par de figuras :)

un saludo a todos!

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Ventajas y desventajas de los compiladores
« Respuesta #36 en: 08 de Octubre de 2007, 11:49:13 »
EN C solo dices output_high(pin_b4); y se acabo todo.....

Ojo, eso solo es con el CCS, con el C18 también tienes que darle al TRIS y demases  :) :)  .  Esa es una de las cosas que más me gusta el C18, su código en C pero además la posibilidad de tener control siempre sobre el microcontrolador.

Pero como dije antes, opino que sí es cierto que todo se aprende leyendo el datasheet pero con el ASM se profundizan muchas cosas y se comprende realmente muchos conceptos que tal vez no son tan obvios en el datasheet. 

 8) 8)
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: Ventajas y desventajas de los compiladores
« Respuesta #37 en: 08 de Octubre de 2007, 13:43:51 »
EN C solo dices output_high(pin_b4); y se acabo todo.....

Ojo, eso solo es con el CCS, con el C18 también tienes que darle al TRIS y demases  :) :)  .  Esa es una de las cosas que más me gusta el C18, su código en C pero además la posibilidad de tener control siempre sobre el microcontrolador.

Pero como dije antes, opino que sí es cierto que todo se aprende leyendo el datasheet pero con el ASM se profundizan muchas cosas y se comprende realmente muchos conceptos que tal vez no son tan obvios en el datasheet. 

 8) 8)

Efectivamente cuando el programa empieza a crecer de forma desmesurada el programador tiene que olvidarse de esos pequeños detalles que le complican la vida y que no aportan nada a la programación. Un ejemplo puede ser como ya he dicho el cambio de banco de memoria, ¿realmente es tan importante saber en ASM que hay que cambiar de banco? o ¿es mejor dejar que CCS se ocupe de esos detalles y centrarnos en el procesado de la información por ejemplo?. De todas formas lo que defiendo es que la curva de aprendizaje del "C" es mucho mas suave que la del ASM y una persona que empieza desde cero es más facil de entender "C" (por algo se aproxima más a un lenguaje de alto nivel) que ASM.

Otro grave error que cometen muchas personas es olvidarse de la electrónica, y pensar solo en ASM ó en "C", de que sirve saber que es un registro TRIS cuando no se sabe lo que es un registro o un buffer o un multiplexado, etc, cuando sabe programar y activar un relé pero no sabe que tiene que poner entre medias para que funcione correctamente.

En los procesos de enseñanza hay un camino lógico que no se debe de saltar si no se quiere adquirir malos hábitos o tener serios problemas en sus primeros proyectos. Tal vez antes de empezar a programar se deberia repasar los tutoriales sobre electrónica y adquirir los conocimientos mínimos para medir y comprobar circuitos electrónicos.

Bueno al final me he enrrollado un poco (se conoce que Diego me lo ha pegado), aunque lo aquí expresado es solo una reflexión en alto, de la cual cada uno puede discrepar lo que quiera.

Un saludo.
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Ventajas y desventajas de los compiladores
« Respuesta #38 en: 08 de Octubre de 2007, 13:58:46 »
opino que sí es cierto que todo se aprende leyendo el datasheet pero con el ASM se profundizan muchas cosas y se comprende realmente muchos conceptos que tal vez no son tan obvios en el datasheet. 

 8) 8)

Yo tube un problema en la etapa de aprendisaje (lo se, aún sigo aprendiendo) me refiero cuando empezé por primera vez, y tengan en cuenta que de programación cero literalmente. Aprendí a programar con un libro que compré en una tienda de revista, es Argentina (no voy a dar nombre, pero el que lo conoce se va a dar cuenta con lo siguiente, núnca ponen nada nuevo, repiten la misma información una y otra vez en nuevas revistas y siempre incompleta) en ese momento no sabía nada de la revista, si no, no lo hubiera comprado. En fin, ese libro tenía varios errores, y no podía encontrar la falla, hasta que probando y revisando cada momento, todos los registro del PIC, me di cuenta del error y tan solo era un error en los banco de memoria, entiendo que con el lenguaje C esto no me hubiera pasado, pero gracias a ese error aprendí muchas cosas.

Saludos.  :-/ :-/
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Ventajas y desventajas de los compiladores
« Respuesta #39 en: 08 de Octubre de 2007, 14:09:40 »
Ojo, eso solo es con el CCS, con el C18 también tienes que darle al TRIS y demases  :) :)  .   

Si si, es cierto, es mas cuando yo decido dejar el ASM atras y pasarme a C, el primero que llego a mis manos fue Hitech....  :z)

Busque ayudas por todos lados, tutoriales.... nada de nada. Miraba la ayuda del compilador, y decia poco o nada.

Pensaba que los compiladores de C los cerraban solo para empresas. Despues encontre CCS, y si miras la ayuda que tre el compilador es mas que suficiente para aprender. La cantidad de ejempos, librerias, proyectos que trae se hace muy facil aprender a manejarlo. Y si buscamos por Internet PUFFF saltan mas de 5 hojas de google con ejemplos y ayudas. Por eso me identifico con lo dicho por Manolo.


¿CUÁNTO HAY PUBLICADO EN INTERNET EN EL MISMO COMPILADOR QUE TÚ USAS?

Creo que, hoy por hoy, en esto gana CCS por goleada. Y es realmente una gozada poder buscar cosas y encontrarlas hechas para adaptarlas a tu código, o simplemente para aprender como funcionan y cuál es el truco de cada cual.
No sólo te ahorra tiempo de desarrollo, sino que te enseña planteamientos que jamás se te habrían ocurrido, y te aporta riqueza de soluciones.

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Ventajas y desventajas de los compiladores
« Respuesta #40 en: 08 de Octubre de 2007, 15:29:23 »
cuando tengo un problema con un programa en C, que no puedo solucionar, termino mirando el listado en asm, para ver el origen.

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Ventajas y desventajas de los compiladores
« Respuesta #41 en: 08 de Octubre de 2007, 15:58:23 »
Te perdiste varios episodios de Barrio Sésamo

... a ver si puedo exponer en pocas palabras ...

Corregido.  :mrgreen: :mrgreen: :mrgreen:

P.D.: El problema es que la primera frase la escribo antes que la última, y entonces pasa lo que pasa, que hay afirmaciones que son falsas en cuanto me abandono en una explicación de las mías.  :D :D :D

Heyy !!
Diego !! :-/

La proxima vez que escribas en pocas palabras tomate un atajo y escribe asi:

Voyaescribirenpocaspalabras...

y se cuenta como una sola!! :D :D
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Ventajas y desventajas de los compiladores
« Respuesta #42 en: 08 de Octubre de 2007, 17:00:56 »
juajuajuajua  :D :D

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Ventajas y desventajas de los compiladores
« Respuesta #43 en: 08 de Octubre de 2007, 17:05:25 »
Pensaba que los compiladores de C los cerraban solo para empresas. Despues encontre CCS, y si miras la ayuda que tre el compilador es mas que suficiente para aprender. La cantidad de ejempos, librerias, proyectos que trae se hace muy facil aprender a manejarlo. Y si buscamos por Internet PUFFF saltan mas de 5 hojas de google con ejemplos y ayudas. Por eso me identifico con lo dicho por Manolo.

Es cierto , coincido con lo que dice Manolo en que para CCS está lleno de ejemplos. 

De todas formas, una pequeña reflexión es que a los que usan los otros compiladores de C no son de los que precisamente les gusta compartir sus hallazgos ... he probado CCS, C18 y hitech, por ahora el hitech lo estoy aprendiendo pero me parece que el C18 y el CCS tienen bastantes diferencias a favor del C18.  Si , no hay ejemplos para comenzar pero realmente lo que se aprende en CCS, costará mucho pasarlo a otro micro.  El C18 es más ANSI C y muchas de las cosas allí vertidas se pueden usar incluso en un lenguaje C para PC con poco o nada de cambios.

Tampoco es cuestión de hablar de verdades absolutas, solo vertir opiniones así que tomen lo mío como una opinión tan buena o  mala como la de otro.


La proxima vez que escribas en pocas palabras tomate un atajo y escribe asi:

Voyaescribirenpocaspalabras...

y se cuenta como una sola!! :D :D

 :mrgreen: :D :mrgreen: :D
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Ventajas y desventajas de los compiladores
« Respuesta #44 en: 08 de Octubre de 2007, 17:07:55 »
Yo he notado que en la página de microchips, venden el Mplab C30. ¿Este lenjuage es mucho mejor que CCS y/o C18?

Saludos.  :-/ :-/
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.