Maison > développement back-end > tutoriel php > 10 fonctionnalités les plus intéressantes des langages de programmation modernes

10 fonctionnalités les plus intéressantes des langages de programmation modernes

小云云
Libérer: 2023-03-17 15:14:01
original
1518 Les gens l'ont consulté

Avec le développement rapide des technologies de l'information, de plus en plus de langages de programmation​​continuent d'apparaître dans nos vies, et en même temps, cela nous offre également davantage d'opportunités d'emploi. Regardons l'ère des langages de programmation : Lisp (1958), Smalltalk (1972), Objective-C (1984), Haskell (1990), OCaml (1996), etc. Ce sont toutes des langues du siècle dernier.

L'éditeur de cet article a choisi plusieurs langages récents : Reason, Swift, Kotlin, Dart comme objets de recherche, et a résumé 10 fonctionnalités :

1 opérateur de pipeline

Syntaxe de la raison

let newScore = me.score
  |> double
  |> (it) => add(7, it)
  |> (it) => boundScore(0, 100, it);
Copier après la connexion

La méthode d'écriture JavaScript correspondante :

boundScore(0, 100, add(7, double(me.score)));
Copier après la connexion

Et es a déjà une proposition correspondante : tc39/proposal-pipeline-operator

2 Correspondance de modèles

Syntaxe Kotlin

when (x) {    in 1..10 -> print("x is in the range")    in validNumbers -> print("x is valid")
    !in 10..20 -> print("x is outside the range")    else -> print("none of the above")
}
Copier après la connexion

3 Programmation réactive (Rx) construite dans le langage

Syntaxe Dart

input.onKeyDown                                              
  .where((e) => e.ctrlKey && e.code == 'Enter')              
  .forEach((e) => dispatch(addTodoAction(e.target.value)));
Copier après la connexion

4 Paramètres par défaut de la fonction lambda

Syntaxe Kotlin (l'utiliser comme paramètre par défaut)

strings
  .filter{ it.length == 5 }
  .map{ it.toUpperCase() }
Copier après la connexion

Comparaison avec JavaScript

strings
  .filter{ it => it.length === 5 }
  .map{ it => it.toUpperCase() }
Copier après la connexion

5 Déstructuration

Syntaxe de raison :

let someInts = (10, 20);let (ten, twenty) = someInts;type person = {name: string, age: int};
let somePerson = {name: "Guy", age: 30};let {name, age} = somePerson;
Copier après la connexion

Syntaxe Kotlin

data class Person(val name: String, val age: Int)val(name, age) = Person("Guy", 20)
Copier après la connexion

es6 a déjà une déstructuration de tableau, es8 ajoute une déstructuration d'objet

Opérateur en cascade à 6 opérateurs

Syntaxe Dart

querySelector('#button') // Get an object.
  ..text = 'Confirm' // Use its members.
  ..classes.add('important')
  ..onClick.listen((e) => dispatch(confirmedAction()));
Copier après la connexion

Méthode d'écriture JavaScript correspondante

var button = querySelector('#button');
button.text = 'Confirm';
button.classed.add('important');
button.onClick.listen((e) => dispatch(confirmedAction()));
Copier après la connexion

Si vous utilisez jQuery, la méthode d'écriture est fondamentalement la même que celle de Dart, mais les deux sont fondamentalement différentes

7 if expressionsIf expressions<. 🎜>

Syntaxe Kotlin

val result = if (param == 1) {    "one"} else if (param == 2) {    "two"} else {    "three"}
Copier après la connexion
Car si les expressions, certaines personnes l'aiment, certaines personnes la détestent, et certaines personnes pensent que cela n'a pas d'importance, je l'aime beaucoup, j'ai eu un réponse avant sur Zhihu : https://www.zhihu.com/questio...

8 Essayez des expressions

Syntaxe Kotlin

val result = try {
    count()
} catch (e: ArithmeticEx
Copier après la connexion
ception) { throw IllegalStateException (e)

}

9 Currying automatique

Syntaxe de la raison :

let add = (x, y) => x + y;   /* same as (x) => (y) => x + y; */let five = add(2,3);      
   /* 5 */let alsoFive = add(2)(3);    /* 5 */let addFive = add(5);    
       /* y => 5 + y; */let eleven = addFive(6); 
           /* 11 */let twelve = addFive(7);     /* 12 */
Copier après la connexion
10 Extensions de méthode

Syntaxe Swift :

extension Int {    func repetitions(task: () -> Void) {        for _ in 0..<self {
            task()
        }
    }
}3.repetitions({    print("Hello!")
})// Hello!// Hello!// Hello!
Copier après la connexion
JavaScript peut être étendu sur des prototypes.

Je pense qu'il y a aussi une fonctionnalité très utile à offrir, le chaînage facultatif. La raison pour laquelle cela n’est pas mentionné est que la plupart des langages disposent déjà de cette fonctionnalité. Il semble que le développement de JavaScript soit encore un peu lent.

Voici les 10 fonctionnalités les plus intéressantes des langages de programmation modernes. J'espère que vous pourrez les comprendre.

Recommandations associées :

Top dix des langages de programmation​​de l'ère actuelle Lequel aimez-vous

Classement des langages de programmation TIOBE en septembre 2017

Qu'est-ce que PHP ? Pourquoi devriez-vous choisir d’apprendre PHP comme langage de programmation ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal