Archive for the ‘Software Develeopment’ Category

What is a Software Technology?

August 6, 2009 2 comments

What is a technology?

Here’s how Wikipedia defines technology:

Technology is a broad concept that deals with an animal species’ usage and knowledge of tools and crafts, and how it affects an animal species’ ability to control and adapt to its environment.

Designer thinking

Arrr … What animals!!!

But that is not what I was searching for. I was searching for that word “technology” that I always see in my study about Computer Software. I heard for example about Java technology, .NET technology, JDBC technology and many others.

Today I could make a very close definition of what is a technology when it’s related to software.

So the question now should be: What is a software technology?

I think that a software technology is simply a set of software libraries or classes (from an OO view) written in some programming languages to facilitate the ability to manipulate something. Having such technology should provide abstraction or hide the very specific details of dealing with this thing to make it easier for the developer.

I’ll say that Java, the programming language., is a software technology indeed.

Another example that I’ve read about it today and gave me the intuition about this topic is JDBC or Java DataBase Connectivity. It’s mentioned that JDBC is a technology that enables database access and manipulation of different database drivers like those for MySql, Oracle, MSSQL, … while JDBC is simply some software classes written in java!

Designer workstation after

Got it!!!

One more thing … Don’t you think that there’s some similarity between a software technology the way I defined it and a general technology definition as Wikipedia mentioned?

Wikipedia said it’s a Concept or set of concepts and I’ve said it’s a a set of Classes.  Do you know what’s a class in software? it is actually an abstraction of a Concept. There’s even more similarity between the two definitions but I’ll leave it to you as a homework 😉

– Ahmed Abdullah Hussein

Categories: Software Develeopment

Programming language?

February 18, 2009 9 comments

Programming languages

What is a programming language and why do we need it? – An important question that we will try to answer below together.

Read more…