Jump to content
Yozz

Introduction décente à l'orienté objet ?

Recommended Posts

Une critique de l'objet : Why should I have written ZeroMQ in C, not C++ (part I) puis part II. La deuxième partie est discutable mais je suis sensible à la critique des exceptions de la première partie. En PHP j'hésite souvent entre renvoyer FALSE ou lever une exception. Je trouve qu'une exception n'est pas toujours pratique pour signaler une erreur maitrisée. Par exemple lors d'un problème d'accès réseau, si on veut réessayer trois fois avant de s'avouer vaincu, un code à base d'exception est verbeux et moche. En revanche les exceptions sont idéales pour signaler un état anormal, c-à-d un bug interne ou externe au programme impliquant l'arrêt du traitement.

Share this post


Link to post
Share on other sites

Une critique de l'objet : Why should I have written ZeroMQ in C, not C++ (part I) puis part II. La deuxième partie est discutable mais je suis sensible à la critique des exceptions de la première partie. En PHP j'hésite souvent entre renvoyer FALSE ou lever une exception. Je trouve qu'une exception n'est pas toujours pratique pour signaler une erreur maitrisée. Par exemple lors d'un problème d'accès réseau, si on veut réessayer trois fois avant de s'avouer vaincu, un code à base d'exception est verbeux et moche. En revanche les exceptions sont idéales pour signaler un état anormal, c-à-d un bug interne ou externe au programme impliquant l'arrêt du traitement.

Il n'y a pas de grosse perte de performance pour les exceptions ? Ou bien c'était limité à une version antérieure des machines virtuelles Java et CIL ?

Sinon, la seule vraie critique de l'objet, elle se trouve ici (attention, ça peut prendre une semaine pour tout lire, y compris les liens). ;)

Share this post


Link to post
Share on other sites

Il n'y a pas de grosse perte de performance pour les exceptions ? Ou bien c'était limité à une version antérieure des machines virtuelles Java et CIL ?

Sinon, la seule vraie critique de l'objet, elle se trouve ici (attention, ça peut prendre une semaine pour tout lire, y compris les liens). ;)

Où comment parler de POO et du communisme :)

 

 

 

Why OOP Reminds Me of CommunismCliche-Oriented Programming

ussr2.gifEconomic communism spread like wildfire in the first half of the 20th century because it had such appealing ideals and ideas. Like OO, these ideals were very seductive on paper. Intellectuals all over the world were drawn in by its concepts in droves. However, the complexities and dynamism of human nature proved not to favor economic communism as a productive model when it hit the road of the real world. It was the test of the real world that deflated the socialism hype, not intellectual analysis for the most part.

Perhaps economic communism allows for more equality, but mostly by making everybody equally poor. Further, it forms a kind of "social currency" based on schmoosing and favoritism that is nearly impossible to objectively measure and tax. Thus, it is still not really class-less, but simply makes classes harder to measure because the "currency" is mostly social in nature. In other words, it does not eliminate inequality, but instead makes it harder to identify.

Share this post


Link to post
Share on other sites

Ce mec est un troll de première catégorie. Ca le dessert (alors qu'il a des choses intéressantes à dire), mais ça égaie la lecture de son site, qui est très Web 0.2.

Share this post


Link to post
Share on other sites

Un peu en marge de la POO il existe deux manières de concevoir quelque chose de réutilisable. Approche "big brother" : on développe le composant qui fait tout ce dont on a besoin ; il est paramétrable par XML ou JSON ou autre, et on peut éventuellement lui adjoindre des plugins ; c'est le cas de la totalité des frameworks que j'ai pratiqués. Approche libérale : on crée des API qui peuvent ou non interagir mais chacune est spécialisée sur une seule tâche ; exemple : jQuery. En approche big brother on conçoit son composant comme une couche opaque entre le programme utilisateur et la fonctionnalité, en approche libérale on conçoit des modules qui se situent conceptuellement au même niveau que les programmes utilisateurs.

La POO incite beaucoup à l'approche big brother.

Share this post


Link to post
Share on other sites

Approche libérale : on crée des API qui peuvent ou non interagir mais chacune est spécialisée sur une seule tâche ; exemple : jQuery. En approche big brother on conçoit son composant comme une couche opaque entre le programme utilisateur et la fonctionnalité, en approche libérale on conçoit des modules qui se situent conceptuellement au même niveau que les programmes utilisateurs.

 

Il y a un truc autrement plus gros que JQuery qui a été conçu sur ce principe là : Unix, sa pléthore de commandes scriptables, les pipes, etc.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...