Quel langage choisir ?
Ludo
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tout le monde
Je sais que cette question a deja été posée et qu'il existe un dossier sur CCM qui présente les langages mais ces explications ne me suffisent pas car elles se contredisent parfois.
J'aimerais apprendre un langage de programmation qui soit aussi bien sur windows que linux et qui me permete d'aller au coeur du systeme. ( et aussi que ce ne soit pas trop hard, donc pas l'assembleur par exemple et si possible aussi qui n'utilise pas les pointeurs)
Coonaitriez vous cela ?
Un grand merci pour votre aide.
Je sais que cette question a deja été posée et qu'il existe un dossier sur CCM qui présente les langages mais ces explications ne me suffisent pas car elles se contredisent parfois.
J'aimerais apprendre un langage de programmation qui soit aussi bien sur windows que linux et qui me permete d'aller au coeur du systeme. ( et aussi que ce ne soit pas trop hard, donc pas l'assembleur par exemple et si possible aussi qui n'utilise pas les pointeurs)
Coonaitriez vous cela ?
Un grand merci pour votre aide.
A voir également:
- Quel langage choisir ?
- Langage ascii - Guide
- Langage binaire - Guide
- Quel macbook choisir - Guide
- Quel linux choisir - Guide
- Pascal langage - Télécharger - Édition & Programmation
11 réponses
Le langage par excellence, c'est le C, qui permet de tout faire (les OS sont écrits à 90% en C)
Par contre la remarque "qui n'utilise pas les pointeurs" , ça n'a absolument aucun sens.
Par contre la remarque "qui n'utilise pas les pointeurs" , ça n'a absolument aucun sens.
salut,
Il y'a Python qui est multiplateforme .
Il permet de faire de la programmation systeme et s'apprend assez facilement.
Bonne chance
Il y'a Python qui est multiplateforme .
Il permet de faire de la programmation systeme et s'apprend assez facilement.
Bonne chance
Salut, je doute fort que se soit bien de ce lancer dans l'assembleur comme ça.(sans aucune connaissance en prog).
Tu ne peux pas apprendre un langage qui t'envoie au coeur du système sans que ce soit un peu difficile...
Je te conseille le C, puis le C++.
Tu ne peux pas apprendre un langage qui t'envoie au coeur du système sans que ce soit un peu difficile...
Je te conseille le C, puis le C++.
Merci à vous,
maintenant il ne me reste plus qu'à choisir entre c, c++ ou python.
En attendant que quelqu'un me renseigne je me suis un peu documenté et, j'avais trouvé la même chose que vous avec java et c# en plus.
Mon idée du début, je le reconnais, était un peu présomptueuse, c'était de collaborer à des projets open source. Mais bon, au plus je me documente au plus je me rends compte que c'est dur comme truc.
Vous en pensez quoi ?
maintenant il ne me reste plus qu'à choisir entre c, c++ ou python.
En attendant que quelqu'un me renseigne je me suis un peu documenté et, j'avais trouvé la même chose que vous avec java et c# en plus.
Mon idée du début, je le reconnais, était un peu présomptueuse, c'était de collaborer à des projets open source. Mais bon, au plus je me documente au plus je me rends compte que c'est dur comme truc.
Vous en pensez quoi ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Participer à un projet open source, je t'y encourage. J'avais penser m'y mettre aussi, mais c'est vrai que j'ai été un peu décourager pour plusieurs raisons :
- le langage est souvent l'anglais;
- j'ai du mal à rentrer dans un code source volumineux.
Après, ce n'est peut être pas si comlpiquer que ça.
Par exemple sur le site de doxygen, il y a une liste des choses à faire pour faire avancer le projet, avec un niveau de difficulté à coté.
Le C#, il me semble que c'est purement Windows, donc à éviter pour Linux (quoique j'ai aperçu un projet open source permettant de le supporter)
- le langage est souvent l'anglais;
- j'ai du mal à rentrer dans un code source volumineux.
Après, ce n'est peut être pas si comlpiquer que ça.
Par exemple sur le site de doxygen, il y a une liste des choses à faire pour faire avancer le projet, avec un niveau de difficulté à coté.
Le C#, il me semble que c'est purement Windows, donc à éviter pour Linux (quoique j'ai aperçu un projet open source permettant de le supporter)
Langage par excellence ?
Non je ne crois pas. Sinon aucun autre existerait. A chaque problème son langage
C'est ce qui se dit et se répète souvent à mauvais escient.
Si tout le monde ne voulait tirer la couverture à soi, un seul langage aurait pu suffire.
Il aurait pu se développer, acquérir de nouveaux paradigmes et tout un tas de fonctions couvrant ainsi tout ce qu'un programmeur est appelé à coder.
L'orgueil et la vanité humaine en ont décidé autrement.
.
Non je ne crois pas. Sinon aucun autre existerait. A chaque problème son langage
C'est ce qui se dit et se répète souvent à mauvais escient.
Si tout le monde ne voulait tirer la couverture à soi, un seul langage aurait pu suffire.
Il aurait pu se développer, acquérir de nouveaux paradigmes et tout un tas de fonctions couvrant ainsi tout ce qu'un programmeur est appelé à coder.
L'orgueil et la vanité humaine en ont décidé autrement.
.
Si tout le monde ne voulait tirer la couverture à soi, un seul langage aurait pu suffire.
Euh non, loin de là ^^.
Il y a des langages plus adaptés que d'autres. En C, tu peux gérer les allocations et donc cela permet d'éviter d'avoir un programme lourd. Par contre, en contrepartie, tu dois mettre beaucoup plus de ligne.
Autre exemple, entre le Java et le C, ce n'est pas du tout le même but (byte code vs code binaire). Ou même entre un langage interprété et un langage compilé...
Euh non, loin de là ^^.
Il y a des langages plus adaptés que d'autres. En C, tu peux gérer les allocations et donc cela permet d'éviter d'avoir un programme lourd. Par contre, en contrepartie, tu dois mettre beaucoup plus de ligne.
Autre exemple, entre le Java et le C, ce n'est pas du tout le même but (byte code vs code binaire). Ou même entre un langage interprété et un langage compilé...
Bah en raisonnant logiquement.
Comment veux-tu être gérer en détail une chose (allocation mémoire, code retour de fonctions, ...) en mettant peu de lignes ?
Le C est un langage qui existe depuis longtemps. Il est régis par des normes ISO. Et il restera plus compliqué que le python (langage plus récent).
Si je ne réponds pas à ta question, sois plus précis.
Comment veux-tu être gérer en détail une chose (allocation mémoire, code retour de fonctions, ...) en mettant peu de lignes ?
Le C est un langage qui existe depuis longtemps. Il est régis par des normes ISO. Et il restera plus compliqué que le python (langage plus récent).
Si je ne réponds pas à ta question, sois plus précis.
Effectivement, tu ne réponds pas à ma question.
Et ce, parce qu'il est impossible d'y répondre.
Tout ce que tu risques de me dire ne serait que pure supposition.
Comment veux-tu être gérer en détail une chose (allocation mémoire, code retour de fonctions, ...) en mettant peu de lignes ?
En utilisant une fonction ajoutée au langage. ( ce serait une des évolutions possible )
Et ce, parce qu'il est impossible d'y répondre.
Tout ce que tu risques de me dire ne serait que pure supposition.
Comment veux-tu être gérer en détail une chose (allocation mémoire, code retour de fonctions, ...) en mettant peu de lignes ?
En utilisant une fonction ajoutée au langage. ( ce serait une des évolutions possible )
De manière absolue et en première approximation (c'est à dire sans regarder dans le détail), on peut dire qu'avec n'importe quel langage on peut tout faire.
Toutefois, cela revient à dire qu'avec seulement un couteau suisse, on peut construire un bâtiment.
Le souci, on le voit c'est que ça va prendre plus de temps si que si on utilisait une pelle, une pioche (et tout le bouzin associé).
On utilise l'outil le mieux adapté à une tache.
Par exemple pour du web/réseau, on regardera vers du php, java, dotnet,etc.
Pour développer un logiciel, on utilisera du C, du C++,etc.
Chaque langage vise une utilisation particulière. Et chaque utilisation met en avant des notions qui lui sont propres : on code pas de la même manière une appli web et un logiciel.
Donc, dire qu'un langage peut être universel, c'est vouloir voir de l'universalité là ou il n'y en a pas : c'est comme tu le dis "pure supposition".
Toutefois, cela revient à dire qu'avec seulement un couteau suisse, on peut construire un bâtiment.
Le souci, on le voit c'est que ça va prendre plus de temps si que si on utilisait une pelle, une pioche (et tout le bouzin associé).
On utilise l'outil le mieux adapté à une tache.
Par exemple pour du web/réseau, on regardera vers du php, java, dotnet,etc.
Pour développer un logiciel, on utilisera du C, du C++,etc.
Chaque langage vise une utilisation particulière. Et chaque utilisation met en avant des notions qui lui sont propres : on code pas de la même manière une appli web et un logiciel.
Donc, dire qu'un langage peut être universel, c'est vouloir voir de l'universalité là ou il n'y en a pas : c'est comme tu le dis "pure supposition".
Re, le C et le C++ utilisent les pointeurs au faite :p dsl.
EDIT : ça veut dire quoi ça : les os sont coder à 90% en C .
---> tu mélanges le php avec le C et ça te donne un beau windows ?
EDIT : ça veut dire quoi ça : les os sont coder à 90% en C .
---> tu mélanges le php avec le C et ça te donne un beau windows ?
Non je ne crois pas. Sinon aucun autre existerait. A chaque problème son langage.
Si le langage C est conseillé pour la rapidité, la programmation basse, gestion mémoire, il n'est vraiment pas conseillé pour les programmes de tous les jours. En moyenne, on compte 10 fois plus de lignes en C qu'en python. Et je ne parle même pas des vulnérabilités engendrées par l'écriture d'un programme en C lorsqu'on ne fait pas les bons contrôles...
qui me permete d'aller au coeur du systeme
En supposant qu'il vaudrait dire programmation système alors je pense que C est plus utilisé (je n'ai pas dit adapté ;-) que Python (quoi que un serpent peut aller ou un C ne peux pas ;-)), ça depends de diametre ;-DDD)
Et je ne parle même pas des vulnérabilités engendrées par l'écriture d'un programme en C lorsqu'on ne fait pas les bons contrôles...
Ben, il faut faire les bons contrôles ;-)
De toute façon un langage reste un langage, ce qui n'est pas le cas de son utilisation.
J'attends souvent parler de la lisibilité de langage, etc.
Mais ça ne veut rien dire. Ce n'est pas le langage qui est lisible mais son écriture.
Et ne pas confondre la compréhension avec la lisibilité.
etc...
Oui, il faut faire les bons contrôles. Sauf que la majorité des développeurs C ne font pas les bons contrôles, ce n'est pas pour rien qu'il y a autant de failles dans les applications (MSN, office, openoffice, vlc, antivirus, ...). Voilà pourquoi, le C est un langage plus compliqué que la moyenne.
Et plus le programme est lourd plus le risque des exceptions est grand.
J'ai dit qu'en C, si les contrôles n'étaient pas bien réalisées (et cela est beaucoup plus fastidieux que dans les autres langages), alors le programme sera vulnérable (buffer overflow, faille format, integer overflow, ...).