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

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

小云云
小云云original
2017-11-16 10:39:111448parcourir

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);

La méthode d'écriture JavaScript correspondante :

boundScore(0, 100, add(7, double(me.score)));

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")
}

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)));

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() }

Comparaison avec JavaScript

strings
  .filter{ it => it.length === 5 }
  .map{ it => it.toUpperCase() }

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;

Syntaxe Kotlin

data class Person(val name: String, val age: Int)val(name, age) = Person("Guy", 20)

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()));

Méthode d'écriture JavaScript correspondante

var button = querySelector('#button');
button.text = 'Confirm';
button.classed.add('important');
button.onClick.listen((e) => dispatch(confirmedAction()));

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"}
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
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 */
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!
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!

Déclaration:
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