Wikipedia:Reference desk/Archives/Computing/2016 November 25

= November 25 =

Anatomy of a programming language
Oh computer gurus,

I've made a first attempt at a list of common features of a programming language, but I believe it is woefully inadequate.

What is missing?

What else is wrong with it?

I look forward to learning what only your expert eyes can see. The Transhumanist 19:54, 25 November 2016 (UTC)


 * You haven't included Remarks. I see that you may have meant the 'Semicolon' entry for remarks, but some languages may not use semicolons, or may include other characters in addition to them. I think you need to change Semicolons to Remarks and have Semicolons as a subcategory of it. Akld guy (talk) 22:25, 25 November 2016 (UTC)


 * Wow. What an oversight. What else did I miss? The Transhumanist 00:58, 26 November 2016 (UTC)


 * Do loops; Flags; Registers; Stacks; Interrupts; Bit masking and flipping; Branching (conditional jumps); Strings; Macros. Akld guy (talk) 01:19, 26 November 2016 (UTC)
 * One omission from the list is exception handling (the try-catch block or its equivalent). Tevildo (talk) 09:40, 26 November 2016 (UTC)
 * Comments. But then again lots of people think their code is so obvious it doesn't need any comments :) Dmcq (talk) 11:23, 27 November 2016 (UTC)
 * Comments=Remarks. Akld guy (talk) 23:00, 27 November 2016 (UTC)
 * Sorry I'd forgotton about BASIC. I took it as being the way some language I don't know of talked about things like metadata or annotations. Dmcq (talk) 09:18, 28 November 2016 (UTC)


 * The outline doesn't seem to describe languages like the Forth (programming language) and other Incremental compilers very well. See http://galileo.phys.virginia.edu/classes/551.jvn.fall01/primer.htm --Guy Macon (talk) 12:17, 27 November 2016 (UTC)
 * And how about modules for inter-working and hiding irrelevant details? Dmcq (talk) 14:24, 27 November 2016 (UTC)
 * And for a bunch of other stuff pattern matching would I guess cover templates and macros and string matching and list matching as in Prolog and a lot of declarative or database programming. And then there reflection features where on can inquire about or generate code. Which also gets on to debugging and monitoring features. And then there's security features as in Java or C#. And garbage collection and pointers or references of course. Dmcq (talk) 14:35, 27 November 2016 (UTC)