Which is the best lanuage for a Noobie to Programming to Start with?

I am trying to teach myself Programming. I heard Linux is the best especially OpenSUSE!!!
I am currently DL OpenSUSE 11.3-2 LIFE…kinda taking a while…
What are some good starting areas in the field to go with? I heard C++ to get the basics then move to JAVA because of the universal demand for it. I have no books or no tools or how to guides. All you pros plz help me start!
I have been Computer IT for hardware, software, viruses, building PC, basic Ofice networking for over 7 years and its time to change my field to Applications! I tried Networking and web design but there is no money nor work in those fields and Applications there is a big need and its a real skill I believe.
I am a big Geek and Gamer and so I heard good reviews about this upcoming book to keep my interest that comes out at the end of the month:
Beginning C++ Through Games Programming, Third Edition
I would really appreciate all the help.
Oh ya, about 4 years ago I install Ubuntu on my PC but I was just playing around…Now I am Serious.

Thanks!!!

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

This topic has come up a half-dozen times in the last couple years. You
may find reading through those discussions interesting.

Good luck.

On 09/11/2010 11:06 AM, xshadow88x wrote:
>
> I am trying to teach myself Programming. I heard Linux is the best
> especially OpenSUSE!!!
> I am currently DL OpenSUSE 11.3-2 LIFE…kinda taking a while…
> What are some good starting areas in the field to go with? I heard C++
> to get the basics then move to JAVA because of the universal demand for
> it. I have no books or no tools or how to guides. All you pros plz help
> me start!
> I have been Computer IT for hardware, software, viruses, building PC,
> basic Ofice networking for over 7 years and its time to change my field
> to Applications! I tried Networking and web design but there is no money
> nor work in those fields and Applications there is a big need and its a
> real skill I believe.
> I am a big Geek and Gamer and so I heard good reviews about this
> upcoming book to keep my interest that comes out at the end of the
> month:
> ‘Beginning C++ Through Games Programming, Third Edition’
> (http://tinyurl.com/29w474k)
> I would really appreciate all the help.
> Oh ya, about 4 years ago I install Ubuntu on my PC but I was just
> playing around…Now I am Serious.
>
> Thanks!!!
>
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.15 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBAgAGBQJMi8GaAAoJEF+XTK08PnB5PwUQAI8hTtXJ35yLNqDY83Y9+T8g
7AW4MGUAQGL0ma+aMXdM75pm/FQZtl5QALqhI6Lpb3XBJ8FomJkf+BnpOfcNvSHb
LrXqrsYJwHgDnm1fe7wLXxrfafJFhQaQ/HUexBxF/fHsUPeAF99nU5oTI+wz34JX
+GHJ9tr/7ays1+yL39LSY093sMyvzC7PPxKxLqDCkhASp1a0JIEQRTm0kU1Pmc92
5yhlhIGLk86siBKUsxeXtEp6cyx64pcCtxtm+hCSKa20lOXrQK5CCIOamV2jci30
d4jTE2guAjqA+g48YT09ZPGCwBlJIPf6TZfskgCG8IWz/YbxueSiiyhBosjVtc10
5452H6Hxwn6YRHBh/cPWIAc5E/eQge8YWDbTKgi2nbTBFZINTYkCKCC81dK/TSkc
58V3xQ6etYHhLGIq9uqpTD9GzqPOXyLt4oDNtuIdPhUzj0F7BrdP2xMunXvYg8UK
oK6+zpLIrxb4QjbdNJRA2i/8Eov09wTTEDOktnkvHZWY0P8yJ48D0xbDxfvhKFI1
jvt3wdYn7+1qRa3vuD/PnhVgR+XoLSs7GiBb/exVv6EphKDlLJhevQ1SRW3jJamh
HngVLQ3EpM1XPDh7aIS/uAIAmmaZpK3DW1+rY7XFj7eT78OfufK+dXoaQ9xQkcKb
Hz0mHGYHLW2qC1NtK4/8
=ovHL
-----END PGP SIGNATURE-----

That might change sooner or later (thanks to Oracle).

Whats Oricle?
Is my version of Opensuse good?

Hi,

As you have decided to start with c++, here are a few references you
could take a look at to help get you started:
Wikibooks C++ – http://en.wikibooks.org/wiki/C%2B%2B_Programming
Practical C++ Programming – http://www.amazon.co.uk/Practical-C-Programming-Steve-Oualline/dp/0596004192/ref=wl_it_dp_o?ie=UTF8&coliid=I1NHRR8EF8J2UD&colid=1T6JPUHYM9TCC
Programming and Problem Solving With C++ – http://www.amazon.co.uk/Programming-Problem-Solving-Nell-Dale/dp/0763707988/ref=sr_1_3?s=books&ie=UTF8&qid=1284227664&sr=1-3

However, as you are planning on using Java, I would recommend you start
by learning that (you can always learn C++ later).

For Java you might like to take a look at these resources:
Big Java –
http://www.amazon.co.uk/Big-Java-Cay-S-Horstmann/dp/047055309X/ref=sr_1_1?s=books&ie=UTF8&qid=1284228306&sr=1-1
Programming and Problem Solving With Java –
http://www.amazon.co.uk/Programming-Problem-Solving-Java-Nell/dp/0763734020/ref=sr_1_1?ie=UTF8&s=books&qid=1284228384&sr=8-1
Java SE API – http://download.oracle.com/javase/6/docs/api/

Hope this helps.


Regards,
Barry

Oracle is the company that took over Sun, including Java.


Regards,
Barry

So whats the difference or advantage of running C++ and Particularlly Java in Linux?
What can C++ actually make or do?
What can Java Actually used for?
Programming is very hard to start even for a computer Guy like myself…lol…

Both languages can do everything that a beginner may need.
However, I’d suggest Java to start with. It’s easier and has better IDEs. Later you can move to C++ if wish - just like I did.

Whats an example of simple stuff you can do with either Java, C++, or Oracle?
Are new games and OS programs made with one over the other?
Why use C++ if Java seems to be easier and more universal?

Thanks everyone for all your help!! :wink:

In the past, maybe C++ is a good choice. But now, no. For a newbie starting out, a language like Python is a good choice.

  1. No actual compiler to compile/link your code
  2. Easy to read syntax
  3. No need to use pointers or do your own memory management. Thereby, you spend your time design your algorithm instead of figuring out why your pointers doesn’t work.
  4. Rapid code development.
  5. etc.

Whats Python?
What is it used for in today’s world? Is it only to a specific OS or is it Universal like Java?
Do you have any good books or info for me to get started into Python?

Python is a scripting language. That means you don’t have to compile the code to run it. It’s mostly used for small or at most medium-sized GUI applications, and mostly on Linux. And yes, it’s platform independent.
Maybe you could start with The Python Tutorial — Python v2.7 documentation

I still suggest Java. It’s member of the C family; with Java, you learn also the basics of C, C++, D, C#, ObjC. With Python, you learn Python.

Whats an example of simple stuff you can do with either Java, C++, or Oracle?
Are new games and OS programs made with one over the other?
Why use C++ if Java seems to be easier and more universal?

  1. For e.g. a Pong game.
  2. Oracle isn’t a programming language. It’s a company :wink:
  3. Most games are written in C/C++ because of the better performance compared to Java
  4. What do you mean an “OS program”? Operating systems can’t be written in Java since Java programs need a virtual machine (JVM) to run. Bigger programs are mostly written in C/C++, but there are many exceptions (OpenOffice, NetBeans, etc).
  5. There are some things Java can’t do. For example hardware-close code. It’s not even always easier. I moved to C++ because of the overcomplicated nature of the Java standard libraries. But sure, Java is better as a start.

Google uses Python. It is platform independent. So you can use your script in Linux/Windows/Mac etc with little or no modifications.
See my sig for Python documentations.

Java is nothing like C/C++ and C++/C is nothing like Java.

With Python, you learn Python.

Wrong. With Python, you learn practical programming.

Hello world in Java


class myfirstjavaprog
{  
        public static void main(String args])
        {
           System.out.println("Hello World!");
        }
}


Hello world in Python


print "Hello world"

Now. that’s called practical, easy to understand, and faster to code (than Java)

Your statements are unproven, the referred article is quite outdated.

Well, Python is the simplest language ever. But:

  1. Still Java has the best IDEs. Netbeans or Eclipse can find most of the errors before compiling. Python code can run even with syntax errors. That means it will take more time to fix it.
  2. Python is confusing. Objects of different types in the same container, member variables declared outside of the object itself - some of the bizarre and rarely used features of Python. The beginner can’t decide what’s redundant and what’s not, so it would be the best not to show him/her these thing at all.
  3. With single inheritance & types, Java has a much clearer implementation of the OOP concepts.

It doesn’t change the fact that a simple hello world in Java needs so much code as compared to a simple print statement in Python.
If you can prove to me that the Java nowadays can be as simple as print “hello world”, then i will take back my words.

  1. Still Java has the best IDEs. Netbeans or Eclipse can find most of the errors before compiling.

There are IDEs for Python as well. So this is not a big deal in your argument. Python will not run if you even have the slightest indentation error. The interpreter enforces such a rule so that eventually the code appears neat and tidy. Also, the Python interpreter will spew out intuitive error messages if there are errors. It doesn’t need an IDE to do that. Ever wondered why you need good sophisticated IDEs for Java in the first place? If the language is as good as you said, do you think you need advanced IDEs ?

Python code can run even with syntax errors. That means it will take more time to fix it.

I have not heard of that. Show an example to prove this point

  1. Python is confusing. Objects of different types in the same container, member variables declared outside of the object itself - some of the bizarre and rarely used features of Python. The beginner can’t decide what’s redundant and what’s not, so it would be the best not to show him/her these thing at all.

Python is an OO as does Java. It is confusing if you don’t know nuts about it and why the designer does it that way.
And Python can be used as procedural language if one wants to. The beginner should not be even learning OO from the start. (yes, the key word is beginner)

It doesn’t change the fact that a simple hello world in Java needs so much code as compared to a simple print statement in Python.

Hey, what’s about this:


      PRINT *,"Hello World!"
      END

Actually, this is shorter than Java. It’s Fortran… :wink:

There are IDEs for Python as well. So this is not a big deal in your argument. Python will not run if you even have the slightest indentation error. The interpreter enforces such a rule so that eventually the code appears neat and tidy.

NetBeans & Java warns you about the problems ON THE FLY, even before pushing the Compile & Run button. I didn’t say there were no IDEs for Python, they are just not as good as the Java ones.

Also, the Python interpreter will spew out intuitive error messages if there are errors. It doesn’t need an IDE to do that.

Nor Java. The traceback is written to the app’s stderr.

Ever wondered why you need good sophisticated IDEs for Java in the first place? If the language is as good as you said, do you think you need advanced IDEs ?

A good IDE is always handy. If Python was backed with such companies as Java is, it would also have more advanced dev tools. It’s just a matter of money.

I have not heard of that. Show an example to prove this point

Here it is:

a = 20
if a == 20:
  print "ok"
else:
  b(a, 200, "Davy Jones") #uhm, what the hell is b()?    

OK, this isn’t strictly a syntax error, but it’s a bit bizarre that you can run the program without detecting such a problem.

Python is an OO as does Java. It is confusing if you don’t know nuts about it and why the designer does it that way.
And Python can be used as procedural language if one wants to. The beginner should not be even learning OO from the start. (yes, the key word is beginner)

Ignore the public class etc. stuff, and you get a procedural Java.
It seems that all both we can agree to is that the key word is beginner :wink:
No problem, this going to be a funny flamewar >:)

In my opinion it is important for beginners to understand how a program is structured, how data is structured and what exactly your program does. Python is hiding all of this and is way too dynamic to be understood for a beginner. Maybe he can get nice results faster and with less code, but if he want to learn about programming in general, that is just one point of it.

Another point is, that while Python is pretty flexible for a scripting language, it is still a scripting language. There are very few real “all-purpose”-languages out there, mainly Ada (more focused on embedded and large scale applications), C++ (more focused on systems programming) and ObjectPascal (more focused on application development), but I think for example the strict “comb” structure of modern ObjectPascal is a very good learning point and the declarative nature of a good type system like in Ada makes you understand better how your code is really working, while C++ has the advantage of being the most widely used of them.

Having fixed rules and a strict structure the beginner has to follow is a good thing in my opinion and the compilers error messages of a well designed strongly typed language is a good tool for new programmers even if they want to move on to Python or other scripting languages.


{ comb structure of ObjectPascal units}
interface
  uses
    ...
  const
    ...
  type
    ...
  var
    ...
  procedure
    ...
  function
    ...
  ...
implementation
  uses
    ...
  ...
initialization
  ...
finalization
  ...
end.

Perl anyone?

runsaway

@gropiuskalle:

Your post is useless in its current form. You should write some details why do you suggest Perl, pros & cons etc… remember, this thread is for beginners, who maybe know nothing about Perl.

EDIT: don’t try to run away, I will take you back :wink: