Wikibooks talk:Programming languages bookshelf

This is an index to Wikibooks articles, not a book about about programming languages. The format should support multiple entries for every language. There's no point to write encyclopedia-style articles about every language on Wikibooks. The articles on Wikipedia are more mature and should be linked to.

Programming:C plus plus
Initially there used to be one page Programming:C plus plus. Then I thought it'd be nice to split into modules similar to Programming:C and started many modules including Programming:C plus plus Hello world (the rest can be got by successively clicking the next link in the previous module). User:Panic2k4 was of the opinion that the entire book should be in a single module, at least for now, and started contributing heavily to Programming:C plus plus, incl. content from some (not all) of the "Programming:C plus plus *" pages. Since I was opposed to this, and Panic didn't want to argue with me, he started a *shudder* fork at Programming: C -/- -/-, and replaced the link to Programming:C plus plus on this bookshelf with a link to Programming: C -/- -/-. -- Paddu 09:30, 18 Nov 2004 (UTC)

Multiple entries for C++
I reformatted the C++ entry to include both books and a Wikipedia article. There are dozens of about C++ in every book store. There is no reason to have just one book on Wikibooks.
 * It depends on what you mean. There is certainly room for several C++ books that have different goals/scopes on WikiBooks. For example, we'd all be happy to see a complete beginners guide to C++, an advanced software engineering guide with C++, and a complete C++ language reference, and so on. But it's very, very damaging to a creative, collaborative project to have two books with the same goal competing with each other. Would-be contributors might be scared off, thinking that if they spent time contributing to one book it might be wasted. I would even say there is room for C++ books on the same ability level, that cover the same topics to be included, provided that they take radically different philosophies: such as one book that teaches OO concepts first, while another teaches procedural programming first. But they cannot be forks of one another. Perhaps it's best to think of WikiBooks as a publisher, instead of a bookstore. MShonle 22:23, 8 September 2005 (UTC)

Object-oriented/Imperative Hybrid
Having moved the categorised list from Programming:List of languages I have noticed that the largest category is not mentioned. I mean the Object-oriented/Imperative Hybrids. So should they not get their own group?


 * Disadvantage : The Object-oriented catecory becomes very small - there are only a very few true and only OO languages around. Users looking for OO might be disappointed.


 * Advantage : The currently most important languages group becomes an exposed position. [UNSIGNED]

I think the term "hybrid" to describe languages has been steadily going out of style. It would probably be best to just have: When creating a categorization of languages, it seems like it would be a failure to have the largest category essentially the same as "Miscellaneous". I would not have categories for DbC. Perhaps I would put the web languages under domain-specific, or into their own category, "web programming" (similarly with database languages).
 * functional,
 * procedural,
 * logical,
 * object-oriented,
 * mathematical/scientific,
 * domain-specific, and
 * scripting.

A re-org should happen to make this all cleaner. MShonle 22:32, 8 September 2005 (UTC)

General policy for programming language books
Is this the best place to discuss general policy for programming language books ?

In particular, is there a policy that covers statements such as:

"C# is ... is a complete, robust programming language without the limitations that make Java strictly a niche or toy language." -- Programming:C sharp

This seems needlessly inflammatory.

All programming languages are niche languages.

In particular, C# works on less than 10 percent of all the CPUs manufactured in 2003. "Less than 10% of all the CPUs sold in the world are 32-bit or more." -- w:microprocessor.

--DavidCary 11:06, 8 Jun 2005 (UTC)

C# works on more like 90% of systems, if you don't include embedded (Palm) handhelds/smartphones, previous game consoles, and pre-OSX machines, C# has standardization through EMCA, it's .NET components such as WinForms which are the platform-specific issue, Mono implements most through GTK# and Cocoa#. I agree it's not NPOV, and in a big part platform specific for full functionality, however speaking, the integration and machine compilable ability might be an advantage. I have to disagree with the 10% part are 32-bit part, everything since 1997 are 32-bit, even ARM. Mono has only been ported to SPARC and PowerPC though, and is not 64-bit capable afaik, only .NET on Windows is. To each his own on which platform is more of a toy, though in truth on desktops .NET has a larger install base than Java.

--James C 1:33, 18 Nov 2007 (UTC)

NPOV
Well the above statement clearly violates the NPOV (Neutral Point of View) and needs to be removed.

Apart from that: There is no place to discuss the advantages/disadvantages of languages - there will always be a flame war.

There is a cross language chapter in Computer_programming.

--Krischik 08:11, 10 Jun 2005 (UTC)

There should be a place to discuss advantages and disadvantages but it has to be remembered that what is an advantage and what is a disadvantage depends on the context. Each statement that language X is better than language Y needs to state the situation in which the advantage exists. For instance the oft touted superiority of Fortran over, say VB6, for numerical calculations is irrelevant if the task at hand is string processing. It is the total performance of code written for a specific purpose that counts and this is a matter of immense importance and surely need not generate a flame war. Whether such a discussion belongs on Wikibooks is another question. kwhitefoot 18:00:51, 2005-09-06 (UTC)

Meta-languages_bookshelf vs. Programming languages bookshelf
I see that PostScript has been moved to the Meta-languages_bookshelf. Why? I thought we kept all w:Turing-complete languages (such as PostScript), on the Programming languages bookshelf, and put non-Turing-complete languges (such as XML) on the Meta-languages_bookshelf. --DavidCary 09:24, 8 Jun 2005 (UTC)


 * PostScript is w:Turing-complete? If so in a more theoretical way (you could write a Speadsheed using PostScript) or in a practical way (you would write a Speadsheed using PostScript). --Krischik 08:09, 6 September 2005 (UTC)


 * Turing-complete means "theoretical". Every turing-complete language could theoretically replace any other turing-complete language.  However, every language is optimized for a particular range of tasks and designs.  You could write a spreadsheet in PS, but it'd be better to use a language more suited for that. --Randal L. Schwartz 13:07, 6 September 2005 (UTC)

Why are these languages called Meta languages? Meta usually means about or concerning as in metadata on web pages, it is data that says something about data. And as for Postscript, there are plenty of tasks that Postscript is suitable for but they tend to belong to the domain of typesetting so why change the name from Domain Specific, which is clear and unambiguous, to Meta-languages which isn't. kwhitefoot 17:53:09, 2005-09-06 (UTC)

Object Orientated?
In the bookshelf area, object oriented is refered to as object orientated (east facing). I did not see a way to edit this title. Am I missing something?

Christine Frayda 23:24, 5 September 2005 (UTC)


 * Fixed. The thing to do is click the tab to edit the page and then scroll down until you see the list of templates used (right at the the bottom).  Click the relevant template and edit that.  In standard British English non-technical uses orientated is the usual form but jargon uses prefer oriented.  It has nothing to do with east facing but rather it is related to orientation.  See http://www.askoxford.com/asktheexperts/faq/aboutgrammar/oriented?view=uk.  kwhitefoot 07:02:12, 2005-09-06 (UTC)

Objective-C
Objective-C is listed under the Macintosh-specific section. I do not think it should be there; although it is predominantly used with Cocoa, it was not introduced on the Mac, and compilers, runtimes, and kits are available for a great many platforms.

other wiki
Many languages already have a dedicated wiki. If there is a Wikibook for that language, please link to that remote wiki in the "For further reading" section of its Wikibook.

But what about languages that don't already have a Wikibook (such as Lua)? For the convenience of people looking for information on such languages, I'm going to stick links to their remote wiki here on the programming languages bookshelf. OK? --DavidCary 21:23, 29 December 2005 (UTC)

API Specific Books
I've noticed that there isn't a bookshelf/subsection for API specific books. What about Direct X, Open GL, Win32, Linux, ect programming books?

Also, many API's are often language specific, or have a specific set of libraries for a programming language. So finding exactly where they should go will be quite a trick.

naming convention for books on the Programming languages bookshelf
Are there any special conventions for naming and organizing programming-related books that go beyond the regular Naming conventions ? In particular, it seems that many early wikibooks began with the "Programming:" pseudo-namespace, but that no longer seems to be popular for newer books. (I suspect this may have already been discussed to death -- please give me a link to that discussion.) --DavidCary 12:54, 14 September 2006 (UTC)

In particular, which name is the best -- Programming:Java, Java Programming, or Java? --DavidCary 01:22, 15 September 2006 (UTC)


 * From what I can see, either Java Programming or Java work (although the former seems quite popular). Programming:Java is right out.  I tend to prefer things like Java or Haskell myself. -- Kowey 16:46, 16 September 2006 (UTC)

Source Tags?
The page mentions source-tags. Where can I find information on how to use them? (Or could someone explain shortly?) Otus 15:58, 5 June 2007 (UTC)


 * You can find information on the syntax highlighting extension here, which uses   to format programming code with language-specific syntax hightlighting. Webaware talk 01:33, 7 June 2007 (UTC)

free compilers
The majority of languages on our bookshelf are mentioned in the "Catalog of Free Compilers and Interpreters".

I'm thinking about going through each book on the programming languages bookshelf, and add a link to the appropriate section of that catalog.

Is this a bad idea? If so, please tell me now before I waste too much time on this project. --DavidCary 07:26, 26 September 2007 (UTC)


 * If you do so, be sure to include it in the right place for each book. If your not sure of where such a link should go in a book, I would suggest not doing it for that book or only suggest that a link to be added on the book discussion page. Otherwise it may just end up being removed. --dark lama  12:50, 3 October 2007 (UTC)

book listings
php does support object oriented programming, yet it is not placed under the object oriented category. maybe someone could do this?


 * Basic object orientation has been part of PHP since PHP3. Tinned Tuna (talk) 15:29, 7 January 2009 (UTC)

Visual Basic?
Why does the table of contents list # 1.5 PHP – Visual Basic .NET when the last alphabetical entry is XForms? —Preceding unsigned comment added by Anon1171 (discuss • contribs) 2008-03-04T00:53:36


 * Thanks, now fixed. Webaware talk 14:27, 3 March 2008 (UTC)

ColdFusion link missing?
Oh master of this index page... Can you please add in the link to this page: http://en.wikibooks.org/wiki/Programming:ColdFusion

Cobol
I think that list misses Cobol

New Scheme book
I've recently been working on a new book to cover the Scheme programming language, since there was no book on it. It is in need of expansion, clean up, and so on. I don't think it's ready for this bookshelf yet, but I think it's worth having some other people look at it with me. Stylistically and structurally it draws heavily from the C Programming book. Tinned Tuna (talk) 15:33, 7 January 2009 (UTC)
 * Scheme Programming