Click to See Complete Forum and Search --> : Is Java skills important for a Visual C++ developer


Zafir Anjum
May 17th, 1998, 02:07 PM
Java is not a difficult language to learn but it can be a difficult language to

develop with.


Should a Visual C++ developer make an effort to become a proficient Java

developer too?


Have you done any Java development in your current project?

Yun Li
May 18th, 1998, 02:15 PM
I wish some very neat features will be implemented in next version MFC, although at the same time I don't want the speed going down.

AIR_TIME
May 20th, 1998, 12:42 AM
I am learng Java because I am in College and next year they are changing to Java so I have to learn Java this summer.

anyway I bought a book and so far I basicly figured everything out in a couple of days. its very similar to C++, although I don't particulary like some of the things like Java's String class is really annoying to me because they didn't overload the == operator.


but besides that, at this point I feel Java is pretty much worthless unless you wan't to make Web Applets. (correct me if I am wrong but...) in Java you can't make a .exe program, you make .class and then you must use a batch file or something to run it. For the computer dummies out there they won't doing this, and they have to change their autoexec.bat PATH and CLASSPATHS


Basicly, I do ALL of my programs with Visual C++ 5.0 with MFC. (sometimes I do win32 for a DirectX game I am working on), I don't use Java for anything other than learning the language.

Wes
June 4th, 1998, 08:55 PM
Not to sound flippant, but you need to know Java... if you need to know Java. If you don't need to know it, then you don't need to know it. Project requirements will decide whether or not you need Java. It's not important to know it just for the sake of knowing it.


Like any other language, it's nice to know what it's stengths and weaknesses are so that when you need to determine which language would be best for a particular project, you can decide if Java would be the best choice.


"Must have" languages have popped up every 3 years since I got into it (since line-number Basic on a Commodore VIC-20), and when I figured out that programming is programming and the syntactical differences can be learned in about a week, I stopped caring.


Now, when I hear about a new language, I buy a good reference book and scout it just to see what it can do. I make a toy with it, then totally ignore it until a project comes along that would be a good use for it ot until the job description says "Java programmer wanted".

Valerie Bradley
July 6th, 1998, 05:22 PM
Frankly, I believe it's easier to learn Java after having become fairly proficient with Visual C++. I don't think it's necessary to know, however, unless you're writing Web apps that would make good use of it. It's probably not a bad idea to get a book and read about it, perhaps play with it a little to get a feel for it, then put it aside until you need it.


Personally, I've done some Java development, and it can be an easy language to use if you already know C++. I learned it in about 2 days from a book I bought, Java: How to Program by Deitel & Deitel. But you have to be careful that the program doesn't grow too large, otherwise it can really start to slow down. That's Java's main fallacy -- by making it portable, efficiency and speed were sacrificed.


-Valerie

Daniel Noelte
July 9th, 1998, 01:57 PM
I think, that you can transport the programming technic from Java to C++. Java uses pattern like the Model-View-Control paradigm, factories and others. Java uses Interfaces instead of multiple inheritance and so on.

So if I read or maintain a Java programm it is an easy. C++ ist very hard in that case.


In C++ you can programm everything and every trick and it works fast, but instable, because of the programming stile I had read not only in this site.


In java this happens not, but it not the time to write great applications in java now, because the language itself is not ready.

We have to wait some time and see again.

Jerry Coffin
July 11th, 1998, 03:07 PM
This is a bit like asking about whether it's important to know Smalltalk, LISP, ML, etc., etc.


A lot of the answer depends on what your aims are -- if you're doing development in C++ and your primary interest is in getting a particular job done, stopping to learn Java probably isn't going to help much in getting that job done unless you're doing something that should really have been done in Java to start with, and you're basically switching development over from C++ to Java.


OTOH, I've said for years that to become a well rounded programmer, somebody should be able to at least read, and preferrably write at least simple programs in at least a half dozen or so different languages. These should include at least one each of the major types of languages: at least one each of: procedural(e.g. FORTRAN, BASIC, Pascal, C), OO (e.g. Smalltalk, Java, Simual) functional (e.g. LISP, ML, Scheme) hybrids (e.g. CLOS, XLISP, C++, Ada 95) and so on. I don't have a good name for them, but there definitely also be at least some familiarity with some languages that deal primarily in pattern matching, such as SNOBOL, ICON, AWK and Prolog. (Despite its age and obscurity, I think SNOBOL is one of the greatest languages of all time...)


The point here is less one of necessarily using all these languages on a regular basis, but on being able to think in different terms, and particularly finding the appropriate KIND of solution to a particular problem.

Adrian Roman
July 17th, 1998, 05:55 AM
If you REALLY need to develop in Java, and you know C++, forget about multiple inheritance, pointers, overloading operators... and you are almost an expert in Java. Just need to learn all java... packages. But I don't like a language that has so many limits.

basava
January 5th, 1999, 05:39 PM
Yah, I perfectly agree with you. Java sucks for a real C++ programmer.

It has cut off all the freedom u get in C++.

It brings package by package, saying it is part of JAVA. I don't think C and C++

ever evolved by bringing new code now and then.

Java may be a designer's delight, as he/she does not need to worry about

the silly mistakes an average programmer can do while coding.

But, a real programmer never likes JAVA to code in. And the performance gain

is enormous if C++ is used over JAVA.

-basava

ALM
August 3rd, 1999, 07:56 PM
I think it's important to know what other developers are using and how it compares to what you're using, in this case C++.

I spent about a week going through a couple of books on Java because I wanted to know what the fuss was all about. What I discovered is that Java has a few things that would be really nice to have in C++. Here's a list of them:

1. A very strong exception handling mechanism which is compiler enforced.

2. A "finally" clause which isn't as essential in (ANSI) C++ but still would be nice to have.

3. Consistent variable sizes for all their primitive types on any platform -- ints are always 4 bytes; longs are 8, etc.

4. Inner classes that hold a hidden reference to their parent class. I found it a bit confusing at first, but then I thought it was quite nice for working with parent/child class relationships.

Of these the one C++ sorely lacks is number 2 -- a consistent sizing for their primitive types. Still, if you require strict portability you can always define macros for the primitive types and use them instead of the primitive types. The other nice features aren't so important but are more "nice to have"s.

C++ just rules in so many other ways over Java, especially if you know the language well. Templates, operator overloading, macros, function pointers, stack instantiation of any type, multiple inheritance, and destructors are some of the major things that, in my opinion, make C++ so powerful compared to Java.

But enough of my "off the topic" opinions. What's my answer to the question? Yes.

Tomaz Stih
August 4th, 1999, 09:35 AM
Let's say horizontal specialization for a Software Engineer would be programming languages and current technologies.

Vertical specialization would be for example genetic algorithms, distributed accounting applications, emulators, compilers...

I think if your vert. spec. is distributed business apps then you should learn Java/CORBA and MFC/COM since they are hot competing technologies while if you do advanced and more serious software engineering then you really don't need Java.

Tomaz

---------------------------------------------
Tomaz Stih, B.Sc.CS tomaz@nameco.com
Ob sotoccju 10 Nameco Group
SI-1000 Ljubljana http://www.nameco.com
Europe

xxlwsxx
November 11th, 1999, 07:52 AM
I am just starting to get the hang of VC and begining to love it.
But, i was wondering is VC as comfortable in developing web based distributed application?

ALM
November 11th, 1999, 09:01 AM
I don't know. I haven't done any web-related work on VC.

I do imagine it being a decent tool for developing web server components. There seem to be a whole slew of CHttp___ classes to help you do that.

Cheers!
Alvaro