Quel language choisir ?
|
23-12-2011, 21h37
Message : #1
|
|
Nasty
Newbie Messages : 20 Sujets : 4 Points: 0 Inscription : Aug 2011 |
Quel language choisir ?
Bonsoir ,
Cela fait déjà plusieurs mois que je suis sur se site et je n'ai pas avancé de manière concrète ( les cours prenant beaucoup d'énergies ) . Ma question est simple , pour commencer mon parcours informatique et explorer cet univers en profondeur : Quel est selon vous le langage de programmation polyvalent et tenant compte de mes faibles compétences en informatique. Quel est le site le plus pédagogique pour apprendre un langage de programmation ( le site du zéro ou développez.com ) Merci d'avance . |
|
23-12-2011, 22h36
Message : #2
|
|
spin
Contributeur Messages : 325 Sujets : 15 Points: 38 Inscription : Nov 2011 |
Quel language choisir ?
Tu voudrais faire quoi en programmation ?
Un langage polyvalent, je pense au C, mais pour l'utiliser il faut avoir des compétences préalables : Il faut avoir une idée de l'agacement de la RAM, il faut savoir à peu près comment l'OS travaille etc. (le C fut conçu pour l'écriture de systèmes d'exploitation à la base, il s'adresse donc à des programmeurs qui ont une connaissance de la plupart des cachoteries des systèmes). Cependant, avec le temps, le C s'est tellement imposé qu'il a finalement trouvé une vocation plus généraliste. Il est donc possible de l'apprendre comme premier langage, mais il faut alors à côté apprendre un peu comment l'OS fonctionne, surtout au niveau de la mémoire. Sinon, tu passes à côté de la puissance du C (oui oui, les pointeurs et les malloc() c'est formidables quand on sait ce qu'on fait !) Sinon, j'entends dire beaucoup de bien de Python. Je ne connais pas très bien, mais je pense que pour débuter il faut un langage de haut-niveau comme celui-là, c'est-à-dire un langage où on ne se soucie que du code et de sa beauté (i.e. l'élégance de l'implémentation d'un algorithme), pas du reste (ce qui ne peut pas être le cas en C puisqu'il revient au programmeur de s'occuper des trucs bas-niveau). La productivité sera en principe plus grande avec un langage de haut-niveau comme Python, donc tu devrais te sentir frais en peu de temps et c'est assez encourageant quand on débute. Si tu t'intéresses au RE, il faut apprendre l'assembleur. Là encore, c'est comme pour le C mais puissance 10. Mais c'est super cool, et c'est extrêmement formateur. Je te conseille donc, pour débuter, un langage où tu te concentres uniquement sur l'implémentation. Ensuite, tu améliores tes techniques d'implémentations : en te documentant un peu sur la théorie de la complexité algorithmique, en faisait du joli code lisible et élégant etc. (si tu ne comprends pas la moitié des mots de cette phrase, pas grave, ça viendra quand tu seras lancé dans la prog). En C, c'est souvent impossible de faire une implémentation pure ; c'est-à-dire de faire un algorithme ayant uniquement un aspect mathématique et logique, donc sans gestion de mémoire (ou alors on a recours à des libs qui encapsulent tout ça). En résumé, si tu veux juste te lancer dans la programmation sans domaine précis, tel que le RE, je pense que tu devrais te tourner vers les haut-niveau : Python, Perl, Ruby. Je pense que ces langages te feront apprendre la programmation (ce qui est différent que d'apprendre un langage), tandis que l'assembleur et le C te feront apprendre l'informatique très technique. Ces trois langages ont la particularité d'être connus, tu trouveras donc toujours quelqu'un pour t'aider si tu as un problème. Pour le C il en est de même. Un autre point important : c'est intéressant (et même mieux) de LIRE du code, pas seulement d'en écrire, surtout quand on débute. Et pour chaque chose il y a un langage dominant. Si tes centres d'intérêt tournent autour du jeu vidéo, il te faudra des connaissances en C++ par exemple. Si c'est plutôt la programmation système, alors oriente-toi vers du C. Donc faut choisir aussi en fonction de ce que tu aimerais lire comme genre de code source. Pour les ressources, je te conseille les ouvrages qui sont reconnu comme étant des références. Il y a surtout pour intermédiaire/expert, mais il y en a aussi pour débutant. ça se trouve facilement gratos en PDF via Google, ne t'en fais pas pour le prix. Ce n'est qu'un avis personnel, mais j'ai de gros doutes sur la qualité des tutos du SdZ. Surtout celui du C. |
|
23-12-2011, 23h16
(Modification du message : 23-12-2011, 23h40 par Nasty.)
Message : #3
|
|
Nasty
Newbie Messages : 20 Sujets : 4 Points: 0 Inscription : Aug 2011 |
Quel language choisir ?
Merci beaucoup pour ta réponse complète , le domaine qui me plait le plus c'est la sécurité des réseaux. Que signifie RE s'il te plaît ?
As tu feuilleté des livres ou documents pdf intéressants pour apprendre les langages de haut-niveau ( Python : http://python.developpez.com/livres/?page=livresPython ) , les documents que je trouve ne sont pas complets. Je voudrais surtout apprendre à programmer pour bien comprendre et appliquer les différents tutos de ce forum et aussi utiliser les failles applicatives. Comment on peut intégrer des projets de programmation de logiciel pour faciliter l'apprentissage ? |
|
24-12-2011, 00h30
Message : #4
|
|
spin
Contributeur Messages : 325 Sujets : 15 Points: 38 Inscription : Nov 2011 |
Quel language choisir ?
RE = reversing engineer = rétro-ingénierie (désassembler des programmes et bidouiller dedans quoi :p)
Pour Pyhton je viens de mettre la main (suite aux conseils de la communauté d'ailleurs) sur Dive Into Python 3. C'est un livre assez complet si on se fie à son sommaire, et le style d'écriture est sympa je trouve. Cerise sur le gâteau, il est dispo en livre papier, ou PDF gratuitement http://diveintopython3.ep.io/ (le lien pdf est en bas de la page). J'ai commencé à le lire, il me paraît bien. Tu as aussi le tutoriel officiel (plutôt complet pour un tuto) que tu peux survoler si jamais tu veux déjà te faire une idée du langage Python : http://docs.python.org/py3k/tutorial/ Citation :Je voudrais surtout apprendre à programmer pour bien comprendre et appliquer les différents tutos de ce forum et aussi utiliser les failles applicatives.Pour les failles applicatives, on aurait plus tendance à utiliser un langage de bas-niveau comme le C. Mais j'aimerais pas te dire de bêtises en disant qu'en Python ou autre langage haut-niveau c'est impossible, car je n'ai pas encore assez explorer les possibilités offertes par ces derniers. Citation :le domaine qui me plait le plus c'est la sécurité des réseaux.Là tout peut faire l'affaire, mais quand on veut coder un truc vite fait bien fait pour une tâche spécifique (par exemple, un scanneur de port), le plus adapté serait un langage de haut-niveau, de mon point de vue. Après, il y a quand même des cas où on a besoin d'un truc plus pointu, donc un langage de bas niveau n'est pas superficiel là non plus. On a souvent besoin des deux types de langages, haut et bas-niveau. (d'où mon intérêt pour apprendre Python après avoir programmé déjà en C et en assembleur). Selon les usages, un sera forcément plus adapté que l'autre. Mais tu dois tout-de-même apprendre déjà un seul langage et le maîtriser pour commencer, et Python me semble être un bon choix. Après tu pourras apprendre d'autre langage plutôt rapidement et apprendre à t'en servir aussi plus rapidement (et efficacement) grâce au background que tu auras déjà en programmation. EDIT: Attention, le Dive Into Python 3 est peut-être un petit peu trop rapide pour quelqu'un n'ayant jamais programmé un peu avant. |
|
24-12-2011, 00h50
Message : #5
|
|
Nasty
Newbie Messages : 20 Sujets : 4 Points: 0 Inscription : Aug 2011 |
Quel language choisir ?
En cherchant sur dévellopez j'ai commencé à étudier le pdf " Apprendre avec Python de swinnen "
Il m'a l'air en adéquation avec mes volontés. Je crois que je vais passer mon temps à te remercier pour la qualité de tes réponses ! |
|
26-12-2011, 04h19
Message : #6
|
|
fr0g
NTEuNDI2MzcsLTEuNzc4NDg4 Messages : 348 Sujets : 22 Points: 56 Inscription : Aug 2011 |
Quel language choisir ?
Nasty a écrit :En cherchant sur dévellopez j'ai commencé à étudier le pdf " Apprendre avec Python de swinnen " Yep ce tuto est bien, j'ai appris avec En dehors de ça je n'aurais pas plus de choses à dire que spin, je pense que le python est un bon langage pour commencer, il permet de faire beaucoup de choses et d’acquérir facilement les principes fondamentaux de la programmation . Bon courage |
|
29-12-2011, 01h33
Message : #7
|
|
Nasty
Newbie Messages : 20 Sujets : 4 Points: 0 Inscription : Aug 2011 |
Quel language choisir ?
Merci , il faut effectivement du courage et de la patience !
|
|
09-01-2012, 12h00
Message : #8
|
|
nhb_hug
Newbie Messages : 4 Sujets : 1 Points: 2 Inscription : Dec 2011 |
Quel language choisir ?
Merci pour ces bons tuyaux
|
|
02-03-2012, 17h51
(Modification du message : 02-03-2012, 18h38 par EpicOut.)
Message : #9
|
|
Banni Messages : 121 Sujets : 10 Points: 22 Inscription : Feb 2012 |
RE: Quel language choisir ?
Le C trop bien .
Rien que pour: -Son rapprochement du fonctionnement de l'ordinateur . -Si tu fais du php, ça te permettera de t'améliorer et pas que en C mais dans de nombreux autres languages et tu auras les fondamentaux d'un languages de programmation . -La capacité à faire n'importe quoi avec . De plus : "Les systèmes d'exploitation pour ordinateur de bureau les plus répandus actuellement sont Windows de Microsoft, Mac OS X d'Apple, et GNU/Linux. Ils sont tous trois écrits en langage C" |
|
02-03-2012, 18h15
(Modification du message : 02-03-2012, 18h44 par Di0Sasm.)
Message : #10
|
|
InstinctHack
Posting Freak Messages : 1,366 Sujets : 184 Points: 299 Inscription : Dec 2011 |
RE: Quel language choisir ?
(02-03-2012, 17h51)EpicOut a écrit : Le C trop bien . Evite ce genre de commentaire inutile... Sinon ça dépend ce que tu veux faire python est sympa à apprendre, et donne de bonne pratique, il est multi-plateformes, rapide, le bash c'est pour du linux/mac mais c'est vite limité :/ mais tu peux faire pas mal de chose sympa pour gérer ton os, (sauvegarde automatiquement de l'une de tes partitions cryptés en incrémental vers un autre pc à travers le monde en passant par un protocole de chiffrement par exemple ) Après il y a html/css/php/sql tout pour faire du web j'ai commencé par ça et j'aime beaucoup, ça te permet de faire quelque chose d'accessible à tout et t'ouvre d'autres portes Je connais pas le C ni l'assembleur :p Ils ont leur bon coté, personnelement je les apprendrais tous, peu importe le temps qu'il faudra après lesquels en premier... bof... pas vraiment de préférence l'html est super simple (est-ce vraiment un language ) je te conseille le python tu peux faire beaucoup de chose avec (ce genre de sujet c'est une invitation au troll XD un débat sans fin ) Bonne continuation Si tu as des questions, on est là Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!" |
|
14-07-2012, 21h36
Message : #11
|
|
Dr. Nick
Newbie Messages : 9 Sujets : 1 Points: 1 Inscription : Jul 2012 |
RE: Quel language choisir ?
Je suis surpris de ne voir personne parler de l'AutoIT dans le domaine du hacking.
Si tu veux créer simplement un keylogger ou un stealer, ou tout genre de logiciel black-hat, alors apprends l'AutoIT, qui est, à mon humble avis, un langage relativement simple. Sur le SdZ, un tuto est disponible, et ce dernier est très bien rédigé, te permettant d'apprendre facilement et rapidement. De plus, concernant le FUD, qui est un paramètre relativement important lors de l'élaboration d'un virus, il n'est pas difficile à atteindre avec l'AutoIT. Après cette apprentissage terminé, si tu ressens une envie de te tourner vers un autre langage, tu pourras alors voir du cîoté du VB.net, ou du C# |
|
14-07-2012, 22h56
(Modification du message : 14-07-2012, 22h59 par supersnail.)
Message : #12
|
|
supersnail
Éleveur d'ornithorynques Messages : 1,609 Sujets : 71 Points: 465 Inscription : Jan 2012 |
RE: Quel language choisir ?
Justement, le but de ce site est de s'éloigner du trip du 1337-h4x0r qui pwn tout le monde avec un virus batch :p
Plus sérieusement, je ne connais pas réellement l'autoit (je suis linuxien dans l'âme, même si je commence à tripoter le kernel win32) mais je pense que ce langage a un niveau d'abstraction élevé comme le .net (donc dépend d'un JIT ou d'un interpréteur) et t'empêche de t'amuser comme tu veux avec la mémoire. Bref pour coder quelques tools/malwares 1337-h4x0r why not, mais ça cache un peu trop le fonctionnement de la machine à mon sens (pi du malware en vb.net c'est assez lame et ça se pète assez facilement :') ) Édit: fuckin' correction automatique d'android
Mon blog
Code : push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp "VIM est merveilleux" © supersnail |
|
14-07-2012, 23h34
(Modification du message : 14-07-2012, 23h36 par spin.)
Message : #13
|
|
spin
Contributeur Messages : 325 Sujets : 15 Points: 38 Inscription : Nov 2011 |
RE: Quel language choisir ?
Pour « hacker » à proprement parler, je considérerais que le C est un bon choix. Le premier point est culturel : le C et le système UNIX font clairement parti de la culture hacker, le fait que la majorité des programmes GNU (écrits initialement par des hackers du MIT) soient en C le montre bien je pense.
De ce fait historique, il s'ensuit que le C est devenu la lingua franca de la programmation système sous UNIX et UNIX-like. Pour jouer avec un Unix, le C est quasiment le seul moyen de communication. D'une part ces systèmes sont eux-mêmes écrits en C, puis ils fournissent une API (au sens large) utilisable en C (pensez à libc par exemple). Sous Linux, il paraît non envisageable d'écrire un module kernel en autre chose qu'en C, par exemple. (bien-entendu, les OS les plus récents se modernisent et s'ouvrent aux autre langages, comme Haiku qui fournit une interface en C++ et OO, ou Hurd avec le principe des translator qui peuvent être écrits en à peu près n'importe quel langage). L'assembleur est aussi important pour la bidouille et l'analyse de programme, pour des raison évidentes liées aux techniques de RE. |
|
15-07-2012, 00h49
(Modification du message : 15-07-2012, 15h15 par Di0Sasm.)
Message : #14
|
|
Di0Sasm
Chimiste Messages : 922 Sujets : 56 Points: 92 Inscription : Aug 2011 |
RE: Quel language choisir ?
Dr. Nick oublie les trojan, stealer, et autre virus pour black ce n'est pas le but du forum et de deux si tu veux taffer dans le sécu tu va vite te rendre compte que Windows et MAC sont une partie exclus des système d'exploitation utilisable pour le taff (Windows il y en a je vous l'accorde), donc les langages .net, Autoit, C# tous ceux qui ont besoins du framework Windows je ne vois pas l'intérêt de bosser avec, si c'est pour faire de la merde comme un keylogger, stealer ou autre joyeuseté du genre.
Cordialement Di0Sasm. |
|
15-07-2012, 02h30
Message : #15
|
|
0x41 Non-enregistré |
RE: Quel language choisir ?
Nasty , le choix du langage de programmation varie selon tes objectifs pour ton parcourt professionnel.
juste à titre d'exemple: -administrateur réseaux:Assembleur,Perl,bash,Powershell,C,python, et ruby. -Développeur WebHP, HTML5,javascript, SQL et certainement d'autres FRAMEWORK comme zend et compagnie... -Développeur:JAVA,C#,.net. et c juste basique pour le milieux professionnel .donc à mon avis oriente toi selon tes objectifs professionnels , pas selon la "polyvalence" sinon la vie sera plus facile . |
|
« Sujet précédent | Sujet suivant »
|
Utilisateur(s) parcourant ce sujet : 4 visiteur(s)