OVH Cloud OVH Cloud

a-t-on le choix ?

444 réponses
Avatar
Tom
Bonjour,

On voit souvent des "quel linux choisir ?", des "pourquoi linux ?" etc.
Mais finalement à devoir choisir entre la peste (du côté de chez MS) et
la grippe (notre bon vieux nunux), celà ne vous arrive pas le matin en
vous réveillant de vous dire que les programmes qui font fonctionner
votre machines ne sont que des bidouillages plus ou moins réussis ?

Regardez les codes sources d'un programme en C. Même le code d'un bon
programmeur n'est rempli que d'horreurs. Ce fameux "void" : c'est quoi
cette abomination de la programmation ? Il n'y a aucune sémantique
valable là derrière. D'ailleurs les types en C n'ont de type que le nom.
Comment se fait il qu'on puisse écrire dans la 11e case d'un tableau de
10 éléments. Ce langage surestime beaucoup les capacités des personnes
qui vont l'utiliser. Une telle chose ne doit pas être possible. Comment
imaginer que ce genre de choses peut être voulu par le programmeur ?
Je pense que vous avez déjà vu du JAVA. Mais c'est à gerber cet
emboîtement de new, cette masse colossale de classes à faire pour faire
trois fois rien ! J'ose même pas imaginer la quantité de calculs
inutiles faits par la machine pour gérer ces merdes. D'accord il y a de
l'optimisation, mais c'est loin d'être suffisant.
Dans le temps les programmes étaient bidouillés parce qu'il n'y avait
pas assez de mémoire : par exemple on utilisait une variable pour
stocker deux informations. Maintenant l'horreur est à l'autre extrême :
on a tellement de mémoire de disponible que l'on utilise trop. En C :
tant pis c'est perdu. Un trou de mémoire ? Tant que le pc doit pas
redémarrer toutes les heures à cause de ça on s'en fout. En JAVA : il y
a le ramasse miettes alors on peut bouffer de la mémoire : c'est pô grave.
Dès que les programmes ont commencé à ne plus rentrer sur une disquette
ils sont devenus beaucoup trop compliqués pour fonctionner correctement.
On en vient à une époque où on trouve acceptable un programme quand il a
moins de cent bugs alors que rien que le fait de consommer trop de
ressources fait que le programme n'est pas bon. Aujourd'hui on nous
parle de .NET et de merdouilles dans le genre. A quoi ça sert de se
lancer dans la création de langages qui se copient les uns les autres.
C, C++, JAVA, Pascal : c'est la même chose, la même façon de penser. Et
c'est une manière de penser qui pousse à faire des fautes.
Bref l'informatique ne va pas fort.

Tom

10 réponses

Avatar
Joe Cool
Joe Cool , dans le message <422f3e28$0$23421$, a

Oui, car il n'est divisible que par 1 et par lui même.


Donc en plus d'être mauvais en C, tu es mauvais en maths. On progresse.


Pinaillez donc sur des définitions, il en restera surement une trace
dans l'Histoire de l'Humanité.

Comme si c'était important ! Que vous ne maitrisiez pas le débat de fond
est une chose, que vous vous rabattiez sur des détails est navrant.

--
Joe Cool


Avatar
Nicolas George
Joe Cool , dans le message <422f416d$0$31664$, a
écrit :
Non, il lève une exception, et on ne peut pas lui en demander plus car
la complexité en espace d'un programme caml n'est pas calculable en général.


Qu'un programme se termine par un « Fatal error: exception
Invalid_argument("Array.set") » ou un « segmentation fault », c'est pareil,
au final : le programme n'a pas donné le bon résultat, point final.

Avatar
Joe Cool
Michel Talon a exprimé avec précision :

Tom wrote:


Oui, et? Tu compares Dijkstra à Einstein?



Dijkstra est l'un des plus grands informaticiens ayant existé. Et je
ne vois pas pourquoi on devrait comparer Dijkstra à Einstein. Ils ne
travaillaient pas dans le même domaine.



Linus Torvalds est un des grands informaticiens ayant existé, oui, il l'a
prouvé en créant un OS. Einstein est un immense génie, autrement dit
il ne
joue pas dans la même cour.



Il n'a pas crée un OS. Il a lancé une impulsion et a réussi a fédérer
des centaines de développeurs autour de son idée. C'est encore plus beau.


Il ne peut donc pas avoir tort. Je comprend mieux maintenant.

--
Joe Cool




Avatar
Nicolas George
Joe Cool , dans le message <422f3edf$0$23421$, a
écrit :
Ce n'est pas bien de contourner le système de type.
^^^^

Personnellement, j'évite d'attacher des valeurs morales à des points
techniques. Un programme est bon ou pas selon s'il marche, s'il est
efficace, s'il est lisible, mais pas selon s'il fait des trucs Bien ou Mal.

Dans ce cas, autant
ne rien typer.


Ce que je disais, et apparemment tu ne l'as pas compris, c'est que le
système de type trop contraignant de Caml oblige parfois à le contouerner
pour arriver à ses fins. C'est un défaut de ce système de type.

Avatar
Nicolas George
Joe Cool , dans le message <422f3f67$0$23421$, a
écrit :
Le coût est amorti, ce qui occasionne un ralentissement négligeable.


Souvent. Parfois c'est catastrophique.

En
tout cas ça a l'air de bien marcher en pratique.


Tu as vraissemblablement aussi peu de pratique que de théorie.

Avatar
Joe Cool
Joe Cool , dans le message <422f416d$0$31664$, a

Non, il lève une exception, et on ne peut pas lui en demander plus car
la complexité en espace d'un programme caml n'est pas calculable en général.


Qu'un programme se termine par un « Fatal error: exception
Invalid_argument("Array.set") » ou un « segmentation fault », c'est pareil,
au final : le programme n'a pas donné le bon résultat, point final.


Un programme qui plante est mort, alors qu'un programme qui lève une
exception est toujours fonctionnel.

--
Joe Cool


Avatar
Nicolas George
JKB , dans le message , a
écrit :
Ah bon ?!... Pas moi (et pourtant, moi-même, je me targue d'écrire du C
correctement et portable).


J'attends encore de voir ce code de matrices qui ne marche pas sur sparc64
avant de juger.

Avatar
JustMe
Il se trouve que Nicolas George a formulé :
Joe Cool , dans le message <422f416d$0$31664$, a
Non, il lève une exception, et on ne peut pas lui en demander plus car
la complexité en espace d'un programme caml n'est pas calculable en général.


Qu'un programme se termine par un « Fatal error: exception
Invalid_argument("Array.set") » ou un « segmentation fault », c'est pareil,
au final : le programme n'a pas donné le bon résultat, point final.


Non ca n'est pas pareil. Dans le second cas on quitte une appli dans un
état aléatoire, dans le second on peut passer par une phase de
nettoyage/rollback pour revenir à un etat connu (sur des fichiers de
données par ex).


Avatar
Joe Cool
On 2005-03-09, Joe Cool wrote:

Quand on n'a rien d'autre à dire y'a que ça à faire.



Ou alors on peut envoyer je ne sais combien de posts pour
insulter à tout va ses contradicteurs, mépriser leur travail et
se poser en grand manitou de l'Informatique du XXIe siècle.


Comme Dijkstra ? Dijkstra est un troll ?



Vous vous comparez à lui maintenant ?


Non, mais ayant la même position que lui, quand vous me traitez de
troll, vous le traitez aussi de troll.

C'est un peu prétentieux après votre second TD de caml je trouve.


Vous ne me connaissez pas.

--
Joe Cool




Avatar
Irvin Probst
On 2005-03-09, Joe Cool wrote:

Quand on n'a rien d'autre à dire y'a que ça à faire.


Ou alors on peut envoyer je ne sais combien de posts pour insulter à
tout va ses contradicteurs, mépriser leur travail et se poser en grand
manitou de l'Informatique du XXIe siècle.


Comme Dijkstra ? Dijkstra est un troll ?


Vous vous comparez à lui maintenant ? C'est un peu prétentieux après
votre second TD de caml je trouve.

--
Irvin