Quel langage choisir ?

Ludo -  
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.
A voir également:

11 réponses

Kremer
 
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.
1
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Langage par excellence ?
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...
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570 > fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention  
 
Salut,

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...
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846 > lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
 
Ben, il faut faire les bons contrôles ;-)
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.
0
Zempachi Messages postés 7472 Date d'inscription   Statut Contributeur Dernière intervention   906 > fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention  
 
Une faille de sécurité ne provient pas forcément d'un mauvais code mais par exemple d'une exception (fonctionnelle ou technique) non détectée en amont.
Et plus le programme est lourd plus le risque des exceptions est grand.
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846 > Zempachi Messages postés 7472 Date d'inscription   Statut Contributeur Dernière intervention  
 
Je n'ai pas dit qu'une faille venait forcément de là... Et heureusement puisqu'une faille peut venir de partout.
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, ...).
0
oursmonegask Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
salut,
Il y'a Python qui est multiplateforme .
Il permet de faire de la programmation systeme et s'apprend assez facilement.
Bonne chance
0
SageApprentit Messages postés 177 Date d'inscription   Statut Membre Dernière intervention   24
 
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++.
0
Ludo
 
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 ?
0
italia-59156
 
Ludo du 59156 ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ludo
 
Non, je suis belge
0
italia-59156
 
ok, c'est parce que ça m'a sembler bizzard

Bonne soirée à tous
0
Ludo
 
Arrêtez de chercher les gars, il est trop tard.
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
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)
0
kalla
 
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.

.
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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é...
0
Jules > fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention  
 
Là, fiddy, je pense que tu t'avances un peu. Car, comment peux-tu extrapoler et critiquer une évolution du C qui n'a pas eu lieu.
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846 > Jules
 
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.
0
Jules > fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention  
 
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 )
0
Zempachi Messages postés 7472 Date d'inscription   Statut Contributeur Dernière intervention   906 > Jules
 
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".
0
SageApprentit Messages postés 177 Date d'inscription   Statut Membre Dernière intervention   24
 
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 ?
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Oui, mais un lanage sans pointeur, à par le fortran, je ne vois pas.
Peut être python (je ne connais pas assez)
Même en java où il n'y a pas de pointeur, il y a une notion similaire avec les new.
0
HACKER 712 Messages postés 1282 Date d'inscription   Statut Contributeur Dernière intervention   255
 
Oui, et puis les pointeurs, ce n'est pas insurmontable...
Il suffit de comprendre comment ça marche, et ça devient facile, et extrêmement pratique...
0