tags:

views:

629

answers:

6

What is meant by framework, programming language and scripting language?

+8  A: 

The distinction between programming languages and scripting languages is ill-defined. In my opinion, we should dispense with the term "scripting language" and just call them all programming languages.

A framework, on the other hand, is a collection of code that uses an inversion-of-control mechanism to help you structure your code. Frameworks are similar to libraries in that they provide building blocks you can use to build a bigger system.

Daniel Pryden
Why the downvote?
Daniel Pryden
Right to the point! People use the term "scripting", "gluing" to mean a different activity respect to programming, but they are just deluding themselves.
MaD70
A: 

May I suggest using google to answer such general questions?

http://en.wikipedia.org/wiki/Framework

http://en.wikipedia.org/wiki/Scripting_language

http://en.wikipedia.org/wiki/Programming_language

danielv
these wikis didnt mentions the differences
nicky
They tell you what they are. It's up to you to put 1 and 1 together.
Joey Robert
A: 

To what the others said i add this:

http://en.wikipedia.org/wiki/Programming%5Fparadigm

Cristina
+7  A: 

I think Daniel Pryden's points are excellent - I voted him up. I'd just like to add a couple of minor additions.

Programming languages, like C and C++, used to have a compiling and linking step that rendered the source code into a machine-language form that was run by the operating system.

Scripting languages, like the Unix Bourne, Korn, and C shell, were not compiled or linked like C and C++. (Thanks to Daniel Pryden's correction and citation of the Unix scripting languages.)

Since virtual machines have become so common in languages like Java, Python, and C#, the distinction between scripting and programming has been blurred.

As for the distinction between libraries and frameworks: your code links in libraries and calls them. This is different from a framework, because your code is plugged into the framework. It's known as the Hollywood principle: "Don't call us, we'll call you."

duffymo
You're right (and I upvoted you too) but I disagree with your characterization of Python as a scripting language. It is definitely one of the blurred languages too. A better example of a "true" scripting language would be the Bourne Shell. It was only ever intended to be used to automate and/or tie together other programs into a "script". Additionally, Bourne Shell is interpreted directly, without an intermediate bytecode.
Daniel Pryden
I agree with your disagreement, Daniel. 8) I was reaching with Python. Your example of Bourne shell is spot on.
duffymo
+2  A: 

frameworks are libraries or templates of pre-written stuff you can re-use. they often come with a pre-imposed structure and philosophy of how to approach a domain of problems.

programming language is a superset of scripting language and includes anything you yourself write that makes a computer do something

scripting languages are traditionally interpreted meaning they are useful for smaller more light-weight purposes, but that definition is getting vaguer since javascript - a 'scripting language', for example, is not interpreted so much these days

Scott Evernden
As you said, a framework has a structure and allows to build things on top of it by offering extension points. This is a big difference with a library. In other words, Framework != Library
Pascal Thivent
A: 

Good explanation http://freejavaclass.com/articles/faq/what_is_framework.jsp

Kartik