IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Amber, le langage de programmation en alpha qui compile vers le Bash, fait l'unanimité parmi les développeurs sur la portabilité des scripts générés,
Mais divise sur son apport en comparaison à Python ou Perl

Le , par Patrick Ruiz

33PARTAGES

10  0 
L'idée de passer d'un langage de programmation à un autre dit intermédiaire n'est pas nouvelle. Le compilateur C++ original produit du code C, par exemple. L’idée est d’aller à la quête d’un code qui peut fonctionner sur de nombreuses plateformes ; on parle dans le jargon informatique de code portable. C’est la logique dans laquelle s’inscrit Amber qui cible le langage Bash. Le développeur écrit dans une syntaxe moderne et le résultat après compilation est un script Bash. Amber fait l’unanimité parmi les développeurs sur la portabilité des scripts générés mais divise sur son apport en comparaison à des langages de script comme Python, Perl ou Lua.



Amber ne supporte officiellement que Linux et MacOS. Sous Windows, il faudra penser à passer soit par Cygwin, soit par le sous-système Windows pour Linux (WSL) pour pouvoir en faire usage. En plus de compiler des fichiers, Amber peut en sus exécuter des scripts. Une extension de surligneur syntaxique pour Amber est disponible pour les utilisateurs de Visual Studio Code.





Les points qui qui font débat à propos du langage Amber :

  • Les scripts générés sont susceptibles de s’appuyer sur plusieurs commandes externes dont des utilitaires complexes tel que bc comme l’illustre l’exemple proposé sur la page d’accueil du projet ;
  • Le langage cible Bash considéré par plusieurs intervenants comme dépassé au vu de la panoplie d’alternatives qui offrent plus de possibilités.


« J'utilise beaucoup Python. Dans l'univers Windows au travail, j'ai supprimé tous les fichiers batch de l'un de nos systèmes et je les ai convertis en Python 3. Ce système est désormais très fiable alors qu'auparavant il avait besoin d'une retouche tous les jours ou semaines. Même chose avec Linux. J'utilise Bash pour des opérations simples comme appeler rsync plusieurs fois pour sauvegarder quelques répertoires. Si c'est plus compliqué, j'utilise un script Python ou un langage compilé en fonction de la tâche à accomplir.

De nos jours, il n'est pas vraiment nécessaire de convertir un langage en un autre, car vous disposez déjà de nombreux langages pour gérer la situation. Si Python ne convient pas à la situation Perl fera peut-être l'affaire. Vous pouvez aussi utiliser Java, ou C/C++, C#, Pascal, Fortran, Cobol, Rust, Ada, etc. La programmation Bash devrait être reléguée à la poubelle de l'histoire et n'être utilisée que pour de très petits scripts à mon humble avis », commente un développeur.

Source : site du projet

Et vous ?

Quels commentaires faites-vous du langage Amber ? Utile ou pas ? Quels sont les raisons pour lesquelles vous opteriez pour ce dernier ? Quelles sont celles pour lesquelles vous pensez qu’il ne vaut même pas la peine de l’étudier ?
Quels sont les langages dont vous faites usage pour la création de vos scripts ? Dans quels cas de figure pensez-vous qu’Amber constituerait une meilleure alternative à ces derniers ?
Partagez-vous l’avis selon lequel la programmation Bash doit être reléguée à la poubelle de l’histoire et n’être utilisée que pour de très petits scripts ?

Voir aussi :

PowerShell Core 6.1 est disponible : support de .NET Core 2.1, compatibilité avec les modules Windows, cmdlets et rendu Markdown et plus
Microsoft annonce la disponibilité générale de PowerShell Core 6.0, la première version de la nouvelle édition multiplateforme de PowerShell
Microsoft annonce la disponibilité de la préversion publique d'Azure Cloud Shell qui apporte une expérience Bash sur Azure
Windows 10 : la première build avec le support du Shell Unix Bash est disponible, pour les testeurs du programme Windows Insider
Microsoft apporte le shell Unix Bash à Windows 10, le résultat d'une collaboration avec Canonical

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de kiruahxh
Nouveau membre du Club https://www.developpez.com
Le 06/06/2024 à 23:28
On dirait un shell alternatif, mais avec très peu de fonctionnalités bas niveau (redirection, pipe, surcharge de fid, etc).
C'est le tout début du projet, c'est plutôt sympa mais le débogage sera sûrement compliqué
0  0 
Avatar de gabriel21
Membre chevronné https://www.developpez.com
Le 07/06/2024 à 11:59
Je partage le point de vue du développeur dont le nom n'est pas mentionné. Mes scripts de sauvegarde qui se contentent d'appeler les commandes tar, scp, find et autre, resteront en bash pendant encore très long temps. Python n'apporte rien intéressant dans l'affaire. Par contre si je dois travailler sur des tableaux ou des chaine de caractères, je préfère largement Python à Bash.

Cependant si je dois installer python sur un système uniquement pour des scripts, je réfléchirais avant de le faire en regardant le bénéfice/risque. Bash a l'avantage de ne pas demander beaucoup de dépendance contrairement à Python. Du coup, moins de chose installée, moins de surface d'attaque, moins de consommation en RAM (économie d'énergie). Ma philosophie : "Le mieux est l'ennemi du bien!".Du coup, cet outils pourrait être intéressant, à voir comment, il évolue.
Si Python est déjà installé, alors pas de problème, même si je dois rajouter une bibliothèque.

Sinon, je parlerai plutôt de transcription que de compilation. Il se "contente" de transformer un code plus haut niveau dans le formatage de Bash. Il ne produit pas un exécutable. Après en Latex, on parle bien de compilation pour transformer le ficher Tex en PDF ou PS, même si le terme production est aussi utilisé.
0  0