|
 |
|
 |
 |
|
09-15-2003, 04:04 PM
|
#1 (permalink)
|
|
Registered User
Join Date: Sep 2003
Location: Vancouver
Posts: 2
|
How long did it take you guys?
I was just wondering, how long did it take you guys to learn C++, to the point where you had a good understanding of the subject? Did you find it very difficut to learn? Also do you guys do programming as a carrier or just for fun in your spare time?
I want to get into programming, but im a little intimidated by C++, since it is (OOP) , to me it seems very difficult to understand. I was also thinking about other programming languages such as Java, Visual Basic, Perl, etc. Since I see C/C++ being the most popular and the most used, I assume that it's programming capabilities are pretty high.
The only programming experience I have would have to be Javascript, but I guess that doesn't really count. I find programming very interesting, and I'm maybe considering it as a carrier ( undisided, but I want to do something with computers anyways...)
- oh, and BTW I'm new! :rock:
__________________
|
|
|
09-15-2003, 04:21 PM
|
#2 (permalink)
|
|
Java fanboy
Join Date: Aug 2003
Posts: 1,114
|
Take a look at Java for OOP. It was designed from the ground up to be OP, plus take care of some of the things in C++ that programmers often got wrong. Plus Sun keeps extensive, free documentation on the language. Their API is wonderful in that it's easy to understand the core libraries at a glance.
|
|
|
09-15-2003, 04:26 PM
|
#3 (permalink)
|
|
Registered User
Join Date: Sep 2003
Location: Vancouver
Posts: 2
|
Quote:
Originally posted by Belisarius
Take a look at Java for OOP. It was designed from the ground up to be OP, plus take care of some of the things in C++ that programmers often got wrong. Plus Sun keeps extensive, free documentation on the language. Their API is wonderful in that it's easy to understand the core libraries at a glance.
|
Alright cool 
__________________
|
|
|
09-16-2003, 07:24 AM
|
#4 (permalink)
|
|
Registered User
Join Date: Sep 2003
Posts: 7
|
Just don't expect to write the next Doom or Quake in Java, because Java is relatively slower than C++. In addition, any program you write in Java requires a Java Virtual Machine installed on the target computer for it to work.
__________________
|
|
|
09-16-2003, 02:24 PM
|
#5 (permalink)
|
|
Java fanboy
Join Date: Aug 2003
Posts: 1,114
|
Java's speed isn't that much different than C++ anymore. Sun has really improved on that with the last few revisions.
That being said, graphics in Java ARE slower. Java doesn't have direct tie-ins to graphical API's like C++ does. So when writting a graphically intensive program, yes you should do it in C++. Especially 3-d stuff, as Java doesn't really have an API for it, and doesn't tie in to OpenGL or Direct3D. But for things such as web-services or servers, Java works just fine.
The VM is what allows you to compile once, run anywhere. Yes, you need to have a VM installed, but that's trivial. Apple has their own. For BSD users, Blackdown does a Java implementation. And for Windows/Solaris/Linux, Sun's implementation is just right.
|
|
|
09-17-2003, 01:51 PM
|
#6 (permalink)
|
|
[code][/code] enforcer
Join Date: Mar 2003
Location: Netherlands
Posts: 1,545
|
Uhm Beli,
Java isn't OOP but OBP. Object Based Programming.
Actually you can't Object Oriented Design in Java. Only Object Based Designing is possible in Java. So the actual implementation is called OBP, not OOP.
The most important reason is that Java doesn't have inherritance (thus it has no polymorphism!). This makes Java not OOP. But it does offer classes so it is OBD (and OBP).
***
For those interested:
There are three possible main phases in the world of programming:
- Analysis
- Design ( OOD/OBD here if appr.)
- Programming ( OOP/OBP here if appr.)
Don't mix these phases (wich are well defined by IEEE standards) with phases used in companies. These are usually the pre-production, production and post-production phase.
The pre-production phase holds the Analisys phase as mentioned before. It also holds parts of the Design phase.
The production phase holds both the Design and Programming phase. This is the phase where actual coding (programming) starts and ends. The last phase (post-production) is the aftermath like technical support, bug-solving, training etc.
***
Thx,
Val
__________________
|
|
|
09-17-2003, 03:38 PM
|
#7 (permalink)
|
|
Code Monkey
Join Date: Jul 2003
Location: canada
Posts: 82
|
Quote:
|
The most important reason is that Java doesn't have inherritance (thus it has no polymorphism!). This makes Java not OOP. But it does offer classes so it is OBD (and OBP).
|
What on earth are you talking about ?
You are 100% wrong.
__________________
direct entry file specification.
|
|
|
09-17-2003, 03:43 PM
|
#8 (permalink)
|
|
Code Monkey
Join Date: Jul 2003
Location: canada
Posts: 82
|
Quote:
Originally posted by Belisarius
Java's speed isn't that much different than C++ anymore. Sun has really improved on that with the last few revisions.
|
Java is *much* slower than c++ in every aspect. The only
difference now-a-days is for most applications it doesn't
matter; you don't program in java for speed.
Quote:
Originally posted by Belisarius
That being said, graphics in Java ARE slower. Java doesn't have direct tie-ins to graphical API's like C++ does. So when writting a graphically intensive program, yes you should do it in C++. Especially 3-d stuff, as Java doesn't really have an API for it, and doesn't tie in to OpenGL or Direct3D. But for things such as web-services or servers, Java works just fine.
|
http://java.sun.com/products/java-media/3D/
__________________
direct entry file specification.
|
|
|
09-17-2003, 09:14 PM
|
#9 (permalink)
|
|
LOAD "*",8,1
Join Date: Feb 2003
Location: la.ca.us
Posts: 254
|
Quote:
Originally posted by Valmont
The most important reason is that Java doesn't have inherritance (thus it has no polymorphism!).
|
you are seriously on crack.
__________________
|
|
|
09-18-2003, 03:53 AM
|
#10 (permalink)
|
|
[code][/code] enforcer
Join Date: Mar 2003
Location: Netherlands
Posts: 1,545
|
Quote:
quote:
--------------------------------------------------------------------------------
The most important reason is that Java doesn't have inherritance (thus it has no polymorphism!). This makes Java not OOP. But it does offer classes so it is OBD (and OBP).
--------------------------------------------------------------------------------
You are 100% wrong
|
I am 
Java does support Inherritance. Java does not support Multiple Inherritance though (except for interfaces).
The fact that Java doesn't support Multiple Inherritance doesn't mean it isn't an OOP based language. It is  .
Object Based Programming holds for programming languages like ADA and Modula 2, since they don't work with classes but ADT's.
Quote:
|
What on earth are you talking about ?
|
I was mixed up with the commonly used definition of what OOP is. No word about multiple inherritance. Classes, methods and something else but I forgot what it was, are the three commonly used criteria when talking about OO.
I appologise, it's been a while 
__________________
|
|
|
09-18-2003, 04:28 AM
|
#11 (permalink)
|
|
[code][/code] enforcer
Join Date: Mar 2003
Location: Netherlands
Posts: 1,545
|
Quote:
|
Java is *much* slower than c++ in every aspect.
|
It seems that Java uses a garbage collector by default. If so, then Java offers one *huge* advantage over C++: much less bugs/memory leaks.
Error coding in C++ is tedious, and needs to be done manually on every level.
And in this light, no wonder Java is often (can't believe "always") slower then C++. The house cleaning of Java (garbage collector) consumes some time.
I also hear Java is getting faster and faster. I am not saying that Java will be the big winner in the future, as computers become faster and faster, but I won't be surprised if Java beats C++ in usability someday.
So for the moment one could say: Java has superiour house cleaning, but no system programming (yet).
I wonder, am I still on crack? 
__________________
|
|
|
09-18-2003, 06:27 AM
|
#13 (permalink)
|
|
Java fanboy
Join Date: Aug 2003
Posts: 1,114
|
Define System Programming.
And I've overheard one of my professors who's been debugging the HotSpot VM for 1.5 talking about some aspects of Java able to actually beat C in speed. We'll need to see the benchmarks once 1.5 comes out.
Java, I believe, does a great deal more optimization to code than GCC does. As compiler optimization gets better, I'd expect Java to quickly shrug off the opinion it's slower.
Quote:
Originally posted by Valmont
So for the moment one could say: Java has superiour house cleaning, but no system programming (yet).
|
|
|
|
09-18-2003, 02:58 PM
|
#14 (permalink)
|
|
Code Monkey
Join Date: Jul 2003
Location: canada
Posts: 82
|
Quote:
Originally posted by Belisarius
[b]Define System Programming. 
And I've overheard one of my professors who's been debugging the HotSpot VM for 1.5 talking about some aspects of Java able to actually beat C in speed. We'll need to see the benchmarks once 1.5 comes out.
Java, I believe, does a great deal more optimization to code than GCC does. As compiler optimization gets better, I'd expect Java to quickly shrug off the opinion it's slower.
|
Java can never beat c for speed; its guaranteed.
See: http://forum.java.sun.com/thread.jsp...&thread=188512 for
an interesting discussion ..
__________________
direct entry file specification.
|
|
|
09-18-2003, 03:38 PM
|
#15 (permalink)
|
|
Registered User
Join Date: Sep 2003
Posts: 7
|
Quote:
|
Java doesn't have access to native API's such as DirectX or OpenGL.
|
It can use JNI to call native methods.
Quote:
|
Java can never beat c for speed; its guaranteed.
|
Hehe. I wouldn't say never. Its possible someone might one day design a machine optimized for Java. Or Java might be compiled to native code and the OS manages the memory for it.
Quote:
|
Java is *much* slower than c++ in every aspect.
|
For console and server-side stuff, Java doesn't really lack behind C/C++ much. But when it comes to Swing/3D stuff, my experience is that Java isn't as responsive.
__________________
|
|
|
| Thread Tools |
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -8. The time now is 12:14 AM.
|
Copyright © 2000-2006, Milano Interactive
Web Hosting provided by Portal 360 Web Hosting
Open Circle
|
 |
|