21

What programming language is now(a days) the most influential?

64 accepted

C# (Don't downvote me because you dislike MS without at least understanding my logic).

C# is an advanced and rapidly evolving language used by hundreds of thousands of developers. It has seen the addition of constructs like delegates, anonymous and extension methods, lambda functions, etc. all in just the last few years. Of course, anonymous and lambda functions have been available via Lisp for half a century but MS should be given credit for pushing them into the C-descendant languages and out into the mainstream. Similarly, Linq is a compelling new player on the scene. While it is not specific to C#, it is clear from this interview with Anders Hejlsberg (the primary architect of C#) that Linq is clearly an extension of the C# model.

The real test: how much activity and anticipation do you see around C# 4.0 compared, say, with the "latest" from Kernighan and Ritchie?

Also, if you ask the question, "Who is the most influential programming language theoretician in the world today?" the answer would be Hejlsberg. That speaks volumes.


So, let's look at some of the others suggested here.

C: Nowhere near the most influential in 2009. While it clearly exerted enormous influence over the subsequent course of programming language evolution, people don't really look to it for such advances any more (as per my statement above re: new versions).

C++: No - and for similar reasons. While C++ set in motion the widespread adoption of OOP and set the background against which Java and C# were developed, other languages have pushed forward the OOP banner. Many other languages were similarly influenced but it is hard to pick apart whether C++ was the influence or OOP in general (e.g. CLOS for LISP).

Java: I might argue for Java because of the speed with which it spread in the 1990s and the variety of new constructs it introduced (or made popular), my sense is that Sun just isn't in a position, today, to really push the language forward in the same way that MS is doing with C#.

PHP: While enormously popular, it simply isn't in a position to influence the future of programming language theory. It is more like a grand amalgamation of macros written in C than a first-class competitor among advanced programming languages.

Ruby: My second choice and a real competitor would be Ruby and, specifically the Ruby on Rails framework. There is a whole lot of interesting work going on in Ruby that I know many people are watching. Still, I think that if you are talking influence it has to yield to C# due to the size of the developer base. UPDATE: although the language itself may yeild to C#, I think it is noteworthy that the Rails framework and its implementation of MVC in particular, are proving hugely influential. Indeed, MS is scrambling to catch up with a similar MVC framework in ASP.NET. Thus, I might vote Ruby the most influential ecosystem at this point even if I wouldn't agree regarding the language.

F#: Still far too obscure and academic to be said to have real influence today.

Python: Python is a powerful and unusual programming language. It features some interesting twists I haven't seen elsewhere such as the way symbol tables are used and the use of docstrings. It also has support for advanced capabilities such as lambda functions and for nice constructs like default and optional arguments. I wouldn't vote it up here, though, as the innovations introduced in Python aren't proving particularly influential outside of Python circles. Also, it is often perceived (unfairly, I'd say) as a glorified scripting language applicable to a limited set of circumstances.

49

Javascript.

why not?

we're all programming for the web in one way or another these days, no?


To generalize, I'd say Functional Programming Languages

I disagree with C being influential now. It had been influential, yes... but its day is literally over. Its influence still lasts and will lasts for the next decades or so, but for now I think it's functional programming.

I think Python-style syntax and functional languages have even more influence now than C.

from __future__ import braces
SyntaxError: not a chance

I'm starting to love not having to type a closing brace now.... I really do!

C# and VB folks had just been recently introduced the concepts of LINQ.... and they say LINQ queries are awesome! and then they never knew that Lisp, Caml, Haskell, Schemes and friends of Scheme have all had function as first class object literally since the beginning of time.

Did somebody say strong typing?

39

C.    

19

The most influential language is C, because

  • If, sooner or later, you have to do systems programming, you will use C or its derivative C++
  • All the more modern languages are either implemented in C or have run-time systems implemented in C. (The runtime system for the Glasgow Haskell Compiler has more C code than Version 6 Unix!)
  • <joke>Everybody knows that to have a chance of acceptence, a language has to have semicolons and curly braces.</joke>
17

Taking the literal meaning of "influential" as in, "has influenced", I'd say it's the classic crop; Smalltalk, Lisp, etc. C# has, to date, had little influence on any other language.

"Influential" doesn't mean "popular".

16

Python, simply because I am amazed no one else has chosen it. Python is the language I will be learning this year because:

  1. It is a strongly typed, dynamic, case sensitive and object-oriented language.
  2. Has cross platform compatibility (Python scripts will run natively on Mac OSX)
  3. Has a clear concise syntax allowing beginners to easily start coding in it. (I'm aware that this is an opinion rather than a fact, but I think we can agree that it is easier to learn to code in Python than in C++ or Haskell?)
  4. Allows you to use a lightweight development environment (compared to Visual Studio or even Eclipse)
  5. Allows you to create scripts, cross-platfrom GUIs, and web-based applications.
  6. It is widely used by Google, Amazon and Yahoo!
  7. Has an active community around it, who are actively developing interesting open source applications and libraries (Twisted, Django, Zope and SpamBayes for instance).

If you are interested in learning Python, download it here, and get coding!

10

LISP

It seems like every "greatest newest thing" language feature is always something that's been in LISP for years.

Wish I had time to get good with it :(

5

From the Microsoft point of view:

Past: VB

Present: C#

Future: F# (or possibly M)

5

Javascript. It is THE most used programming language on earth.

4

I would say in their way that many programming languages have been extremely influencial in the programming community but in many different ways. It really rather depends if you're looking for languages that have influenced other languages or if you're looking for languages that have influenced the general programming community.

I could pick a single language as an example - VB was hugely influencial in it's own right because it allowed beginners to rapidly become productive in a development environment they might otherwise have floundered in. While VB might have been mocked by many programmers, it made a huge difference in the programming world. Inside of VB you can see that the language itself was hugely influenced by other languages right up to today when in VB 9.0 we're seeing the addition of features from other languages.

We've seen VB move away from its traditional model and be placed over top of a far more C/C++ style modular architecture. In addition we've seen LINQ and lambda expressions added in which is clearly the influence of more mathematical and functional languages.

As languages mature, they begin to adopt the characteristics of other languages and while 10 years ago a VB programmer would've had a much more difficult time of attempting to learn C/C++, it's now a breeze to cross over into C# because of the similarity dictated by the common language runtime.

Let's also not forget that before .NET was released, we already had a JIT style language that promised platform independance - Java. Admittedly the first releases were slow, but its very concept that you could separate the application from the platform upon which it sat obviously influenced Microsoft in their release of the .NET languages.

Many programmers learn languages at university that were uniquely positioned to assist with learning programming concepts - things like Pascal and Haskell. I might not have originally considered that these too might have been significantly influencial, but when tomorrow's language designers started their careers with these languages, it's hard to consider that they wouldn't be influencial.

I think in this way I would have to say my list of the most influencial languages would be:

  • C/C++ - Obviously the latter was heavily influenced by the former and both heavily influenced the rest of the programming world.
  • VB - Many programmers would never have made the leap to programming without it, so to discard it as not influencial would be incredibly naive.
  • Java - Without Java's vision, we might never have seen .NET
  • .NET - For finally making the bridge allowing more basic programmers to get a quick leg up to paradigms presented by the more advanced languages like C/C++
  • LISP - I'm just picking LISP as a spokesperson for all functional languages which have been hugely influencial in bringing new programming concepts into the mainstream.
3

If by most influential you mean most likely to influence the development of new and successful languages, the obvious answer is Haskell. This designation could be easily attributed to Haskell's relatively powerful type system, lazy evaluation, or simply its widespread popularity in the PL research community, but I think it's most profound impact on other languages is and will be its purity.

The identification of side effects as responsible for most of the difficulty in reasoning about programs is brilliant, and Haskell is the most widely known pure language. Concurrency finally brings the issue to a head -- a pure language with a mechanism for cleanly enforcing separation of I/O from computational logic (monads) makes writing multithreaded programs much easier. Although future languages may not be strictly pure, they will likely tend to drift towards immutability by default and mutability by exception, and Haskell will be the role model for these languages.

2

I'd go with the flow and say C/C++ as they've created just about every other language out there. In modern times the world is more influenced by Java and .NET, using managed code. Or scripting languages ala Ruby, Python, etc. but none of these have the legacy of C/C++.

2

"Influential" is a very vague term to use in this context. I believe that the programming world is becoming more and more segregated. Different branches appear, and you can identify different types of programmers.

In a perfect world, I believe C should remain the "most influential", because it's complexity, hidden by it's simple syntax, can really shape (in a positive manner) the mind of a young programmer.

In our world, I believe Java is now the most influential:

  1. huge number of powerful libraries for everything you'd ever wanted;
  2. wide adoption on the server-side;
  3. taught as a first language in schools;
  4. etc.
1

Although I do not use it much myself, as far as influencing other languages C seems to be at the top of the list. C syntax and constructs have been incorporated in to most of todays popular languages such as C++, Java, and C#, also languages such as Perl have most of the common C constructs.

1

Java has the most mindshare: Widely used, still some excitement around it. (In contrast to, e.g., C, which is widely used but, as a language, is treated as legacy.)

Lisp and dialects have had the most historical influence on computer science.

As to the language which influences people in the sense of making them think in new directions, it was Ruby up to about 1 year ago; now Clojure is coming up fast but cannot yet be said to have the "most" influence.

1

C++- Both Java and C# are based off of developers taking C++ and fixing what they thought was wrong with it.

Javascript- Be it PhP, ASP.net, or some other web backend- AJAX seems to be changing how websites work a great deal- and this is mostly due to Javascript's capabilities (Well, Javascript, XML and the likes)

0

I would say this really depends on the context.

WEB - Javascript, then php, ruby, python

OVERALL - C, C#, Objective-C (mentioned no where?), C++, then Java

Influence has a lot to do, and although Javascript is a terrible language, it has a lot of users and libraries. The Cs are highly influential, obviously.

-1

If by most influential you mean where new languages are copying features from, it's easily Ruby. It used to be Perl before.

Most new languages seem to have closures, yield, and builtin [], {} literals, and semi-decent metaprogramming, some DSLability, and older languages like Python, Java, and C# try to add as many of these Ruby-style features as possible without breaking backwards compatibility.

-4

What about Pascal and Delphi? Ive been using them for over 15 years and I found that there is no restriction to what you can do with them. I would put forward an idea that which ever programing language you choose it will be the right choice.

-4

wasabi is pretty solid