the-programmers-hangout / website

🌳 TPH website
https://theprogrammershangout.com
MIT License
102 stars 67 forks source link

Add beginner introduction to Java programming language #172

Open Aberrantfox opened 4 years ago

Aberrantfox commented 4 years ago

Something that was discussed was a beginner introduction to each language, I volunteered to do the Java one, so I've added this issue to track the feature.

AstronautEVA commented 4 years ago

What kinds of things will the introduction include? Just trying to make sure I don't write an article that would overlap things you cover.

Aberrantfox commented 4 years ago

The beginner articles will be a series of articles for learning a given language as your first language, for each of them there will probably be a minimum requirement of covering:

1) What a declaration is 2) What a statement is 3) What a conditional is 4) What a loop is

These are pretty much the core fundamentals to understand everything. On top of that, there'll probably be some information indicating:

1) How to install 2) A selection of editors that might be found to be useful 3) The main function (if required) 4) Maybe a demonstration of a slightly more advanced feature

For Java, I will probably just demonstrate what an Object is very quickly and then link to the documentation that provides a clearer picture of that.

hbjydev commented 4 years ago

@Aberrantfox Idea - Make one article that covers the generic stuff every language has (i.e. loops, statements, declarations, etc.) as like a programming 101, then make an index page for each language that covers the syntax for each of those in that language. In a table or as an article. That way you spend less time explaining each time, and more time teaching that language. I'd be happy to contribute a JavaScript/TypeScript index page if you were to do that

AstronautEVA commented 4 years ago

@haydennyyy Issue #48 is a solution to what you are describing

hbjydev commented 4 years ago

@jacquej96 No it's not

hbjydev commented 4 years ago

What I'm suggesting is like a "Programming fundamentals" article that explains what each thing is, and then individual posts explaining the nuances & language-specific stuff for each of the separate languages.

AstronautEVA commented 4 years ago

@haydennyyy but couldn't that be done with the issue I linked? So in the fundamentals article there might be a section describing for-loops. Then there can be a code block of tabs for any language that someone has contributed. Each tab will have the code for the for-loop and explanations of any nuances.

This would condense all of the beginner info into 1 article instead of having a for-loop syntax article for every language someone contributes to. (as it appears you suggested in your previous response via "...and then individual posts explaining the nuances...")

hbjydev commented 4 years ago

Who said anything about having separate articles for each feature? I meant having one article showing the individual parts that have already been explained in the fundamentals post, just one for each language. Not that declarations, loops and statements should all have separate posts.

Aberrantfox commented 4 years ago

I appreciate what you guys are saying, but I think that this is the programmer mentality kicking into overdrive a little here. It's often useful to prevent duplication, but in this case I think duplication is good. We could have a document describing some general concepts, but I would still say an introductory document that goes over the basis is useful. This will help provide a cohesive flow if someone decides "Okay, I will start out with JavaScript".

I would really rather not invent some pseudo-syntax and then teach people to forget that in a starting document. That would just prolong the progress, when it can be better done with real code up front.