This article is within the scope of WikiProject Computer science, a collaborative effort to improve the coverage of Computer science related articles on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
This article is within the scope of WikiProject Java, a collaborative effort to improve the coverage of Java on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
This article has a section on 'editions' (SE, ME, etc). But nothing on the differences between versions. Java 1.7 (and 1.8, though not yet finalized) is in some ways quite a different languages from 1.0. Does anyone think there ought to be a 'Versions' section with brief notes on the main changes (or perhaps just the language changes) in each version? These could include links to information on the relevant topic elsewhere on WP.
I'm considering removing the entire Examples section per WP:NOTHOWTO. I don't think there's anything in there that isn't covered in WikiVersity. Objections? --Richard Yin (talk) 16:16, 24 November 2014 (UTC)
I'd certainly keep an examples section, and the Hello World that's there is OK pretty much as it stands.
There is room for improving the Examples though. Examples should be strongly relevant and should illustrate "typical Java" - maybe a Servlet? Their point would be to illustrate some flavour of the language, and to contrast what it does differently from other languages, particularly C++. I'm not keen on the current examples that are largely comments (that indicates they're an example that's too much about a narrow specific aspect, not about "Java" broadly at this level). Nor am I keen on the long dissection of these examples following them and being used to explain each language statement.
This is an encyclopedic article on Java. It's not a tutorial, it's not even the introduction to a tutorial. It should remain an overview. What is Java, what is it typically used for, which language family does it fit into, how do similar commonplace tasks (and I think a Servlet is good) look different in Java from a similar task in C++ / .NET families.
I don't see Wikiversity as relevant. WP articles should set out to be workable encyclopedia article in isolation. We should link to Wikiversity, not rely on it. For as far as an example is useful to the encyclopedic goal, it belongs here. For anything more, such as becoming an introduction to a detailed tutorial, that belongs entirely, and from the start, elsewhere. Andy Dingley (talk) 17:46, 24 November 2014 (UTC)
Yes, I have this article in mind every time I consciously ignore the wiki java programmers solicitations for funding at the top of the page, it seems like they should know how to write a wiki article about java. — Preceding unsigned comment added by 126.96.36.199 (talk) 18:06, 6 February 2015 (UTC)
I put an off topic tag in the Editions section. The bit I applied it to is a three-sentence paragraph that I'm fairly certain a) should be expanded quite a lot and b) fits under Syntax. --Richard Yin (talk) 16:42, 18 December 2014 (UTC)
In "Java is a general-purpose computer programming language that is concurrent, class-based, object-oriented...". Whilst Java is certainly a language that includes support for concurrent programming it is not one of the languages that puts it up front and centre as a main or major feature of the language. In fact, in Java 8, you need to program in a different style (using streams and lambda style) to get the most benefit out of concurrency - and this is not the prevalent style of most existing Java software, libraries, etc. Java doesn't feel very 'concurrent' compared to, say, Clojure or Erlang. Java has slowly developed and included more and more features (and libraries) for concurrent programming over time, as concurrent programming has become more important. It also retains (necessarily) a set of low-level concurrency mechanisms, which are probably the most used - even though they are the least abstracted and scalable. (For example, a preference for direct use of threads, 'synchronized' and locks, over the higher-level java.util.concurrent library. Put another way, Java seems to carry with it a good deal of concurrency baggage.) Granted that other languages, more concurrent in nature do exist on the JVM - but the JVM is not Java. Therefore, it seems odd to list 'concurrent' first. I think it is fair to say that Java is about as concurrent as it is functional (as of Java 8), so why not list 'functional' too? (But please don't - it is no more functional than Python, Ruby or Groovy.) 188.8.131.52 (talk) 13:54, 8 April 2015 (UTC)
Cross-platform? (Well, sort of, but...), Fast? (Well, sort of, but...), More productive? (Well, sort of, but...) ... . Its a consistent theme in Java philosophy, Baggage?(not a problem...) — Preceding unsigned comment added by 184.108.40.206 (talk) 18:59, 5 May 2015 (UTC)