Publicado hace 7 años por RubiaDereBote a lars-lab.jpl.nasa.gov

Estándar interno que tiene el departamento Jet Propulsion Laboratory (JPL) de la NASA para la programación en C de sus sistemas.

D

Con el dinero que nos roban, estoy convencido de que Podemos podría crear una NASA española.

D

#2 Por favor, insisto en que algún@admin haga algo para que este tipo deje de acosarme.

RubiaDereBote

#3 Gracias@Lobazo.

D

#4 Deja de hacer el ridículo.

Cancerbero

#2 Es cutre hasta para ser un troll.

LuisPas

#5 se cree el nuevo

D

JPL != NASA

RubiaDereBote

#10 JPL es el laboratorio de propulsión de cohetes de la NASA: http://jpl.nasa.gov

D

Rule 29
Non-constant pointers to functions should not be used.


Vaya C de chichinabo entonces.

JAIL

#12 ¿Por?

juantxovilla

#11 no, jpl, a pesar de su nombre en la actualidad no tiene nada que ver con cohetes, es el lavoratorio de la nasa principalmemte encargado de las sondas y robots interplanetarios. Su nombre viene de que en sus inicios fueron sobretodo a la creación de motores y cohetes, pero eso ya no tiene nada que ver con el jpl actual

D

#13 decides no usar algo que es potente y que lo diferencia de otros muchos lenguajes. Por poner un caso, te complica el código de una simple calculadora.
#15 sip. Y la pregunta siguiente es por qué no pasan de C y usan alguno de los lenguajes que tienen capadas esas posibilidades de serie. Puede haber decenas de respuestas.

Findeton

#14 El JPL sigue haciendo cosas relacionadas con cohetes pero, en cualquier caso, sigue siendo parte de la NASA. Que hagan cohetes o no no tiene nada que ver con la noticia: es correcto decir que son la NASA.

Findeton

#16 Pues porque C está probado, porque el hardware que tienen soporta C y lo mismo no soporta Rust, y porque hay programas que analizan el código de C y comprueban que no tiene multitud de tipos de errores (validación formal), cosa que con otros lenguajes no ocurre.

Findeton

#17 Esta gente tiene suficientes recursos como para mantener su propio compilador, diría yo.

Findeton

#23 Esta es una de las muchas cosas que fastidian de C y C++: Undefined Behaviour. Por eso me gusta Rust, pero le queda un larguísimo camino todavía...

RubiaDereBote

#14 Laboratorio es con B.
y el JPL forma parte de la NASA vuelve a leer #11.

Shotokax

#21 el hardware no soporta C, solo soporta binario.

juantxovilla

#20 y #25 pues leeme tú tmb, yo también he dicho que es de la nasa lol. Mi 'no' era a que no es de cohetes desde hace muchísimos años, ahora es la parte de la nasa q se dedica a la exploración interplanetaria. Ups, exactamente lo que dije en el otro comentario ;).

Sorry por la v

Findeton

#28 Correcto, me refería a que a menudo no hay soporte/compiladores para otros lenguajes más extraños o novedosos, como Rust.

Thelion

#26 Eso iba a poner, que programen en Ada.

D

#26
No hay nada como el Ook!.

RubiaDereBote

#29 Entonces no consigo entender dónde ves el problema.

D

#2 En todo caso está generando animadversión hacia Podemos, sicología inversa... y gracias a que le das de comer pues ya tienes tu karma respectivo, como la DEA con el narcotráfico.

D

#4 A mí me ha hecho gracia. Lo que no te voto positivo por el karma y eso.

D

#4 Podías irte tomar por el culo sin acritud.

D

#9 ese tenia gracia...este es un cocopino o malversan como mucho...

D

#21 "cosa que con otros lenguajes no ocurre"
No es cierto. Muchos lenguajes lo tienen, además de suites de test variadas.

llorencs

#14 Escrito con móvil? Lavoratorio? Hacen lavativas? lol

llorencs

#18 Vas a quedar no "vas ha quedar".

c
ruinanamas

Rule 11 (simple control flow)
The goto statement shall not be used.

D

#25 técnicamente es dirigida por la NASA pero la organización padre es Calltech.
Del propio documento: Acknowledgement
The research described in this document was carried out at the Jet Propulsion Laboratory, California Institute of Technology, under a contract with the National Aeronautics and Space Administration.

© 2009 California Institute of Technology. Government sponsorship is acknowledged.

Así que me da que es solo el estándar del JPL, no de toda la NASA aunque supongo que serán muy parecidos.

ufoisthebest

#43 #27 lo que provoco ese fallo tambien es curioso de saber https://es.wikipedia.org/wiki/Inversi%C3%B3n_de_prioridades?wprov=sfla1

r

#1 Rivera, ¿eres tú?

RubiaDereBote

#45 Lo dice la entradilla.

perro_marron

#12 pero punteros const a funciones si que se puede, esta restriccion tiene todo el sentido del mundo. Te impide ejecutar una direccion de memoria. fnptr=0x1234; fnptr(); por ejemplo. Hacer esto puede ser necesario si programas contra contra hardware puro y duro, pero es muy peligroso si estas bajo un sistema operativo.

D

#48 respondí al comentario, no a la noticia.

D

Un día de estos voy a subir el Neufert a ver si hago portada.

#quierocreer

brainsqueezer

#16 #26 Nadie ha dicho que solamente programen en C. Cualquier proyecto mas o menos grande acaba teniendo código en diferentes lenguajes. Ni hablemos cuando se trata de cientos de proyectos.

Creo que este documento debe abordarse más con el objetivo de hacer que el código no falle, que debatir cual es el mejor lenguaje.

nomada_isleño

#33 Aquí en MNM se es más del Hodor... http://www.hodor-lang.org/

D

#30 Una pregunta (parece que usted controla): ¿soporta rush recolección de memoria?

AlphaFreak

#35 Por no hablar de la decisión política (o de "gestión") de reutilizar el software del Ariane-4 tal cual...

D

#31 Si, yo también pensé en ADA, pero luego dije: Vaya, quizás no es soportado en los micros que utilizan.

NapalMe

#16 Es que los de la NASA son tontos

kolme

#23 ¿Qué tiene vim que ver con la chapuza?

kolme

#23 ¿Y qué tiene el editor que ver con que el resultado sea una chapuza?

Findeton

#40 No he especificado de qué otros lenguajes hablo, ni a qué dispositivos/hardware me refiero, así que tú digas que no es cierto me parece sorprendente.

D

#60 Has generalizado sin especificar, por lo que yo he respondido generalizando.

D

#39 Cocopino al menos era majete. Este es como mucho ese otro que has dicho.

Findeton

#61 Es difícil generalizar especificando lol. La cosa es que Para muchos dispositivos hardware, el número de herramientas, compiladores etc es bastante limitado. Por su uso pervasivo, su historia, y por la facilidad de implementar un compilador de C (ya que es un lenguaje relativamente pequeño, que no sencillo, y relativamente cercano al ensamblador/metal), normalmente siempre puedes contar con un compilador de C.

Findeton

#54 Supongo que te refieres a la diferencia entre lenguajes como C/C++ donde se realiza una gestión manual de la memoria y lenguajes como Java o Javascript que hacen uso de recolectores de basura. Rust es como C/C++ en ese aspecto, y en principio tienes que hacer tú mismo el trabajo sucio. Eso me gusta. Por supuesto, si quieres hacer uso de un recolector de basura, también puedes, no tienes más que usar alguna librería para ello (igual que en C++).

j

#40 Error de lógica formal. "muchos lenguajes lo tienen" no invalida "que con otros lenguajes no ocurre." Lo único que invalidaría "que con otros lenguajes no ocurre" sería que ocurriera en todos. Como, de hecho, no es así, la frase de #21 es cierta.

Findeton

#65 No, porque he dicho que con otros lenguajes no ocurre. No he dicho que con todos los demás no ocurra.

j

#66 Y por eso he dicho que tu frase de #21 es cierta...

D

#22 En absoluto. El presupuesto de la NASA va ajustadísimo, y crear (y mantener) un compilador consistente que genere código decente no es moco de pavo, y menos cuando hablamos de un animal tan difícil de domar como C.

D

#32 Que yo sepa fue por una junta que no soporto las bajas temperaturas de un deposito y como que una fuga de hidrógeno teniendo un mechero gigante cerca no es buena idea. lol

xyria

#3 Por no hacer caso de un warning, dado que compila y se ejecuta perfectamente, llevo un año con una "memory leak" que me genera errores muy de tiempo en tiempo. El código parece perfecto, sigo las sugerencias del compilador. Al final, va a tener razón el autor: Reescribe el código. Lo malo es que es una jodida clase con muchas propiedades y eventos y me da pereza reescribirla.

D

#49 definir una función es lo mismo que definir un puntero constante a ella. Claro que tiene sentido la restricción, de hecho existen otros lenguajes que tienen esa restricción implícita. La cuestión es por qué no usan esos directamente, que es en lo que estamos y que ya hay bastante comentado.
#27
Hasta ahí llegamos. En C se puede hacer de todo, para lo bueno y para lo malo.
No deben tener sencillo traducir desde otros lenguajes de tipado más robusto a C.
#21 sip, tiene sentido, yo me apunto a esa tesis. Ahora solo falta que alguien que trabaje en la nasa nos lo confirme
#57 sin acritud: tu compara tu aporte al debate con los del resto.
#52 cientos de proyectos y decenas de lenguajes los tiene una empresa grande sin necesidad de tener perfil tecnológico. En la nasa deben moverse en un orden de magnitud de miles o cientos de miles. Sería interesante ver el ciclo completo de SQA; las reglas de codificación son solo una pequeña parte y supongo no la más importante.

NapalMe

#71 Sin acritud, si no entendiste el mensaje detrás del sarcasmo es tu problema.
Por si no lo pillas, estoy seguro que esa gente tiene una razón perfectamente lógica para cada punto de ese estándar, y he usado el sarcasmo para mostrar la gracia que me ha hecho tu amago de duda al respecto.
PD. Por cierto, muy bonito lo de editar el mensaje.

D

#64 Si, exacto roll

D

#44 el goto se debe usar siempre que sea necesario. Es decir: nunca.
#22 está por ver todavía el primer centro de desarrollo donde tengan recursos para hacer todo lo que quieran y más.
#71 lo pillo perfectamente. Como en la nasa no son tontos, el tonto soy yo por cuestionar.
Que soy tonto lo tengo asumido desde que suspendí el primer examen y corté con la primera novia. Pero no suelo entrar a discutir esas cosas, como comprenderás. Ni lo de editar.
MNM es libre, cada uno se mueve aquí como quiere. Lo de sin acritud era sincero.

D

#39 Estás obsesionado conmigo, chatín. Se te nota el escozor.

Y yo ni recuerdo dónde te he visto. lol

D

#72 lo pillo perfectamente. Como en la nasa no son tontos, el tonto soy yo por cuestionar.
Que soy tonto lo tengo asumido desde que suspendí el primer examen y corté con la primera novia. Pero no suelo entrar a discutir esas cosas, como comprenderás. Ni lo de editar.
MNM es libre, cada uno se mueve aquí como quiere. Lo de sin acritud era sincero.

D

Como firme defensor de la programación defensiva, leo con interés. De hecho lo voy a guardar y todo.

D

#75 en meneame,donde esta tu vida...no he puesto ni el @ para invocarte...

D

#78 No, esta vez me he topado con tu comentario por casualidad. Normalmente me invocas para insultarme personalmente, pero veo que también recurres a la más cobarde difamación.

Lo dicho, mi niño acosador, no te obsesiones. Vivirás mejor.

Y no te equivoques, chiquitín, que tú le dés tantísima importancia a Menéame no significa que los demás también lo hagamos.

xyria

#4 En Canarias usamos una expresión divertida para este tipo de situaciones: "Tírate al suelo y di que te dió un dolor".

C

#23 Alguna referencia sobre la initialización a cero de gcc?

perro_marron

#71 por la inmensa cantidad de herramientas que existen para c y para ningun otro lenguaje. Si consideras c como una especie de ensamblador todo cobra sentido. Muchos de los que trabajamos en sistemas empotrados usamos c pensando en el codigo que genera en lugar de la filosofia del lenguaje, que es lo que tocaria realmente.

avalancha971

#34 Creo que el problema es que no has visto que un usuario es al que le has dicho que sí son de la NASA, y otro usuario es el que te ha dicho que ya no son el laboratorio de cohetes.

Aclaro que yo son un tercer usuario.

perro_marron

#81 eso no tiene nada que ver con gcc, la especificacion es clara.

b

#70 te da pereza... Correcto, y encima te considerarás a ti mismo como un buen profesional...

xyria

#85 Sí.

NapalMe

#76 Si estas dando a entender que te he llamado tonto a ti estas suspendido en lógica, decir que la NASA no es tonta no implica que lo seas tu, así que no vengas con falsos victimismos.
He dicho que me hace gracia que lo cuestiones, nada mas, pero como has editado tu comentario, las respuestas dejan de tener sentido.
Un saludo.

D

#1 Venezuela tiene una base chavista en Marte , me lo ha dicho capriles

D

#58 Una regla que se erifica casi al 100% es que si tu editor o tu IDE es una mierda, tu código será una mierda. Da igual lo bueno que te creas.

D

#26 Dicen que uno de los grandes retrasos y sobrecostes del programa J35 es por el Ada. El leguaje estará todo lo bien que quieran, pero no tiene el soporte de un buen IDE, entornos de desarrollo y depuradores que tiene el C.

kolme

#89 Te queda mucho por aprender, pequeño Padawan. lol

D

Cosa que no interesa a nadie pero meneamos para hacernos los interesantes.

D

#70: Puedes... no sé, depurar el código.

tartarus

#83 Hola, soy todos los usuarios anteriores fusionados en un cuarto usuario.

box3d

#12 el razonamiento viene de una de las reglas MISRA que no aparecen por ser propietarias.

Se quiere evitar ejecutar una direction de memoria que se desconozca a priori o, en el peor de los casos, memoria corrupta. En un sistema embebido los punteros constantes se almacenan en ROM lo que garantiza que no se corrompa, por eso se permiten.

D

#87 no te preocupes, no me he ofendido. No tiene importancia.
No he editado, pero eso tampoco la tiene.

D

#92 hasta que alguien lo lee, y como buen cuñado, corrige y perfecciona para mejorar la seguridad y eficiencia de la NASA

D

#27 #15 Solo añadir que si algo hay depurado, es el compilador gcc, es a prueba de bombas, y quizá sea el compilador soportado por más tipos de arquitecturas, sean del año que sean.

Reconozco que odio C, y con estas limitaciones, lo odiaría mucho más, pero hay que reconocer que si uno necesita un binario fiable y predecible, ha de usar C y gcc por fuerza mayor.

D

#79 no decias que no te acordabas de mi? Pues eso....

D

#4 Piérdete, imbécil.

1 2