hi I'm a newbie in learning c++ and java..I was just thinking if what is the best operating system and compiler and why?

Best? Lot's of opinions about that. If you want something that has a chance of running on different operating systems, then use Linux and g++ for c++ and OpenJDK for Java programming. All free, widely used, and robust.

"best" is definitely subjective. I have a couple suggestions if you want to learn a programming language:

1.) If you're trying to learn a programming language I'd suggest trying to learn one instead of two. The important thing is not the quantity of programming languages, but the programming concepts themselves. The syntax of a language is very specific, while the concepts behind programming apply to a much broader scope. Learning about variables, functions, classes, inheritance, polymorphism and other important concepts will help you become a better programmer in the long run.

2.) the two languages you suggested are very different. Here is a description of both:

Java - runs off of a virtual machine, so it's easy to install (just go to www.java.com and download the JDK and the JRE). You can use a lot of different compilers but I would recommend Eclipse, it's very robust and has a lot of neat features. Java is a very good starter language and also has a lot of practical uses, it's the most used programming language in the world according to TIOBE. It reinforces many concepts about encapsulation and object oriented programming.

C++ - a very powerful high level language. In some cases optimized c++ code is faster than assembly (which is a step above ones and zeroes). C++ is a little more difficult to use because it also takes into account physical memory allocation, a concept that's best learned after you have the basic concepts of programming down pat. A good IDE for C++ is code blocks, an open source compiler that has a lot of neat features and isn't too difficult to set up. C++ is made for linux based systems, so setting up a development environment in windows is a little more tricky than setting up java. It is also a good language to learn, but as a starter language I would not recommend it. It is kind of a hybrid between procedural and object oriented programming, so it is easy to develop bad habits if you choose it as your first language.

Best is the one you like best.

commented: Not a good advise. +0

I'm using Fedora 15 with Geany, coding in c and lua.

Some definitions of best combo could be:

  1. Does not crash too often.
  2. Is not insufferable slow doing things (like compiling for many minutes or running your program many minutes)
  3. You agree with the philosophy of the system/language.
  4. You get other users/companion developers to use (usually biggest hurdle).

you know what works best for you

"best" is definitely subjective. I have a couple suggestions if you want to learn a programming language:

1.) If you're trying to learn a programming language I'd suggest trying to learn one instead of two. The important thing is not the quantity of programming languages, but the programming concepts themselves. The syntax of a language is very specific, while the concepts behind programming apply to a much broader scope. Learning about variables, functions, classes, inheritance, polymorphism and other important concepts will help you become a better programmer in the long run.

C++ is bigest pain head man, i know all that, i know about classes, structs,inheritance,polymorphism and all other sh1ts, i know the way to programm, i know the idea how it works...
BUT
I No have idea how to make a simple form with 1 button, i dont know about other countrys but here in greece we use just console(HS Lessons) applications, and i can say i know very good, BUT...
In HSchool we never make GUI Appis, and as i find it in google it is really pain head, you must be just a guru and know all function is possible each library you use, is not like other languages, (java, c#, vb...) there is not any automation, in c# example if you dont remeber example name of "StreamWrite", you just write "stream" example and it show all possible choices...
anyway...

Yea there are programms like vb 2010, wich use controls, you can put a button with just one click... but this is not way...

About OS, ofc you cant use java, java is just for web-application, yea ok some ppl create java applets, but simple things, sh1ty notepads, sh1ty data store programms...

People will hate me for saying this, but I recommend starting in Microsoft Windows because it's so commonly used. Personally, I know and like Unix/Linux, but I have to admit that the learning curve is steeper for that than Windows. Also, like it or not, Microsoft is doing the best C++ work these days.

I agree with the other posters that Java is a much better first language to learn than C++. It's a lot easier, and all the basic concepts are the same.

When you get to the point of learning a second language, I highly recommend learning something that is significantly different from your first language: Java, C#, C++ and Groovy are very similar; try something else. Scala or Clojure might be a good choice; both run on the JVM.

People will hate me for saying this, but I recommend starting in Microsoft Windows because it's so commonly used. Personally, I know and like Unix/Linux, but I have to admit that the learning curve is steeper for that than Windows. Also, like it or not, Microsoft is doing the best C++ work these days.

I agree with the other posters that Java is a much better first language to learn than C++. It's a lot easier, and all the basic concepts are the same.

When you get to the point of learning a second language, I highly recommend learning something that is significantly different from your first language: Java, C#, C++ and Groovy are very similar; try something else. Scala or Clojure might be a good choice; both run on the JVM.

Funny enough, no one hates you. We all love each other here on Daniweb. Every post counts, IF you're right then you're right and if you're wrong then you stand to be corrected.

Personally I think GCC is the only C++ compiler out there. Funny I know, seriously, I second XCode, its awesome, just learn the environment. I do a lot with it in my spare time.
__________________
AMD Phenom 9600, 2GB RAM, 250GB HDD, ATI Radeon 4850, Vista Home Premium 64-bit
Gateway NV53 with Windows 7 Home Premium 64-bit & Ubuntu 10.04 Lucid Lynx 64-bit

GCC is not and cannot be the only compiler for C++. There is a whole list. And talking about XCode, thats coding for Mac OS so how can he try that out when you dont know his platform

Personally I think GCC is the only C++ compiler out there. ...

For a number of years GCC was the best C++ compiler available -- even better than any and all of the expensive vendor supplied alternatives. But these days, the big C++ investment is done by Microsoft -- simply because they have the money and they need really good C++.

Here's a pretty good list of C++ compilers: http://www2.research.att.com/~bs/compilers.html

(If the name Bjarne Stroustrup doesn't ring a bell -> he's the guy who invented C++ http://en.wikipedia.org/wiki/Bjarne_Stroustrup ;-)


(I hear that XCode is great -- and required, actually -- if you're doing Apple development. Personally, I'm not into that. But Apple is really a great platform.)

commented: Good Research +5

Let's not mention Clang or anything.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.