Talk:Learning Java/Basic Java Language

Suggestion
As a non-programmer, I perhaps would find it informative to have a basic elaboration on concepts mentioned, like "protection", even if it will be elaborated on later. To have a basic idea of what a concept is when it is brought up, seems like it might allow the end user to have a more cohesive idea of what is being taught. Additionally, it seems it might allow for some a more emotionally satisfying learning experience (less confusion and unknowns). That is just a thought. I suppose we all learn differently. Great content though. --Remi0o 06:43, 14 December 2006 (UTC)


 * Which parts do you think need more clarification and are confusing? I know it is pretty short and not to easy to understand, but it is hard to know what to expand when you know what it is. 22:33, 14 December 2006


 * After reading it, the reasoning for protection isn't clear. My suggestion is to restructure this bit.
 * Instead of having a bunch of (explain later ...), just cut out that entire paragraph, and defer discussing this until another lesson. The Object info would make this make sense, but if you are just laying out code conventions, talk about protection and so forth later. Historybuff 04:53, 17 January 2007 (UTC)


 * I've rewritten the protection section, but left the unclear tag for someone else to remove, if it's clearer now. MetaBohemian 23:27, 19 January 2007 (UTC)


 * I think it's much clearer. What do you think of moving this bit to a later section in the course? I think it might be a stumbling block for beginners, and we don't want to lose them with this complexity early in the course structure. It definately needds to be explained, but might be more appropriate in Classes/Objects. Historybuff 17:11, 20 January 2007 (UTC)


 * I've made a bunch of minor corrections, but now I really have the sense that there is little reason to allude to here what you are going to cover later. It doesn't help to clarify, just confuse, so my suggestion is to migrate all of the object stuff to the later lesson. Historybuff 05:20, 17 January 2007 (UTC).
 * Exactly what i was going to suggest. The main way of learning to program is to follow by example. You do not need to understand many of the concepts you are using until you get to a more advanced level. Objects would probably be best covered after a the reader has already covered functions/methods. Simon alfie 13:13, 21 February 2007 (UTC)

I personally believe that this and many other articles in this project need to be re-written and re-structured. The subjects being taught are not being taught in the way that the "should" be taught. I know that this is a monumental task, but I believe that it is essential to re-structure the course before its too late. Zchenyu 21:55, 24 April 2007 (UTC)

prereqs
This lessons dives into classes, without touching much on objects. However, the course prereqs originally said "you have to know how to basically use your computer". I've changed that to reflect the CLI knowledge needed in the previous lesson, but either an object primer should be added to the prereqs or Objects should be touched on here. Historybuff 04:43, 17 January 2007 (UTC)

I have added a note strongly encouraging Introduction to Programming. In that course, we are going to cover some basic concepts that will make a few things (hopefully) much clearer. For example, "protected" is a keyword that declares the scope of something. Scope is a basic language concept that we will definitely be covering. Dmclean

Primitives
A String is not a primitive data type. As mentioned it's a collection of characters. It's an abstraction of several characters in succession. While a String is one of the first data types learned (because of how simple/useful they are), they're not primitive. Therefore it shouldn't be listed under primitive, that's misleading. There's no structural difference between a String and, for example an ArraySet. Poloktim 06:22, 22 January 2007 (UTC)

Asking the User section
"Integer.parseInt(JOptionPane.showInputDialog(null, "Now I can set a INTEGER!"));" doesn't work, the compiler returns the error

Multiplying.java:5: cannot find symbol symbol : variable JOptionPane location: class Multiplying int mine = Integer.parseInt(JOptionPane.showInputDialog(null, "Now I can set a INTEGER!")); ^ 1 error

does some package need to be imported first? -- Koolaidman  Talk Contribs 16:14, 13 February 2007 (UTC)


 * Yes. You have two options: a blanket import for the entire source file, or a call-by-call import. There are very few reasons to not use the first, so that's what I'll show you. The  class is located in the   package, so add this line to the beginning of your source file — before the class declaration:

import javax.swing.JOptionPane;
 * --MetaBohemian 21:26, 13 February 2007 (UTC)

Protection
As a fairly experienced Java programmer, I feel that the topic of protection is completely irrelevant the purpose of this lesson. Protection should not be discussed until objects have been formally introduced. Zchenyu 21:48, 24 April 2007 (UTC)

Renaming the lesson
How about renaming the lesson to "Introduction to Java Applications"? That would be a meaningful name that tells a little about what the lesson talks about. Zchenyu 22:04, 24 April 2007 (UTC)