Autor Tema: Lenguaje C o lenguaje CCS?  (Leído 12099 veces)

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

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Lenguaje C o lenguaje CCS?
« Respuesta #30 en: 24 de Mayo de 2011, 13:19:36 »
Pero sin dudas que es más fácil partir de un lenguaje "más" ANSI-C, que uno totalmente diferente, que lo único que implementa son las estructuras de control. Después a medida que vas adquiriendo conocimientos en los distintos compiladores, puedes ir dotando a tus librerías de cierta independencia con ayuda de las directivas de pre-procesador. Esta bien que teniendo una librería realizada en C18, no la vas a poder implementar directamente en C30, C32 o CodeVisionAVR, pero si casi el 90% y eso ayuda mucho. A mi me paso cuando realice la librería de FAT16 y la fui probando en distintos compiladores.
Hay que aprender a dividir entre código a nivel hardware y código de alto nivel. Yo lo divido en dos archivos fuentes distintos, entonces generalmente el de alto nivel no va a ser necesario tocarlo, pero si acomodar el de nivel hardware según el microcontrolador que dispongas.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Lenguaje C o lenguaje CCS?
« Respuesta #31 en: 24 de Mayo de 2011, 13:41:17 »
Sisi, está claro que la parte de la lógica, salvo algunos posibles cambios de variables por cambios de arquitectora, pero lo básico se mantiene. 

Lo de realizar varios archivos, lo hago, de hecho mis soft para c18 tienen decenas de archivos, cada uno con tareas muy pequeñas y específicas jeje.

Por spuesto que depende mucho dle tipo de aplicaciones en las cuales uno esté inmerso, en lo mío en general se tratan de aplicaciones de control o protocolos de comunicación, donde prima mayoritariamente el hardware.  Si fueran aplicaciones diferentes, por ej, con interfaz de usuario,etc, o donde deba hacer algún cálculo entonces sí, la portabilidad sería mucho mayor.  No obstante apuntaba a desmitificar el famoso latiguillo "El ANSI C es portable" porque muchos se atan de eso y luego cuando les toca la realidad se frustan , queria notar eso nomás, no cómo codificar  :)
- 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 RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Lenguaje C o lenguaje CCS?
« Respuesta #32 en: 24 de Mayo de 2011, 13:45:28 »
Hola, lo que yo entiendo de portabilidad es lo que tiene que ver con el alto nivel de una aplicación, digamos parandonos desde el uso de las funciones que provee la plataforma. Para este tipo de cosas se modulariza el código en diferentes capas o layers, la capa más baja corresponde a la interacción con el hardware( se llama HAL hardware asbtraction layer ) y ahí no te queda más remedio que hacer todo lo que decís y terminas reescribiendo todo o casi todo. Normalmente en los proyectos de mi trabajo oficial como lo de freelance que desarrollo la capa de más bajo nivel termina ocupando menos de un 20% del código total que es lo que termino reescribiendo cuando paso de arquitectura lo demás queda sin cambios. Con respecto a Linux esa es otra historia para otro post...

Saludos !
PD. Con respecto al comentario el ANSI C es portable, todo depende del compilador, pero es bastante portable, lo que no es portable es el hardware.
« Última modificación: 24 de Mayo de 2011, 13:47:30 por RICHI777 »

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Lenguaje C o lenguaje CCS?
« Respuesta #33 en: 24 de Mayo de 2011, 13:54:31 »
Así es, coincido con Richi... Igualmente aprender a trabajar de esa forma lleva su tiempito, pero que a la larga tiene sus frutos  ;-)


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Lenguaje C o lenguaje CCS?
« Respuesta #34 en: 24 de Mayo de 2011, 14:02:45 »
Creo que se mal interpretan mis posts o no soy claro.  Mis ejemplos apuntan a desmitificar la frase tan comun de que el C es portable... la gente cuando lee esa frase imagina que su código andará en todos los micros y está muy contenta...

En la realidad esto no es así y requiere varios cambios y esfuerzo para que así sea, solo eso quería rescatar, entonces quería dejar eso en claro para la gente que entra al foro y lo lee, sepa de que estamos hablando.  Cuando escribo trato de pensar que el que lee no siempre es el que se las sabe todas y a veces aclarar lo que para los mas experimentados sean obviedades no está de mas.

Con lo de linux al lado de RTOS me refería al tema de que cuando uno tiene muchas tareas concurrentes se termina decantando por una solución que por debajo nos resuelva el problema, sino uno se la pasa lidiando con cosas que no hacen a la aplicación en sí perdiendose tiempo y dinero, no era la idea hablar de linux o rtos, simplemente enunciarlo en el ejemplo tal cual lo di

Saludos
- 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 RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Lenguaje C o lenguaje CCS?
« Respuesta #35 en: 24 de Mayo de 2011, 14:10:51 »
Entiendo bien lo que decis Maunix y creo que tenes razón, e leído muchos post tuyos y se que la tenes super clara, pero eso no quita que a veces no coincida con tu forma de ver las cosas, personalmente se que soy bastante escueto al exponer mis ideas y no brindo demasiados ejemplos. Igual la idea de modularizar tiene su desventaja, ya que el código es mas grande debido que se termina llamando a una cadena de funciones y por ende menos eficiente que si lo desarrollo exclusivamente para esa aplicación.

Saludos !

PD sigamos discutiendo asi llego a los 1000 post jejejeje :P

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Lenguaje C o lenguaje CCS?
« Respuesta #36 en: 24 de Mayo de 2011, 14:15:11 »
Entiendo bien lo que decis Maunix y creo que tenes razón, e leído muchos post tuyos y se que la tenes super clara, pero eso no quita que a veces no coincida con tu forma de ver las cosas, personalmente se que soy bastante escueto al exponer mis ideas y no brindo demasiados ejemplos. Igual la idea de modularizar tiene su desventaja, ya que el código es mas grande debido que se termina llamando a una cadena de funciones y por ende menos eficiente que si lo desarrollo exclusivamente para esa aplicación.

Ji!, no hace falta estar de acuerdo en todo, de hecho creo que se aprende más cuando se está en desacuerdo y se exponen diferentes visiones con argumentos valederos! He aprendido mucho de los desacuerdos con otras personas, y cuando uno coincide es poco lo que se aprende  :)

Incluso de un desacuerdo se puede llegar a un acuerdo en común, diferente a las 2 posturas iniciales pero que englobe lo mejor de ambas opciones planteadas !

PD sigamos discutiendo asi llego a los 1000 post jejejeje :P

jaja, dale, sino anda a la seccion de chistes y mandate uno a cada ratito y listo jajaja

yo soy viejito por aquí... es más hasta puedo decir que lo conocí a manolo en el foro cuando el todavía tenia menos de mil posts  :D :D :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 Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Lenguaje C o lenguaje CCS?
« Respuesta #37 en: 24 de Mayo de 2011, 14:16:27 »
Se entiende  ;-) Por eso digo, que hay que aprender a trabajar de la manera que haga sencillo la portabilidad, no mezclar código a nivel hardware con código de alto nivel... Y que eso lleva tiempo... Quien viene y le pega una miradita a lo escrito sin entender de que se habla, no debe preocuparnos  :mrgreen: pronto chocará contra una pared...

Y lo que comenta Richi también es cierto!! Que se pierde eficiencia, así que volvemos a lo mismo de siempre, la elección depende de la aplicación  :tongue:

Saludos!

Edit:
yo soy viejito por aquí... es más hasta puedo decir que lo conocí a manolo en el foro cuando el todavía tenia menos de mil posts  :D :D :D

Ufff.... Manolo es cosa seria!  :D
No contesto mensajes privados, las consultas en el foro

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Lenguaje C o lenguaje CCS?
« Respuesta #38 en: 24 de Mayo de 2011, 15:25:52 »

yo soy viejito por aquí... es más hasta puedo decir que lo conocí a manolo en el foro cuando el todavía tenia menos de mil posts  :D :D :D


Jajaa, me conoció con los pañales puestos  :D

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Lenguaje C o lenguaje CCS?
« Respuesta #39 en: 24 de Mayo de 2011, 15:50:29 »
yo soy viejito por aquí... es más hasta puedo decir que lo conocí a manolo en el foro cuando el todavía tenia menos de mil posts  :D :D :D

uuuf esa si que es antigüedad... yo recuerdo que nocturno apenas estaba llegando a los 4K cuando entre al foro. Uff ahora ya tiene los 4k más 10k :shock: cuántos teclados haz cambiado nocturno?? yo no se debería incrementar el contador de nocturno, o debería resetarse y volver de cero :D
.

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Lenguaje C o lenguaje CCS?
« Respuesta #40 en: 24 de Mayo de 2011, 20:47:17 »
...

hasta ahora no he tenido tantos problemas por fallas extrañas que introduce la gente que creó el compilador.

soy fan del ccs, pero también soy bastante critico por la cantidad de bugs que trae (y vaya que me burlo bastante por la cantidad de bugs que salen en cada versión).



Hola PalitroqueZ, tantos años!! La verdad admiro tu paciencia jiji, yo no podría tener un compilador que en cada versión introduzca bugs nuevos y que además deba saber cuales son... pero si eres tolerante a estas cosas, pues los de CCS estan de parabienes :D  . Osea eres crítico pero lo sigues usando encima en cosas que por ahí son complejas cuando te juegas tu prestigio técnico.

Además, que seguridad o tranquilidad se puede tener, si con cada versión hay tantos nuevos bugs?
De hecho, vengo leyendo de eso desde que conozco usuarios de CCS e incluso en algú momento lo usé pero me cansé porque un codigo sencillo no se comportaba en forma clara y seguro era debido a un bug, cambié de compilador con la misma estructura de código y anduvo de primera mano...

Ahora bien si tienes un proyecto grande que te demora varios meses en realizarse y durante el cual la versión del CCS va cambiando de version a version ¿como haces para soportar la incertidumbre? guardas el proyecto junto con el compilador? que tranquilidad hay que más adelante ese proyecto compilará bien o generará un código bueno con un nuevo ccs?

Estoy solo suponiendo, sé que muchos lo usan y les va muy bien pero bueno son dudas que siempre tuve de cómo un puede combinar ambas cosas, la incertidumbre y el conocimiento certero de que cada nueva versión contiene nuevos bugs... y la tranquilidad que uno debe tener al hacer un sistema embebido ya que uno vende algo y por ahi termina a cientos de km de distancia (incluso a paises lejanos) y me sería muy costoso tener que probar todo nuevamente con cada cambio del compilador.

Un abrazo y a seguir opinando con tan buenos argumentos que es lo que enriquece el debate!

Saludos Gran Maestre Mauricio!!!


lo mejor que tengo a mi defensa.... es que no tengo nada como defensa  :D

pero para tratar de justificarlo un poco, te diré, que para mi conveniencia laboral, usar ccs es como usar windows, y todavía no me he visto en la obligación de cambiarme a ubuntu



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