Le pub des programmeurs
- 1 925 réponses
- 117 participants
- 123 202 vues
- 130 followers
Anonyme
Dr Pouet
Quelques soient les langages et les méthodes de programmations, il y a un facteur que l'ont ne peux négliger...
Le temps.
Utiliser des nouvelles techniques est un fait, les questions suivantes se posent directement
- combien de temps va-t-on utiliser cette application? Six mois, un an, plus?
- Y a-t-il un héritage informatique? si oui, quelle compatibilité avec le nouveau langage?
- la maintenance des applications dans le temps? Réécrire du neuf? Intégrer l'existant et comment?
- Charge de travail de la maintenance? Vitesse de déploiement...
- ...
Ah oui, je vois bien ce que tu veux dire vu que je m'occupe de maintenir pas mal de vieux trucs ! (Je ne parle pas du Révérend)
Oui enfin ce n'est pas si simple.
Perso je suis plutôt fan de la souplesse du C# et de ce qui avec , etc.
Dans l'industrie il y a d'autres contraintes comme... La sécurité : pour compiler le code des commandes de vol d'un avion il faut utiliser un compilateur certifié.
Le Z100
[ Dernière édition du message le 09/02/2017 à 22:13:10 ]
Jimbass
Dans l'industrie il y a d'autres contraintes comme... La sécurité : pour compiler le code des commandes de vol d'un avion il faut utiliser un compilateur certifié.
Dans ce cas particulier, on parle de sûreté. C'est conceptuellement assez différent de la sécurité ... (avec en plus une subtile différence avec safety et security)
Et donc tout le code doit être certifié (on doit prouver une couverture de test exhaustive ou presque selon le niveau de criticité, prouver qu'il n'y a pas de code mort, démontrer que l'ordonnancement est correct, etc.)
https://fr.wikipedia.org/wiki/DO-178
Pour ca on utilise des langages comme ADA ou du bon vieux C, avec lesquels on peut maîtriser toute la chaîne de production du code.
Juste pour donner un ordre de grandeur : si on imprimait toute la doc nécessaire à la certification d'un avion, la masse de papier serait à peu près équivalente à la masse ... de l'avion lui-même. (Oui, c'est un gars d'Airbus qui me l'a dit.)
De manière plus générale, dans les systèmes embarqués et/ou temps réel il n'est pas opportun d'utiliser certaines "bonnes pratiques" de l'informatique générale. Les couches d'abstraction en grand nombre, les frameworks pléthoriques, la récursion, les trucs dynamiques (JIT compiling, garbage collection, etc.) sont super mauvais pour la compacité du code, sa performance, et surtout la répétabilité de cette performance.
D'ailleurs on ne s'intéresse qu'au pire cas, quand tout est en train de déconner. Par exemple on mesure/analyse le temps d'exécution au pire cas d'une tâche (WCET, Worst Case Execution Time). La performance moyenne n'est pas significative dans un système temps réel dur.
Musikmesser 2013 - Bullshit Gourous - Tocxic Instruments - festivals Foud'Rock, Metal Sphère et la Tour met les Watts
[ Dernière édition du message le 10/02/2017 à 11:56:40 ]
Dr Pouet
Dans ce cas particulier, on parle de sûreté. C'est conceptuellement assez différent de la sécurité ... (avec en plus une subtile différence avec safety et security)
Après des décennies d'anglicismes, c'est en train de changer et on revient au bon français.
Donc sécurité : pour éviter les pannes et les accidents.
Sûreté : contre les intrusions, les malveillances.
Néanmoins on va être du coup obligé pendant plusieurs années de préciser le sens qu'on donne à ces mots...
[ Dernière édition du message le 10/02/2017 à 11:44:03 ]
Jimbass
En français, la sûreté est une caractéristique intrinsèque, démontrable, objective. On parle de "sûreté nucléaire".
La sécurité est un sentiment, subjectif. On parle de "forces de sécurité" dans les banlieues.
Dans le jargon technique (qui découle de la signification anglophone) la safety consiste à prémunir le système des défaillances (événements extérieurs, usure, défauts de conception, ...). La security consiste à protéger le système des attaques intentionnelles (espionnage, détournement, déni de service, ...)
Certaines techniques peuvent s'appliquer aux deux, mais pour l'instant ce sont des disciplines relativement séparées.
Musikmesser 2013 - Bullshit Gourous - Tocxic Instruments - festivals Foud'Rock, Metal Sphère et la Tour met les Watts
[ Dernière édition du message le 10/02/2017 à 11:52:11 ]
Dr Pouet
Pour ca on utilise des langages comme ADA ou du bon vieux C, avec lesquels on peut maîtriser toute la chaîne de production du code.
Ou le Z100 / SDL / System Description Language... qui permet de modéliser du multitâche avec des graphes d'état, des envois de messages, puis de simuler les comportements, identifier les cas de blocages, vérifier la bonne gestion des défaillances, et enfin de générer les exécutables.
Juste pour donner un ordre de grandeur : si on imprimait toute la doc nécessaire à la certification d'un avion, la masse de papier serait à peu près équivalente à la masse ... de l'avion lui-même. (Oui, c'est un gars d'Airbus qui me l'a dit.)
Tout à fait.
J'ai aussi un autre ordre de grandeur qui m'avait été donné par des gens d'Astrium travaillant dans les satellites et autres systèmes critiques. Il s'agit de la productivité globale d'un bonhomme dans une équipe de développement, donc y compris tests + doc + contrôle qualité + gestion de projet etc...
Logiciel de qualité industrielle (disons pour piloter une chaîne de montage de voitures) : 25 lignes par bonhomme et par jour.
Logiciel critique (sale de contrôle de satellite...) : 5 lignes.
Logiciel embarqué (pilotage d'avion, fusée ou satellite, appareil médical assurant une fonction critique) : 1 ligne.
Bref, on peut facilement diviser par 5 ou par 25 la productivité selon les méthodes de travail.
Dr Pouet
Perdu, c'est l'inverse.
En français, la sûreté est une caractéristique intrinsèque, démontrable, objective. On parle de "sûreté nucléaire".
La sécurité est un sentiment, subjectif. On parle de "forces de sécurité" dans les banlieues.
Non c'est toi qui a perdu ! Ça ce sont les néologismes de la fin du vingtième siècle.
Par exemple la DST signifiait Direction de la Sûreté du Territoire, protection et sûreté du territoire pour l'armée.
On parlait de "glace sécurit", de "pour votre sécurité ne vous penchez pas par la fenêtre"...
Mais le mot anglais security signifie sûreté, et safety se traduit en réalité par sécurité.
Ensuite le mauvais bon sens populaire est venu mettre le bazar.
Mais à nouveau on parle « d'étude de sécurité » pour vérifier la bonne redondance des systèmes, et de Politique de Sûreté des Systèmes Informatiques contre les intrusions et malveillances.
[ Dernière édition du message le 10/02/2017 à 12:04:08 ]
Jimbass
Ou le Z100 / SDL / System Description Language...
Je n'ai jamais vu ca, il faut que je me renseigne.
La mode chez les systémiers est encore au Model-Driven Engineering, à base de profils UML spécifiques.
Musikmesser 2013 - Bullshit Gourous - Tocxic Instruments - festivals Foud'Rock, Metal Sphère et la Tour met les Watts
Jimbass
https://fr.wiktionary.org/wiki/s%C3%BBret%C3%A9
https://fr.wiktionary.org/wiki/s%C3%A9curit%C3%A9
« Sécurité et sûreté ne sont pas la même chose ; le premier exprime un sentiment et l'autre un état d'assurance ; on a souvent de la sécurité sans être en sûreté ».
Musikmesser 2013 - Bullshit Gourous - Tocxic Instruments - festivals Foud'Rock, Metal Sphère et la Tour met les Watts
Dr Pouet
Citation de Dr :Ou le Z100 / SDL / System Description Language...
Je n'ai jamais vu ca, il faut que je me renseigne.
La mode chez les systémiers est encore au Model-Driven Engineering, à base de profils UML spécifiques.
Oui c'est vieux (1988). Et en plus c'est (forcément) lourd car très précis. Mais ça a été utilisé très tôt par Airbus.
Initialement c'était l'entreprise suédoise Télélogic qui faisait l'outil de SDL (Telelogic Tau) utilisé par Airbus. Le SDL ou Z100 est normalisé par ITU (sorte de IEEE orienté télécom et basé à Genève). Désormais c'est IBM qui a racheté Telelogic, et le SDL fait partie de leur catalogue "Rational" (donc avec UML etc. D'ailleurs visiblement il y aurait une nouvelle mouture Z120).
Truelle : non c'est ça :
https://fr.m.wikipedia.org/wiki/Specification_and_Description_Language
Pas un matériel, mais un "environnement de développement" qui peut produire des softs à destination de n'importe quelle plateforme, mais généralement des calculateurs embarqués.
Exemples :
https://books.google.fr/books?id=DkFtCQAAQBAJ&pg=PA6&lpg=PA6&dq=sdl+airbus&source=bl&ots=fqj7Mb6mSx&sig=YJ7XPU0TfUNVdZ7aN4JO1nAgxqE&hl=fr&sa=X&ved=0ahUKEwiMkY6ttIXSAhXLuBoKHR3QD8k4ChDoAQgdMAI#v=onepage&q=sdl%20airbus&f=false
[ Dernière édition du message le 10/02/2017 à 12:21:37 ]
- < Liste des sujets
- Charte