Anatomie d'un langage de programmation

08.10.13 | par Le Grincheux | Catégories: Je hais l'informatique, Matheux pervers

Comme demandé récemment, je vais tenter d'expliquer ici ce qu'est pour moi un bon langage de programmation. Je suis souvent sidéré du panurgisme patent du microcosme du développement informatique prétextant que si tout le monde utilise tel ou tel langage, on ne risquera rien à développer dans ce langage précis. Accessoirement, cela permet de se garantir des échecs dus au choix du langage en rappelant à qui veut bien l'entendre que tout le monde aurait fait de même.

Le système de défense me paraît un peu court.

En effet, il existe au moins trois types de langages :

  • les langages écrits par des informaticiens pour des informaticiens (exemples : C, C++, Forth, liste non exhaustive) ;
  • les langages écrits par les informaticiens pour des scientifiques (exemples : Fortran, Ada, Lisp, liste non exhaustive elle aussi) ;
  • les langages de prototypage (souvent mauvais comme Matlab, Python, liste encore moins exhaustive).

Les deux premières catégories doivent pouvoir être compilées ou semi-compilées. Quant à la troisième, rien ne s'oppose à ce qu'elle soit interprétée. Et chacun des langages peut être impératif, procédural, fonctionnel, objet voire ne ressembler à rien de connu. Il existe dans le bizarre, l'ésotérique ou le carrément mal foutu mais utilisé un nombre de langages assez impressionnant dont php et Perl.

Commençons par regarder de près les différents paradigmes de programmation et éludons immédiatement celui de la programmation impérative (typiquement celle des Basic historiques ou du Cobol à l'ancienne) qui n'a aucun intérêt sur les calculateurs modernes. La programmation impérative se justifiait à une époque où les piles des processeurs étaient limitées et où l'on n'avait pas encore inventé autre chose. Aujourd'hui, c'est une hérésie.

Un peu plus complexes, les langages procéduraux ou fonctionnels sont intéressants. Ils permettent une bonne isolation des données et sont structurés. Les données procèdent des programmes, ce qui est assez logique. En d'autres termes, le développeur écrit un programme qu'il va appliquer sur des données. En revanche, à l'autre bout du tableau figurent les langages orientés objets. Le concept de langage objet poussé à l'extrême revient à affirmer que les programmes procèdent des données. Il s'agit donc dans un premier temps de décrire les structures des données utilisées avant d'écrire les méthodes permettant de les manipuler. C'est, d'un point de vue logique assez intéressant, mais d'un point de vue de la consommation des ressources totalement contre-productif. En effet, manipuler des objets sous la forme de classes qui héritent d'un ou de plusieurs parents et qui contiennent des fonctions virtuelles résolues ou non lors de la compilation ne se fait qu'avec une débauche de mémoire et de temps processeur.

Pour fixer les idées, je vais évoquer une petite expérience. J'ai dû utiliser un algorithme de recherche du meilleur chemin dans un graphe orienté, le graphe en question contenant 15 millions d'arcs orientés. J'avais estimé que sur une machine de calcul munie de 8 Go de mémoire, cela devait passer sans aucun problème. Étant d'une fainéantise crasse, j'ai tenté de réutiliser la fonction A* de la bibliothèque Boost, programmée en C++. J'ai rapidement abandonné l'idée, les 8 Go de mémoire suffisant à peine à faire tourner un calcul. En implantant le même algorithme A* en RPL/C (un langage inspiré du C, procédural, permettant de s'interfacer avec le RPL/2), j'ai divisé l'empreinte mémoire du graphe par 20 et le temps d'exécution par 25. En effet, avec un langage procédural ou fonctionnel, lorsqu'on demande une banane, on la prend dans le panier. On n'est pas contraint à appeler un singe qui vient avec tous ses copains de la jungle pour apporter la banane.

Ainsi, un langage efficace du point de vue des ressources de la machine est un langage procédural ou fonctionnel. Le langage impératif est efficace, mais n'offre pas d'isolation entre les données des différents sous-programmes.

Parlons de la syntaxe et des fonctionnalités d'un langage. Il n'est pas tout de déclarer qu'un langage efficace du point de vue de la machine et non des neurones du développeur doit être procédural ou fonctionnel (risquons même le fonctionnel impur), faut-il encore que sa syntaxe évite les erreurs grossières, voulues ou non. En effet, il y a plusieurs écoles de pensée radicalement différentes. D'un côté se trouvent les langages où tout est permis, langages bizarrement écrits dans la période suivant 1968. Sans doute un relicat du slogan il est interdit d'interdire… Figurent dans cette classe les langages comme le C. Le compilateur ne fait aucune vérification sur l'air du « vous l'avez voulu ? Eh bien tant pis pour vous ! ». Les résultats peuvent être assez dramatiques, allant de la simple violation d'accès à l'explosion d'ariane V.

Là, il me faut tout de même parler de l'opérateur d'affectation. En C comme dans l'immense majorité des langages, il s'agit du signe « = ». Logique me direz-vous. Mais comme en C, contrairement au Basic, il est possible d'écrire plusieurs expressions encapsulées les unes dans les autres et qu'il est aussi possible d'omettre implicitement les comparaisons à 0 et que, selon l'implantation, l'évaluation d'une expression contenant des et logiques peut se faire de gauche à droite et s'arrêter à la première sous-expressions fausse, on peut trouver des choses amusantes qui ressemblent à :

if ((options == (__WCLONE|__WALL)) && (current->uid = 0))
retval = -EINVAL;

Vous ne revez pas. Cette ligne était une backdoor introduite dans le noyau Linux quelque part entre les noyaux 2.4 et les 2.6. Comment est évaluée l'expression du test ? Si la variable options vaut exactement __WCLONE|__WALL, le résultat de la première sous-expression est vrai et l'exécution se poursuit par l'évaluation de current->uid = 0 qui n'est pas un test mais une affectation. Comme la valeur affectée est nulle, la clause de test est toujours fausse et le programme ne positionne jamais retval. Au passage, l'uid courant passe à 0, ce qui donne les droit root au programme utilisant cet appel système avec les paramètres __WCLONE|__WALL. Propre, efficace et parfaitement licite du point de vue du C.

Je passe sous silence le bloc de commandes

retval = -EINVAL;

qui n'est pas délimité car réduit à une seule expression. Que se serait-il passé si par pure étourderie un point-virgule avait malencontreusement terminé la ligne précédente ? Un bloc de programme ne doit jamais être défini implicitement. Comme il ne doit pas être défini non plus en fonction de la forme comme en Python.

Dans un langage à la syntaxe bien conçue, cela ne devrait jamais arriver. Un test doit toujours être explicite en notation algébrique et les blocs doivent être clairement indiqués. Par ailleurs, utiliser une répétition de symbole « == » comme opérateur de test alors que le symbole « = » correspond à une affectation est une aberration. À minima, il faudrait écrire :

if ((options.eq.(__WCLONE+__WALL)).and.(current%uid.eq.0)) then
retval = -EINVAL
end if

Si par malheur l'opérateur de comparaison « .eq. » avait été remplacé par une affectation, le compilateur aurait refusé de faire son œuvre. Le compilateur C aurait tout aussi bien pu râler parce qu'il effectue une opération booléenne entre un booléen et un entier. Mais comme cela n'est pas interdit en C, il ne trouve rien à y redire. Des choses plus amusantes peuvent être écrites en C comme :

unsigned char *ptr;
...
if ((!ptr) && (ptr->n == 0)) retval = -EINVAL;

Je vous laisse deviner le résultat si le compilateur ne s'arrête pas à la première sous-expression fausse ou s'il décide de ne pas évaluer l'expression de gauche à droite. Sans compter le fait que le pointeur NULL n'est pas forcément défini comme étant 0x0. J'ai un souvenir d'un système sur lequel NULL valait 0x1. De deux choses l'une, soit le compilateur considère alors qu'un test !ptr était implicitement fait par rapport à NULL et non à 0 parce que l'opérande est un pointeur, soit il s'en tient à un comportement qui n'est pas plus bête qui consiste à comparer l'adresse par rapport à 0. Passons. Dans 99,9% des cas, le compilateur est gentil et fait ce que le développeur lui demande implicitement. Restent les 0,1% des cas.

Un autre problème et une source d'ennuis incommensurable. Dans la plupart des langages, les données sont typées parce que les variables doivent être déclarées et qu'une donnée ne peut exister en dehors d'une variable. Hormis quelques langages à inférence de types, l'immense majorité des langages considère que les données doivent avoir un type et un seul, que ce type soit affecté explicitement lors de la déclaration de la variable, cas du C, d'Ada, du Cobol, de Java ou du Fortran, ou qu'il le soit implicitement en fonction du nom de cette variable comme en Basic. Le problème sous-jacent est alors le choix de la structure algébrique dans laquelle les calculs vont se faire.

Si lors de calculs en flottants, la majorité des langages est tombée d'accord pour travailler sur la droite achevée réelle, le cas est un peu différent lors des calculs en entiers. Certains langages utilisent une arithmétique brutale en complément à deux sans aucune vérification d'intégrité. Ainsi, si une variable est déclarée sur un octet, 127+1 donne… -128 ! Sans aucune erreur récupérable par le programme. D'autres langages considèrent que 127+1 vaut toujours 127. D'autres encore génèreront une erreur de dépassement. Aucun des résultats n'est mathématiquement acceptable. De la même façon, l'extraction de la racine de -1 provoquera une erreur même si -1 est déclaré comme un flottant.

Un langage — je parle ici d'un langage destiné à des calculs, pas à un langage comme le C destiné surtout à l'écriture de systèmes d'exploitation et de programmes de bas niveau — doit donc pouvoir changer le type de la donnée au vol en fonction du résultat d'une commande. Si un calcul ne peut se faire jusqu'au bout en entier, il doit passer automatiquement en flottant voire en complexe. Mais cela ne peut se faire de façon efficace que si les données existent indépendamment des variables, ce qui implique un langage à pile comme le Forth.

Mais le Forth n'est pas satisfaisant car il n'utilise ni pile banalisée ni typage fort. C'est au développeur de savoir ce qu'il a empilé, combien d'emplacements sur la pile cela prend et comment il doit les relire. Ainsi, si le Forth permet de coder très rapidement des petits programmes, son utilisation devient assez rapidement très complexe et fastidieuse.

Un dernier problème et non des moindres. La gestion de la mémoire, de la pile système et, insidieusement, celle des goto's considérés comme nuisibles par certains. La mémoire peut être gérée de façon explicite par allocation dynamique, donc par augmentation de la taille du tas, ce qui est le cas avec les fonctions allocate() du Fortran, malloc() du C et new du C++. En C++, new crée un nouvel objet en appelant son constructeur. Sauf erreur manifeste du programme, le delete correspondant va se charger de libérer toute la mémoire occupée par cet objet (pas forcément dans le sens contraire aux appels effectués par new, ce qui peut poser des problèmes complexes dans le cas de fonctions virtuelles). Mieux, si l'objet est alloué comme une variable automatique, l'appel au destructeur sera implicite lors du retour de la fonction. L'utilisateur n'a donc pas à se soucier des problèmes de gestion de la mémoire. En C et en Fortran, il faut explicitement appeler deallocate() ou free(). Le compilateur ne le fera pas de son propre chef. Il faut donc savoir très exactement ce que l'on fait et quand on doit le faire. En cas de retour anticipé d'une fonction, par exemple en cas d'erreur, ce qui est fait automatiquement en C++ la plupart du temps doit se faire à la main dans d'autres langages. Et c'est généralement là qu'on rigole ! Ou qu'on pleure, c'est selon. J'ai eu l'occasion de fréquenter des doctorants, pourtant spécialistes des mathématiques qui s'évertuaient à coder des bouts de programmes en C en effectuant des malloc() à chaque besoin de mémoire sans jamais ne penser à appeler free(). Pourquoi en C ? Parce qu'un marteau, c'est tellement pratique pour enfoncer un clou lorsqu'on n'a jamais vu de tournevis ! Ce qui aurait été trivial en Fortran ne l'était réellement pas pour eux en C parce qu'ils ne maîtrisaient pas du tout le langage ni ses implications.

Et le rapport avec les goto's, me direz-vous ? Il est pourtant assez simple. La plupart des langages autorise ces branchements à l'intérieur d'une procédure. C'est pratique, cela économise souvent l'écriture de boucles longues et fastidieuses sous l'air de un goto et ça repart ! Mais cela impose aussi au compilateur de réserver sur la pile toutes les variables automatiques en début de procédure même si celles-ci ne sont utilisables que dans un bloc de programme. La conséquence de ce choix est que seule l'analyse syntaxique effectuée durant la compilation permet de masquer ces variables. Sans cela, l'utilisation des goto's aboutirait à une corruption de la pile système ou à une complexité démentielle. Le corollaire de la disponibilité du goto dans un langage est un côté implicitement statique des variables déclarées dans des blocs de programme à moins que le compilateur ne fasse un travail d'allocation spécifique et coûteux.

Une réflexion de quelques années sur tous ces problèmes et la rencontre avec des doctorants n'ayant aucune compétence en développement informatique mais étant contraints de programmer des algorithmes m'a décidé de me pencher sur ces différents problèmes. Un langage utilisable par un non spécialiste de l'architecture des systèmes, typiquement un mathématicien ou quelqu'un qui n'a pas à connaître les entrailles des calculateurs pour écrire un programme, doit répondre aux caractéristiques suivantes :

  • langage procédural ou fonctionnel impur ;
  • langage à inférence de type ;
  • séparation stricte de la notion de donnée de celle de variable, la variable n'étant qu'une donnée de type nom référençant une autre donnée ;
  • aucune allocation ou libération de la mémoire explicite, aucun accès à des pointeurs ;
  • aucune instruction de type GOTO, mais possibilité de sortir d'une boucle par anticipation ou de boucler par anticipation ;
  • évaluation de tous les éléments d'une expression même si le résultat est connu d'avance ;
  • extension des domaines de définition des fonctions mathématiques pour garder autant que possible un résultat exact à la précision près du processeur ;
  • aucun mécanisme d'affectation en notation algébrique ;
  • des garde-fous pour éviter les erreurs manifestes (éléments en dehors d'un tableau…) ;
  • séparation du fond et de la forme.

La somme de tous ces critères aboutit à un langage utilisant la notation polonaise inversée sans laquelle le troisième critère n'est pas atteignable, semi-compilé et à préprocesseur. Ce langage, quoique très structuré, ne connaît pas la notion de ligne. Il permet de se concentrer sur l'écriture d'un algorithme au sens mathématique du terme tout en évitant de se poser les questions inhérentes à l'architecture cible.

Ceux qui sont intéressés par mes travaux trouveront plus d'informations ici.

 

Classes surchargées

03.10.13 | par Le Grincheux | Catégories: Vieux con, Monde de merde, Je hais les politiciens

Combien de temps faudra-t-il encore supporter tous ces politiques bien pensant répétant à l'envi que les résultats de l'éducation nationale ne sont pas bon parce que les classes sont surchargées. Chose amusante, ce sont généralement les mêmes qui s'enorgueillissent des 85% de réussite au bac. Mon mauvais esprit me souffle dans le creux de l'oreille qu'il y aurait ici comme un début de contradiction. Passons, si l'incohérence les étouffait, je pense qu'on aurait déjà constaté une hécatombe parmi cette engeance.

Les élèves ne sauraient pas lire parce que les classes de maternelle — si, si, je vous assure que cela a été dit sans rire au Téléphone Sonne, sur France Inter, le 2 octobre 2013, allez vérifier ! — et de l'école primaire comptent plus de vingt élèves.

Là, je m'insurge. Je suis issu d'une longue lignée de hussards noirs qu'on n'appelait pas encore professeurs des écoles. Il n'y avait pas que des hussards noirs de la république, il y en avait aussi de l'empire, mais je m'égare. Dans le lot, il y a même eu un maître de stage de l'école normale, plusieurs directeurs d'école et certains de mes oncles et tantes sont aussi du sérail. Sans doute un atavisme dangereux à surveiller de près.

Des années 1900 aux années 1960, ces instituteurs avaient des classes chargées. Ceux qui avaient la chance de n'avoir qu'un seul niveau avaient entre quarante et quarante-cinq élèves. Les autres avaient des classes moins chargées, mais de plusieurs niveaux, dans des campagnes dont les élèves ne parlaient pour la plupart pas français lorsqu'ils franchissaient pour la première fois les portes de l'école primaire municipale.

Je ne connais pas les horaires de cours alors en vigueur dans ces écoles de la campagne profonde. En revanche, j'ai assez entendu parler des horaires dans les écoles des villes au début des années 1960. Il y avait six heures de cours par jour, 8h00-12h00 et 14h00-16h00, en classe de CE1, du lundi matin au samedi soir, le jeudi étant libre, tout cela avec quarante-cinq élèves par classe. De 16h00 à 18h00, les élèves pouvaient aller en étude lorsque les parents ne pouvaient les récupérer. Et en fin de CE1, les élèves savaient lire correctement et tenir un stylographe qui n'était pas encore à bille (une belle contradiction dans les termes pour ceux qui ont eu la chance de faire du Grec) puisque l'instituteur remplissait encore les encriers.

Le fait que les élèves actuels ne savent ni lire ni écrire en arrivant au niveau du baccalauréat n'est ainsi pas directement lié au nombre d'élèves par classe. Si c'était le cas, nos aînées n'auraient jamais pu apprendre à lire. Peut-être faut-il regarder ailleurs, par exemple sur la motivation des élèves, leur discipline en classe, les méthodes d'apprentissage de la lecture, de l'orthographe et de la grammaire, les matières nouvelles qui ne servent à rien pour l'apprentissage des matières fondamentales et j'en passe. J'ai pu lire dans un rapport tout à fait officiel émanant du ministère de l'éducation nationale que le niveau ne baissait pas parce que les élèves actuels savaient bien plus de chose que ceux d'il y a un siècle lorsque ce même ministère s'appelait encore ministère de l'instruction publique ; les mots sont importants. Ils savent en particulier manipuler un ordinateur, ce que leurs aînés ne savaient pas faire. Argument spécieux s'il en est puisque leurs aînés ne pouvaient pas manipuler quelque chose qui n'existait pas encore. En revanche, ces aînés savaient utiliser une règle à calcul ou une table de logarithmes et j'aimerais bien voir un bachelier moderne utiliser ces deux instruments. Déjà qu'il a du mal avec une calculatrice de compétition, j'imagine assez mal le voir manipuler une Graphoplex. Ariane V a explosé pour bien moins que cela.

Mais le problème est toujours le même, réduire le nombre d'élèves par classe. C'est un leit-motiv, un gimmick des syndicats et du ministre. On pourra essayer de le réduire autant qu'on voudra jusqu'à avoir un élève par enseignant. Tant qu'on ne luttera pas contre la réelle cause d'échec scolaire dans les petites classes que sont l'attitude des parents et des enfants, les méthodes d'apprentissage, la relation au travail et aux devoirs, la dispersion dans des matières parfaitement inutiles voire nuisibles — quel intérêt en classe de CE1 au maniement de l'outil informatique ? — on n'avancera pas. Et que l'on ne me parle pas de l'étude des langues étrangères au primaire, on pourra commencer à envisager cela lorsque la langue maternelle sera maîtrisée. Il suffit de regarder une pile de copies d'élèves de collège pour se convaincre que ce n'est pas le cas et que l'étude des langues étrangères ne devrait pas être une priorité.

Mais il est tellement facile de se convaincre que tout les problèmes sont dus aux classes surchargées, donc à des problèmes financiers… J'espère seulement que le ministre n'en est pas convaincu lui-même. Mais un doute m'assaille à la lecture de sa réforme des rythmes scolaires.

 

Nausée

02.10.13 | par Le Grincheux | Catégories: Mauvaise humeur, Monde de merde, Je hais les politiciens

Il l'a dit. Il a osé le dire. Je le cite avec des guillemets que j'ouvre avec des pincettes :

On pourrait légaliser le viol aussi. Le viol, finalement, c'est un rapport amoureux qu'une partie des deux souhaite. La deuxième pourrait faire un effort. Enfin, finalement, si je suis votre raisonnement, on pourrait légaliser le viol ou le vol de voiture.

Celui qui a eu cette fulgurence se nomme Stéphane Ravier, candidat du Front National à la mairie de Marseille, devant Patrick Mennucci et sur un plateau d'une émission de Thierry Ardisson, Salut les Terriens !, samedi 28 septembre sur Canal+. J'admets que cette phrase est sortie du contexte, mais même lors d'un échange de vannes, elle reste choquante. Je suis pourtant assez difficile à choquer.

Cela se passe de commentaire et personnellement, je crois que je vais aller vomir.

En tout cas, une raison de moins pour voter FN. Après un programme économique délirant, un programme social inepte, voici la morale à géométrie variable.

 

Nouvelles idées et pause fiscale

02.10.13 | par Le Grincheux | Catégories: Mauvaise humeur, Je hais les politiciens

Ce qui se souviendront de la pause fiscale pour 2014 ne seront pas déçus. D'autant qu'Aurélie Filippetti, ministre de la culture, ne renonce pas malgré sa première bataille perdue contre Bercy. En effet, elle souhaite que les appareils connectés soient taxés comme le sont les supports d'enregistrement pour financer la sacro-sainte exception culturelle française qui fait, selon elle, que « l'on a un peu de bonheur [en France] ».

Oui, vous avez bien lu, c'est du Filippetti dans le texte.

Revenons à cette annonce. Invitée sur BFM TV pour répondre aux questions de Jean-Jacques Bourdin, Aurélie Filippetti est revenue sur la suspension de la taxe sur les appareils connectés. Cette taxe, rappelons-le à la décharge du ministre, était l'une des propositions du rapport Lescure commandé par le ministère.

Après le cafouillage sur la pause fiscale, la diminution de l'augmentation des impôts à horizon 2014, à moins qu'il ne s'agisse de 2015 voire de 2016, le gouvernement a déclaré que cette pose fiscale serait effective à partir de 2015. Cochon qui s'en dédit. Par conséquent, cette nouvelle taxe qui devait représenter 1% du montant des appareils dès 2014 pourrait ne jamais voir le jour si cette pause fiscale est bien respectée en 2015.

Mais c'est mal connaître le ministre. Ayant perdu son premier combat contre Bercy, elle ne baisse pas les bras et continue à défendre l'idée de faire évoluer la taxe pour copie privée en en élargissant l'assiette. Déjà, cette taxe m'énerve au plus au point. Il paraît qu'en tant que professionnel, je peux me la faire rembourser parce que j'utilise mes systèmes de stockage pour stocker mes productions de l'esprit et non celles des autres. Je vous défie de le faire. Même mon centre des impôts ne sait pas comment cela pourrait se faire. Passons et revenons au sujet. Cette taxe pour la copie privée, ce qui est contestable sachant que le droit français permet déjà un droit à la copie privée pour un usage personnel, est une taxe bizarre puisqu'elle revient à mélanger sans vergogne une certaine compensation inavouée du piratage et les dispositifs de soutien à la création.

Dans le même entretien, elle avoue « travailler sur l'évolution de la fiscalité pour l'adapter au numérique ». Là, vous devriez trembler. Un ministre qui travaille à l'évolution de la fiscalité n'augure, en France, rien de bon. En effet, elle signale que depuis les années 1980, les cassettes audio, les fax, les photocopieurs sont taxée en vertu du droit à la copie privée, que ces technologies sont aujourd'hui obsolètes et qu'il faut donc faire évoluer la base de la fiscalité pour continuer ce que l'on a toujours fait en France.

À ce moment, il faudrait tout de même rappeler que c'est justement la mal français. Aucune suite dans les idées fiscales, les règles du jeu qui changent subtilement tous les trois mois et un droit fiscal plus alambiqué encore qu'une homélie d'un père jésuite. Il faudrait rappeler au gouvernement que si de plus en plus de cadres supérieurs vont résider fiscalement en Belgique, ce n'est pas pour payer moins d'impôts (les impôts sur les salaires y sont objectivement plus élevés), c'est juste pour avoir un peu plus de stabilité fiscale.

Mais le ministre n'en a cure, taxer les objets connectés comme on le faisait autrefois pour les dispositifs de reproduction des œuvres « va dans le sens de l'histoire et n'alourdira pas le prix pour les citoyens ». Pourtant, il y a au moins un citoyen qui en a marre d'être pris continuellement pour un imbécile. J'ai un smartphone pour raisons professionnelles (acheté au Canada non pour des raisons fiscales mais pour avoir un vrai clavier sans écran gras) qui ne me sert que pour faire un ssh une fois de temps en temps sur mes serveurs. Je n'utilise pas ses autres fonctionnalités, un téléphone étant d'abord fait pour téléphoner. Je paie déjà des taxes sur mes DLT, SLR, CD-Rom, DVD-R, disques durs, accès internet pourtant sans télévision, je contribue donc déjà assez à l'exception culturelle française qui me semble pourtant mal en point lorsque je vois les émissions qui passent à la télévision actuellement et la médiocre production cinématographique française. Quant à la musique sponsorisée par le ministère, je préfère ne pas dire ce que j'en pense.

Et elle nous prévient. Même si une pause fiscale a été annoncée pour 2015, il n'est pas impossible que cette nouvelle taxe figure au budget 2015. Elle ajoute même : « moi, je pense qu'il faut faire évoluer les choses, parce qu'il s'agit de financer des industries créatives qui créent de l'emploi en France, qui nous permettent d'écouter de la musique française, de voir des films français… C'est l'exception culturelle, et ça tout le monde est d'accord en France, c'est droite-gauche, on est tous très fiers de ça. Ca fait partie de ce qui marche en France, et de ce qui fait qu'on a un petit peu de bonheur et de plaisir ».

Personnellement, je n'ai pas un peu plus de bonheur et de plaisir parce que je regarde un film français. Je peux à la rigueur discuter de la chose lorsque je regarde un bon film. Entre Bienvenue chez les ch'tis et Dans ses yeux, film argentin de Juan José Campanella, je n'ai pas honte de préférer le second même si cela doit me faire passer pour un mauvais français.

Quoi qu'il en soit, le ministre a plein d'idées pour lever de nouvelles taxes, nouvelles taxes qui ne sont pas incompatibles avec l'augmentation des taxes actuellements perçues pour légitimer le droit à la copie privée. Et n'oublions pas que le Conseil Supérieur de la Propriété Littéraire et Artistique qui a l'oreille du ministre a adopté mardi 23 octobre 2013 un avis sur les services en cloud qui permettent l'accès à des œuvres stockées à distance. Il estime qu'ils devaient être soumis au paiement de la rémunération pour copie privée. Le ministre ne devrait pas tarder à saisir l'idée au bon.

 

Loi Duflot

01.10.13 | par Le Grincheux | Catégories: Mauvaise humeur, Je hais les politiciens

Si nous avons les hommes et femmes politiques que nous méritons, il faut bien constater que nous ne sommes pas très méritants. Nous avons actuellement au gouvernement une brochette qui ne brille que par son incompétence, une équipe dont certains membres pétris d'idéologie crasse n'ont d'une part aucune légitimité électorale et d'autre part même pas le début de culture nécessaire à la plus petite compréhension d'un problème qui dépasse la liste de courses.

Je vais ici parler du cas Duflot.

Vous souvenez-vous ? Il y a deux ans, Cécile Duflot déclarait crânement à propos du risque de radiations issues de la centrale de Fukushima :

On ne peut pas le savoir aujourd’hui. La probabilité en France métropolitaine est faible mais on ne peut jamais savoir avec certitude. La météorologie fait que cet accident étant survenu dans l’hémisphère sud, a priori le système de vents reste dans l’hémisphère sud, mais on ne peut pas en être certain.

Vous aviez oublié ? Pas moi. Le français a décidément la mémoire courte. Il a sans doute aussi oublié sa complainte sur l'air de « j'ai glissé sur une peau de banane dans un couloir du métro ». Que les couloirs du métropolitains soient sales, c'est une information, un fait qui doit permettre à la RATP de modifier ses habitudes de nettoyage ou d'entreprendre la chasse aux indélicats. Que Cécile Duflot glisse sur une peau de banane n'est pas une information. En faire état est même pathétique.

Mais revenons à ses connaissances géographiques. Ce n'est à l'évidence pas un lapsus puisque son explication enfonce le clou. Elle place bien le Japon dans l'hémisphère sud, sans doute à la place de la Nouvelle-Zélande. Pour quelqu'un qui a eu un DEA de géographie, c'est assez navrant. Vous me direz que la géographie, c'est autre chose que la liste des départements avec les préfectures et les sous-préfectures et vous aurez raison. Mais de là à ne pas savoir placer le Japon sur une carte… Soit Cécile Duflot a eu son diplôme en cadeau dans un paquet Bonux, soit l'université qui le lui a donné ne l'a fait que pour se séparer d'une agitatrice incontrôlable, soit encore le niveau a tellement baissé qu'un DEA de géographie peut maintenant être donné à tout le monde. Rayons le troisième cas, il paraît que le niveau ne baisse pas. Les gouvernements successifs l'affirment haut et fort.

Le parti politique dont est issue Cécile Duflot, Europe-Écologie-les-Verts, représente grossièrement 2% des votes aux dernières élections présidentielles. Mais à la suite d'un accord que je qualifierais sans vergogne de honteux pour la démocratie, ce parti s'est vu attribué un certain nombre de sièges au gouvernement. Et parmi ces sièges, nous avons la joie de subir l'inénarrable Cécile Duflot, ses caprices et sa compréhension lacunaire de l'économie.

Le gouvernement actuel préfère une répartition égalitaire de la misère à une répartition inégalitaire de la richesse. Nous le savions déjà puisque depuis Mitterrand qui nous a bien fait plonger entre 1981 et 1983 rien n'a vraiment changé à gauche. Mais le programme de Cécile Duflot dépasse de loin tout ce qu'un socialiste français peut espérer dans ses rêves les plus fous. Il faut dire que Cécile Duflot est en charge du logement et qu'il est urgent de faire quelque chose.

Il manque en effet des centaines de milliers de logements en France. L'état, vu ses finances catastrophiques, ne pourra jamais construire ces logements et il est nécessaire de faire croître le parc locatif privé puisqu'une bonne partie de la population ne pourra jamais accéder ni à la propriété ni aux HLM.

Et que fait-elle ? Elle veut imposer par la loi l'encadrement des loyers, l'obligation de prendre une assurance pour loyers impayés et, cerise sur le gâteau, l'impossibilité d'expulser un locataire indélicat dès lors qu'une personne de plus de soixante-cinq ans habite l'appartement, que cette personne figure ou non sur le bail. Je ne sais pas pourquoi, mais les mauvais payeurs risquent fort de vivre avec leur grand'mère assez rapidement.

En d'autres termes, le locataire est toujours plus protégé face à des propriétaires dont le seul but, au moins pour Cécile Duflot, est de faire expulser les locataires. Pourtant, si la fameuse assurance obligatoire ne représente que 2% des loyers, c'est qu'il n'y a actuellement que 2% de loyers impayés. Les propriétaires font donc bien leur travail et ne cherchent pas à expulser plus de 2% des locataires. Offrir une telle garantie ne pourra que faire augmenter mécaniquement le nombre des impayés.

Mais ce n'est pas tout. Pour louer un appartement, il faut l'entretenir malgré les locataires indélicats, payer une assurance (optionnelle, mais recommandée, on ne sait jamais si son locataire possède une police valable une fois qu'il a intégré les locaux), payer les taxes foncières, taxes d'habitation pour local vide le cas échéant, les charges de copropriété incombant au propriétaire, les impôts sur le revenu, les CSG et CRDS, sans oublier l'ISF et l'impôt sur la plus-value, tout ce petit monde étant en constante augmentation. Le rendement locatif étant à la baisse en raison de toutes ces augmentations, les risques pour le propriétaire toujours plus grands, il ne faut pas être grand clerc pour comprendre que bon nombre de propriétaires laisseront plus volontiers leurs appartements vides que sur le marché locatif. Pire, ils pourraient les vendre à des gens encore capables de les acheter, tarissant du même coup l'offre locative pour les plus modestes.

La loi Duflot est ainsi une aberration idéologique contre-productive. Sous prétexte de taper sur les propriétaires — parce que c'est exactement ce qu'elle fait, elle ne s'en cache même pas —, elle ne va conduire qu'à un éclatement du marché de l'immobilier entre ceux qui pourront se loger parce qu'ils en auront encore les moyens et les classes populaires qui ne trouveront plus rien faute d'offre à leur mesure. Et la demande étant alors excessive par rapport à l'offre, je vous laisse entrevoir ce qui se passera.

Les effets commencent déjà par se faire sentir. Une étude du réseau d'agences Century 21 montre qu'au troisième trimestre 2013, l'achat de logements anciens par des particuliers qui veulent les louer a reculé de 5,8% sur un an. Cette baisse sensible confirme une tendance de fond constatée depuis la seconde partie de l'année 2012. Dans l'absolu, cela fait 81000 logements anciens qui n'ont pas été achetés tout en sortant du marché locatif. À Paris et en région parisienne, ces chiffres sont alarmistes car la part des investisseurs locatifs sur un marché déjà tendu a chuté en moyenne de 11%. Dans les départements de la petite couronne, les propriétaires en fin de bail cherchent à vendre plutôt qu'à trouver un nouveau locataire aux conditions actuelles. Dans l'Essonne, le plongeon de l'investissement locatif sur la même période est de 29,8%, 14,5% dans les Yvelines. Une partie de ces investisseurs étaient des cadres supérieurs (pour défiscaliser) et des professions libérales (pour préparer leur retraite car les professions libérales ne peuvent pas compter sur leurs cotisations pour avoir ne serait-ce qu'une retraite décente). Leur part s'est effondrée de 46%, une partie se tournant vers l'immobilier d'entreprise qui a augmenté dans la capitale sur la même période de près de 20%.

Le marché locatif déjà en proie à une pénurie risque de s'assécher totalement et d'amplifier la crise à venir. Les cinq cent mille logements promis par le gouvernement ne pourront être constuits faute de moyens et il est impossible d'éviter une grave crise du logement sans le parc locatif privé. Pourquoi vouloir à tout prix se l'aliéner ?

Nous venons à peine de digérer les inepties de la loi de 1948 et de son encadrement des loyers. Pourquoi vouloir à tout prix en remettre une couche ? Cécile Duflot n'aura rien appris du passé. Pour quelqu'un qui situe le Japon dans l'hémisphère sud, le contraire eut été étonnant.

 

Pages: 1 ... 107 108 109 ...110 ... 112 ...114 ...115 116 117 ... 204

Novembre 2024
Lun Mar Mer Jeu Ven Sam Dim
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
 << <   > >>

Le carnet du grincheux

(Mauvaise) humeur du Grincheux

Outils utilisateur

    Rechercher

      Flux XML

    blogging software