• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

What "exactly" is a framework?

ibex333

Diamond Member
I was looking up what ASP.NET is, and according to my google search it is a framework... But there are many other frameworks... "Rails" for Ruby?

Ok, so I googled what a framework is... Apparently, "a software framework is an abstraction in which software providing generic functionality can be selectively changed by additional user-written code, thus providing application-specific software. A software framework is a universal, reusable software platform to develop applications, products and solutions."

Still sounds way too ambiguous!

What is a software "platform" then? Is it a compiler to assemble other code using other languages? Is it a piece of software in which to write other code such as C# or VB code?

Can someone explain what ASP.NET is, using Javascript as a comparison? Javascript is an interpreted language, and one can write Javascript code in various text or code editors. Anything from Notepad to ExpressionWeb, Dreamweaver and anything in between. So how is ASP.NET different? Is it not a "language" at all? Is ASP.NET a platform within which I can write Javascript?

Thanks very much.
 
A "framework" in this context is a body of code that provides services that can be used in common across a wide variety of applications. A "GUI Framework" provides common windowing classes. A "Comunications Framework" provides common networking classes, etc.

The point is that in any given set of applications built on the same language and operating system, there are common functional requirements that are not specific to the problem domain the application is addressing. These common functions can be identified, factored out of their domain-specific environment, and presented as reusable components that many applications can take advantage of.
 
So then ASP.NET is not a language at all, it's like a collection of classes from which a programmer can draw? I'm still unclear... How can ASP.NET be compatible with other languages when it's code is very different?
 
So then ASP.NET is not a language at all, it's like a collection of classes from which a programmer can draw? I'm still unclear... How can ASP.NET be compatible with other languages when it's code is very different?

Ehh, ASP.NET is not a language.
ASP.NET only works injunction with C# and VB.NET(two Microsoft languages)
 
So then ASP.NET is not a language at all, it's like a collection of classes from which a programmer can draw? I'm still unclear... How can ASP.NET be compatible with other languages when it's code is very different?

The architecture of .NET languages is such that they all compile to a binary-compatible intermediate format known as Common Intermediate Language, and they all execute in the Common Language Runtime. So classes written in VB.NET are callable from C# and vice versa.
 
A "framework" in this context is a body of code that provides services that can be used in common across a wide variety of applications. A "GUI Framework" provides common windowing classes. A "Comunications Framework" provides common networking classes, etc.

The point is that in any given set of applications built on the same language and operating system, there are common functional requirements that are not specific to the problem domain the application is addressing. These common functions can be identified, factored out of their domain-specific environment, and presented as reusable components that many applications can take advantage of.

Not to split hairs, but I think you are more accurately describing a library. I think the .Net base classes are only part of what makes up the "framework", there is the runtime, and all the things that go with it, like the GAC.
 
Not to split hairs, but I think you are more accurately describing a library. I think the .Net base classes are only part of what makes up the "framework", there is the runtime, and all the things that go with it, like the GAC.

It's a definitional disagreement. I would consider the runtime and GAC to be part of the platform, not the framework. For example, django is a framework, but has no runtime or anything similar to a GAC.
 
Well in that case I think there is far too much overlap between library, framework, and platform for any of them to have any definitive boundaries.
 
Well in that case I think there is far too much overlap between library, framework, and platform for any of them to have any definitive boundaries.

Yeah, there is certainly overlap. In fact you could say that a "framework" is a subspecies of library.
 
Back
Top