10 most interesting features of modern programming languages

小云云
Release: 2023-03-17 15:14:01
Original
1496 people have browsed it

With the rapid development of information technology, more and more programming languages ​​​​continue to appear in our lives, and at the same time, it also provides us with more job opportunities. Let’s look at the age of programming languages: Lisp (1958), Smalltalk (1972), Objective-C (1984), Haskell (1990), OCaml (1996), etc. These are all languages ​​from the last century.

The editor of this article selected several latest languages: Reason, Swift, Kotlin, and Dart as research objects, and summarized 10 features:

1 Pipeline operator

Reason syntax

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

Corresponding JavaScript writing method:

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

And es already has a corresponding proposal: tc39/proposal-pipeline-operator

2 Pattern matching

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")
}
Copy after login

3 Reactive (Rx) programming build in the language

Dart syntax

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

4 Default parameters of lambda function

Kotlin syntax (using it as the default parameter)

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

Comparison with JavaScript

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

5 Destructuring

Reason syntax:

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

Kotlin syntax

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

es6 already has array destructuring, es8 adds object destructuring

6 operator cascade Cascade operator

Dart syntax

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

corresponds The JavaScript writing method

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

If you use jQuery, the writing method is basically the same as dart, but the two are essentially different

7 if expression If expressions

Kotlin syntax

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

Some people like if expressions, some people hate them, and some people think it doesn’t matter; I like it very much. I have an answer on Zhihu before: https://www.zhihu.com/questio...

8 Try expressions

Kotlin syntax

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

ception) { throw IllegalStateException(e)
}

9 Automatic collation Automatic currying

Reason Syntax:

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 */
Copy after login

10 Method extensions

Swift Syntax:

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

JavaScript can be extended on the prototype.

I think there is another very useful feature, optional-chaining. The reason why it is not mentioned is because most languages ​​​​already have this feature. It seems that the development of JavaScript is still a bit slow.

The above are the 10 most interesting features of modern programming languages. I hope you all know something about them.

Related recommendations:

Top Ten Programming Languages ​​of Today Which Do You Like

##TIOBE Programming Language Ranking in September 2017

What is PHP? Why should you choose to learn PHP as a programming language?

The above is the detailed content of 10 most interesting features of modern programming languages. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template