what is the lastest programming language for today and future

doing some research and came across this link.
not sure if this is correct or not..

http://www.tiobe.com/tpci.htm


I am curious to know what is the latest trend.

I noticed vb.net and c# is growing from that link.... is there a chance that c# will be used more then c++ for windows applications?

LVL 8
bman9111Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

SilentBob42Commented:
The list you found, is a list of popularity of programming languages. Its updated every month.

Personally, I think most definately since the .NET framework is Microsoft's latest strategy on software developing and not just for web development.

Its hard to say which language will be THE language of the future. Right now, java and .net are about the same, but this will definately change in a few years.

moorhouselondonCommented:
Depends what one is trying to program.  For instance one wouldn't use Visual Basic to do Military RealTime work.  These programs each have their strengths and weaknesses.  The survey is going to be coloured by the types and sizes of organisations polled.
bman9111Author Commented:
do u like vb.net , c# or c++ more for windows applications???
Introduction to R

R is considered the predominant language for data scientist and statisticians. Learn how to use R for your own data science projects.

bman9111Author Commented:
let me rephrased:

which do u like vb.net , c# or c++ more for business windows applications???
bman9111Author Commented:
is there a ranking system for business???
SilentBob42Commented:
That's a nice conclusion. I'd use c# or vb.net for business windows apps and leave c++ for scientists & the military.

There's basically no difference between c# and vb.net by the way. There are minor differences, but its all based on taste. You should be able to do the same work with both of 'em.
InteractiveMindCommented:
>> is there a chance that c# will be used more then c++ for windows applications?
Possibly. C# is becoming more and more popular--and for good reasons (it's a brilliant language!!).

>> which do u like vb.net , c# or c++ more for business windows applications???
I hate all VB varients to be honest; I love C#; C++ is still a very popular language, but is remaining the first choice for more engineering-based applications.

>> is there a ranking system for business???
Not particularly, no.

It's really dependant on the actual application itself--what is it for?

Banks use Java a lot, and VC++. .NET based languages (such as C# and VB.NET) are becoming more popular in business also--such as accounting, etc.
TribmosCommented:
Businesses do whatever they want to get the job done really.  I do software development/support and i'm using languages from java,c,c++,basic,visual basic, etc.

In the business world if you have, lets say a cobal program, running things and for the most part does it well why change to something else?
InteractiveMindCommented:
>> There's basically no difference between c# and vb.net by the way.
I'm horrified by this statement.
The syntax is *completely* different!! The key similarity is the classes available--which are only generic because it's all based on the .NET framework..
SilentBob42Commented:
You shouldnt change anything, till you hit another y2k-like barrier with cobol ;)

Anyway. The discussion is about which language is the future. I'm sure its not one language... I also *hope* its not one language by the way. I like my language (c#), but I dont want to be a purist. I do think however that languages based on Virtual Machines is the future.
moorhouselondonCommented:
I am cautious of .net at present.  I personally use mainly Delphi for conventional programs (I notice the UK banks use this for client software).

What kind of business?  
The appearance of Cobol, Fortran and Ada in that survey means that it encompasses most types of business and is therefore to be considered possibly realistic.  But how do they "weight" things?  There are probably a vast number of "one off" apps using Cobol out there and conversely one app written in another language which has a user base of millions.  How do they view this?  The users probably won't know what an app was written in, so they won't know how to answer the questionnaire.
SilentBob42Commented:
@InteractiveMind:
I bet 95% c# code can be translated line by line to vb.net and visa versa. There are even code converters which actually work.
InteractiveMindCommented:
There are code converters from PHP to JSP ... that doesn't mean that they share any similarity.
The structure of the two languages (and most .NET languages) share similarity, so line-by-line conversion is fairly realistic.. But this is not good reasoning to state a strong similarity..
SilentBob42Commented:
code converters from PHP to JSP produce unreadable code and dont work. why? because these languages and the way they're used and should be used are different.

I know you're a vb-purist and I am a c#-purist, so I dont want to start "the classic language discussion" here. But honestly what do you think the difference is?

So far:
) Line-by-line conversion is possible
) They run on the same Virtual Machine.
) They share lots of libraries.
JesterTooCommented:
I think this list obtains it's ratings numbers from the AVAILABILITY of people with these language skills (it's also influenced by vendors' offerings of training in these languages).  That's not necessarily the same as what the marketplace is looking for.

However, I have noticed over the past year much the same trend in recruiter advertiesements... although it's difficult to get a true reading on this because often times the same job(s) will be advertised by multiple recruiters and on multiple sites (Dice and Monster and CareerBuilders and etc...)

For instance, I see a decline in Java positions from 2 years ago... I think many companies are realizing that the growing complexity of the language will become burdensome at some point, if it hasn't already.  I see a bigger increase in C# than VB.Net but I think that will even out as VS2005 begins to be used more (please, Microsoft, don't bring out another upgrade til we've been able to make use of this one for a while!)

The big gainers I see are PHP and AJAX... I think these are going to be good bets for a few years to come.  Couple these front-end technology skills with a good set of back-end batch processing technology skills and you should be employable just about anywhere anytime.  Of course, all this is a moving target and the real trick is to figure out where the target will be in 5-10 years.  Regardless of the current trends, it's clear that developers will need to keep updating their skills to adjust for what's just over the horizon.

Just my 2 cents!
Lynn
InteractiveMindCommented:
>> "I know you're a vb-purist and I am a c#-purist, so I dont want to start "the classic language discussion" here"
lol Agreed.

>> "But honestly what do you think the difference is?"

I read a couple of articles in one of the .NET developers blogs a few weeks back. He mostly works on documentation of the framework.

A lot of people had been emailing this developer, asking why so many .NET-based code examples are in VB.NET--when there are so many other languages.

He explained that this is due to VB.NET programmers being 'scared' of code in such languages as C# and VC++.NET. (However, the C#, and VC++.NET (etc) developers find it easier to apply the VB code to their own).


So, I think this in itself demonstrates how the syntax of a language is equally important to all other aspects...

An I don't think that anyone can disagree that the syntax of C# is very different to that of VB.NET.


(That's where I'm coming from... my interpretation of the differences of one language to another, is very much based on the syntax).
bman9111Author Commented:
ok....do u mean that business are making business applications, like HR, Accounting, Engineering, QA, purchasing, and many more areas stil in c++....

isnt that crazy...should c# be the future????


I was thinkin c++ was done for business applications.


I know vb.net and c# are growing like crazy... I seen a lot of info. now with vs 2005 which is the most common language that businesses will adapt too, vb.net, c# or c++....
InteractiveMindCommented:
Hmm.. BTW:
>> "I know you're a vb-purist and I am a c#-purist"
I trust you mean "purist" in the pejorative manner?
SilentBob42Commented:
>>He explained that this is due to VB.NET programmers being 'scared' of code in such languages as C# and VC++.NET.
>>(However, the C#, and VC++.NET (etc) developers find it easier to apply the VB code to their own).

This is exactly the feeling I get. I've been programming professionally for 6 years now and in my short career I've seen programmers in shock if they have to code in anything else they're used to. Seen this in college too.
I really don't understand this. I dont care if I have to code in pascal, c, c++, managed c++, java, vb.net, c# or any next-gen language in the future.


heh. on-topic: if I had to choose a language/enviroment for the future, I'd stick with anything based on a virtual machine. so basically you can choose between,
InteractiveMindCommented:
>> ok....do u mean that business are making business applications, like HR, Accounting, Engineering, QA, purchasing, and many more areas stil in c++....

Yup.. :)

>> I was thinkin c++ was done for business applications.

Well, I personally wouldn't use C++ for a typical business application. And you find that a growing number of the newer applications are being developed in more platform-independant technologies (those based on virtual machines--as SilentBob42 speaks of), such as Java and .NET.

These are because VM-based solutions are very portable.

However, some businesses do not want the hassle of installing and configuring a VM prior to their actual software. So many dependancies can be a real pain, and if they don't know what they're doing--they could lose a lot of money on  technical support! ;-)

So, a less dependable language--such as C, C++, VC++--are often used.
SilentBob42Commented:
True. But. VB, C, C++ and especially VC++ have their dependencies too. They basically need a specific version of dll's, which leads to, yes yes, dll-hell.

As for the VM-based languages, I'm not that worried about businesses not wanting to install this prior to using their software. Especially since the producer of my fav. platform also sells an OS or two  :)
InteractiveMindCommented:
Ja -- 'tis true. :)

Going a little off topic here: Bob, what is your current occupation, out of interest?
bman9111Author Commented:
I use to program in c++ and stopped when vb.net and c# came out.... too time consuming......

I am not sure which to continue use more though....Meaning c++, vb.net or c#

also for the converters....they suck...I tried so many and what it does and takes the vb.net code and yes it makes c# code, but it uses the visual basic namespace....So basically u are now left with a program that uses c# and vb.net in the same program.....


could find a converter that would take the vb.net and convert to c# using nothing but c#.

BrantUngerCommented:
>> There's basically no difference between c# and vb.net by the way.

>>>I'm horrified by this statement.
>>>The syntax is *completely* different!! The key similarity is the classes available--which are only generic because it's all based on the .NET framework..

I agree, the syntax is completely different. Not to mention...basically no difference? Are you SHITTING ME?!

C# is on par with C++. It is a COMPILED language. VB is not Compiled, it's interpeted, which makes it horribly slow. Can you program a 3D game using direct x in visual basic? Yes you can, but the game would turn out so choppy it would be unplayable.

C# however can match C++ and sometimes beat it.
InteractiveMindCommented:
>> I am not sure which to continue use more though....Meaning c++, vb.net or c#
Well, I don't think that any of us can really answer that... Lynn's comment seems to suggest this in it's own little way. :)

Personally: C#

C++ is a useful skill to have, and it is something that you should remain somewhat fluent with.

If you can do VB.NET, then I'm guessing you're very familiar with the syntax etc? In which case, you could just use C# to get kick-ass good with the .NET Class library, which really means that you're improving at both VB.NET and C#, whilst only using C#...

See what I mean? :)

Good luck
SilentBob42Commented:
forget about the converters, as you already said: they suck. the converters topic was used as a weak argument by both me and InteractiveMind :)

Maybe you should look at Managed C++: http://www.ondotnet.com/pub/a/dotnet/2003/01/13/intromcpp.html
Its got the c++ look and feel you're used to, but the possibilities of c# and vb.net.
SilentBob42Commented:
> C# is on par with C++. It is a COMPILED language. VB is not Compiled, it's interpeted, which makes it horribly slow. Can you
> program a 3D game using direct x in visual basic? Yes you can, but the game would turn out so choppy it would be unplayable.
> C# however can match C++ and sometimes beat it.
>
this all used to be true. yes, used to. its true for vb. not vb.net.
vb.net is just as a compiled language as c# or Managed c++.

and yes, c# and vb are very very different.
yet, c# and vb.net are basically the same. no shitting :)
InteractiveMindCommented:
By the way, may I add:
Most people seem to think that they must focus on a single language/technology... but this is not true.

I've been working with a mix of Java, C++, C#, several web/markup languages, and related stuff, for quite a few years--simultaneously... one minute I'll be reading "Java binding for OpenGL", the next "C# for Experienced Programmers", and then a little "C++ The Complete Language", with a touch of Charles Petzold to add some flavour ;-)

And it all seems to work for me!!

I'm not sure why people feel the need to specialise entirely. :)
InteractiveMindCommented:
>> this all used to be true. yes, used to. its true for vb. not vb.net.
>>vb.net is just as a compiled language as c# or Managed c++.
Yup, that's true.
BrantUnger, give this article of mine a little read:
http://www.darkins.org.uk/articles/article.php?id=10

It explains about the compilation similarities between all of the .NET languages ;-)  (i.e. MSIL, etc).

>> yet, c# and vb.net are basically the same. no shitting :)
lol <neglecting the syntax>  ;-)
SilentBob42Commented:
Funny. I'm exactly like that. with a different favourite language.

Its basically all about being a general-purpose programmer and seeing to it that your basic skills are okay. If you're like that, you shouldnt be interested in what kind of language you use.


...but you can develop a favourite though ;)
InteractiveMindCommented:
Definitely :)

Mind you, I'm stuck between Java and C# at the moment... I'm better at Java than I am at C# currently, but I'm loving C# at the mo--it's so tasty :-P
SilentBob42Commented:
Okay one last post...

For BrantUnger: you can use .net (and so vb.net) to develop games. someone refactored QuakeII to compile .net and made an extension in c#. they might as well used vb.net for it. read it here: http://www.codeproject.com/managedcpp/Quake2.asp

they report: "using the Microsoft Common Language Runtime (CLR) without noticeable performance delays"
bman9111Author Commented:
silentbob42 which language do u think should be focused on?? others I am interesting in ur response too...
SilentBob42Commented:
I'm a c# guy. You might have noticed ;)

I'd stick with Virtual Machine-based languages. So that leaves .NET and java.
If you have a strong c++ background, then learning c# or java should be easy. You'd spend your time figuring out the libraries and not the syntax because lots of constructs are very simular to c++.

Also, a huge advantage over java is the environment. If you can get your hands on Visual Studio, then get it. its very advanced, easy to use and updated every 2/3 years (?).

bman9111Author Commented:
yea I dont like specializing in 1 language either, but for several customers I am being asked to only use 1 language.... it sucks but I do what I am asked. A really great opportunity I cannot pass up.
this is why I am asking

Also Interactivemind I looked at that article and this is why i would think c++ would be fading away from business applications. (not games, or portable applications) I am referring to windows based applications dealing with office, and areas such as qa, hr, accounting, etc.

here is one reason that was listed in the article


"Another benefit of the .NET Framework is the CLR's execution-management features. The CLR manages memory, security and other features, relieving the programmer of these responsibilites. With languages like C++, programmers must manage their own memory. This leads to problems if programmers request memory and never release it -- programs could consume all available memory, which would prevent applications from running. By managing the program's memory, the .NET Framework allows programmers to concentrate on program logic. "


I like vb.net but it scared me when I get people that are placed in my programming team, that is self learning the language....It seems like people that are thrown into my group to help writes, creates really ugly coding in vb.net just because they are able to turn off option explicit and option strict....This is one advantage of c# they dont seem to be able to write as much ugly coding as in vb.net..... The problem I have is that my ex-bosses didnt seem to care because it was cheaper for them to make a HR person help me then hiring an experience programmer. Especially since the program they wrote works eventhough down the road the program will run into problems. There was this one person that wrote a whole program as string.... Oh my god it was horrible and management just couldnt grasp it, because it worked and they were getting a person to do 2 jobs, HR and helping me.... What a help writting ugly coding.... i was glad to leave that place....


SilentBob42Commented:
so if I read you correctly:
c++ -> too specific, programmers are thinking about managing memory instead of the problem at hand
vb -> creates lazy programmers, because of language constructs.

I should add: you can still write ugly, spaghetti code with c# or any language for that matter. If you're the senior who is responsible for others then maybe you should do code reviews. If done right, it doesnt take as much time as you think. I have weekly code reviews with my team...


JesterTooCommented:
      Young student to Quai Chang Kain:  Master, when I get older I want to teach Kung Fu, too.

       QCC: There are many styles of Kung Fu.  To teach one you must become a master of that style.  To master just one style
                may take a lifetime or more.

       YS:  Master, which style do you teach?

       QCC:  I teach them all.

While I don't advocate nearly so broad a coverage for Programming Languages, I do think you should not concentrate on just one.  When you're working as a corporate employee you may, for a while, be able to use a single development language.  And, unless you climb the management ladder, you won't be choosing that language... that will have already been decided for you.

Working as a freelancer or contract/consultant, you'd better have two or three hot skills in order to minimize gaps between gigs.

In my career I've probably learned and used 40-50 different languages, and while I've certainly not mastered them all (perhaps none), they have, and continue to, serve me well... even those I never use anymore because of what I learned about programming along the way.  More important than knowing all the syntactical minutiae of a language is being able to create efficient algorithms to apply to the problem being solved... Many times, the language used to implement those algorithms is superficial... except when it's dictated by the man!
JesterTooCommented:
Well, I see I've not even mastered the subtleties of correct abbreviation!    QCC  ==>  QCK
(Now, I know why I have to spend so much time with debuggers!)
SilentBob42Commented:
neh. just type "Q" and hit ctrl-space in Visual Studio  ;)
bman9111Author Commented:
LOL


great comments....

This is one thing I like a great discussion....


this one project I am working on I want to use c# so bad, but I need to do a lot of excel and word manipulations and it is such a pain to do in c#.
cannot seem to make it work as good as vb.net.... I wish this would change..

I wonder if the next version of vba, will be vb.net or c#.






SilentBob42Commented:
the next version on Office will probably support VBA for backward compatibility, but I expect it to fully interact with the .NET
CLR :)

maybe you for the time being you could leave your excel and word manipulations in VBA modules/macro's and call these from c#.
JesterTooCommented:
Why do you think it's a pain to code in C#?  The same classes, methods, and properties are available... only the client-side syntax is a bit different.
BrantUngerCommented:
That totally makes sense now. Why else would Vb.net use framework instead of runtime files if it was still an interpeted language? LoL Wow I had no idea! Good info.

Here's an article from Microsoft about the differences between vb.net and C#
http://support.microsoft.com/?kbid=308470

So theoretically, what might be a downfall of programming in C# for game development, instead of using C++ ?
SilentBob42Commented:
> So theoretically, what might be a downfall of programming in C# for game development, instead of using C++ ?
>
the runtime is and all its excellent features like garbage collection. if you'd use c++, then you as a programmer is responsible for memory management. when you use c# this is an automated process, a feature of the runtime.
Very nice but it takes cpu cycles to check the memory & everything so this would be less efficient.

Also, I've heard that games like Doom3 & such, still use assembly every now and then to get max. performance.
even over c++!
BrantUngerCommented:
With today's processor power, I would assume the extra cycles wouldn't matter...hmmm
SilentBob42Commented:
right now you probably would notice it. but in a few years I really wonder :)
also graphics cards is getting more and more sophisticated and basically turning into a processor of its own, so its not all up to the CPU anymore.
bman9111Author Commented:
so would it be safe to say that c# is the future of c++... or should i make this application in c++


I kind of feel that if I write the business application in c# that this would be a lot better then using c++... I am starting to have the mind set that I will only use c++ if I am porting to another os, writing a game, or creating a driver... But not really necessary for business or any other windows application.

not saying that c++ is dead, but now that c# is out, time, money would favor c#...

Thought??
BrantUngerCommented:
I would probably agree.
InteractiveMindCommented:
>> this one project I am working on I want to use c# so bad, but I need to do a lot of excel and word manipulations and it >> is such a pain to do in c#.
>> cannot seem to make it work as good as vb.net.... I wish this would change..

I quote, from my article:
" .NET offers a new software-development model that allows applications created in disparate programming languages to communicate with each other."
&
"The .NET Framework also provides a high level of language interopability. Programs written in different languages are all compiled into MSIL -- the different parts can be combined to create a single, unified program. MSIL allows the .NET Framework to be language independent, because MSIL is not tied to a particular programming language. Any language that can be compiled into MSIL is called a .NET-compliant language."

Create a class that does the office functions that you require--in VB.NET. And then use this from your C# code.

Hey, if you're going to use .NET here, why not take advantage of its great features?


Just to reiterate a previous comment of mine:

  Personally: C#

Good luck
bman9111Author Commented:
InteractiveMind , I am going to open up a question showing the vb.net code I am having trouble with. Maybe u or anyone else here can take a look at it. I would rather have everything in c#, but I would really love to see what u are talking about and the c# way...

"I quote, from my article:
" .NET offers a new software-development model that allows applications created in disparate programming languages to communicate with each other."
&
"The .NET Framework also provides a high level of language interopability. Programs written in different languages are all compiled into MSIL -- the different parts can be combined to create a single, unified program. MSIL allows the .NET Framework to be language independent, because MSIL is not tied to a particular programming language. Any language that can be compiled into MSIL is called a .NET-compliant language."

Create a class that does the office functions that you require--in VB.NET. And then use this from your C# code."

thanks everyone for helping.....everyone did such a great job......

I am leaning toward c#, only because it seems like I will have less future problems with c# then vb.net.....The only way I will program in vb.net is if the option explicit is on and option strict is on....

I think c# would a lot better professional..... Any thoughts to that comment.... lol
InteractiveMindCommented:
Well, I feel that C# is much more powerful.

>> Maybe u or anyone else here can take a look at it.
I shall take a peek, but I'm not a VB coder I'm afraid.
bman9111Author Commented:
powerful why???
are u hating me yet??? LOL
InteractiveMindCommented:
lol Questions are good. :)

C# inherits certain features from such languages as C++ and Java, that VB.NET does not.

The ability of unsafe code--and using pointers is just one example.


In my opinion also, C# is a more productive language--it takes half the time to write say a class in C#, than it does in VB.NET--because of the simplicity of the syntax.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
bman9111Author Commented:
k I opened the other question too

It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Programming

From novice to tech pro — start learning today.