I started programming in C++ at uni and loved it. In the next term we changed to VB6 and  I hated it. 

I could not tell what was going on, you drag a button to a form and the ide writes the code for you. 

While I hated the way VB functioned I cannot argue that it was faster and easier than doing the same thing in C++ so i can see why it is a popular language. 

Now I am not calling VB developers lazy in just saying it easier than C++ and I have noticed that a lot of newer languages are following this trend such a C#.

This leads me to think that as more business want quick results more people will program like this and sooner or later there will be no such thing as what we call programming now. Future programmers will tell the computer what they want and the compiler will write the program for them like in star trek. 

Is this just an under informed opinion of a junior programmer or are programmers getting lazier and less competent in general?  

EDIT: A lot of answers say why re invent the wheel and I agree with this but when there are wheels available people are not bothering to learn how to make the wheel. I can google how to do pretty much anything in any language and half the languages do so much for you when it come to debugging they have no idea what there code does of how to fix the error. 

That's how I cam up with the theory that programmers are becoming lazier and less competent as no one cares how stuff works just that it does until it does not.

No, developers haven't got lazier or less competent. Yes, there is a steadily decreasing need for actual development, in the sense that you know it. And yes, this is very much because businesses want quick results, and why shouldn't they?

However, there is an end-point. There will always be a need for some developers.

A lot of requirements are the same across different projects. The one you're talking about is UI code. Most UIs are made up of a specific set of fields - textbox, checkbox, radio, select, etc. - and there is really no point in developing these from scratch, over and over and over. So abstraction layers are put in to take away all of that boilerplate code.

Likewise the data layer, which is usually nothing but Insert This, Delete This, Replace This and a large number of different views of the same data. Why keep writing that over and over? Let's invent ORMs.

The only thing you should be developing is code that is unique to the business you're developing for.

But there will always be that uniqueness - where there isn't, there is a business opportunity - and there will always be a need for people to write code.

All that said, also bear in mind that there is a lot more to being a developer than writing code. Whether you are coding in pure assembly or knocking together Drupal components to make a content-driven site, you are translating the business need into something that the computer understands.

The most important part of being a software developer is being able to understand the business requirement well enough to explain it to the computer.

It doesn't really matter what language you're using to explain things to the computer, it only matters that you can. And this is hard work, nothing lazy about it.
