What are the most important features of programming languages ​​for you?

For me it is: a strong type

Wikipedia :

"strong typing" implies that the programming language places severe restrictions on the mixed movement that is allowed, preventing compilation or execution of source code that uses data in what is considered an invalid way.

Why is it important? Since I like to compile an error much more than a runtime error .

I think it is better to provide some information and some reasons why this is important.

+6
language-agnostic programming-languages
source share
9 answers

expressiveness.

That is, it makes it easy to express design and ideas and does not require technical workarounds to carry out design work.

+5
source share

He is doing his job. I think it’s good to get to know several languages. As much as I like C #, I don't think this is the best in everything. So for me, I just look at the assignment and some of the requirements, and then try to choose the language that works best.

+4
source share

Support for first class functions (higher order)

+3
source share

It is important that the code looks like pseudo-code, as it is easy to read and write. There is no objective measure for this, because over time, the language and the programmer tend to bend to each other.

+2
source share

1 ) Strong typing and functions that support it.

C # / Java v1.0 were strongly typed languages, but sometimes you had to break static typing because there was simply not enough expressiveness to do something and statically type (i.e. you needed casts when pulling objects from untyped e.g. collection).

Generics, of course, greatly improve the situation, and everything becomes even more fun in languages ​​that support higher-order generators (for example, Scala).

2 ). If this is obvious, I will not need to write. The output type is a great tool for this.

3 ) Great library. If this is often necessary, I do not need to write.

+2
source share

It is supported in such a way as to ensure rapid deployment after good testing.

+1
source share

I cannot stand as a purely explicit, nominative, static type, i.e. Java style. I feel that I can only effectively program in languages ​​that offer at least one of the following:

  • Duck print like Python, PHP, Perl, Ruby.

  • Good template system supporting variables, static, if etc. (e.g. D template system) plus at least some type propagation (e.g. C # var keyword or D auto keyword). I have been using D for a while, and its template system is good enough that I often call it "typical duck compilation."

Without at least one of them, I often feel like I’m caught in a full straight jacket.

+1
source share

Short but unambiguous syntax.

Visual Basic: it’s clear what’s happening, but it’s a lot.

Perl: It's pretty eloquent, but you get clearer programs by accidentally tapping the keyboard.

C #: Right: D

0
source share

The acquisition of Turing-complete helps.

-2
source share

All Articles