Reputation: 24808
For me it is : strong type
"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
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:
Duck typing similar to Python, PHP, Perl, Ruby.
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
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
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
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
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
Reputation: 14039
Supported in such a manner that it allow for rapid deployment after good testing.
Upvotes: 1
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