Langages de programmation par domaine
 >  2019 , Programmation , Sécuriser par l'attaque






En ’hacking’, une question revient souvent : « quels langages de programmation il faut choisir ? » Cet article ne répondra pas directement à la question, mais pourra être une piste pour choisir. Toutefois, je peux apporter une réponse simple et courte, pour les langage non compilés : Python, pour les langages compilés : C.





0x01. DEVELOPPEMENT OU PROGRAMMATION ?



Je distingue la programmation du développement par la durée dans le temps, par l’architecture logicielle et par la structure du programme.
Ainsi, écrire un exploit en réponse à un challenge de hacking, un outil de maintenance ou encore faire un outil qui permet de trouver les adresses des registre en mémoire, c’est de la programmation.
Ecrire un outil qui permet de faire de la gestion de paie, ou un outil d’administration avec interface graphique ou encore créer un système de centralisation des logs ou de surveillance de ressource, c’est du développement.
Typiquement, on entendra rarement "j’ai développé un logiciel en Bash".





0x01. LANGAGE DE DÉVELOPPEMENT



Les langages peuvent être spécifiques à l’environnement ou à la finalité.

Développement sur produits Apple :
- Objective-C
- AppleScript
- Swift

Développement Android :
- Java
- Python
- Bash

Développement Windows :
- C#
- VB.NET
- VBA
- Powershell

Développement Web sur plateforme IIS
- ASP
- MSSQL

Développement de jeux vidéos :
- Unity
- C++
- Flash (Web, oldschool)
- HTML5 (Web)
- Java (Android)
- Objective-C (iOS)

Développement système (services, clients lourds)
- Go
- C
- C++
- Tcl
- Qt
- Tk (GTK)
- C#
- Objective-C
- Swift





0x02. LANGAGE D’ANALYSE



Data-scientist :
- Python
- R
- SQL
- Prolog





0x02. LANGAGE D’ADMINISTRATION



Administrateur système
- Shell
- Powershell
- Python
- Batch
- Perl
- WMI

Administrateur base de données
- OracleSQL
- MySQL
- PostgreSQL
- MSSQL
- MongoDB
- NoSQL
- Bash
- Powershell
- PHP
- ASP

Gros systèmes (système bancaire, de réseau éléctrique)
- Cobol
- Pascal
- Shell





0x02. STRUCTURE DE DONNÉES



Documentaliste, langage de balisage
- LaTeX
- Markdown
- RST
- Asciidoc

Structures de données
- CSV
- XML
- Json
- YAML
- ePub
- HTML
- SOAP
- SVG
- XCCDF
- XSLT





0x03. EXTENSION DE NAVIGATEUR



Développement d’extensions de navigateur Web
- Rust (Mozilla)
- XUL (Mozilla)
- Javascript/Webkit (Google Chrome, Opera, ...)





0x03. SITES & SERVICES WEB



Développement site Web
- Backend
- PHP
- SQL (MySQL, PostegreSQL, MS-SQL, OracleSQL, ...)
- NoSQL (SQlite)
- MongoDB
- Java
- Framework
- Ruby on Rails
- Django (Python)
- Symfony (PHP)
- Frontend
- CSS
- HTML
- NodeJS
- AngularJS
- Javascript
- JQuery
- Bootsrap
- CMS
- PHP
- Wordpress
- Joomla
- Drupal
- Python
- Django





0x04. HACKING, PENTEST, AUDIT



Hacker/Pentester
- Python
- Perl
- Ruby
- Shell
- Powershell
- Batch
- VBS
- JS
- Javascript
- VBA
- PHP
- C
- ASM
- Java

Criminalistique (Forensic)
- Python
- AWK
- Perl
- Ruby

Rétro-ingénieurie (Reversing)
- Python
- ASM
- C




   =>   Écrit par : Nicolas, le 13 août 2019


 
Mots clés :  
  programmation 
  
  langage 
    >   Articles connexes :

Installer les library QRcode pour Python 3



8071231