Se connecter

Informatique

Programmation

Sujet : Apprendre le rust à la place du c++
1
SoPro
Niveau 10
05 juin 2020 à 16:14:43

Alors tout d'abord le contexte: je dev uniquement comme hobby, avec pourquoi pas l'objectif de créer des choses utiles et sans contredire la possibilité d'une utilisation commerciale. Actuellement je fais à 100% du java

J'ai pas mal été limité par le langage et le bordel que c'est de faire ses propres bindings JNI (vraiment horrible), j'ai donc voulu apprendre le c/c++, malgré le fait que je suis capable de lire une documentation, comprendre des codes d'exemples etc... Je n'ai pas les automatismes que j'ai en Java qui me permettrait d'exploiter mes connaissances (+ lire certains codes en c++ me font vraiment mal à la tête, c'est juste moche), au contraire du peu que j'ai vu du rust le langage me semble beaucoup plus clean et simple à apprendre par rapport au ramassis de features qu'on retrouve en c++

Au final, est-ce que je peux complètement abandonner l'apprentissage du c++ (en partant du principe que je suis capable de lire du code fait avec, mais incapable d'en produire) et me concentrer sur le rust ? Est-ce que je risque d'encore rencontrer des limitations ?
Pour m'être renseigner un peu il parait que faire des bindings C est simple mais ceux en C++ compliqué, je pourrais quand même me débrouiller ? J'aimerais bien par exemple utiliser des libs de nvidia/amd pour de la manipulation vidéo et je ne trouve pas des bindings pour ces libs propriétaires en rust, je suppose que c'est donc quelque chose que j'aurais à faire de moi-même

thefearisback
Niveau 9
05 juin 2020 à 16:28:15

Le c++ peut faire peur quand on vient de Java, mais en tant qu'ancien programmeur C#, pour avoir essayer rust et c++, je préfère le c++, surtout pour la communauté et les libs bien plus abondantes.

SoPro
Niveau 10
05 juin 2020 à 16:35:08

Le 05 juin 2020 à 16:28:15 Thefearisback a écrit :
Le c++ peut faire peur quand on vient de Java, mais en tant qu'ancien programmeur C#, pour avoir essayer rust et c++, je préfère le c++, surtout pour la communauté et les libs bien plus abondantes.

Je ne dis pas ça après avoir regardé 20 minutes, ça fait plusieurs mois que je pense à faire un switch et même après être capable de lire n'importe quel doc de lib et comprendre le fonctionnement je suis toujours incapable de produire du code avec ce langage, après évidemment que c'est personnel mais ça ne change rien à mes préférences

Le problème est effectivement l'abondance des lib et c'est le problème que j'ai décrit car je sais que je ne peux pas juste ignorer le c++, la lecture n'est pas le problème mais je ne veux pas écrire la moindre ligne avec

godrik
Niveau 22
05 juin 2020 à 16:50:36

Si le but est d'etre versatile a travers plein de lib et de fonctionnalite bas niveau, ce qui est probablement le cas si tu compte faire du JNI. Alors C et C++ semblent etre les langages que tu veux. Les interfaces C++ n'ont pas forcement besoin d'etre differentes des interfaces C.
J'ai fait du JNI dans le temps. Si tu as une question precise, demande.

SoPro
Niveau 10
05 juin 2020 à 16:58:56

Le 05 juin 2020 à 16:50:36 godrik a écrit :
Si le but est d'etre versatile a travers plein de lib et de fonctionnalite bas niveau, ce qui est probablement le cas si tu compte faire du JNI. Alors C et C++ semblent etre les langages que tu veux. Les interfaces C++ n'ont pas forcement besoin d'etre differentes des interfaces C.
J'ai fait du JNI dans le temps. Si tu as une question precise, demande.

Il y a aussi une question de performance et de "logique", pour parler de mon objectif actuel ça serait de faire mon propre window manager & desktop environment, je ne pense pas que java soit le langage adapté de toute façon.

Puis comme j'ai cité au dessus les libs propriétaires NVIDIA/AMD, Java étant censé être un language "Write Once Run Anywhere" je ne suis pas fan d'avoir ce genre de bindings (même s'ils existent plusieurs bindings CUDA, on voit bien avec l'API qu'on essaye de contourner comme on peut les différences java/syntaxe mais je ne trouve pas ça fameux)

Donc au final en dehors de cracher ma haine sur JNI (sûrement injustifiée car je n'ai pas eu le courage de m'y lancer à fond) c'est aussi une envie de me lancer dans du plus bas niveau.

Tu as dit que le c/c++ semblent être les langages que je souhaite, ça veut dire que mon envie de ne pas avoir à en écrire n'est pas réalisable ?

godrik
Niveau 22
05 juin 2020 à 17:01:30

A la fin des comptes, java est "write once run anywhere" parceque il y a driver de bas niveau qui a ete ecrit pour tous les systemes.

SoPro
Niveau 10
05 juin 2020 à 17:04:47

Effectivement, mais c'est donc aussi une des raisons pour laquelle avoir des bindings pour des librairies propriétaires va à l'encontre de cette devise

godrik
Niveau 22
05 juin 2020 à 17:36:39

Une devise, c'est une devise. Les gens dans la vraie vie, ils veulent des trucs qui marchent. Apres, maintenir des bindings pour differente lib proprietaire, c'est chiant.

1
Sujet : Apprendre le rust à la place du c++
   Retour haut de page
Consulter la version web de cette page