THE BEST IS JAVA PROGRAMMING LANGUAGE LEARNING BASIC?
What language is most suitable for learning programming is a topic of discussion among programmers, academics, professionals, etc. The point is that there is no unanimous opinion as to which language is the ideal place to learn as a first language, possibly because there is no ideal.
By analogy, it could be like trying to answer the question: What is the ideal vehicle to learn to drive? And given the diversity of brands (eg Renault, Ford, Toyota, etc.), types of engine (diesel, gasoline), management gear (manual, automatic), technology (hybrid, micro hybrid, conventional), and even of vehicle types (trucks, vans, SUVs, cars, etc.) it would be very difficult that there was a unanimous agreement on what particular vehicle is the most appropriate because there are hundreds of possibilities. In programming we find that something similar happens: strongly typed or untyped languages, object-oriented or not, different versions, operating systems, philosophies programming, high-level or low level, and endless variations that make a person which arises learn programming not be easy to choose.
We will express our opinion: Java is not the most appropriate language to learn as a first programming language. The arguments for this are:
a) Java is based on a philosophy of programming (object-oriented) which is an evolution of other ways of understanding the programming and modular programming.
b) Java is a language that conceptually organization code and resources for the programmer (API) can be difficult for people who face programming for the first time.
c) Java has its origins in other programming languages such as C and C ++.
d) we consider Java language that is not easy to learn when compared with other languages, according to our experience. For a person who starts, it may be more difficult to develop a first professional looking application in Java than in other languages.
Continuing our analogy with the types of vehicle, for us Java would be an SUV advanced technology with different drive options (two-wheel, four wheels). We would not be in favor of teaching to lead a person with this type of vehicle: on the contrary, we decantaríamos by a simpler and manual first choice vehicle. The question might be now: you should start working with primitives to move forward from them languages? In our opinion, it is not necessary to go back to the 60s and tour the different languages and philosophies to reach Java or other language of art.
So what language to choose? Here's the dilemma. Languages C / C ++ would adapt to our simile to the consideration of "manual", but not the simple. Other languages such as Visual Basic would adapt to the consideration of simple but would be "semi-automatic". And this is where we come in: we recommend Visual Basic as a first programming language because it combines features such as modern simplicity, ease of learning and early development of professional-looking applications. It allows us a tour of the basics of programming while introducing objects with attributes and methods of "moderate" form.
The exposed reasons lead us not consider an ideal place to start Java programming with people who have absolutely no prior knowledge, but with this we do not mean that Java can not be used as a first language in some circumstances language. In fact, many universities use Java as a first programming language in computer engineering studies. Other universities include introductory courses prior to Java-based C / C ++.
And all these, what is the conclusion? We recommend that knowledge of any other programming language (it is), or at least have pseudocode, before facing Java. Follow this recommendation or not is at the discretion of each, based on the time available, personal goals, professionals, academics, etc. In this course we will explain Java from scratch, which means you can follow anyone regardless of their prior knowledge. If after the above you still have doubts, you can type your query in the forums where the staff aprenderaprogramar.com page and other users can give personalized guidance for your particular case.