Keytachi said:
...then i wanted to learn a base language i dont have any specific goal, i just want to know a language first and then ill decide wht i can do
Keytachi said:
well i wanted to learn a mac/windows language, one that would work in all OS. i might go to java and then a C
Thank you. It sounds like you would like to learn a general purpose language and, broadly speaking, how to program. Java is currently quite popular as a CS learning language because it is a powerful language which experience with can be a valuable job skill. However, Java is also a complex language with an enormous class library for which even very experienced Java programmers require reference documentation now and then.
Consider the classic 'Hello World' example in Java. To create even the simplest self-contained, compiled program in Java, you need to declare a class with a name matching that of the file (except for the .java suffix) and then add a very specific method to it:
Code:
public class HelloWorld
{
public static void main(String[] args) {
System.out.println("Hello, world.");
}
}
This needs to be in a plain text file named HelloWorld.java. You would then compile it (e.g. using the command line 'javac HelloWorld.java') and then run it (e.g. 'java HelloWorld'). Even simply printing out the text is rather verbose.
There are many high level languages that run on all major platforms which allow you to program powerful, well structured applications with far fewer lines of code and, empirically, much less development time. Using these languages, you can also learn sophisticated programming techniques such as OOD (Object Oriented Development), functional programming, network communication and multithreading, usually with greater ease than with the many C variants (including Java).
Many advanced libraries are available in these high level languages, allowing access to databases, xml parsers, GUIs and more. Several of them have interpretive modes that allow you to immediately get a response to each line of code that you enter (much like using the command line). This can be wonderful for learning how to program.
Here are some high level languages that enjoy these features. I'll list them in the order that I would recommend them to you, but I'd advise you to try several and see what you like best:
Python
Ruby
Perl
PHP (Normally used for web development, but also good for general use)
Lua
Tcl/Tk
If you're mainly interested in making GUI programs, these days they are normally event driven and it can be very efficient to use a RAD (Rapid Application Design) drag-and-drop style IDE. I'd highly recommend waiting a while before you start doing GUI programming as it is fairly complex once you get beyond the basic, shallow level (in other words, where there is no model or controller (
MVC)).
Have fun and happy hacking!