[Dev] Ahii ma scrum master me pousse des choses auquel j'ai pas confiance ...

JV

JVChiottard

il y a 7 mois

Après justement c'est quoi les certifs les plus demandées du coup ?

Ça dépend de ton métier, je t'avoue que je n'ai pas lu tout le topic
C'est pas pareil si t'es dev js ou pentester

OP
LE

lesmodoabusent

il y a 7 mois


Bah documente à fond de ton côté, quand la SM te considère vraiment comme l'expert, marque encore quelques points et demande à passer freelance

Ouai c'est ce que je compte faire, après pour passer freelance, en vrai je penses que s'ils accepte pas ma demande d'augmentation de salaire je vais passer freelance, mais je sais pas si je peux passer freelance et bosser pour la même boites, ils vont me payer plus cher après mais après c'est de leurs fautes aussi ils veulent qu'on fasse des gros trucs a bas prix

OP
LE

lesmodoabusent

il y a 7 mois


De mon point de vue C# écrase Java à tous les niveaux. Il y a des choix très discutables qui ont été faits au fil des années et plein de choses qui ne me conviennent pas mais Java est un incroyable foutoir de 30 ans de poussière accumulée, C# beaucoup moins.
Et petit plus faire des GUI en C# est beaucoup plus sympa qu'avec des librairies pourries en Java. Tu peux aussi precompiler le code et le livrer sous forme d'exe au lieu d'un jar ou d'un apk. Pas besoin d'expliquer au client qu'il doit avoir un environnement Java de centaines de Mo

Pourtant je pensais que Java avait bien remonté la pente sur les dernières versions, après j'imagine que la plupart des projets utilisent toujours une vielle version de java

OP
LE

lesmodoabusent

il y a 7 mois

Ça dépend de ton métier, je t'avoue que je n'ai pas lu tout le topic
C'est pas pareil si t'es dev js ou pentester

Je suis juste dev mon kheys

JV

JVChiottard

il y a 7 mois

Tu peux tout à fait te lancer comme freelance même sans xp. Ça va être très dur au début, mais c'est faisable. Tu peux garder ton cdi en parallèle le temps de tester ton business et de trouver des clients évidemment, faut pas démissionner et te retrouver sans rien

OP
LE

lesmodoabusent

il y a 7 mois


Tu peux tout à fait te lancer comme freelance même sans xp. Ça va être très dur au début, mais c'est faisable. Tu peux garder ton cdi en parallèle le temps de tester ton business et de trouver des clients évidemment, faut pas démissionner et te retrouver sans rien

Mais ça se fait pas facilement de passer par la SSII dans laquelle je suis actuellement et de au lieu être en CDI bah prendre le status de freelance et de garder le même client ?

JV

JVChiottard

il y a 7 mois

Pourtant je pensais que Java avait bien remonté la pente sur les dernières versions, après j'imagine que la plupart des projets utilisent toujours une vielle version de java

Oui les dernières versions de Java sont clairement meilleures que les anciennes, mais en 25 ans de programmation j'ai jamais réussi à accrocher à cet environnement. Rien que le fait de se trimballer des zips et la merde que c'est pour exporter les bonnes librairies en fonction de l'IDE ça refroidit.
En C# tu lances ta commande dotnet et tu ouvres vscode en gros, et tout fonctionne modulo le bon choix de la version .NET minimale
Comme a dit un khey on a Xamarin et l'expérience est agréable sur mobile. Sur android pour chier un apk Java se fait pas mal remplacer par kotlin

B5

Bloblomv57

il y a 7 mois

Pourtant je pensais que Java avait bien remonté la pente sur les dernières versions, après j'imagine que la plupart des projets utilisent toujours une vielle version de java

Bah en C# aussi. Là j'ai trois projets consécutifs de migration .NET Framework vers .NET 8 et EF6 vers EFCore (l'ORM Microsoft). Y'en a pour 50k et 4 mois de travail

C'est surtout que .NET c'est royal pour les intégrations avec la stack Microsoft dont Azure. Même si de nos jours on passe par de la conteneurisation linux et du openshift si on veut s'affranchir du cloud Azure. C'est un écosystème peut être plus fermé mais très robuste pour les entreprises. C# tu le retrouves dans pratiquement toutes les boites du CAC40 pour ne citer que celles-ci. Ce qui m'étonne dans le si faible apprentissage du framework .NET

B5

Bloblomv57

il y a 7 mois

Par contre même si on a un peu moins d'offres C# .NET que Java en France, y'a facilement 3x moins de candidats sur ces offres https://image.noelshack.com/fichiers/2020/51/2/1607997474-ayaoo.png

JV

JVChiottard

il y a 7 mois

Mais ça se fait pas facilement de passer par la SSII dans laquelle je suis actuellement et de au lieu être en CDI bah prendre le status de freelance et de garder le même client ?

Si ça se fait sans problème si t'as de bonnes relations. Eux ils y gagnent ils n'ont plus aucune charge à payer pour toi.
Par contre t'as pas le droit de leur piquer leurs clients, ils te font signer des papiers pour s'en assurer. Mais c'est limite en temps. Un an après tu fais ce que tu veux et tu peux bosser en direct avec un client de l'ESN sans qu'ils puissent rien faire
Mais ça veut aussi dire plus de CDI et ils peuvent te virer quand ils veulent entre deux contrats. Faut bien réfléchir à ça aussi

OP
LE

lesmodoabusent

il y a 7 mois

Oui les dernières versions de Java sont clairement meilleures que les anciennes, mais en 25 ans de programmation j'ai jamais réussi à accrocher à cet environnement. Rien que le fait de se trimballer des zips et la merde que c'est pour exporter les bonnes librairies en fonction de l'IDE ça refroidit.
En C# tu lances ta commande dotnet et tu ouvres vscode en gros, et tout fonctionne modulo le bon choix de la version .NET minimale
Comme a dit un khey on a Xamarin et l'expérience est agréable sur mobile. Sur android pour chier un apk Java se fait pas mal remplacer par kotlin

Pareil j'ai jamais réussi a accrocher a Java j'ai toujours trouvé l'environnement chiant je sais pas pourquoi, c'est pour ça que quand je voyais des missions ou il fallait faire du Java je grinçais des dents, mais maintenant les temps ont changé.
Bordelent je viens de voir tu peux faire des appli mobiles sur IOS et Android en faisant juste du .net genre c'est du natif ?

B5

Bloblomv57

il y a 7 mois


De mon point de vue C# écrase Java à tous les niveaux. Il y a des choix très discutables qui ont été faits au fil des années et plein de choses qui ne me conviennent pas mais Java est un incroyable foutoir de 30 ans de poussière accumulée, C# beaucoup moins.
Et petit plus faire des GUI en C# est beaucoup plus sympa qu'avec des librairies pourries en Java. Tu peux aussi precompiler le code et le livrer sous forme d'exe au lieu d'un jar ou d'un apk. Pas besoin d'expliquer au client qu'il doit avoir un environnement Java de centaines de Mo

C# est clairement plus agréable mais ça reste un langage lourd. La syntaxe est bien plus vaste, permet des trucs bien sympa, mais tolère aussi des concepts discutables voire obscures surtout pour de l'orienté objet et dans lesquels on peut se perdre.

Les yield return, les in/out qui me rappellent les procédures en ADA https://image.noelshack.com/fichiers/2020/47/4/1605746723-ronaldotrianglel.png

Les méthodes d'extension, les surcharges d'opérateur sortis de C++, l'injection de dépendances rendu un jeu d'enfant depuis .NET Core, l'incroyable facilité de créer son système d'annotations via une simple classe à hériter https://image.noelshack.com/fichiers/2024/01/7/1704633613-citrouillearrogantederevenant.png

FH

FauxHumain2

il y a 7 mois

De l'embarqué en quelques sorte oui, avec du Linux c'est ça, après je veux pas trop donner de détails hardware mon khey

un conseil : documente pour toi parce que le jour où tu vas vouloir revenir sur le projet tu vas galérer

OP
LE

lesmodoabusent

il y a 7 mois

Bah en C# aussi. Là j'ai trois projets consécutifs de migration .NET Framework vers .NET 8 et EF6 vers EFCore (l'ORM Microsoft). Y'en a pour 50k et 4 mois de travail

C'est surtout que .NET c'est royal pour les intégrations avec la stack Microsoft dont Azure. Même si de nos jours on passe par de la conteneurisation linux et du openshift si on veut s'affranchir du cloud Azure. C'est un écosystème peut être plus fermé mais très robuste pour les entreprises. C# tu le retrouves dans pratiquement toutes les boites du CAC40 pour ne citer que celles-ci. Ce qui m'étonne dans le si faible apprentissage du framework .NET

Ahiii ton deuxième paragraphe c'est du chinois pour moi mon khey, j'ai jamais mit ne serait ce que le bout de mon pied a tout ce qui touche au cloud, mais du coup c'est quoi l'argument de l'utilisation de C# par rapport a du Js ou du python du coup ? T'as un cold start plus rapide ou ce genre de choses ?

OP
LE

lesmodoabusent

il y a 7 mois

Si ça se fait sans problème si t'as de bonnes relations. Eux ils y gagnent ils n'ont plus aucune charge à payer pour toi.
Par contre t'as pas le droit de leur piquer leurs clients, ils te font signer des papiers pour s'en assurer. Mais c'est limite en temps. Un an après tu fais ce que tu veux et tu peux bosser en direct avec un client de l'ESN sans qu'ils puissent rien faire
Mais ça veut aussi dire plus de CDI et ils peuvent te virer quand ils veulent entre deux contrats. Faut bien réfléchir à ça aussi

Oui mais bon mon client n'as jamais voulu se séparer de mon et ce sont des projets a long terme, même pendant le covid ils m'ont pas viré car ils avaient peur que je sois bouqué dans une autre mission et que je reviennent pas, du coup si je peut rester chez ce client la j'imagine que ça peut le faire mais je suis obligé de passer par mon ESN, si je quitte la boite comme t'as dit j'aurais pas le droit de leurs voler le client pendant 1 ans

JV

JVChiottard

il y a 7 mois

C# est clairement plus agréable mais ça reste un langage lourd. La syntaxe est bien plus vaste, permet des trucs bien sympa, mais tolère aussi des concepts discutables voire obscures surtout pour de l'orienté objet et dans lesquels on peut se perdre.

Les yield return, les in/out qui me rappellent les procédures en ADA https://image.noelshack.com/fichiers/2020/47/4/1605746723-ronaldotrianglel.png

Les méthodes d'extension, les surcharges d'opérateur sortis de C++, l'injection de dépendances rendu un jeu d'enfant depuis .NET Core, l'incroyable facilité de créer son système d'annotations via une simple classe à hériter https://image.noelshack.com/fichiers/2024/01/7/1704633613-citrouillearrogantederevenant.png

T'as assez bien résumé la chose, les in out sont obsolètes et redondants avec la notion de référence. J'ai pas de problème avec les coroutines mais par contre le truc dégueulasse apparaît des que tu commences à écrire du code async. T'as le même genre de merde qu'en JS où il faut écrire des fonctions anonymes immédiatement appelées, sauf que la ça fout la merde parce que les constructeurs sont pas encore appelés. Les constructeurs sont synchrones alors que les events sont asynchrones, il y'a des delegates dans tous les sens, des promesses, cest rapidement le bordel. Même chose pour les propriétés avec des get et set au comportement asynchrone
Les record servent un peu à rien aussi de mon point de vue

OP
LE

lesmodoabusent

il y a 7 mois

C# est clairement plus agréable mais ça reste un langage lourd. La syntaxe est bien plus vaste, permet des trucs bien sympa, mais tolère aussi des concepts discutables voire obscures surtout pour de l'orienté objet et dans lesquels on peut se perdre.

Les yield return, les in/out qui me rappellent les procédures en ADA https://image.noelshack.com/fichiers/2020/47/4/1605746723-ronaldotrianglel.png

Les méthodes d'extension, les surcharges d'opérateur sortis de C++, l'injection de dépendances rendu un jeu d'enfant depuis .NET Core, l'incroyable facilité de créer son système d'annotations via une simple classe à hériter https://image.noelshack.com/fichiers/2024/01/7/1704633613-citrouillearrogantederevenant.png

Est est-ce que le tooling autour de C# et confortable a utiliser ou on est conseillé d'utiliser leurs éditeurs pour compiler et programmer, en gros ce que je veux savoir c'est est ce qu'ils ont un tooling comme les languages modernes genre Rust ou Go ?

LA

lachanceoumoi

il y a 7 mois

Franchement l'auteur je te conseille de te spécialiser dans le devops, une certification comme aws certified devops engineer professinal + certified kubernetes application déveloper = combo très recherché en entreprise. Les entreprises se tuent pour trouver se genre de profil. Si tu maîtrises déjà python, bash, JSON, YAML, c'est déjà un très bon début , généralement les dev soft qui veut se spécialiser font ça car actuellement ils sont en manque totale de devops qualifié

JV

JVChiottard

il y a 7 mois

Est est-ce que le tooling autour de C# et confortable a utiliser ou on est conseillé d'utiliser leurs éditeurs pour compiler et programmer, en gros ce que je veux savoir c'est est ce qu'ils ont un tooling comme les languages modernes genre Rust ou Go ?

Non y'a pas de cargo pour C#
Mais contrairement à rust tu as accès directement et sans trop d'imports à d'excellentes librairies pour l'interface graphique. T'es littéralement un éditeur visuel/xml qui font que t'as presque 0 code event à écrire pour la plupart des boutons.
L'avantage de rust c'est que c'est compilé mais communauté cancer, ils sont horribles ces gauchos et les docs sont pas ouf à part les crates célèbres comme serde, anyhow, error, reqwest,... Si t'as un peu dxp en c++ Rust ne pose absolument aucune difficulté ça passe comme une lettre à la poste.

B5

Bloblomv57

il y a 7 mois

T'as assez bien résumé la chose, les in out sont obsolètes et redondants avec la notion de référence. J'ai pas de problème avec les coroutines mais par contre le truc dégueulasse apparaît des que tu commences à écrire du code async. T'as le même genre de merde qu'en JS où il faut écrire des fonctions anonymes immédiatement appelées, sauf que la ça fout la merde parce que les constructeurs sont pas encore appelés. Les constructeurs sont synchrones alors que les events sont asynchrones, il y'a des delegates dans tous les sens, des promesses, cest rapidement le bordel. Même chose pour les propriétés avec des get et set au comportement asynchrone
Les record servent un peu à rien aussi de mon point de vue

Les record c'est pour copier java je pense, sauf si C# les avait avant Java je me souviens plus.
C'est utilisé pour faire des classes modèle n'intégrant aucune logique.

Au lieu de t'emmerder à peupler les champs de la classe à la main ligne par ligne, tu te contentes de les mettre en paramètre de constructeur, derrière ça te créer une vraie classe avec les get/set

On pourrait aussi parler des top level statement comme en JS et désormais en Java, et qui au final ne sont rien d'autre que des classes anonymes

OP
LE

lesmodoabusent

il y a 7 mois

Non y'a pas de cargo pour C#
Mais contrairement à rust tu as accès directement et sans trop d'imports à d'excellentes librairies pour l'interface graphique. T'es littéralement un éditeur visuel/xml qui font que t'as presque 0 code event à écrire pour la plupart des boutons.
L'avantage de rust c'est que c'est compilé mais communauté cancer, ils sont horribles ces gauchos. Si t'as un peu dxp en c++ Rust ne pose absolument aucune difficulté ça passe comme une lettre à la poste.

Oui justement j'ai du faire un projet en Rust dans la boite pour qui je bosse c'était un POC pour voir en gros les avantages de Rust, mais quand même je trouve que même si tu passes de C++ a Rust il y a plein de nouvelles choses a maitriser programmer en Rust ça va encore, mais bien programmer en Rust ça demandes beaucoup de temps je pense

Et oui donc du coup en fait C# est vraiment un concurrent direct de Java et Kotlin du coup je vais de regarder le .net MAUI, ça a l'air vraiment pas mal .net, et la documentation a l'air excellente chez Microsoft

B5

Bloblomv57

il y a 7 mois


Franchement l'auteur je te conseille de te spécialiser dans le devops, une certification comme aws certified devops engineer professinal + certified kubernetes application déveloper = combo très recherché en entreprise. Les entreprises se tuent pour trouver se genre de profil. Si tu maîtrises déjà python, bash, JSON, YAML, c'est déjà un très bon début , généralement les dev soft qui veut se spécialiser font ça car actuellement ils sont en manque totale de devops qualifié

Jamais compris ce qu'il y avait à maitriser en JSON/YAML

YAML c'est JSON sauf qu'on utilise l'indentation à la python pour découper les blocs au lieu d'accolades https://image.noelshack.com/fichiers/2021/35/3/1630497570-51ne3g7b.png

JV

JVChiottard

il y a 7 mois

Oui mais les record sont immutables c'est chiant quand tu veux juste un objet générique mutable, comme un let x = {"machin": truc } en JS

Y'a plein emmerdes que ça implique à cause de readonly, ou du fait que tout soit passé par copie du coup, et pas par référence.

L'autre truc de merde comme en Java c'est les wrappers pour les primitives

OP
LE

lesmodoabusent

il y a 7 mois


Franchement l'auteur je te conseille de te spécialiser dans le devops, une certification comme aws certified devops engineer professinal + certified kubernetes application déveloper = combo très recherché en entreprise. Les entreprises se tuent pour trouver se genre de profil. Si tu maîtrises déjà python, bash, JSON, YAML, c'est déjà un très bon début , généralement les dev soft qui veut se spécialiser font ça car actuellement ils sont en manque totale de devops qualifié

je pensais que la boucle des devops était terminé, du coup c'est quoi le métier d'un devops, je fais du python, bash assez souvent JSON et YAML c'est juste des format de fichier rien de bien compliqué, mais un devops il fait quoi concrètement ?

A1

ask12b1

il y a 7 mois

un datasheet de 700 pages ayyyaoooo

OP
LE

lesmodoabusent

il y a 7 mois


Oui mais les record sont immutables c'est chiant quand tu veux juste un objet générique mutable, comme un let x = {"machin": truc } en JS

Y'a plein emmerdes que ça implique à cause de readonly, ou du fait que tout soit passé par copie du coup, et pas par référence.

L'autre truc de merde comme en Java c'est les wrappers pour les primitives

C'est quoi le problème avec les wrappers de primitives du coup ? C'est peut être une question bête mais ça fait des années que j'ai plus touché a du Java ou C#

RF

RiotForge4

il y a 7 mois

Tu as raison khey c'est comme ça qu'on se rend indispensable dans une entreprise et qu'on peut négocier son salaire à la hausse, faut que tu sois le seul capable de faire ce que tu fais.

OP
LE

lesmodoabusent

il y a 7 mois


un datasheet de 700 pages ayyyaoooo

En gros il y a deux documents, un document qui décrit le hardware et l'autre document c'est pas vraiment une datasheet mais un doc qui décrit d'autres trucs mais je l'ai pas lu encore celui la

B5

Bloblomv57

il y a 7 mois

Oui justement j'ai du faire un projet en Rust dans la boite pour qui je bosse c'était un POC pour voir en gros les avantages de Rust, mais quand même je trouve que même si tu passes de C++ a Rust il y a plein de nouvelles choses a maitriser programmer en Rust ça va encore, mais bien programmer en Rust ça demandes beaucoup de temps je pense

Et oui donc du coup en fait C# est vraiment un concurrent direct de Java et Kotlin du coup je vais de regarder le .net MAUI, ça a l'air vraiment pas mal .net, et la documentation a l'air excellente chez Microsoft

Oui la doc Microsoft est introllable et si t'as des doutes le code du framework est open source

https://github.com/dotnet

OP
LE

lesmodoabusent

il y a 7 mois


Tu as raison khey c'est comme ça qu'on se rend indispensable dans une entreprise et qu'on peut négocier son salaire à la hausse, faut que tu sois le seul capable de faire ce que tu fais.

Soit je suis le seul a m'y connaitre sur le sujet et j'ai l'impression que les autres ont un peu peut de toucher justement a ce genre de chose, donc si j'arrive a les prendre par les couilles peut-être que je pourrais bien négocier une hausse de salaire et monter jusqu'à 50k j'èspère un jour

JV

JVChiottard

il y a 7 mois

Oui justement j'ai du faire un projet en Rust dans la boite pour qui je bosse c'était un POC pour voir en gros les avantages de Rust, mais quand même je trouve que même si tu passes de C++ a Rust il y a plein de nouvelles choses a maitriser programmer en Rust ça va encore, mais bien programmer en Rust ça demandes beaucoup de temps je pense

Et oui donc du coup en fait C# est vraiment un concurrent direct de Java et Kotlin du coup je vais de regarder le .net MAUI, ça a l'air vraiment pas mal .net, et la documentation a l'air excellente chez Microsoft

Ben il faut juste réfléchir à ton borrow checker et aux propriétés send et sync, et pour surcharger les operateurs c'est un peu chiant il faut une macro pour faire tous les types primitifs d'un coup parfois, et du coup il y a aussi des lifetime dans les implemetations de traits sur des références. C'est des petits trucs qui rajoutent du boilerplate et sélectionnent les low IQ mais ça va.
Les const generics sont récents et assez approximatifs et ça peut être frustrant de devoir Pin du code et on se tape parfois des horreurs comme des refcell imbriqués simplement pour ne pas avoir à écrire de unsafe {}
Faut de bonnes capacités d'abstraction quoi, mais c'est pas plus compliqués que les templates concepts de c++ et savoir ce qui différencie une xvalue d'une lvalue

LA

lachanceoumoi

il y a 7 mois

je pensais que la boucle des devops était terminé, du coup c'est quoi le métier d'un devops, je fais du python, bash assez souvent JSON et YAML c'est juste des format de fichier rien de bien compliqué, mais un devops il fait quoi concrètement ?

Tu vas faire de l'automatisation des déploiements, gestion des pipelines, intégrer des outils de surveillance et journalistion, gérer l'environnement aws ou Microsoft, Google. Ensuite faut gérer des clusters kubernetes pour orchestrer des conteneur, et assurer la scabilité des applications. Faut maîtriser des outils comme cloudformation, terraform, prometheus, cloudwatch.

A1

ask12b1

il y a 7 mois

En gros il y a deux documents, un document qui décrit le hardware et l'autre document c'est pas vraiment une datasheet mais un doc qui décrit d'autres trucs mais je l'ai pas lu encore celui la

utilise chatgpt pour te faire un résumé

B5

Bloblomv57

il y a 7 mois


Oui mais les record sont immutables c'est chiant quand tu veux juste un objet générique mutable, comme un let x = {"machin": truc } en JS

Y'a plein emmerdes que ça implique à cause de readonly, ou du fait que tout soit passé par copie du coup, et pas par référence.

L'autre truc de merde comme en Java c'est les wrappers pour les primitives

C# utilise des structures pour les primitives, pas des wrappers, donc ce ne sont pas véritablement des classes.
D'ailleurs la CLR va mettre tes primitives dans la pile, pas dans le tas, contrairement à la JRE qui les traitera comme des objets.

Et non, Int32 n'est pas un wrapper, c'est un alias pour int https://image.noelshack.com/fichiers/2022/01/3/1641393057-ahi-main.png

De toute manière tu le vois si t'as des génériques avec comme contrainte que T : class, ça impose le passage de types référençable, ce qui exclut les primitives en C#

OP
LE

lesmodoabusent

il y a 7 mois

Ben il faut juste réfléchir à ton borrow checker et aux propriétés send et sync, et pour surcharger les operateurs c'est un peu chiant il faut une macro pour faire tous les types primitifs d'un coup parfois, et du coup il y a aussi des lifetime dans les implemetations de traits sur des références. C'est des petits trucs qui rajoutent du boilerplate et sélectionnent les low IQ mais ça va.
Les const generics sont récents et assez approximatifs et ça peut être frustrant de devoir Pin du code et on se tape parfois des horreurs comme des refcell imbriqués simplement pour ne pas avoir à écrire de unsafe {}
Faut de bonnes capacités d'abstraction quoi, mais c'est pas plus compliqués que les templates concepts de c++ et savoir ce qui différencie une xvalue d'une lvalue

Oui voila bordelent t'as l'air de bien connaitre Rust mon khey, mais ouai tout ça pour dire que même si t'as fait du C++, faut pas que tu utilises la même technique de programmation en C++ qu'en Rust, genre si un mec bataille trop pour avec le compilateur, au lieu de comprendre pourquoi ça marche pas, de mettre un Unsafe direct pour que les choses passent , mais ouai Rust c'est pas un langage de no brainer, et j'aime bien le délire de la programmation asynchrone avec Tokio en Rust, vu que je fais souvent de la programmation orienté réseau en C++, on fait des trucs horrible en C++ alors qu'en Rust c'est beaucoup plus simple mais bon après on peut pas utiliser les langages qu'on veut dans des projets qui ont des années

JV

JVChiottard

il y a 7 mois

C'est quoi le problème avec les wrappers de primitives du coup ? C'est peut être une question bête mais ça fait des années que j'ai plus touché a du Java ou C#

Il y a des unwrapping automatiques dans certains cas mais des fois tu te tapes des erreurs ou bien tu ne sais jamais si ce que tu cherches est à appeler sur un objet string directement ou statiquement sur String.
Quand tu décides de changer ton algo parce que tu as changé d'idée, il faut se retaper tout le code pour fixer les erreurs.
Dans le même genre il y a les classes numériques de Haskell qui sont cauchemardesques. Num, Real, RealFrac, Fractional, Int, Integer, Float, ...
C'est une merde pas possible il faut composer ou précomposer sinon ghc gueule

OP
LE

lesmodoabusent

il y a 7 mois

Tu vas faire de l'automatisation des déploiements, gestion des pipelines, intégrer des outils de surveillance et journalistion, gérer l'environnement aws ou Microsoft, Google. Ensuite faut gérer des clusters kubernetes pour orchestrer des conteneur, et assurer la scabilité des applications. Faut maîtriser des outils comme cloudformation, terraform, prometheus, cloudwatch.

Ok en fait un dev ops c'est un peu une sorte d'admin sys du coup non ?

B5

Bloblomv57

il y a 7 mois

Après string c'est l'exception puisque c'est vraiment une classe derrière, c'est un conteneur de tableau de caractère, grosso merdo la même implémentation que partout

OP
LE

lesmodoabusent

il y a 7 mois

utilise chatgpt pour te faire un résumé

Non je peux pas il y a des gros trucs écris en rouges sur le documents

OP
LE

lesmodoabusent

il y a 7 mois

Il y a des unwrapping automatiques dans certains cas mais des fois tu te tapes des erreurs ou bien tu ne sais jamais si ce que tu cherches est à appeler sur un objet string directement ou statiquement sur String.
Quand tu décides de changer ton algo parce que tu as changé d'idée, il faut se retaper tout le code pour fixer les erreurs.
Dans le même genre il y a les classes numériques de Haskell qui sont cauchemardesques. Num, Real, RealFrac, Fractional, Int, Integer, Float, ...
C'est une merde pas possible il faut composer ou précomposer sinon ghc gueule

Ahh ok je vois le trucs mais de base faut pas toujours utiliser les type primitif ? Qu'est ce qu'ajoutent les types wrappé du coup ?

JV

JVChiottard

il y a 7 mois

C# utilise des structures pour les primitives, pas des wrappers, donc ce ne sont pas véritablement des classes.
D'ailleurs la CLR va mettre tes primitives dans la pile, pas dans le tas, contrairement à la JRE qui les traitera comme des objets.

Et non, Int32 n'est pas un wrapper, c'est un alias pour int https://image.noelshack.com/fichiers/2022/01/3/1641393057-ahi-main.png

De toute manière tu le vois si t'as des génériques avec comme contrainte que T : class, ça impose le passage de types référençable, ce qui exclut les primitives en C#

Oui justement c'est tout le problème
Même jusque dans les templates ils ont incrusté cette corvée de différencier les struct et les class pour savoir si c'est efficient et si ça match les contraintes
Le garbage collector est malin mais il faut savoir utiliser un finalizer et la aussi c'est beaucoup plus complexe qu'un destructeur ou un Drop à l'usage bien que techniquement nécessaire. Et dangereux à cause d'éventuels double free
C# est loin d'être parfait c'est clair, mais par rapport à Java ça vaut le coup de faire l'effort

LA

lachanceoumoi

il y a 7 mois

Ok en fait un dev ops c'est un peu une sorte d'admin sys du coup non ?

Bah un sys/admin c'est 80% du temps gestion des infrastructures et 20% de l'automatisation alors que un devops travaille à écrire des scripts d'automatisation, gérer les infrastructures cloud, et travailler avec les conteneur, et travailler avec les équipes de développement. On va dire c'est la version évoluer d'un sys/admin avec plus de responsabilité tout en bossant sur de nouvelles technos

JV

JVChiottard

il y a 7 mois

Oui voila bordelent t'as l'air de bien connaitre Rust mon khey, mais ouai tout ça pour dire que même si t'as fait du C++, faut pas que tu utilises la même technique de programmation en C++ qu'en Rust, genre si un mec bataille trop pour avec le compilateur, au lieu de comprendre pourquoi ça marche pas, de mettre un Unsafe direct pour que les choses passent , mais ouai Rust c'est pas un langage de no brainer, et j'aime bien le délire de la programmation asynchrone avec Tokio en Rust, vu que je fais souvent de la programmation orienté réseau en C++, on fait des trucs horrible en C++ alors qu'en Rust c'est beaucoup plus simple mais bon après on peut pas utiliser les langages qu'on veut dans des projets qui ont des années

Pas toujours le choix effectivement. On ne trouve que des projets de crypto à la con qui paient bien en rust...
Rust a plein d'autres petits soucis comme le fait que les try blocks mettent du temps à venir ça fait des années qu'on attend. Et les hashmap entry pour pas rendre zinzin le borrow checker alors que ce que tu fais est simple en réalité.
Ils sont trop lents les gens, il aura fallu du temps pour avoir des let else et LazyStatic. Même les NonZero c'est tout récent
Ce qui est chiant en Rust c'est les impl en type de sortie, qui rendent difficiles à fractionner les codes portent sur des iterateurs.
Iterateurs défaillants par ailleurs quand tu veux modifier un iterable au fur et à mesure. T'es obligé en gros de récrire les for pour les remplacer par des loop et mettre des scope manuels pour les & mut