Question: Most forums cite minor differences in speed, backup, etc.
It's about time someone tell how the two differ when it comes to GUI data validation.
Do this 2 Database always depend on java(or other software), or do they have the ability to create a user interface the accepts only valid input. Things like: positive numbers only, age between 1 to 100 only, email must be correct. I would be scared if my software accepts 500 years old for age.

Answer: 
I assume that HTML ate your <T> (you need to write &lt;T&gt; to display it)

T is a type parameter or "generic" parameter. Say you have a List. Then it is for the structure of the list unimportant what exactly you are storing there. Could be Strings, Dates, Apples, SpaceShips, it doesn't matter for list operations like add, remove etc. So you keep it abstract when defining the class ("this is an abstract list"), but specify it when you instantiate it ("this is a list of Strings")

```
//in Java, C# etc would be similar

//definition
public class List<T> {
   public void add(T t) { ... }  
   public void remove(T t) { ... }  
   public T get(int index) { ... } 
}

//usage
List<String> list = new List<String>(); 
list.add("x"); //now it's clear that every T needs to be a String
...  

```
This is [parametric polymorphism](http://en.wikipedia.org/wiki/Type_polymorphism#Parametric_polymorphism), another important form of polymorphism other than subtyping.

In Java land, they call it [Generics](http://www.oracle.com/technetwork/java/javase/generics-tutorial-159168.pdf) (see also [Lesson: Generics](http://docs.oracle.com/javase/tutorial/extra/generics/index.html)).