Le langage de programmation C a vraiment réussi l'épreuve du temps. Il y a très peu d'environnements où il ne prospérait pas. Cela est principalement dû à ses performances d'exécution élevées, qui, malheureusement, à un prix: C ne supporte pas de nombreuses fonctionnalités attendues dans un langage de programmation moderne.
Mozilla recherche Rouiller est une tentative de créer une meilleure souris de souris. Sa conception linguistique reste concentrée sur les performances élevées et être proche du matériel.
Cependant, sa syntaxe et son compilateur profitent également des divers avantages offerts par la recherche sur la programmation moderne. Étant donné que la mission de Mozilla est la création d'un «Web ouvert», il ne devrait pas être surprenant que la société travaille sans relâche pour apporter son dernier cerveau sur le Web.
Tandis que la rouille peut, en théorie, courir sur le client via des systèmes tels que EMSCRIPTEN, son pouvoir réel réside dans la création de services de backend efficaces.
Créez-vous un site à partir de zéro? Clouer la conception et la performance avec un haut Générateur de site Web et excellent hébergement Web . Vous avez des fichiers à partager ou à enregistrer? S'impliquer avec ces stockage en ligne options.
Alors que les gestionnaires de paquets tels que «apt-get» ont sûrement la vie de la vie du développeur, les responsables de la liste de paquets sont, d'une part et d'une grande, connus ne sont pas amis de la vitesse excessive. À cause de cela, de nombreux caches de paquet de distributions, sinon la plupart des distributions, sont fortement obsolètes.
L'équipe de rouille a résolu ce problème en fournissant un script d'installation dédié, qui établit le système à exécuter efficacement. Le déploiement est donc un processus en deux étapes: d'abord, assurez-vous que le téléchargeur / analyseur CURL est disponible:
tamhan @ tamhan-thinkpad: ~ $ sudo apt-get d'installation de boucle
Mot de passe [sudo] pour Tamhan:
Listes de paquets de lecture ... FAIT ...
Ensuite, dans la deuxième étape, téléchargez l'installateur et transmettez-le sur 'SH' à l'aide de l'opérateur de tuyaux. 'SH' est un raccourci pour l'interprète Shell par défaut de votre poste de travail, qui procédera ensuite au code à la main:
Tamhan @ tamhan-thinkpad: ~ $ curl https://sh.rustup.rs -ssf | SH
Info: Téléchargement d'installateur
Au cours de l'installation, l'installateur de rouille affiche une variété d'invites similaires à celles montrées sur la photo de la droite. Suivez-les simplement pour obtenir une installation par défaut.
Dans certains cas, le déploiement de la rouille échouera avec une erreur similaire à "Erreur: Impossible d'écrire un fichier rcfile: '/Home/tamhan/.bash_profile'". Si cela se produit pendant l'installation, utilisez «sudo -s» pour obtenir une coque racine, puis rincer et répéter pour continuer.
Avec cela à l'écart, il est temps d'exécuter notre premier petit programme. Les fichiers rouillés, par défaut, ont l'extension de fichier ".RS". Créez un fichier appelé «FIRETTEST.RS», puis fournissez-le avec la pièce de code suivante:
FN Main () {
println! ("Hello World!");
}
Les programmeurs C ++ se demandent souvent pourquoi les invocations de la méthode «PrintLN» nécessitent l'utilisation d'une marque d'exclamation. La réponse est simple: la rouille implémente 'println' comme macro, qui est invoquée d'une manière différente.
Étant donné que la rouille est une langue compilée, notre exemple doit être traité avant de pouvoir être exécuté à partir de la ligne de commande:
Tamhan @ tamhan-thinkpad: ~ / Rustpace $ $ Rustc FirstTest.RS
Tamhan @ tamhan-thinkpad: ~ / RustSpace $ ./firstest
Bonjour World!
Décrire une langue de programmation complète, telle que la rouille, dans l'espace limité que nous disposons ici est impossible. Commençons donc par vous diriger officiellement à la recherche de Mozilla Documentation complète . Une caractéristique qui est sûre d'impressionner C Programmers implique l'utilisation de la commande 'Match': En plus des comparaisons directes, elle permet également d'utiliser des opérateurs de gamme de simplifier considérablement la conception de programmes avancés:
fn main () {
Laisser le numéro = 5;
println! ("Travailler sur {}", numéro);
Numéro de correspondance {
1 = & gt; println! ("un!"),
2 | 3 | 5 | 7 = & gt; println! ("Prime"),
_ = & gt; println! ("un numéro"),
}
}
La collection classique des ordures a ses faiblesses: la plupart des implémentations apportent le programme à une halte de crise de temps à autre. Pour contourner cette rouille utilise un ensemble de «abstractions zéro-coût» pour imiter un comportement similaire de manière moins gênante.
En principe, chaque ressource est créée avec un propriétaire d'une manière similaire au sous-système parent-enfant de Qt. Cependant, une fonctionnalité appelée «emprunt» permet au programmeur de transférer temporairement la propriété entre les ressources, les transmettant ainsi autour du système.
Malheureusement, une discussion complète sur les possibilités du gestionnaire de mémoire de Rust briserait les limites de cet article - laissez-la suffire à déclarer que la rouille fournit une forme de gestion de la mémoire très peu orthodoxe, mais ponctuelle.
Bien que le code C et C ++ puisse être divisé en bibliothèques, cela est une tâche ennuyeuse et quelque peu inconfortable. En outre, en veillant à ce que toutes les bibliothèques requises soient là où elles sont nécessaires, c'est quelque chose même des développeurs assaisonnés à éviter.
La communauté JavaScript a longtemps résolu ce problème via des produits tels que NPM. Les projets sont décrits via un fichier de structure de projet, qui - entre autres - contient des références à des bibliothèques et d'autres éléments nécessaires au cours de la compilation réelle.
Dans le cas de la rouille, un gestionnaire de paquets appelé Cargo fait un emploi similaire. La création d'un nouveau projet peut être accompli grâce à l'utilisation de la commande 'NOUVEAU NOUVELLE' Cargo 'd'une manière similaire à celle des éléments suivants:
Tamhan @ tamhan-thinkpad: ~ / Rustpace $ CARGO NOUVEAU FutureSample1 --bin
Création du projet Binaire (Application) `Futuresample1`
Tamhan @ tamhan-thinkpad: ~ / RustSpace $ $
Lorsque le processus de création est terminé, une structure de dossier similaire à celle indiquée dans l'image au bas de cette page sera générée.
.Toml Fichiers Act comme «contrôleurs» - dans le cas de notre projet nouvellement généré, le fichier contient la structure suivante:
[FORFAIT]
Nom = "Futuresample1"
Version = "0.1.0"
Auteurs = ["Tamhan"]
[Dépendances]
Les similitudes des fichiers .ini de traditions ne sont pas purement implidentiels: de manière non différente de NPM, le format de fichier de configuration antique est également utilisé pour décrire les fichiers de configuration utilisés pour les projets de rouille. Le bloc '[Dépendances]' est d'intérêt particulier pour nous - il contient une liste de toutes les bibliothèques externes, qui doivent être présentes à la compilation pour réussir.
Créer un serveur Web à la main est un travail agaçant le mieux laissé aux masochistes. Nous allons plutôt opter pour un cadre. Malheureusement, trouver le bon n'est pas facile - comme visité Liste des cadres de développement Web de Awwy révèle, il y a beaucoup de candidats.
Nous allons choisir Fusée , Si seulement parce que cela semble être assez populaire et a vu une mise à jour publiée en mai 2018. Malheureusement, les développeurs de Rocket ont tendance à s'améliorer aux caractéristiques de langue nouvellement introduites, c'est pourquoi une mise à jour fréquente de votre installation de rouille à l'aide des commandes suivantes est requise. :
Tamhan @ Tamhan-Thinkpad: ~ / RustSpace / Futuresample1 $ Mise à jour de Rustup & amp; & amp; Mise à jour de la cargaison
La prochaine étape est largement une question de goût. La plupart des bibliothèques viennent avec des projets de démarrage prédéfinis, que les développeurs peuvent simplement siphonner de Github. Ce faisant pour votre bibliothèque «Prime 'n'est pas nécessairement une mauvaise idée - bien qu'une nouvelle bibliothèque est impliquée, une approche manuelle a tendance à être plus fructueuse.
Ensuite, ouvrez le fichier .toml, puis modifiez la section «Dépendances» conformément aux éléments suivants afin d'inclure une version récente de la Framework Rocket:
[Dépendances]
Rocket = "0.3.6"
rocket_codegen = "0,3.6"
La fusée est unique en ce sens qu'elle nécessite l'inclusion d'un total de deux packages: en plus du cadre principal, un fichier de générateur de code distinct est également requis. De toute façon, notre version comprend une version spécifique des deux bibliothèques - Cargo peut également accepter des caractères génériques, ce qui permet au programme de «choisir son poison» sans aucune aide de notre part.
Avec cela, un problème reste: entrez "Cargo Run" dans le dossier contenant le fichier .toml afin d'effectuer une compilation assistée, qui, entre autres, téléchargera les bibliothèques de code concernées du référentiel et compilerEnchilada entière pour vous.
Page suivante: Échafaudage et analyse approfondie
Page actuelle: Page 1
Page suivante Page 2 [dix][DIX] [DIX] [DIX] [dix] (Crédit d'image: Mabel Wynne) [DIX] Apprendre à modifier U..
[DIX] [DIX] [DIX] [dix] (Crédit d'image: Amazon) [DIX] Bien que Nous Nou NE Connais..
Apprendre à faire de la photo collage de photos Dans Photoshop Sera Utilé dans les situations Différentes. Les Photos Individuelles Capturent des moments Célibataires dans le Temps, Maiso..
[DIX] [DIX] [DIX] [dix] (Crédit d'image: Simon Baek) [DIX] Quel Est Le Développeme..
[DIX] Quel Genre d'Artiste Vous Esetes, Comprendre le commentaire Dessiner une personnage est une compétition Fondamentale. Maîtrisez La Forme Humaine, Et..
Dans ce tutoriel, nous passerons sur certains principes de base qui aideront à communiquer l'idée de grande échelle dans vos propres pièces. J'utilise des crayons et des huiles pour ce tu..
[dix] [dix] [dix] [dix] Ant Ward sera l'un de nos artistes répondant à vos questions spéc..
[dix] [dix] [dix] [dix] Le concept de ce projet, champignon gobelin, provient d'un dessin de mon ami ..