ChatGPT et notre passion : outil pratique ou gadget curieux?

De toute façon coder c’est copier/coller du stack overflow, non?

7 « J'aime »

C’est marrant, notre candidat assisté par IA nous a aussi écrit après avoir reçu l’email de rejet. Il sous-entend qu’on ne l’a pas pris parce qu’on avait déjà un candidat et que l’entretien n’était qu’un prétexte légal… (ce qui est totalement faux, sur le papier c’était mon favori avant l’entretien).

4 « J'aime »

Oula !

Ça dévie dans tous les sens et les esprits s’échauffent par ici.
Comme le disait un vieux sage, l’inspecteur Derrick pour le nommer : buvons une bière et réfléchissons.

7 « J'aime »

Là on reconnaît assez bien une phrase écrite par IA et qui ne veut rien dire :joy::joy:

1 « J'aime »

On reste dans le débat de départ : les outils nous libèrent VS les outils nous asservissent.

La réponse est clairement : ça dépend. Et la limite pointée par certains est la perte de compétences et de capacités liée à l’usage des outils. Je me contente de signaler que ca6ne se limite pas aux capacités cognitives.

Et je réfute la distinction corps / cerveau (qui n’est qu’une version modernisée du corps / esprit ou corps / âme). D’ailleurs lors d’une discussion (alcoolisée) avec un copain prof de philo on avait plus ou moins conclu que pour qu’une IA développe une éthique il lui fallait un corps avec l’une des fonctions premières du système nerveux : la douleur.

Mais j’ai pas encore bu ce matin, et je ne voudrais pas déranger ceux d’entre vous qui ont la chance de ne pas être en arrêt maladie :grin: (moi j’ai la chance d’avoir un métier-passion que je peux pratiquer en toutes circonstances).

2 « J'aime »

Je commence a croire que le créateur du topic nous troll juste :thinking:

4 « J'aime »

J’ai pas trop lu ses posts, ça sent beaucoup trop l’IA, à part le dernier (parce qu’il était court :joy:). C’est si trollesque que ça ?

Suspecté de vouloir spammer, j’attendais juste qu’il commence à coller ses liens à la con. C’est fait, au (pas) revoir

3 « J'aime »

C’est marrant quand tu googelises son pseudo.

Pardon. « Marrant ».

1 « J'aime »

Euh j’ai rien compris aux derniers messages ?
Kesako ? Qu’est ce qui se passe ?

1 « J'aime »

C’était au final un gars qui vendait des services liés à ChatGPT :slight_smile:

1 « J'aime »

Ah et ces messages ont été supprimés?

D’après Thierry il a posté des liens de ses services, et Gurderman te dit comment les trouver :smiley:
Au final j’imagine qu’il s’est fait tronçonné direct :smiley:

C’est énorme, je dirais. Et comme par hasard, il pollue medium. Quelle plateforme de merde…

PS : La discussion a été intéressante en tout cas, merci pour les échanges :wink:

10 « J'aime »

Je sais très bien ce que c’est j’en ai fais dans ma scolarité. Et j’insiste, l’algorithmique ainsi que la théorie de la complexité font bien partie de l’informatique théorique. De même que la théorie des langages, qui peut-être utile si tu travailles sur des problématiques de compilations / DSL / etc.

Mon expérience du terrain me fait penser l’inverse. Il y a plein de mauvais développeur en analyse quantitative (parce que c’est pas la compétence sur laquelle on est recruté). Ça donne des librairies quantitatives pas maintenable, pas cohérente, ou tout le monde réimplémente la roue dans son coin, etc.

À l’opposée j’ai aussi travaillé dans ma précédente boite avec une équipe de dev dont la moitié avaient une thèse en informatique théorique. En terme de qualité de la lib, de productivité et de valeur ajoutée, ça n’avait rien à voir.

Pas convaincu du tout. Tu peux faire des projets relativement conséquents qui t’apprennent le génie logiciel sans que ça soit du pissage de code.

Mes plus gros projets en école étaient l’implémentation d’un compilateur, et l’implémentation d’un pricer de produit structuré. Le reste c’était surtout des projets liés à l’algorithmique.

3 « J'aime »

Si on commence à comparer nos CV, je vais gagner par « autorité » : 6 ans responsable des enseignements d’informatique dans une fac parisienne, 5 ans chercheur en info à INRIA, 4 ans prof d’informatique à Telecom Paris :wink: Mais bon, l’intérêt est limité, non ?

Oui, on peut mettre l’algorithmique dans l’info théorique, mais c’est comme l’IA : aujourd’hui plus grand monde considère l’algorithme de Dijkstra comme de l’IA et pourtant c’était de l’IA lors de sa création. L’algorithmique qu’on enseigne en école d’ingé et en licence, c’est de l’algo de base qui n’a rien de théorique. L’algorithmique avancée de M2 d’info ou la recherche, oui, ok c’est de l’informatique théorique, et encore, en général ce sont des choses qu’on programme vraiment. Et faire de l’algorithmique théorique ça ne fait pas de toi un bon programmeur, j’ai des collègues qui sont chercheurs dans des domaines théoriques de l’informatique, notamment en algo, et qui ne programment presque jamais. En fait quand ton job c’est de passer d’un algo exponentiel en 2^n à un truc en 1.95^n, bah on te demande de démontrer 1) formellement que ça marche 2) que c’est bien la complexité du truc. Personne ne programme ces algos.

La théorie de la complexité (les classes de problème), c’est de l’info théorique qui n’a pas non plus beaucoup d’application en programmation, excepté quand on arrive à produire un schéma d’approximation d’un problème NP (et encore). Compter le nombre d’opérations d’un programme non récursif, c’est très facile. Pour le récursif, on applique le théorème maître, ça n’a pas non plus grand chose de théorique (et ce n’est pas de la théorie de la complexité).

Quant aux développeurs qui bossent sur des compilateurs, j’avoue que je ne vois pas trop le rapport avec la discussion sur l’IA : c’est un truc de niche qui nécessite des compétences spécifiques. Pour le DSL, il y a des tutos dans tous les sens et aucun ou presque ne fait référence à l’info théorique. C’est un peu comme les expressions régulières : oui on peut enseigner ça très proprement de façon théorique avec des automates finis, etc. Je l’ai fait. Mais on peut aussi enseigner ça de façon pragmatique et vu ce que font les bibliothèques modernes, ça me semble plus pertinent pour des programmeurs.

Oui, développer une bibliothèque demande des compétences en génie logiciel et une grande expérience de la programmation. C’est une tâche très complexe qui ne nécessite pas de connaissances en informatique théorique.

Je serais curieux de savoir ce que tu appelles une thèse en informatique théorique, cf au dessus (le gros du travail en informatique théorique, c’est des maths, pas de la programmation). Après, une thèse, ça veut dire un M2 donc potentiellement une bonne formation en info générale (notamment du génie log) et de l’enseignement, donc une réflexion minimale sur la programmation.

Cf mon CV. J’ai formé des centaines (milliers, probablement maintenant) d’étudiants, j’ai été chargé de diverses réformes d’enseignement, j’ai une vague idée de ce qui se fait dans les universités et écoles d’ingé, et de ce qui marche (ou pas). En fait dans un projet de génie logiciel, il y a deux choses importantes et formatrices : que ça soit fait à « beaucoup » (donc pas 2 ou 3, mais 5 ou 6 minimum) et que chaque élément de code soit basique, la complexité venant de l’assemblage des pièces.

Je ne compare pas nos CV. Tu me prends de haut sur le sujet, je te montre juste que contrairement à ce que tu penses je sais de quoi je parle.

Je parle de thèse de doctorat. Un de mes collègues était lauréat du prix Gilles-Kahn par exemple. Un autre avait une thèse sur les méthodes formelles si je dis pas de bêtises. Globalement ils avaient fait ENS + thèse derrière.

On avait aussi pas mal de relations avec l’INRIA.

Ouais donc pas du pissage de code quoi

2 « J'aime »

Toutes mes excuses, mon propos n’est pas de te prendre de haut. Je vois bien que tu as une connaissance scolaire en informatique plus ou moins théorique. Je pense simplement que tu considères comme théoriques des choses qui ne le sont pas, comme l’algorithmique standard. C’est peut être une deformation de chercheur, mais vue mon expérience professionnelle longue dans le domaine, je pense que je suis plus qualifié que toi pour savoir ce qui relève de l’informatique théorique. Ça ne veut pas dire nécessairement que j’ai raison sur l’importance ou pas de tel ou tel concept dans la pratique de la programmation. Mais là aussi, j’ai une dizaine d’année d’expérience d’enseignement spécifiquement de la programmation, avec des effectifs de 150 à 200 étudiants par an, je pense aussi que je suis plus qualifié que toi pour savoir ce qui marche ou pas sur le sujet, d’autant que j’ai monté des projets pédagogiques spécifiques pour améliorer l’apprentissage de la programmation.

J’avais compris, ce sont les sujets qui m’intéressent.

Tiens, tiens, la lauréate 2007 est une de mes anciennes élèves (elle ne fait pas du tout d’informatique théorique :wink: ) et j’ai passé une semaine en congrès avec le lauréat 2023 en juin dernier. Lui, il fait de la théorie, c’est clair, mais c’est du machine learning théorique pas de l’informatique théorique. Un truc amusant avec ce chercheur, c’est que sur sa page web, il n’a même pas de lien vers un github ou des implémentations. Je ne sais même pas s’il programme, vu que ses papiers expérimentaux sont avec des collaborateurs qui ont eu des repository :slight_smile: Il faudrait que je lui pose la question.

Et ils sont super représentatifs du développeur standard, n’est-ce pas ?

Pour en revenir à ton assertion d’origine

je pense qu’en effet, il faut un minimum de formation algorithmique, mais je maintiens qu’un bon développeur n’a pas besoin d’une formation solide en informatique théorique (dont j’exclus donc la partie algorithmique classique). Tu a rencontré des gens particulièrement brillants (ens + thèse, ça doit être 50 personnes par an, et encore) qui possèdent deux qualités (formation théorique + talent de programmeur) et je pense que tu confonds cette coïncidence avec une causalité. J’ai au moins autant d’anecdotes que toi mais dans le sens des théoriciens qui ne savent pas programmer (un de mes potes qui a une brillante carrière me disait ne pas savoir programmer correctement au sortir de sa thèse) . Globalement, ce sont des anecdotes, dans un sens comme dans l’autre. Mon expérience à une échelle supérieure de volume me conduit à penser que le talent de programmeur est relativement indépendant des capacités à maîtriser l’informatique théorique.

Quand tu fais des classes basiques en Java, tu pisses du code. Ce que j’appelle pisser du code, c’est quand tu sais dans ta tête exactement ce qu’il faut sortir au final et que tes doigts travaillent tous seuls. Peut être qu’on n’a pas la même définition.

2 « J'aime »

Dans le monde réel, j’ai plus souvent vu des dev avec des BTS, certains d’écoles d’ingé que vos aliens de l’espace qui font de l’informatique théorique… :grin:

6 « J'aime »