Aller au contenu

Je raconte ma life 8, petits suisses & lapidations


Cugieran

Messages recommandés

il y a 10 minutes, cedric.org a dit :

Mais ne pas confondre quelqu'un qui sait se débrouiller sur les fonctions de bases d'un langage, et un ingénieur logiciel.

Ben ouais on a pas dit le contraire et on donne des conseils à Neomatix qui bosse dans la finance si je ne me trompe pas

Lien vers le commentaire

C'était gentilment moqueur envers moi pour les coup ;)

 

Pour rappel, je n'ai pas fait d'études supérieures et j'ai une carrière qui me convient mais à 100 lieu du codage.

Et plus généralement, mon parcours pro est maintenant plus derrière moi que devant.

Mon but actuellement est plus de savoir comment je vais arrêter de bosser plutôt que de savoir où je vais bosser.  

 

 

Par contre je ne m'interdit pas d'apprendre à coder pour le plaisir. Mais je ne me vois pas passer 7ans pour apprendre à maitriser le cobol pour le plaisir.

J'ai des loisirs Geek mais pas nerd à ce point : ?

  • Yea 1
Lien vers le commentaire
il y a une heure, ttoinou a dit :

Les robots tradeurs par exemple me dit-on. J'avoue je m'y connais moins que beaucoup d'entre vous en finance / banque; Quels langages / environnements recommandes-tu @Rincevent ?

En Banque, finance, ça dépend de ce que tu vas faire évidemment. Excel/VBA c'est un minimum, on peut faire pas mal de choses déjà. Ensuite, pour la finance, le combo python/c++/java/SQL. Ensuite, si t'es dans un fonds Global Macro, ce ne sera pas le même environnement que d'optimiser des calendar spreads sur les options.

Moi j'ai commencé par VBA à la fac, puis C++, avant de passer à Java. Comme dit @cedric.org écrire un bout de code en python ou en java tout le monde sait faire après 2 mois. Mais pour écrire des programmes entiers, testés et en prod pour faire du trading algo il faut beaucoup de temps, des années et des années, et j'apprends toujours.

Lien vers le commentaire
12 minutes ago, ttoinou said:

Ben ouais on a pas dit le contraire et on donne des conseils à Neomatix qui bosse dans la finance si je ne me trompe pas

 

Je réagissais sur ça

 

11 hours ago, Rincevent said:

Le Cobol ? Une semaine, tout au plus, pour faire des trucs satisfaisants.

 

 

Lien vers le commentaire
il y a 13 minutes, Frenhofer a dit :

En Banque, finance, ça dépend de ce que tu vas faire évidemment. Excel/VBA c'est un minimum, on peut faire pas mal de choses déjà. Ensuite, pour la finance, le combo python/c++/java/SQL. Ensuite, si t'es dans un fonds Global Macro, ce ne sera pas le même environnement que d'optimiser des calendar spreads sur les options.

Moi j'ai commencé par VBA à la fac, puis C++, avant de passer à Java. Comme dit @cedric.org écrire un bout de code en python ou en java tout le monde sait faire après 2 mois. Mais pour écrire des programmes entiers, testés et en prod pour faire du trading algo il faut beaucoup de temps, des années et des années, et j'apprends toujours.

Tiens en discutant de langages qui vont mourir, Java on en parle :D ?

Lien vers le commentaire
il y a 55 minutes, cedric.org a dit :

Une bonne partie des boîtes intéressantes s'y mettent très sérieusement. Y compris en finance. Surtout en finance.

Ah non, pas un de plus ! Ça a l'air intéressant le concept de langage full stack. Par contre j'ai peur que, comme avec Julia, ce soit trop récent/peu répandu. En tant que méga noob sans background d'ingénieur, j'aime bien pouvoir googler mon problème, trouver la reponse en 30s sur stackoverflow et passer pour un génie.

il y a 22 minutes, ttoinou a dit :

Ben ouais on a pas dit le contraire et on donne des conseils à Neomatix qui bosse dans la finance si je ne me trompe pas

Et je vous en remercie. Donc là je dois me mettre à un paquet de langage en plus si je comprends bien :mrgreen:

Je vais rester sur Python pour le moment, je pense.

Lien vers le commentaire

Rester sur python et apprendre de nouvelles utilisation que tu peux en faire (comme tu as dit machine learning) est plus utile je pense ouais

 

il y a 1 minute, Neomatix a dit :

Ah non, pas un de plus ! Ça a l'air intéressant le concept de langage full stack. Par contre j'ai peur que, comme avec Julia, ce soit trop récent. En tant que méga noob sans background d'ingénieur, j'aime bien pouvoir googler mon problème, trouver la reponse en 30s sur stackoverflow et passer pour un génie.

Ouais ben ne va pas sur Rust c'est vraiment un truc d'ingénieur à lunettes pas de financiers à mocassins.

  • Yea 1
Lien vers le commentaire
2 minutes ago, Neomatix said:

Ah non, pas un de plus ! Ça a l'air intéressant le concept de langage full stack. Par contre j'ai peur que, comme avec Julia, ce soit trop récent/peu répandu. En tant que méga noob sans background d'ingénieur, j'aime bien pouvoir googler mon problème, trouver la reponse en 30s sur stackoverflow et passer pour un génie.

Et je vous en remercie. Donc là je dois me mettre à un paquet de langage en plus si je comprends bien :mrgreen:

Je vais rester sur Python pour le moment, je pense.

Rust n'est pas du tout full stack, c'est du back dont le but est de remplacer du C ou du C++ mais en étant sûr et relativement haut niveau et rapide à écrire. Je trouve que c'est assez réussi. On commence à en trouver un peu partout. En finance c'est extrêmement sympa pour éviter des erreurs qu'on peut avoir en C / C++. Par contre la courbe d'apprentissage est très élevée au debut et assez plate ensuite.

 

Si tu veux du langage full stack, c'est javascript, mais en finance ça n'existe pas du tout (sauf pour une app web bien sûr)...

 

Julia est le cas typique de langage sympathique mais qui ne sortira jamais du monde académique...

 

Python est un langage plutôt sûr sur le marché et utilisé dans tous les domaines. La courbe d'apprentissage est assez plate au début et très élevée ensuite (i.e on croit comprendre très tôt jusqu'à ce qu'on se rende compte qu'en fait on ne pige rien du tout :D).

 

J'ai des potes dans les boîtes star américaines qui précisément n'aiment pas python et y préfèrent Rust car ça permet à des gens qui ne maîtrisent pas bien le sujet de faire du code foireux facilement en python du fait de ces courbes d'apprentissage inversées... Après, chacun ses opinions! :)

Lien vers le commentaire
il y a 46 minutes, cedric.org a dit :

Aller hop, le premier exemple qui me vient en tête lié à un des langages de cette discussion : en python, pourquoi ne faut-il JAMAIS mettre en valeur de paramètre par défaut un type mutable?

Je connaissais pas cet exemple c'est vraiment affreux. Nous sommes donc d'accord pour dire qu'il faut approfondir un langage pour y être productif, après est ce que dans cet exemple précis il faut connaître le C hum....

 

il y a une heure, L'affreux a dit :

Je hais ce que C++ est devenu. Une sorte de tour de Babel de concepts mal intégrés. Aucune convention, nulle part. Du code pourri partout. J'y mets les mains de temps en temps mais j'ai toujours l'impression d'en sortir sali.

Ça a de bonnes chances d'arriver avec n'importe quel langage qui devient populaire (les besoins spécifiques se multiplient, plus de noobs arrivent etc.) ou qui offre trop de possibilités (certains choisissent C++ car peut revenir au C système quand nécessaire. Un langage / environnement plus fermé a d'autre avantages et inconvénients). Ne confondons pas les outils en eux même (comme les langages de progs et IDEs) avec la dynamique sociale qui les entoure

  • Yea 1
Lien vers le commentaire
il y a 2 minutes, cedric.org a dit :

Rust n'est pas du tout full stack,

Je croyais que tu parlais de Red, my bad.

Le problème en finance est plutôt l'adoption par les seniors, pas par les juniors. Déjà que la plupart interdisent VBA car ils ne savent pas s'en servir, si on commence à parler Rust alors qu'il n'ont entendu parler que de Python...

 

Lien vers le commentaire
il y a 7 minutes, ttoinou a dit :

Tiens en discutant de langages qui vont mourir, Java on en parle :D ?

Ça fait au moins depuis 2000 que l'on dit que ce langage va mourir. On a cru qu'il allait trépasser en allant voir son avenir chez l'Oracle mais il est toujours là.

Beaucoup crachent sur Java car c'est le langage lourd au possible mais j'aime bien cet aspect quand il faut faire du solide. Il y a beaucoup de librairies, Stackoverflow a les réponses à toutes tes questions. Et puis surtout ça me fait chier de devoir gérer les pointeurs et la mémoire en cpp.

Voici un article intéressant pour comprendre les problématiques :

https://news.efinancialcareers.com/fr-fr/3001451/-c-or-java-quel-est-le-meilleur-langage-pour-les-systemes-de-trading

Lien vers le commentaire
il y a 51 minutes, cedric.org a dit :

Je précise, ce n'est en aucun cas un message pour décourager de s'y mettre, j'insiste lourdement. Je pense que savoir développer, même superficiellement, est aujourd'hui un énorme plus dans quasiment toutes les carrières intellectuelles un poil techniques existantes. Et est en passe de devenir indispensable, et ne PAS savoir le faire va devenir impactant.

Mais ne pas confondre quelqu'un qui sait se débrouiller sur les fonctions de bases d'un langage, et un ingénieur logiciel

 

Une partie de moi se dit, peut-etre par paresse à peine voilée, que dans un monde où ça prend de plus en plus de place et que de plus en plus de gens s'y mettent, meme pour se débrouiller et comprendre, il y a de moins en moins de gens avec mon profil, et qu'une autre tactique serait de jouer le négatif de la mode et de continuer à developper mon profil différent. Je me dis que dans 10 ans, y aura beaucoup plus de gens avec des connaissances dont on parle et qu'au mieux j''aurais le niveau des mauvais donc mon profil ne ressortira pas. Par contre, si j'ai un profil rare et mais pointu, y a peut-etre peu de boulot mais quand il y en a, on est pas 50 a postuler.

  • Yea 1
Lien vers le commentaire
10 minutes ago, poney said:

 

Une partie de moi se dit, peut-etre par paresse à peine voilée, que dans un monde où ça prend de plus en plus de place et que de plus en plus de gens s'y mettent, meme pour se débrouiller et comprendre, il y a de moins en moins de gens avec mon profil, et qu'une autre tactique serait de jouer le négatif de la mode et de continuer à developper mon profil différent. Je me dis que dans 10 ans, y aura beaucoup plus de gens avec des connaissances dont on parle et qu'au mieux j''aurais le niveau des mauvais donc mon profil ne ressortira pas. Par contre, si j'ai un profil rare et mais pointu, y a peut-etre peu de boulot mais quand il y en a, on est pas 50 a postuler.

Après il est parfaitement légitime d'avoir un rôle à valeur ajoutée, et d'avoir un dev ou une équipe de dev en dessous / à côté qui fait la partie technique. Mais en y réfléchissant, avoir des notions de programmation aide à comprendre ce qui est faisable ou complètement à l'ouest, et facilite les ponts.

Lien vers le commentaire

C'est certain, c'était un peu l'idée qui a guidé ma tentative d'auto apprentissage mais force est de constater que ça ne consiste pas un projet suffisant pour me motiver, probablement parce que c'est très flou ; si demain je me retrouve en position de manager ou de bosser avec des gars qui font de la dev, il est probable que je me retrouve dans une disposition mentale différente et qu'il y a un déclic, au moins partiel.

Lien vers le commentaire

 

31 minutes ago, Frenhofer said:

Ça fait au moins depuis 2000 que l'on dit que ce langage va mourir. On a cru qu'il allait trépasser en allant voir son avenir chez l'Oracle mais il est toujours là.

Beaucoup crachent sur Java car c'est le langage lourd au possible mais j'aime bien cet aspect quand il faut faire du solide. Il y a beaucoup de librairies, Stackoverflow a les réponses à toutes tes questions. Et puis surtout ça me fait chier de devoir gérer les pointeurs et la mémoire en cpp.

Voici un article intéressant pour comprendre les problématiques :

https://news.efinancialcareers.com/fr-fr/3001451/-c-or-java-quel-est-le-meilleur-langage-pour-les-systemes-de-trading

This.

De manière générale je remarque deux tendances.

En premier, les langages  plus récents ont comme propriété générale de résoudre une classe de problème devenue plus critique avec la génération précédente. Les gains de productivité qui en résulte sont difficiles à ignorer sur le long terme ça a toujours un impact important.

En second et c'est plus récent, les langages deviennent plus spécifique. Et ces deux tendances ont à mon avis une source commune. A savoir les progrès dans les techniques de compilations/machines virtuelles. Aujourd'hui il n'est pas si compliqué de créer son propre langage surtout s'il a un cas d'utilisation bien défini.et on a aussi une certaine facilité à intégrer certaines fonctionnalités aux langages (garbage collector, gestion de classes d'erreurs par le compilateur donc avant de lancer en prod, etc etc). Par exemple en Scala on peut créer un langage ex-nihilo et le publier comme une simple bibliothèque. On intègre le langage juste avec un import.

10 minutes ago, poney said:

C'est certain, c'était un peu l'idée qui a guidé ma tentative d'auto apprentissage mais force est de constaté que ça ne consiste pas un projet suffisant pour me motiver, probablement parce que c'est très flou ; si demain je me retrouve en position de manager ou de bosser avec des gars qui font de la dev, il est probable que je me retrouve dans une disposition mentale différente et qu'il y a un déclic, au moins partiel.

Un truc que tu peux essayer de faire, si tu as une tâche très très répétitives sur un ordinateur (hint si ça inclut des copier coller régulier, c'est un bon candidat) tu peux essayer de l'automatiser.

Un autre truc important à garder en tête. Si un truc est chiant dans un langage donné c'est souvent une question technique derrière qui au moment de la création ne permettait pas de faire beaucoup mieux pour l'utilisateur. Donc éviter de se dire trop souvent, mais qui c'est le con qui a fait ça comme ça !!!

Lien vers le commentaire
il y a 3 minutes, Noob a dit :

Un truc que tu peux essayer de faire, si tu as une tâche très très répétitives sur un ordinateur (hint si ça inclue des copier coller régulier, c'est un bon candidat) tu peux essayer de l'automatiser.

j'ai lu ça qui m'a bien aidé
@poney https://automatetheboringstuff.com/2e/chapter3/

  • Yea 1
Lien vers le commentaire
5 minutes ago, Noob said:

En second et c'est plus récent, les langages deviennent plus spécifique. Et ces deux tendances ont à mon avis une source commune. A savoir les progrès dans les techniques de compilations/machines virtuelles. Aujourd'hui il n'est pas si compliqué de créer son propre langage surtout s'il a un cas d'utilisation bien défini.

Et pourtant 90% du marché sont toujours pris par moins de 10 langages de programmation, je ne sais donc pas si c'est réellement une justification.

Lien vers le commentaire
il y a 1 minute, poney a dit :

 

Je le planque dans mes favoris dédiés mais je n'ai pas vraiment de tâches qui s'y prêtent à vrai dire (pas encore)

:chine:

Moi non plus mais faire les exos était sympa.

Lien vers le commentaire
5 minutes ago, cedric.org said:

Et pourtant 90% du marché sont toujours pris par moins de 10 langages de programmation, je ne sais donc pas si c'est réellement une justification.

C'est pas incompatible, j'ai juste dis qu'il y avait une tendance récente à l'éclosion de plein de langages de niche, Forcément ces langages n'entreront jamais dans le top 20, il faut juste savoir qu'en en choisissant un on ne fait pas un pari sur l'avenir (genre la question type de developpez.com).  

Mais s'ils sont suffisamment simple on peut les apprendre et passer à autre chose rapidement.

 

Après comme je vois pas l'intérêt de supprimer windows ou linux, je vois pas l'intérêt de supprimer les machines virtuelles .net ou java. 

Lien vers le commentaire
2 minutes ago, Noob said:

C'est pas incompatible, j'ai juste dis qu'il y avait une tendance récente à l'éclosion de plein de langages de niche, Forcément ces langages n'entreront jamais dans le top 20, il faut juste savoir qu'en en choisissant un on ne fait pas un pari sur l'avenir (genre la question type de developpez.com).  

Mais s'ils sont suffisamment simple on peu les apprendre et passer à autre chose rapidement. 

Je ne résiste pas à ce partage indispensable...

https://news.ycombinator.com/item?id=13797797

https://github.com/Co-dfns/Co-dfns

C'est complètement alien pour 99% des softeng

et pourtant ça peut être absolument génial pour certains cas (finaaaaance, HFT)

Lien vers le commentaire
Il y a 2 heures, cedric.org a dit :

Partout ou il est utile de faire du C++, il doit être bien plus judicieux de faire du Rust, sans exception,n sauf legacy.

Ou du GoLang (aka un C qui aurait appris de ses erreurs). Ou même du C, en fait.

 

il y a 34 minutes, Frenhofer a dit :

Ça fait au moins depuis 2000 que l'on dit que ce langage va mourir. On a cru qu'il allait trépasser en allant voir son avenir chez l'Oracle mais il est toujours là.

Beaucoup crachent sur Java car c'est le langage lourd au possible mais j'aime bien cet aspect quand il faut faire du solide. Il y a beaucoup de librairies, Stackoverflow a les réponses à toutes tes questions. Et puis surtout ça me fait chier de devoir gérer les pointeurs et la mémoire en cpp.

La force de Java, de ce que j'en comprends, ce n'est pas le langage (C# est meilleur à peu près en tous points), c'est l'écosystème autour. Et on peut bénéficier de cet écosystème avec tout langage qui s'adresse à la JVM. Pour le dire en une formule : oubliez Java, apprenez Kotlin.

 

Mais pour des power users, maîtriser Python suffit à devenir le roi de l'open space.

  • Yea 1
Lien vers le commentaire
7 minutes ago, cedric.org said:

Je ne résiste pas à ce partage indispensable...

https://news.ycombinator.com/item?id=13797797

https://github.com/Co-dfns/Co-dfns

C'est complètement alien pour 99% des softeng

et pourtant ça peut être absolument génial pour certains cas (finaaaaance, HFT)

C'est exactement le  genre de truc auquel je pensais. On intègre dans le nouveau langage les pattern les plus fréquents du langage de départ et on donne le boulot au "compilateur" de forcer certain usage pour éviter d'avoir à écrire des tests.

Lien vers le commentaire
9 minutes ago, Rincevent said:

Ou du GoLang (aka un C qui aurait appris de ses erreurs). Ou même du C, en fait.

 

La force de Java, de ce que j'en comprends, ce n'est pas le langage (C# est meilleur à peu près en tous points), c'est l'écosystème autour. Et on peut bénéficier de cet écosystème avec tout langage qui s'adresse à la JVM. Pour le dire en une formule : oubliez Java, apprenez Kotlin.

 

Mais pour des power users, maîtriser Python suffit à devenir le roi de l'open space.

Je suis un grand fan de Go (malgré sa gestion d'exception a vomir). En fait si je devais garder deux langages, ça serait Rust et Go.

Mais go est vachement permissif (même si moins que Python de par sa nature même) la ou un Rust est très strict. Et Go a un gros overhead la ou Rust est quasiment au niveau de C en terme de perf. Go est très haut niveau la ou Rust permet de rentrer dans les détails. Du coup ce sont des utilisations différentes!

 

(Kotlin a l'air prometteur, mais je n'ai jamais regardé de près...)

 

Edit: pour Kotlin, autant s'amuser jusqu'au bout et le balancer en WebAssembly plutot qu'en JVM, je n'y vois que des avantages à moyen terme. Ou alors en natif, ça marche aussi.

Lien vers le commentaire
il y a 5 minutes, cedric.org a dit :

(Kotlin a l'air prometteur, mais je n'ai jamais regardé de près...)

On me dit que tu devrais. ;)

  • Yea 2
Lien vers le commentaire
Il y a 3 heures, cedric.org a dit :

Jusqu'à ce qu'il y ait un bug grave et incompréhensible et urgent et la il faut comprendre tous ces concepts d'un côté et être capable de tracer l'appel jusqu'au kernel s'il le faut de l'autre.

 

Aller hop, le premier exemple qui me vient en tête lié à un des langages de cette discussion : en python, pourquoi ne faut-il JAMAIS mettre en valeur de paramètre par défaut un type mutable? Pour le comprendre il faut comprendre la gestion de mémoire de python et être capable de descendre dans les concepts de pointeurs/références de C. Et encore, c'est un des plus simples auxquels je pense.

Alors ouais, tu peux très bien t'en foutre mais ça va péter en prod au mauvais moment et il ne faudra pas venir pleurer parce qu'il y a un X00k€ de perdus. (C'est du vécu, j'ai du debug des trucs comme ça dans ma carrière, trop tard malheureusement, et hop le site qui tombe en plein burst de clients, tout ça a cause d'un mauvais review d'un gars qui a laissé passer du code pourri de junior, avant que je mette en place une règle automatique de détection et d'interdiction de ces merdes, mais c'est un cas parmi whatmille).

 

Ce n'est pas de l'algorithmie. Tu te fais l'avocat de connaissances bas niveau. Les connaissances des fonctionnements bas niveau sont utiles mais n'ont rien à voir avec l'algorithmie. L'algorithmie, c'est des mathématiques.

Lien vers le commentaire
9 hours ago, Rübezahl said:

par hasard, tu connaîtrais/recommanderais un outil de "stress test" ou site(s) pour tester un site internet ?

Slashdot 

 

EDIT pour les jeunes en.m.wikipedia.org/wiki/Slashdot_effect

  • Yea 1
Lien vers le commentaire
Il y a 2 heures, ttoinou a dit :

Ça a de bonnes chances d'arriver avec n'importe quel langage qui devient populaire (les besoins spécifiques se multiplient, plus de noobs arrivent etc.) ou qui offre trop de possibilités (certains choisissent C++ car peut revenir au C système quand nécessaire. Un langage / environnement plus fermé a d'autre avantages et inconvénients). Ne confondons pas les outils en eux même (comme les langages de progs et IDEs) avec la dynamique sociale qui les entoure

 

Bah si justement. Quand tu apprends un langage tu n'apprends pas que la syntaxe. La syntaxe, c'est la petite affaire. Tu apprends l'écosystème autour : les bibliothèques de programmation plus ou moins standards, les frameworks et leurs concepts, les conventions, etc. C'est la grosse affaire.

 

Et non le bric-à-brac de trucs inconsistants n'est pas une conséquence de la popularité. JavaScript suit une trajectoire inverse à celle de C++ : avec le temps, les parties les plus faibles sont corrigées ou contournées. Et les améliorations sont réfléchies, bien intégrées et fantastiques. Pourtant, améliorer JavaScript est particulièrement difficile car sa conception originale était un peu faible et la largeur de son déploiement rend quasi-impossible de retirer quoi que ce soit d'existant en le marquant comme obsolète.

Lien vers le commentaire
14 minutes ago, L'affreux said:

 

Ce n'est pas de l'algorithmie. Tu te fais l'avocat de connaissances bas niveau. Les connaissances des fonctionnements bas niveau sont utiles mais n'ont rien à voir avec l'algorithmie. L'algorithmie, c'est des mathématiques.

On peut jouer sur les mots, mais OK soyons précis : et la connaissance des structures de données de bases et leurs avantages/inconvénients? Le crash lamentable du logiciel parce que ah dépassement de pile je savais pas c'est quoi? L'explosion en vol d'une prod parce qu'une fonction est mal foutue et explose la complexité spatiale parce que O(n^2)?

Ces choses sont indispensables. C'est de l'algorithmie.

Lien vers le commentaire
Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • Créer...