#REDIRECT [[Wikipedia talk:WikiProject Computer science]]
Sounds interesting, but what exactly does it involve? Like, say, deciding on a format for all articles of type "The Foo Programming Language", and then editting them to conform? -- [[User:Khym Chanur|Khym Chanur]] 07:29, Dec 17, 2003 (UTC)
How shall we organize them? Each article according to the same format/structure as Khym says, or do you mean some kind of inter-language reference, which would produce a family tree? Do we want to write EBNF for all of them? Create a master list of language features and say which languages have them (Objects, Classes, Recursion, Garbage Collection, etc.)? [[User:Brent Gulanowski|Brent Gulanowski]] 17:24, 17 Dec 2003 (UTC)
:My original plan was to decide on a format, and apply it to each of the programming language formats. I think Brent's ideas are good too. It is really up to the members of this WikiProject (which can be anyone, just put your name down). We can vote on these ideas here. The names of the wikipedians that I asked to join, I got from here: [[Wikipedia:Wikipedians by fields of interest#Computer Science]]. BTW, Brent, what is EBNF?
:[[User:Noldoaran|—Noldoaran]] [[User talk:Noldoaran|(Talk)]] 00:50, Dec 18, 2003 (UTC)
::[[EBNF]] is [[Extended Backus Naur Form]], the standard form for defining a language [[grammar]]. It is an essential component of a language specification. Check out the [http://java.sun.com/docs/books/jls/second_edition/html/jTOC.doc.html Java Language Specification] for a good, if complicated, example. The EBNF comes in handy when writing a compiler. The grammars of most modern programming languages are probably too tedious and long to include in full, but some key productions (aka rules) might be valuable for comparative purposes. So, if one exists, hopefully, as in the Java case, we can just link to it. [[User:Brent Gulanowski|Brent Gulanowski]] 20:18, 18 Dec 2003 (UTC)
==Some possible sections for a standardized format for programming language articles==
===Language origins===
*creator(s)
*companies involved
*original hardware platform
*original operating system
*original compiler
*precursors/descendents
*dates of major versions
===Language characteristics===
Qualities that do not fall under features.
*compiled, interpreted, or both
*suitable programming tasks: system, web, math, science, education, A.I.
*current usage (users, platforms, implementations)
===Langauge features===
*data types: user-derived, heterogeneous, templates, classes
*modularization: sub-routines, procedures, functions, methods
*encapsulation features
*data-hiding and memory access control features
*type checking: static (compile-time), dynamic (run-time), hybrid, other
*run-time environment: fixed memory, function stack, memory allocation
*libraries: I/O, math, GUI, threads (actually threads can be a part of a language, see [[SR programming language]] (SR means "Synchronizing Resources")
*Inter-application communication
===Notable strengths, unique qualities===
===Notable drawbacks and limitations===
===Sample code===
===Key grammar components (EBNF)===
----
(I did not want to just add this to the page until we had some more input -- [[User:Brent Gulanowski|Brent Gulanowski]] 20:34, 18 Dec 2003 (UTC))
:Looks Great! [[User:Noldoaran|—Noldoaran]] [[User talk:Noldoaran|(Talk)]] 06:59, Jan 25, 2004 (UTC) P.S. I've been busy with other things for a while, but I'm going to be active again, now.
I would like it if everyone who plans on helping with this project, would put their user name on the participants list, so we can know how many and which users are avalible to help. [[User:Noldoaran|—Noldoaran]] [[User talk:Noldoaran|(Talk)]] 07:04, Jan 25, 2004 (UTC)
----
{{msg:SampleWikiProject}}
|