JAVA or C..need help

Status
Not open for further replies.

Alexander_H

Broken In
Hi every ONE

Java and C...both r great languages

But when comes the Question of Practice ,specially

any Final year Engg Student which language should be choosen.?

I have heard that most of the companies uses JAVA as software Development platform

so any newbie in company will get benefit if he practice more JAVA..

I know its Depends upon the company in which one recruit..
but in general what should be choosen
Any suggestions..
 

svk

Journeyman
i personally recommend u both c and java.
learn them both.
its just like choosing b/w supperman and spiderman.
(bad joke isnt it?) :D
 

tuxfan

Technomancer
C if you want speed, Java if platform independnace is too important. But instead of C I would say C++

Frankly speaking you better learn both. But if you learn C++ then you already learn more than 50% of Java basics. The only main hurdle in switching over to Java could be getting rid of pointer habits ;)

I would suggest C++.
 

diab0lic666

Broken In
Java is better for application development..but if you want to do some l33t programming like Device driver writing or expl0it kinda things then C is worth learning..nothing can beat C when it comes to talking to your hardware..but if you purely wanna go for apps development then go for java and C++ as tuxfan has already mentioned. Best of luck.
 
H

h4ck3r

Guest
Sorry for the interference ... I cant bear to hear such thingz.. when u talk about dev apps in windows (any version) I would go for Vb simply for the reason tht the ide is more effective than c or java .. you may claim tht a software as good as maya was authored in C .. And now Vb rules.. Its a real pain to write code for a button or a menu in java and to include some fancy in c .. If u are very choosy between between these 2 i would say the same like "svk" becoz he is dead right and i agree with his point..

You cant compare ronaldinho and zidane when it comes to soccer.. Each player has a unique playing style
 
H

h4ck3r

Guest
Sorry Sorry for the interference once again ... You can also use windows dll file as a declaration and then use the particular api using api viewer .. you can develop backend and frontend apps.. U can add graphics / animation using components .. you can use winsock control to create a client - server app .. But you must be a good professional programmer to do all this. So go on develop your skills in Vb other than going for toughies..

I ALWAYS PREFER TO DO THINGZ THE EASIEST WAY POSSIBLE ..

Hope most ppl do the same
 

SmoothCriminal

In the zone
Well.. Both Java & C are kinda outdated now.. I mean, basic C / Java by themseleves are not gonna help anymore.. But unless u know the basics u cant do anythng as well.. u need to learn Advanced C.. But I'd recommend Java..

Well.. J2EE is on top now.. And to learn J2EE, u need Java..

I dont agree with what H4cker has to say.. Hmm.. Tell me one company that develops software in VB.. well.. VB is for beginners.. Not much Network support.. no threading.. and no Distributed computing.. VB is too basic acc to me..
 
H

h4ck3r

Guest
What do you mean by "Not much networking support" .. You must have more than a working knowledge to develop such programs . VB is not adopted by companies maybe .. But its power and efficiency definitely races Java .. Becoz Vb only needs runtime files and nothing else.. It is also platform independent ..

VB is meant for app developers and Java mostly for the Web that's why threading is not here

I think it can be done with .Net and Vb
 

SmoothCriminal

In the zone
Man.. "Not much networking support".. - means.. Can u use VB to develop Servers? Java needs a 10 line pgm to run a server.. HWta abt writing a Chat pgm on VB.. Java apps can be calssified as Applets & Applications.. Applets are web-based..

Man.. is VB platform independent..?.. Huh.. Can u run VB apps on ur mobile OS, i mean Symbian?.. But u can run Java apps.. Only Java is ptfm independent...

Plus u dont have Distributed Computing in VB.. All latest app used in industry are based on this...
 
OP
A

Alexander_H

Broken In
Thnks To Every One 4 such a discussion ...
But i am really Confuse.....could someone Rate C /JAVA..or VB
form OUt of 10...
i know this is very humorous kinda Question..but just as per market situation
also when question of IDE comes most companies go FOR .NET/SUN ONE STUDIO....
also please suggest any good refrence for above language...
THANKS
 

tuxfan

Technomancer
Alexander_H said:
Thnks To Every One 4 such a discussion ...
But i am really Confuse.....could someone Rate C /JAVA..or VB
form OUt of 10...
i know this is very humorous kinda Question..but just as per market situation
also when question of IDE comes most companies go FOR .NET/SUN ONE STUDIO....
also please suggest any good refrence for above language...
THANKS

Well, VB is the easiest thing to learn and make applications. But it surely isn't as powerful as Java or C. Here's some small explanation in very plain simple terms.

There are a lot of things in VB that gets done automatically. Its more user friendly. But more automation means less control. That is why some geeks may say it is not powerful enough. But even then it is really powerful now-a-days.

On the contrary, in C or Java, you have to do lots of things on your own. That may be tedious, but you exercise complete control over it. That makes them more powerful and favourites of geeks. ;)

As for IDE, now for Java there is something called Eclipse (*www.eclipse.org). It is good. Additionally, if you want to use it for some other language like C, you can install the add-ons and make it compatible. Eclipse is available for Windows as well as Linux.

If you learn VB, you will remain with programming under Windows. But if you learn C/Java, you can program under Windows, Unix, Linux, etc. because they all have C and Java compilers. So learning VB can restrict you somewhat, but there are no restrictions under C and Java.

But ultimately it all depends on the type of applications you want to make. If you want to use a programming language only as a front end to manipulate a database, you would be better off with VB and there are many Windows users so you will have no shortage of target audience. But if you want versatility, C & Java are the things for you.

Additionally, in your resume, if you write that you know VB it would be nothing great. But if you write C and Java, it could give you an edge over others. But in today's scenario, you can't just learn 1 or 2 things and sit on your laurels. You have to learn as much as you can and put in that extra effort to be ahead of others.

These are my 2 bits. You decide your ultimate goal :)
 

icecoolz

Cyborg Agent
h4ck3r said:
@Smoothcriminal: Ok but still VB is kewler than java/c

LOL...thats about the most logical and rational answer ever given for an argument. Tuxfan has given a very detailed description. Furthermore I would also like to add certain points:

Java:

Myth - I have to write millions of lines of code to get a button onto the screen.

fact - Nothing of that sort. Thats what IDE's do. There are plenty of them around. Eclipse is one which is freeware, pretty fast and very customizable and by default it comes with support for java however plugins are available for other programming languages support.

Also learning java comes under two catagories :

1) Core java - File Handing, JDBC, Networking, multi-threaded applications, Swing and so on falls under this catagory. I would suggest getting to know core java very well first.

2) J2EE - Which is basically for your multi-tier applications, jsp, servlets, EJB's and so on. Like smoothcriminal said J2EE is a must for java programing nowadays.

As far as C++ is concerned there def is a huge market for this. Most of your mobile market development (such as OS and apps) is developed in C++. I am just giving an example of the market impact of C++ so going either way is good. Learning both is well asking for trouble.

I really wouldnt waste time with VB. Its ok for some fun programming but for serious stuff no one uses VB.

If you are thinking of going down the java route here are some things which will help you get started.

IDE - for working with java programs

Eclipse - www.eclipse.org
- easy to use, freeware, has a lot of extensions to handle features such as J2EE programming and application server and all.

Application server - I will reccomend 2 here

1) Apache tomcat - very lightweight, free as it is opensource and extremely customizable.
- *jakarta.apache.org/tomcat/

2) Oracle Containers for Java - OC4J as it is called. Its very easy to use. Has a very small memory footprint for an application server and has support for enterprise j2EE programming such as EJB's and so on. Available at :
- *www.oracle.com/technology/software/products/ias/index.html
Do search in the Oracle pages as the links keep changing.

Database - freeware thats available is MySQL
my reccomendation is Oracle as this is the most widely used database in the world.

I am reccomending a database simply because you will need to learn atleast one DB w.r.t ur career in mind.

Let me know if you need any more info.

(PS. No I do not endorse Oracle products :p tho I did work there for 18 months ;) Its just easy to use thats all :p)
 

tuxfan

Technomancer
icecoolz said:
I really wouldnt waste time with VB. Its ok for some fun programming but for serious stuff no one uses VB.

Well, that depends on what is your definition of serious stuff. As I already said, C/C++ gives you more control and that is why they are considered more powerful. But VB is surely quite capable and can do lots of stuff. If you want to program under Windows only, VB is good.

icecoolz said:
Myth - I have to write millions of lines of code to get a button onto the screen.

fact - Nothing of that sort. Thats what IDE's do. There are plenty of them around. Eclipse is one which is freeware, pretty fast and very customizable and by default it comes with support for java however plugins are available for other programming languages support.
I entirely agree. Those days are already gone. You don't have to write line after line just to get a button on screen. And even if you have to do that, all that you can do is make a general purpose function yourself and keep re-using it ;) However, as of now, some one else has already done it, so no need to re-invent the wheel :)

But overall, Java programs compromise on speed for platform indepedance. JRE keeps hogging some resources everytime. C/C++ applications are comparatively faster.

As regards RDBMS, I would now strongly recommend MySQL. It surely is very widely used. LAMP (Linux, Apache, MySQL and PHP) is quite hot :) And all of them are freely available. So no problems as regards legalities as well (if someone cares for it ;))
 
H

h4ck3r

Guest
i must tell you that some serious apps like cafe controlling software are coded in vb and not in c++. When it comes to serious stuff then as tuxfan said it depends on an individual's def of tht term.

And how do u think apps for creating a button is programming . Here in vb u have to use the ide.But in java u must not go for customisable apps which work in a stroke..Even those apps are not bought by the so called "programmers."

And ppl who do stuff like this aren't real programmers for me .
 

harmax

Journeyman
think u said ur in final year , if u ask me u r a little late...... no probs as long as u put in extra effort....better late than never

my opinion is have indepth knowledge in c++, JAVA
learn to design web pages....and use LINUX ( cause even street dogs know how to operate linux) trying to tweak linux will open up great avenues to learn many new concepts

as for java ide use JCreator ----

*jcreator.com/download.htm

all the best!!!
 

demoninside

In the zone
Hey guys what u r up to,
First of all let me tell u some thing,

VB ristrict u to only windows, secondly IT's an IDE can't be called as individual programming Langauge it's like other tools using own way of devlopement,

No server side devlopement(Use external tools to do that),
No Mobile soft Devlopement(Only Java do),

Learning Java without basic C like learning speaking without knowing works,

So guy as u hv said u r in final year so u don't hv time for both then go with this ,
Learn very basic about C not much(will help you to understand the basic of programming),
Then go for JAVA(core) then Servlets then up to J2EE,

then after all of this just check out ur self again,,,,


I m saying all this Coz i know all these
But one thing i want to tell u that u'll be needing one DB also with Java.
 

SmoothCriminal

In the zone
h4ck3r said:
i must tell you that some serious apps like cafe controlling software are coded in vb and not in c++. When it comes to serious stuff then as tuxfan said it depends on an individual's def of tht term.

And how do u think apps for creating a button is programming . Here in vb u have to use the ide.But in java u must not go for customisable apps which work in a stroke..Even those apps are not bought by the so called "programmers."

And ppl who do stuff like this aren't real programmers for me .

OMG.. hup! If u dont wanna take things others say, no one can help.,.

Did u go thru the IDEs for Java dev environment? well.. mite be u r comfortable with VB.. That doesnt mean its the best..

Well.. VB is a 4G Tool.. Poor VB has just one M$ IDS Have a look at the IDEs for Java envi..

1. Eclipse
2. Websphere
3.Rational XDE
4.Visual Age

Never mind if u dont call Java developers as programmers.. This is real joke.. The Industry calls Java developers as programmers..
 

sudhir_mangla

Broken In
Well let me give one very simple reason, there is no way to ­add new
attribute types to Java. That does not make Java better or ­worse it
just means that there are several classes of problem where J­ava is less
appropriate than C++.

Java is arguably easier because it removes many decisions fr­om the
programmer. That is fine when you do not have any reason to­ do it
differently. For example, if I am happy to leave resource m­anagement to
somewhat arbitrary decisions then Java has a great advantage­ but if I
need to release resources in a timely fashion (and I am refe­ring to more
than memory) then I need the extra control that C++ destruct­ors give me
(the cost is that I have to work harder myself)


The big mistake made by many programmers is that there is an­ answer to
'Which is the best language?' There might be an answer to '­Which is the
best language to ...?' but even that may depend on external­ factors as
well as the programers natural mode of problem solving (e.g.­ however
good Lisp may be many programmers simply cannot think in a w­ay that
allows them to program in Lisp)


One of the best ways of improving your understanding of C++ ­is to learn
Java. One thing you may learn is just how hard it is to pro­vide correct
APIs and libraries (C++ isn't perfect, but I think that Java­ still has a
long way to go.)
 

tuxfan

Technomancer
sudhir_mangla said:
The big mistake made by many programmers is that there is an­ answer to 'Which is the best language?' There might be an answer to '­Which is the best language to ...?'

How true!! Every language has its own pros and cons. What we have to find is which suits our purpose in the best manner. I agree almost in toto with sudhir_mangla.
 
Status
Not open for further replies.
Top Bottom