nanda
nanda

Reputation: 24808

What is the most important properties of programming languages for you?

For me it is : strong type

Wikipedia:

"strong typing" implies that the programming language places severe restrictions on the intermixing that is permitted to occur, preventing the compiling or running of source code which uses data in what is considered to be an invalid way

Why it is important? Because I love compile error much more than runtime error.

I guess it is better to supply some information and some reasons why it is important.

Upvotes: 6

Views: 3271

Answers (9)

user142435
user142435

Reputation: 357

Support first-class (aka higher-order) functions

Upvotes: 3

dsimcha
dsimcha

Reputation: 68770

I can't stand purely explicit, nominative, static typing, i.e. Java-style. I feel like I can only program effectively in languages that offer at least one of the following:

  1. Duck typing similar to Python, PHP, Perl, Ruby.

  2. A good template system that supports variadics, static if, etc. (like D's template system) plus at least some type propagation (like C#'s var keyword or D's auto keyword). I've been using D for a while and its template system is good enough that I often refer to it as "compile-time duck typing".

Without at least one of these I often feel like I'm caught in a complete straight jacket.

Upvotes: 1

Noel M
Noel M

Reputation: 16146

Being Turing-complete helps.

Upvotes: -2

Mau
Mau

Reputation: 14488

1) Strong typing and features 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 some stuff and have it statically typed (i.e. you needed casts, when pulling objects from an untyped collection for example).

Generics of course improve the situation a lot and things get even merrier in languages that support higher order generics (like Scala).

2) Conciseness. If it's obvious, I shouldn't need to write it. Type inference is a great tool for this.

3) A great library. If it's often needed, I shouldn't need to write it.

Upvotes: 3

Caleb Hattingh
Caleb Hattingh

Reputation: 9245

It is important that the code look like pseudo-code, in that 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 towards each other.

Upvotes: 2

Oded
Oded

Reputation: 499402

Expressiveness.

That is, it makes it easy to express the design and ideas and does not require technical workarounds to make a design work.

Upvotes: 5

spinon
spinon

Reputation: 10857

It gets the job done. I think it's good to be familiar with more than one language. As much as I enjoy C# I don't think it is the best at everything. So for me I just look at the task at hand and what are some of the requirements and then try to choose a language that best matches.

Upvotes: 4

Tobiasopdenbrouw
Tobiasopdenbrouw

Reputation: 14039

Supported in such a manner that it allow for rapid deployment after good testing.

Upvotes: 1

Mike Caron
Mike Caron

Reputation: 14561

Concise, but unambiguous syntax.

Visual Basic: It's clear what's going on, but it's very verbose.

Perl: It's quite concise, but you'd get clearer programs by banging on your keyboard randomly.

C#: Just right :D

Upvotes: 1

Related Questions