What are the best programming languages to learn first?

[edit][3comments]

Why did you vote for Python?

Python is a widely used general-purpose, high-level programming language.

Easy to get started

[edit][comments]
On top of the wealth of tutorials and documentation, and the fact that it ships with a sizeable standard library, Python also ships with both an IDE...

Language fragmentation

[edit][comments]
A large subset of the Python community still uses / relies upon Python 2, which is considered a legacy implementation by the Python authors. Some li...

[edit][6comments]

Why did you vote for JavaScript?

JavaScript (JS) is a dynamic computer programming language. It is most commonly used as part of web browsers, whose implementations allow client-side...

No installation required

[edit][1comments]
If you run a web browser you already have JavaScript installed and can get started right away. Modern browsers such as chrome also have very powerful...

Many errors pass silently

[edit][comments]
JavaScript looks for every possible way to treat the code you write as runnable and is very reluctant to point out likely errors. For example, you h...

[edit][4comments]

Why did you vote for C?

C is a general-purpose programming language.

Industry standard

[edit][comments]
C is the industry standard programming language, moreover, it is the most popular programming language to use. C is the language used for most Window...

Steep learning curve

[edit][comments]
While the language compliments knowledge of computer components very well, and gives a deeper understanding, it is also quite difficult to learn, and...

[edit][comments]

Why did you vote for Ruby?

Ruby is a dynamic, open source programming language with a focus on simplicity and productivity.

Elegant syntax

[edit][comments]
Ruby has a very clean syntax that makes code easier to both read and write than more traditional Object Oriented languages, such as Java. For beginni...

No cons added yet

[edit][comments]

Why did you vote for Scheme?

Scheme is a functional programming language and one of the two main dialects of the programming language Lisp.

No Magic - it's clear how everything works

[edit][comments]
Scheme has far less built into the language itself, helping students see that things like OOP are not magical: they are just patterns for organizing...

No cons added yet

[edit][comments]

Why did you vote for Java?

Java is a computer programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dep...

Most commonly used language in industry

[edit][comments]
Java is the second most popular language in industry, resulting a lot of support for tools and plenty of computer science books, example projects and...

Lacks modern features

[edit][1comments]
Java evolves very slowly and currently lacks many features which are heavily used in other languages: properties, events, operator overloading, multi...

[edit][1comments]

Why did you vote for C#?

C# is a managed language developed by Microsoft as a Java alternative, containing more syntactic sugar for features such as properties, events, async...

Great introduction to object-oriented programming

[edit][comments]
Object-oriented programming is the most widely-used paradigm. C# offers support for common OOP features such as classes, methods and fields, plus so...

Limited support on non-Windows platforms

[edit][comments]
.NET has been ported to Linux and OS X thanks to a project named Mono. Most libraries are supported by Mono, but some aren't and will never be.Cr...

[edit][comments]

Why did you vote for Scala?

Scala is an object-functional programming and scripting language for general software applications, statically typed, designed to concisely express...

Type inference

[edit][comments]
Scala offers type inference, which, while giving the same safety as Java's type system, allows programmers to focus on the code itself, rather th...

No cons added yet

[edit][2comments]

Why did you vote for D?

D provides a low overhead language to begin the learning process. The selection of features allow for an assortment of teaching styles and subjects....

Static with type inference

[edit][comments]
For a new user adding types can feel tedious, and takes focus off the meaning of the code, but they are also important for checking logic. D provides...

No cons added yet

[edit][comments]

Why did you vote for Assembly?

Assembly is a low-level programming language for a computer, or other programmable device, in which there is a very strong (generally one-to-one) cor...

Low Level - it's how the computer works

[edit][comments]
One of the best ways to learn how a computer actually works is to work your way up from lower level abstractions. Assembly, being only a level above...

No cons added yet

[edit][comments]

Why did you vote for Smalltalk?

Smalltalk is an object-oriented, dynamically typed, reflective programming language. It was designed and created in part for educational use.

Easy to learn and experiment

[edit][comments]

No cons added yet

[edit][comments]

Why did you vote for LiveCode?

LiveCode is both an open-source and proprietary cross-platform rapid application development language.

Extremely simple to get started

[edit][comments]
Single-click install of entire development environment, and all-in-one IDE makes it easy to go from visually layout out a user interface to writing c...

Not a mainstream language

[edit][comments]

[edit][comments]

Why did you vote for APL?

Array-focused programming language

High-level

[edit][comments]
No complicated loop processing to apply a function to a array of arrays. Functions are defined in a way that they will typically operate the same way...

No cons added yet

[edit][comments]

Why did you vote for Erlang?

Used in high profile distributed systems

[edit][comments]
Erlang is a very popular choice in industry for distributed systems projects in particular, due to its emphasis on asynchronous message passing.Erla...

No cons added yet

[edit][comments]

Why did you vote for Lua?

A powerful, fast, lightweight, embeddable scripting language.

Straightforward and simple

[edit][comments]
Lua's syntax is considered to be one of the closest syntax to plain English. Lua's syntax is also very simple and straightforward. Because of...

No cons added yet

[edit][comments]

Why did you vote for scratch?

Scratch from MIT, is a free programming language and online community where you can create your own interactive stories, games, and animations.

Easy to learn

[edit][comments]
Even children can learn from it.

Won't get you a job

[edit][comments]

[edit][comments]

Why did you vote for Pascal?

Pascal is an influential imperative and procedural programming language, designed in 1968–1969 and published in 1970 by Niklaus Wirth as a small and...

Easy

[edit][comments]

Not usable no more in real life

[edit][comments]

Are we missing something?

Help make this question more complete.