Heim >Backend-Entwicklung >PHP-Tutorial >Die 10 interessantesten Features moderner Programmiersprachen

Die 10 interessantesten Features moderner Programmiersprachen

小云云
小云云Original
2017-11-16 10:39:111515Durchsuche

Mit der rasanten Entwicklung der Informationstechnologie tauchen immer mehr Programmiersprachen in unserem Leben auf und bieten uns gleichzeitig auch mehr Beschäftigungsmöglichkeiten. Schauen wir uns das Zeitalter der Programmiersprachen an: Lisp (1958), Smalltalk (1972), Objective-C (1984), Haskell (1990), OCaml (1996) usw. Das sind alles Sprachen aus dem letzten Jahrhundert.

Der Herausgeber dieses Artikels hat mehrere aktuelle Sprachen ausgewählt: Reason, Swift, Kotlin, Dart als Forschungsobjekte und 10 Funktionen zusammengefasst:

1 Pipeline-Betreiber

Grundsyntax

let newScore = me.score
  |> double
  |> (it) => add(7, it)
  |> (it) => boundScore(0, 100, it);

Die entsprechende JavaScript-Schreibmethode:

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

Und es hat bereits einen entsprechenden Vorschlag: tc39/proposal-pipeline-operator

2 Mustervergleich

Kotlin-Syntax

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 Reaktive (Rx)-Programmierung in der Sprache erstellt

Dart-Syntax

input.onKeyDown                                              
  .where((e) => e.ctrlKey && e.code == 'Enter')              
  .forEach((e) => dispatch(addTodoAction(e.target.value)));

4 Standardparameter der Lambda-Funktion

Kotlin-Syntax (als Standardparameter verwenden)

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

Vergleich mit JavaScript

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

5 Destrukturierung

Grundsyntax:

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

Kotlin-Syntax

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

es6 verfügt bereits über Array-Destrukturierung, es8 fügt Objekt-Destrukturierung hinzu

Kaskadenoperator mit 6 Operatoren

Dart-Syntax

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

Entsprechende JavaScript-Schreibmethode

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

Wenn Sie jQuery verwenden, ist die Schreibmethode im Grunde die gleiche wie bei Dart, aber die beiden unterscheiden sich grundlegend

7 wenn AusdrückeWenn Ausdrücke

Kotlin-Syntax

val result = if (param == 1) {    "one"} else if (param == 2) {    "two"} else {    "three"}

Denn wenn Ausdrücke manche Leute mögen, manche Leute hassen sie und manche denken, dass es egal ist; Antwort vorher auf Zhihu: https://www.zhihu.com/questio...

8 Ausdrücke ausprobieren

Kotlin-Syntax

val result = try {
    count()
} catch (e: ArithmeticEx

ception) { throw IllegalStateException (e)
}

9 Automatisches Currying

Grundsyntax:

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 Methodenerweiterungen

Swift-Syntax:

extension Int {    func repetitions(task: () -> Void) {        for _ in 0..<self {
            task()
        }
    }
}3.repetitions({    print("Hello!")
})// Hello!// Hello!// Hello!

JavaScript kann auf Prototypen erweitert werden.

Ich denke, es gibt auch eine sehr nützliche Funktion, die optionale Verkettung. Der Grund, warum es nicht erwähnt wird, liegt darin, dass die meisten Sprachen bereits über diese Funktion verfügen. Es scheint, dass die Entwicklung von JavaScript noch etwas langsam ist.

Die oben genannten sind die 10 interessantesten Funktionen moderner Programmiersprachen. Ich hoffe, Sie können sie verstehen.

Verwandte Empfehlungen:

Die zehn besten Programmiersprachen von heute, die Ihnen gefallen

TIOBE-Programmiersprachenranking im September 2017

Was ist PHP? Warum sollten Sie PHP als Programmiersprache lernen?

Das obige ist der detaillierte Inhalt vonDie 10 interessantesten Features moderner Programmiersprachen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn