technos cloud, rust.. Quid d'apprendre le C aujourd'hui?

technos cloud, rust.. Quid d'apprendre le C aujourd'hui? - C - Programmation

Marsh Posté le 16-08-2024 à 20:24:00    

Bonjour,
 
je m'interroge sur un apprentissage du développement de programmes informatiques
j'utilise linux et unix depuis quelques années, et windows aussi.
 
pour moi, au vu de la réputation qui n'est plus à faire, et de la rigueur nécessaire, je pense que le C est un très bon choix.
j'ai trouvé une chaine internet, mais je vois un peu tous les jours différents avis et astuces par rapport à leur apprentissage.
 
cependant, deux bémols :
1-par rapport au Rust, est ce que le C/C++ sont toujours défendables? je pense que oui, mais le futur retraité Joe Biden avait carrément imposé à l'administration US de passer au Rust pour des raisons de sécurité… est ce que le Rust joue dans la même cour au point d'être un nouveau messie, ou est ce mélanger les torchons et les serviettes?
 
par rapport au C++, j'ai souvent entendu des devs C se plaindre de la syntaxe (du ++).. mais j'imagine que si
le C++ est autant utilisé, c'est qu'il est nécessaire à la plupart des interfaces graphiques?
 
au vu de la tendance actuelle des langages demandés (python, java, technos cloud, etc), à part dans l'embarqué, est ce que le C reste porteur sur le marché du travail? personnellement je le trouve très appréciable en quelques jours mais j'imagine qu'il faut plusieurs années pour être à la hauteur,
 
est ce qu'il est préférable de faire une formation payante, ou de favoriser l'autodidaxie, via les ressources en ligne, tutos, pdf, vidéos..?
 
merci bcp de vos réponses :)
 
ressources que j'ai estimées intéressantes :
cours de FormationVidéo : https://www.youtube.com/watch?v=kKeGTDyvi1o
mooc de harvard : https://cs50.harvard.edu/x/2023/
SdZ: https://zestedesavoir.com/tutoriels [...] c-moderne/
https://informaticienzero.github.io [...] son-temps/
 
https://en.wikipedia.org/wiki/CS50
 
n'hésitez pas à me faire part de vos avis, expériences, encouragements ou même découragements.. :)

Reply

Marsh Posté le 16-08-2024 à 20:24:00   

Reply

Marsh Posté le 18-08-2024 à 16:21:18    

C et C++ sont pour ainsi dire deux langages différents. Donc le fait que ta question mélange les deux tout en ne mentionnant rien d'autre est plutôt inquiétant...
En simplifiant un peu, le C "simple" sera très axé industriel / développement temps réel ou embarqué : 0 interface, programmes très spécialisés. Ca ne représente qu'une très faible portion des besoins en développement, donc si tu choisis le C/C++ pour couvrir un large spectre du marché, c'est un mauvais départ.

 

Toi tu veux faire quoi ? Quel genre de programmes, dans quel contexte professionnel (ou même non professionnel d'ailleurs) ? Quelle formation as-tu ?

Message cité 1 fois
Message édité par TotalRecall le 18-08-2024 à 16:22:03

---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 18-08-2024 à 17:18:03    

Et je rajouterais que c'est un débat éternel et récurrent ce genre de topic... Certains diront que le C c'est la vie (ou quelque chose comme ça), d'autres vont se montrer "fanboys" de Rust, d'autres diront que le Python fait tout et le café, bref... Comme le dit TR, tout dépend de ce qu'on veut faire précisément. Perso je fais du dev µC / embarqué toussa, donc C voir assembleur.

Reply

Marsh Posté le 20-08-2024 à 22:30:54    

TotalRecall a écrit :

Toi tu veux faire quoi ? Quel genre de programmes, dans quel contexte professionnel (ou même non professionnel d'ailleurs) ? Quelle formation as-tu ?

Voila, il a tout dit.
J'ai fait de manière professionnelle du Pascal, du C, du C++ (un peu), et actuellement je fais du java tout en lorgnant sur le kotlin, qui vient d'être employé par un dev de mon équipe (et je ne parle pas des langages annexes, Perl, SQL, xsl, xquery [ces deux derniers sont la base de ma spécialisation, mais c'est une niche]). J'ai bossé sur des programmes monolithiques gérant même la composition et l'affichage, sous windows et motif, et la je bosse sur du client/serveur springboot déployé dans un environnement AWS+docker. Donc j'ai un certain recul. Et je serais bien en peine de te conseiller un langage. Tout dépend de ce que tu veux faire, et selon ton but, tel ou tel langage sera plus adapté.
La grosso modo, c'est comme si tu nous disais je veux peindre, faut-il que je commence par la technique de la gouache, de l'huile sur toile, ou de l'aquarelle sur papier buvard ? On ne pourrais que te répondre "Ça dépend de ce que tu veux peindre".
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 23-08-2024 à 18:21:14    

Je me demande si merkavoc va revenir et répondre à nos questions ou si il voulait juste déverser un tas de liens et partir à jamais...

Reply

Marsh Posté le 01-09-2024 à 21:11:19    

Je ne code pas, je n'y connais rien (et je ne touche pas à ces diableries pour l'instant, tant que je ne sais pas dans quoi je vais m'engager), mais:
 
j'entends dire que les gouvernements de la planète poussent de plus en plus pour une régulation des langages informatiques, afin de maintenir la sécurité d'internet, des gros logiciels institutionnels et des gros logiciels populaires: 70% des failles de sécurité proviennent d'une mauvais gestion de la mémoire dans le code du langage C.
Personne n'a envie d'un scénario de crash du vieux internet (le DataKrash) comme dans Cyberpunk 2020. Ce serait l'équivalent de ne plus avoir d'électricité sur la planète, ou d'une bombe nucléaire IEM.
 
J'en déduis donc (mais n'hésitez pas à me corriger), qu'on devrait voir l'émergence de:
 
- 2 internets dans quelques décennies: un internet sécurisé pour les institutionnels, les sites des institutionnels, les grosses entreprises: et là le langage Rust dominerait, grâce a son design particulier de sécurité dans la gestion de la mémoire (borrow checker, runtime access check), et en tant que remplaçant de C++ (bas niveau, orienté objet, performances).  
Mais donc, seul le Rust par défaut serait autorisé: borrow checker activé, donc pas de code unsafe.  
Et restera pour longtemps le problème de cargo: pas de gestion de librairies dynamiques autorisées (problème d'ELF, et des ABI). Ce qui ferait de Rust un langage "institutionnel", un langage avec peu de communauté autour (trop rigide, pas assez de liberté dans l'import de librairies d'autres langages, syntaxe complexe).  
 
- La profession de codeur deviendrait règlementée. Les logiciels autorisés dans l'internet "institutionnel" seraient réglementés.
 
- Le deuxième internet serait celui des "particuliers", peu sécurisé, avec plein de langages informatiques utilisés, des logiciels moins sécurisé, des langages ayant plus de popularité et donc une plus grosse communauté. Exemple: Le kernel des ordinateurs des particuliers serait truffé de code obscur de logiciels anti-triche de jeu vidéo/ de logiciels de surveillance du son/ des images, etc.
 
 
C'est pour ça que, de ce que j'en ai vu, je préfèrerais Python pour l'instant: syntaxe simple, sécurisé comme le veulent les gouvernements (grâce à la gestion automatisée de la mémoire par Python via le GIL), grosse commu, pleins de librairies, originaire du langage C donc compatible avec, flexible dans les applications possibles. Donc pour quelqu'un qui ne va pas coder 100% du temps, ça serait le langage idéal.  
J'ai l'impression que Python va devenir la glue entre tous les langages de programmation.  
Reste le problème des performances (dont le multithreading, mais Python 3.13 devrait donner la possibilité de se passer du GIL pour faire du multithreading, tout en gardant une sécurité mémoire au niveau des objets eux-même (?)).
 
J'ai aussi entendu parler de Julia et de Elixir, pour leur performance, mais on dirait des langages spécialisés pour le domaine des sciences seulement, avec moins de commu (?).
 
 
 
 
 
 
 
 

Reply

Marsh Posté le 05-09-2024 à 22:09:26    

https://loglog.games/blog/leaving-rust-gamedev/
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 07-09-2024 à 17:02:34    

C'est toujours intéressant d'apprendre le C.
 
Tu peux fermer le topic :jap:


---------------
Always wear a camera!
Reply

Marsh Posté le 08-09-2024 à 23:15:07    

Le bon vieux C est toujours de la partie, et le shell !  :)  
https://www.zdnet.fr/actualites/voi [...] 396634.htm

Reply

Marsh Posté le 09-09-2024 à 07:44:40    

C'est un langage intemporel, il sera encore là dans des décennies, surtout si on prend le langage au sens large (variantes pour microcontrôleurs, etc), peut être même en maintenance d'antiquités dans 100 ans si on ne s'annihile pas avant.
La question à se poser c'est pas de savoir si on en croisera encore longtemps, mais si c'est un choix pertinent/attrayant pour exercer dans l'informatique en fonction des objectifs de l'auteur. Pas sûr que devenir contributeur au kernel Linux soit le rêve de tout le monde par exemple :o.

 

Mais comme ce cher rat de combat l'a fait remarquer, on ne saura probablement jamais...


Message édité par TotalRecall le 09-09-2024 à 07:48:41

---------------
Topic .Net - C# @ Prog
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed