Le code c'est la vie?!

Salut à vous

Peut-être un thread débile, mais je me lance. J’ai une requête un peu bizarre.

Y a peu j’ai commencé à suivre un MOOC sur la programmation en C. Puis un second pour perfectionner un peu le tout (merci openclassroom)

Le but de cet apprentissage était simplement de mourir moins bête.

Cependant, en discutant avec des potes ils m’ont dit que le C c’était un peu con à apprendre maintenant, et qu’il y avait des langages plus utiles…Ok, cool. Lesquels? Et là c’était le blanc. Aucune orientation vers un langage de programmation qui pourrait servir à l’avenir (même si pour le moment c’est de la curiosité, par la suite, j’ai des idées de programmes que je souhaiterai pouvoir créer moi-même, mais rien à voir avec Bill Gates ou Steve Jobs=) )

Par exemple, pour le boulot, j’aurai besoin de coder une sorte de calculatrice : Je rentre une somme, je rentre un nombre d’heures total, un nombre d’heures plus petit et ca me calcule le coût horaire, le reste à charge et ça me sort une phrase type que je définirai moi même. Cherchez pas l’utilité, c’est vraiment lié à une tâche répétitive de mon taf.
Le coder en C me semble simple et accessible

Par contre, pour mes collègues qui ont un niveau informatique qui frise le néant, utiliser un exécutable DOS les feraient fuir. Je souhaite donc que ce soit un peu plus esthétique (genre calculatrice windows)

Et c’est la que j’ai besoin de vos lumières : je peux utiliser/apprendre quel langage de programmation qui est accessible à un néophyte et qui peut être intéressant à connaitre?

J’ai du temps à perdre, et je pense que j’ai une capacité correcte à apprendre donc je suis prêt à me lancer dans n’importe quel langage, sous réserve que je trouve les tutoriaux adéquats…

Merci par avance pour vos retours !

Salut,

Je dirais ça à mon pote qui fait du C tous les jours pour son boulot :slight_smile: Plus sérieusement, et sans rentrer dans de grands débats, chaque langage a des forces et des faiblesses. L’avantage du C et du C++, c’est que ça va vite niveau calcul. Ce qui pour ton utilisation n’est pas forcément requis (parce que de ce que j’en comprends, tu vas faire deux divisions grand max).

Le plus souvent pour débuter on conseille Java ou Python, j’avoue que j’ai une préférence pour Python que je trouve plus simple à aborder. Pas besoin de compiler, pas besoin d’un IDE lourd (même si je te conseille l’excellent PyCharm), ça s’installe facilement et ça marche tout de suite.
Il y a un cours sur OC, qui contient à peu près toutes les bases et un chapitre d’introduction aux interfaces graphiques (ce qui devrait largement te suffire pour ta petite appli) ainsi qu’un chapitre pour exporter le programme en .exe pour le distribuer à tes collègues.

1 « J'aime »

sur ce point précis et en 1ère intention je dirais que n’importe quel tableur pourrait convenir pour ça.

On est tout à fait d’accord. Et je l’ai déjà fait.
Mais pour le coup, et sans raison aucune, je souhaite le développer dans le cadre d’un .exe.

Je sais, je sais, ca peut paraitre débile…

Merci pour vos retours en tout cas, je vais déjà creuser les premières pistes de @Xerto

Ça a toujours été une guerre sans fin le choix du langage. Tu auras autant d’avis que de personne interrogée.

Le tout étant de savoir ce que veut dire « servir à l’avenir », si c’est en milieu pro comme dit plus haut java, python et je rajouterais C#.

Si c’est pour « t’amuser », celui qui te plaît le plus, pour ma part je m’éclate avec le golang, mais ça ne me servira probablement jamais au boulot

Java c’est très bien, très répandu, puis ça permet aussi de développer sur Android. C# c’est pas mal du tout aussi, ce sera le sujet de ma prochaine étude je pense!

<3 <3 JetBrains (Intellij IDEA pour Java)

Gros +1 :slight_smile:

1 « J'aime »

Pour le boulot, honnêtement je sais pas si une reconversion si c’est jouable… Mais c’est sûre que passer la trentaine je pense qu’on est tous à réfléchir à une éventuelle réorientation pro et c’est un conseiller en évolution professionnelle qui vous le dit =D.

Je vais me pencher sur Java et Python. On verra bien si ca colle

Merci encore !

Autre personne, autre avis. :slight_smile:

Tu as commencé par le C et c’est tout à ton honneur, la plupart des néophytes n’ont pas ce courage.

Mon conseil : si le C te semble simple et accessible, continue d’explorer les possibilités de ce langage. Plus de 40 ans après sa création, il reste la base de quasiment tout ce qui se fait en programmation. Tout ce que tu apprendras en C te servira d’une manière ou d’une autre pour d’autres langages. Comme c’est un langage bas niveau, tu apprendras comment fonctionnent les rouages d’un programme et ça t’aidera à comprendre les orientations qu’ont pu prendre les langages qui l’ont suivi.

Comme ton but est d’apprendre, tu n’as pas d’exigences de délai ou de choix techniques. Choisir le C pour un nouveau projet n’est aujourd’hui pas le choix le plus pragmatique, ni le plus facile d’accès. Mais c’est ce qui permet de maîtriser au mieux tout ce qui se passe dans ton programme de bout en bout.

Quand tu en auras marre, tu pourras passer à d’autres outils, le choix dépendra du but recherché (rapidité de développement, plateformes cibles, contexte de travail, etc.).

Note que généralement l’étape suivante est le C++, je te conseille même de t’y mettre avant d’en avoir marre du C. :slight_smile:

2 « J'aime »

Le langage le plus utilisé actuellement c’est le JAVA.( index | TIOBE - The Software Quality Company )
Mais comme tu ne veux pas en faire ton boulot et que tu veux facilement faire des interfaces pour ton boulot sans prise de tête je te conseille plutôt le combo C# / Winforms ( https://openclassrooms.com/courses/apprenez-a-programmer-en-c-sur-net/les-winforms-ou-windows-forms )
Ca ne va pas trop de dépayser du C dans un premier temps, tu auras des résultats rapides et la possibilité de progresser dessus pendant des années :wink:

( et accessoirement tu pourras t’amuser à faire des jeux video sous Unity avec ce langage :stuck_out_tongue: )

Je ne juge pas, si tu veux développer un exe et que ça te motive, fonce :slight_smile:

Et sur les thèmes codage et réorientation pro, j’ai entendu dire lors d’une conf que quelques bonnes connaissances en programmation orienté IA et deep learning pouvait être un bon pari sur l’avenir :stuck_out_tongue:

Simple je ne dirais pas, je relis encore la partie sur les pointeurs, c’est dire… Mais en tout cas c’est intéressant.

Je vois que le débat est loin d’être simple et tranché ! =D

J’ai de quoi faire pour mes prochaines pause déj’

Pour commencer en douceur, si tu veux pas faire ton métier avec, que tu veux juste développer des petits programmes avec une interface facile a mettre en place, des boutons, champs texte… le C# c’est quand même super cool et assez simple a comprendre

Opinion personnelle sur les langages que je connais :

  • C/C++ : encore très très utilisé. Le C devient de plus en plus un langage « de niche » (embarqué, legacy) mais reste impressionnant. Problème : il est assez compliqué de faire une interface graphique avec (par rapport aux langages suivant)
  • Java/C# : langage agréable a utiliser, avec du gros support et des IDES surbourrins (les outils Jetbrains pour les deux langage, Visual Studio pour le C#). Java étant plus vieux, il a je trouve un ecosystème plus fourni et mature. Mais bon, la différence est vraiment pas flagrante. Les deux langages te permettent de faire facilement une interface graphique via un IDE (plus facile pour C# je trouve. Et Awt/swing sont a eviter en Java maintenant que JavaFx est relativement mature)
  • Javascript : Langage de merde. Une catastrophe de design. A tel point que de moins en moins de personnes l’utilise tel quel (on a tendance a préférer coder dans un autre langage et compiler en javascript). MAIS il reste indispensable pour ce qui est développement Front End web. Et c’est un secteur qui est en train d’exploser. Et ça me fait chier. Mais c’est comme ça. A noter que sons ecosystème est bourré de gens brillant qui font des choses merveilleuses (en dépit du langage, pas grace à lui) mais ce même ecosystème reste encore très immature (beaucoup d’outils, de solutions, de framework, qui peuvent disparaître très rapidement. Remember Angular)
  • Python : Langage agréable et extrêmement mature (il est sorti avant Java, quand même), son écosystème est posé et mature mais très actif. Depuis la sorti de PyCharm, il a même son IDE de tueur. Ce serait le langage parfait s’il était plus utilisé :stuck_out_tongue: Attention : aucun interet de developper en version 2.X. Attaque directement la version 3. A noter que faire une interface graphique « de base » avec Tkinter (librairie disponible) est très rapide. Ca sera moche et directement sorti du début des années 90 mais ça sera rapide à faire.
2 « J'aime »

Alors là clairement. Et pourtant à la base je fais du Java, mais Visual Studio, c’est juste surpuissant :slight_smile:

Tout ou presque a été dit. GG d’avoir commencé par le C. C’est con, mais c’est la base, et une bonne base.
Pour aller vite apres, faut aller direct sur des trucs haut niveau, genre C# (bien), Java (bof), Python (mouais), etc.
Du reste, si tu t’eclates en C, il y a aussi des trucs pour faire des interfaces en C, mais bon, faut aimer le style des années 90 :stuck_out_tongue:

Salut JasperSto, perso, je ne jure que par Java : D Mais ca dépend aussi où tu te sens le plus à l’aise.

J’ai trouvé un article qui recense les langages de programmation, je ne sais pas si ca t’intéresse :slight_smile: : Apprendre les bases de la programmation

l’article te donne aussi quelques plateformes en plus d’Open Classrooms pour approfondir tes connaissances de code.

Bonne chance !

En tant que reconverti au dev web, je conseillerais bien le C# vu que c’est ce que j’utilise et que je trouve ça finalement assez simple aussi bien au niveau syntaxe que logique. Je trouve que le package tout en un qu’offre Visual Studio est très agréable pour un néophyte, en plus d’être gratuit et de ne plus prendre six heures à s’installer (merci VS 2017).

Par contre évite le winform qui est plus trop utilise, part direct sur le WPF ou l’ UWP si tu veux du mobile. Avec Xamarin Forms tu peux même convertir tes projets simples en app mobiles si tu veux t’amuser.

Mes deux centimes :

Aujourd’hui en enseignement (fac, école d’info) les étudiants apprennent le C (très proche de la machine, très peu d’abstraction). Mais c’est rarement le premier langage abordé sauf dans les cursus très techniques. C’est le langage casse-gueule par excellence, qui ne pardonne rien. Si tu t’y colles et que tu surmontes la difficulté du C, dis-toi que tu as déjà réussi quelque chose de pas facile.

Maintenant le C niveau « usage pratique » c’est proche de zéro (hors usage très technique). Dis-toi que si tu veux te faire plaisir il faudra aller chercher un autre langage. Et là plusieurs voies existent :

  • si tu aimes ce qui est graphique, faire des jeux, il vaut mieux aller sur C# (jeux), JavaScript (Web), ou Java (applications mobiles Android)

  • si tu veux traiter des données, faire des calculs, alors tu peux regarder les bases de données (SQL notamment, qui va ressembler à ce que tu fais avec un tableur mais en « mieux ») ou la programmation orientée statistiques ®

  • enfin si tu es plus généraliste, alors Java ou Python feront l’affaire (ce qui est un bon choix pour débuter comme l’ont dit les​ autres)

A la fin tu vas te rendre compte que tu as besoin des trois de toute façon pour faire quelque chose de complet : un moteur (langage généraliste), des données à stocker (base de données) et une interface sympa pour tes utilisateurs (page web, application mobile, …). Tu choisis ce que fais en fonction de ce qui te plaît ! Et si tu es seul tu fais tout :slight_smile:

Bon toutes ces réponses m’éclairent bien !

Je vais poursuivre mes cours en C car le technique m’intéresse (industrie etc.)
Et je vais me pencher sur le C# et surtout le Java.

En IDE si j’ai bien suivi VB, et JetBrain ca peut être sympa.

Arghh va me falloir des pauses dèj plus longues ou des vacances !

La suite au prochaine épisode ^^

Je me répète, mais MERCI encore !

Ah juste une précision par rapport à une erreur dans le titre du thread. En fait « les maths c’est la vie ». Mais c’était assez proche le code pour que ça marche quand même aussi :slight_smile:

2 « J'aime »