# which are the programming languages of future.....



## picricacid (Jul 23, 2008)

hi friends.....

well, i just wanted to know which are the programming languages to look forward to considering the future of programming......

there are just too many programming languages, some small some more advanced.
though the syntax of most of the popular languages remains the same but there is still some elementary difference .

since i have just started my programming journey i don't want to get caught up by choosing the language which has no scope in future. well i have interest in software development, game programming as well as web development.

so which are the best languages for the above mentioned field.

i would really be thankful if i get some sound advise on this topic

thanks....


----------



## azaad_shri75 (Jul 23, 2008)

First learn C C++ as they can be used at both low and high levels and at presend I dont think there is /are languages as such which does not have future and I dont think there is any thing like that, and it is surprising to see that you want to develop every thing from software development to games to websites.............

first master the intricacies of the programming concept, all the three are are different fields select any one field and also remember a singlr programmer can do nothing alone without coordinating with other programmers in all the fields you mentioned, when i say so you should understand I mean at professional level.


----------



## jal_desai (Jul 23, 2008)

Logic in human mind develops gradually-says studies. Start off with C, C++ then jump to core java, VB and then go for Visual C#, J2EE, then ASP.NET and if u r still dedicated go for J2ME

As for the future, *JAVA IS IMMORTAL*



azaad_shri75 said:


> first master the intricacies of the programming concept, all the three are are different fields select any one field and also remember a singlr programmer can do nothing alone without coordinating with other programmers in all the fields you mentioned, when i say so you should understand I mean at professional level.



perfectly said...


----------



## QwertyManiac (Jul 23, 2008)

Java is from the Department of Redundancy Department.

Scripting languages that are interpreted in almost the same style like Java is, are lovely to work with. Interpreted languages for the win, for their flexibility to adapt to any style of your preference and freestyle programming both. You spend less time telling the "compiler" what what is and do more real-coding in lesser time. Any of the P's and one of the R are good example of this. [PHP/Python/PERL and Ruby]

Most of these are well suited for all the 3 areas of your interest. Python would be the most apt if you wish to go for all the 3, with readily-available libraries for GUI toolkits, a different-styled web development scenario with nice frameworks like Django and also PyGame for starting with game development. There are no bounds to how much you can extend more with languages like these.

But of course REAL programmers use butterflies to program.

[xkcd reference totally uncalled for, I know]


----------



## chandru.in (Jul 24, 2008)

QwertyManiac said:


> Java is from the Department of Redundancy Department.



Why do you want to start a language war now??  

I like scripting languages.  But they have their share of weaknesses too.  Dynamic typing is great when you have highly skilled programmers who follow good practices like TDD.  But teams do not always have great programmers.  They have college grads too who are not aware of good practices.  Statically typed languages' compilers catch a lot of errors which may go unnoticed in dynamically typed languages and may create nasty runtime bugs (floating point calculation mistakes can mean significant loss (banking) or flight crashes (airlines)). Only if very strict development practices are followed these can be avoided esp in teams with size around say 10 members with a significant amount (3-5) of college grads.


QwertyManiac said:


> Scripting languages that are interpreted in almost the same style like Java is, are lovely to work with.


Not at all.  Interpreted languages directly process source code at runtime.  But Java uses an intermediate byte code, which reduces certain runtime costs (source syntax checks for example).  Most interpreted languages do not (yet) have a high quality virtual runtime along with a JIT compiler like Java.  Also, scripting language have certain platform-dependent behavior (PHP for example has few platform dependent quirks).  But Java can be developed on any platform and be deployed on any other platform which has a well-known JRE (Linux, Solaris, AIX, UX, Windows and Mac OS X) without having to worry even a bit about platform dependence.

Choosing the right tool is important.  It makes no sense to use Java when writing a simple GUI utility for personal use.  Python would handle the job better.  Similarly, it is a huge risk to choose a dynamically typed language for a large team based enterprise development esp if the team is geographically distributed unless you have strict code reviews by highly skilled senior programmers (pretty expensive) and follow TDD strictly.

Java also has the added advantage that it has extremely large availability of third-party libraries for most tasks.  Java on server is extremely widely used.  Almost all banks' netbanking sites run on it.  GMail runs on it.  Every mobile worth its name supports it.  It's usage is also growing *www.tiobe.com/index.php/content/paperinfo/tpci/index.html

@QwertyManiac

Posting such harsh comments about Java just shows you are ignoring the reality.

*Disclaimer:*  I love scripting languages where they are best (simple utilities, simple websites with low back-end processing requirements).  I also know that Youtube is fully powered by Python but the necessity back-end processing in it is pretty much nil.  It is more dependent on Flash.


----------



## QwertyManiac (Jul 24, 2008)

Let the reality be there and you might as well show to me half the world uses it, but that doesn't mean I join the same `_drove_`.

I detest strongly-typed languages and especially those that _insist_ on using a _particular_ style of naming right from its core.

By "Department of Redundancy Department" I meant, what the heck is this?

ClassType objectName = new ClassType(optionOne, optionTwo, ...);

Even C# has a way to avoid that crappy long redundant line with a *var* keyword! But no, Java is Java is Java (Thats how you prove strong-typ-ed-ness right? An int is an int is an int, lol). You go elsewhere, you're something else.

You Java lovers always think others hate Java or what? I only said things about the redundant part and you put me on a lecture listening thing which I clearly don't do. Inferring too much from a simple statement cause it was not clear eh? Thats Java 

And oh you really think Java is the lone language to be compiled to byte-code before execution? And the only one with a JIT Compiler? You're wrong, not having heard of both Python's actual interpreter mechanisms and about Psyco, its JIT provider. Or PyPy for that matter. 

And yeah by the way, Python is strong-typed too, but not harsh on its users. Its philosophy's been developed from the goods of all other languages. 

That said, I didn't mean to start a war at all. I only mentioned its redundant and that is true.


----------



## prasath_digit (Jul 24, 2008)

Ok Java is good.......but did anyone mention C++? 

*msdn.microsoft.com/en-us/magazine/cc163384.aspx

In the above article Ecpecially notice:- 

         " Despite the phenomenal success of the Microsoft® .NET Framework, there are still plenty of scenarios where it makes more sense to use native C++. Adoption of .NET will continue to grow, but C++ is here to stay. "

Native C++ is a much much powerful language for Systems programming & Game Engine Programming and it is worth learning Native C++

Some Game Engines written on C++:

    1. id Tech 4 ( Doom 3 Engine ) -> OpenGL Based
    2. Source Engine ( Half-Life 2 Engine ) -> DX9 Based
    3. CryEngine ( Far Cry Engine ) -> DX9 Based
    4. CryEngine 2 ( Crysis Engine ) -> DX10 Based

Future of C++?........Check this out:-  

*en.wikipedia.org/wiki/C++0x

This next C++ version will be a modern language with support for features such as multithreading built in to the language........... 

Anyway C++ is also one of the popular programming with a very steep learning curve............


----------



## chandru.in (Jul 24, 2008)

@OP

Forget all the debates (the topic is too debate friendly  ) and choose any well-known language (C, C++, Java, Python, Perl, PHP, Ruby, C#, VB, etc etc) and you can rest assured that they will stay for at least a decade more.  Also spend your time in learning algorithms, good coding practices, design patterns, etc.  These are much more important for a good programmer than any specific programming languages.

After all even COBOL is still in demand.  

@Others

Sorry for continuing the debate, but I thought few misconceptions about Java needs clarification.

@QwertyManiac

Wait till you leave college and start developing complex enterprise apps where you would be working with 10+ developers with different levels of experiences in best practices like TDD.  You'll understand the implications of slight typing errors when the other fresh college grad forgets to run a particular test case and the bug lifts its head after the app goes into production.

Static typing is not cure for all ills but at least it prevents many.  It may not be that cool thing which allows you to achieve certain stuff with one-liners.  Static typing (esp Java) is not about brevity it is about its ability to handle complexity.  Java is not redundant even in the wildest dreams.

Show me how many parts of large enterprise C# code (not some simple college project) use var type?  IIRC developers were warned by all VB books to use the variant type with great care.

Regarding performance, try timing two similar code written in both Java and Python with simple Linux "time" command.

*I do not dispute the usefulness of dynamically interpreted typed languages.  They fit certain needs esp in quick prototyping.*



prasath_amd said:


> Ok Java is good.......but did anyone mention C++?


C and C++ are here to stay for long long time.  No dispute there.


----------



## dheeraj_kumar (Jul 24, 2008)

ASM - Assembly Language. Whatever languages come and go, this one'll ALWAYS be there for us. Look at NOD32, it was completely written in ASM, and people celebrate it! 

ASM fan for life! <- Me


----------



## prasath_digit (Jul 24, 2008)

chandru.in said:


> Spend your time in learning algorithms, good coding practices, design patterns, etc.  These are much more important for a good programmer than any specific programming languages.



Well Said.....So true......


----------



## casanova (Jul 25, 2008)

.NET platform is set to rule. But nothing would beat pure logic. As chandru.in said develop your practices, migration to any language would be a breeze


----------



## siddes (Jul 25, 2008)

Brother, just a thought.

I've programmed in GWBASIC, QBASIC, C++, Javascript, VB6/.Net, WAC and now PHP.

And I've realized that it doesn't matter what language you're learning, what matters is the logic. Also, top programmers rarely sit and code, they just create the flowchart and hand it to a junior pappu programmer.

So, with respect to all other opinions, languages are just different ways of implementing a thought process, just make sure ur logic and flowcharting skills are 1st class. And then any language will be a breeze.


----------



## k6153r (Jul 25, 2008)

I began with VB, now I'm learning C.


----------



## veiga2412 (Aug 7, 2008)

siddes said:


> Brother, just a thought.
> 
> Also, top programmers rarely sit and code, they just create the flowchart and hand it to a junior pappu programmer.
> 
> So, with respect to all other opinions, languages are just different ways of implementing a thought process, just make sure ur logic and flowcharting skills are 1st class. And then any language will be a breeze.



dude!! i hope u're right!, b'coz if i don't get in DBA, then i only wanna do system's design..


----------



## MetalheadGautham (Aug 7, 2008)

C will live on forever.
C++ will live as long as C will.

Python is very attractive today in this internet age.

But platform locked languages are the ones which barely stand a chance in the future.


----------



## veiga2412 (Aug 7, 2008)

don't forget the strongly-typed stuff too man... flexibility is key.. 

can't afford to be so rigid in the long term..


----------



## asingh (Aug 12, 2008)

Its all about the logic....I began with LOGO, then Basic, Pascal, C, VB (and VBA), some Java, then .NET. 

Logic is the bloodline of all programming languages...as long as it runs clean the program stays good.


----------



## toofan (Oct 2, 2008)

Whats your opinion about php?
What are the job chances by learning this language.


----------



## Sathish (Oct 2, 2008)

interesting thread to read..
keep it up..


----------



## esumitkumar (Oct 2, 2008)

If you are looking for a job nowadays 

MS technologies ---> .NET for all front end development..If u like to develop front end GUI....less onsite chances ..as compared to Java n shell/unix 

Java ---> will always be in demand..IMMORTAL..high packages ....lots of onsite chances ..recently I referred one of my programmer frnd and he is going to Korea for long term  

Unix,perl/shell script--->Niche skill,very much in demand, invstt banks are always ready to hire you..lots of onsite  and very gud package..Unix will always be IMMORTAL...

Choose any one of three but I will say Java n Unix/Shell/Perl Rocks !



> Logic is the bloodline of all programming languages...as long as it runs clean the program stays good


Very Very true..Thats why all IT cmpnies look for logic .like Infy asks 10 puzzles in their written test for freshers..In IT job nobody remembers syntax ..Its all the copy paste..The main thing is logic and how well u understand the BUSINESS design of the system


----------



## toofan (Oct 2, 2008)

I m Still confused.
Any clear line abt PHP.


----------



## gopi_vbboy (Oct 2, 2008)

See ...Every Programming Language has a Future in its way......specially designed to work for specific platform,factor and speed

When Speed and Performance matters ,Assembly coding is preferred in Electronic and Hardware level System instead of C.

For Eg:In Military Weapon Designs and Control.....Accuracy ,Speed,Result are most Important and can be delivered by Assembly Language only(I'm Talking of Embedded system Programs wriiten in RAM).Even C language can do.........But this case all other language don;t come to rescue.......coz we have a situation which should be accomplished in a simple n meet ur demand

I never mean to say only C and ASM are Godly Languages..........

But Every Language has its importance in its domain..Its completely Non-Sense to say that only a specific language has Future or is the Future.

As said-Plan,Algorithm,Flow Chart,etc techniques are most important for a Programmer


----------



## vamsi360 (Oct 6, 2008)

I REALLY THINK EVERY ONE SHOULD JUST START OFF WITH "C" .

when they master C ( atleast what is given in books and advanced tutorials for programming ) then only should they think of other language.

This is the basic idea of every programmer.Even Yashwanth Kanetkar writes this in his book...the famous and the most popular my favorite "LET US C".



siddes said:


> Brother, just a thought.
> 
> I've programmed in GWBASIC, QBASIC, C++, Javascript, VB6/.Net, WAC and now PHP.
> 
> ...


 
I VERY MUCH SUPPORT YOU


----------



## knight17 (Oct 7, 2008)

If you want to be a true master, learn C, then OOPs, then C++, any functional programming language as this will instill something "more" to your head. Again you are ready to continue, learn assembly.


----------



## frederick_benny_digit (Oct 7, 2008)

python looks promising...many consider it the new "c"...very user friendly
dont use it myself but have heard lot from my friends hu do...

PS:: forgive me if some1 mentioned this before...but didnt have the will power to read thru every post...


----------



## furious_gamer (Oct 7, 2008)

EJB has a very good future, so just start learn Java and then jump off to EJB.. Sure, it'll helps u..


----------



## gopi_vbboy (Oct 9, 2008)

it all depend on ur interest.........thers no generic programming language........choose a field ur interest and start learning a language

Internet Programming-Java,ASP.NET,Python,PHP,Javascript,etc

Embedded System-ASM,C(Very common even in linux(gcc)),C++,BASIC(very old),etc

GUI Programming-C,Visual C++,ETC,.NET

Railways and bank systems,etc-UNIX

so it all depend on interest on field which we wish to go

and ofcourse Algorithm,Logic Reasoning,Software Engineering,Programming practices are required...but u can develop some of them while u get xperience especially programming practices


----------

