31:
952:
For example, it is incorrect to say that Java is compiled to byte code. Some Java compilers compile to byte code, others compile to native object code, and it would be possible for another to translate to Python if it wanted to. It is also incorrect to say that C is compiled to native object code, as
328:
talks about how "C# does not compile to binary code which can be executed directly by the target computer", but that's just how some implementations of the language work. It has nothing to do with the language itself. It would be possible to make implement a C# compiler that compiles to binary code.
136:
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,
91:
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
842:
When linking it is best if you don't have to guess if the target exists or if it is a disambig page. If all languages could be linked to with "XYZ programming language" then that would save people from lots of guessing and it would also make the creation of new programming language articles easier,
781:
Categorization by paradigm might not work as many languages support more than one paradigm. Categorization by heritage would probably be a better idea. Having multiple templates form a table is rather complicated unless you make one template that consists of those four templates... and I'm not sure
429:
I agree with CGS's observations, but also agree with IMSoP that priority should be given to the design intentions and popular implementations of a language. Some of it could be resolved by more precise language in the articles; instead of "C# does not compile to binary code...", use "Microsoft's C#
100:
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
973:
to use a language within certain parameters. Those can certainly be named. I excised the section because it would take longer to explain all the ifs and buts and perhapses etc etc. than it would be to just be quiet about it and let things sort themselves out. I hope that explains sufficiently!Ā :-)
985:
The distinction between languages and implementations is still worth making though; a language article should have a sentence or two in the lead stating implementation status (one, many, noneĀ :-) ), and a section summarizing notable existing implementations, possibly with a list of links to the
413:
So, essentially, the necessary changes are kind of more minor than you make out, although I see your point about the mindset and whatever. Humph, now this is almost as long as my first version - this time I'd better not crash my browser while previewing it, cos I need to get to bed.
827:
The naming convention should be the same for all articles. Since they can't all be named "XYZ" due to some disambig issues, they should all be named "XYZ programming language". It just doesn't look professional to have "XYZ" and "ZXY programming language" side by side in
341:
says "Microsoft stopped shipping QBasic with later versions of
Windows". How does Microsoft ship a programming language (as the article is clearly about from the title), an abstract concept? Whoever wrote this is talking about a single implementation of the language.
990:
say that a language is "interpreted" or "compiled", since it is a property of implementations not languages - my little title-hacking project has given me a change to observe the terrible state of PL content firsthand, and lots of articles are messed up this way.
879:; if you propose that for all articles in WP and get agreement, I'll go along with it here. People decide "professionalism" by content not titling; by that standard, we have too much trivia and joke languages and not enough on the semantics of important languages.
320:
I think that there's something fundamentally wrong with the way that we write about programming languages. Most articles on programming languages discuss the most popular compiler/interpreter for the language, but the language is a seperate topic to the language.
673:{{Programming_language_begin}} // opens table {{Programming_language_paradigm_procedural}} // header+rows {{Programming_language_heritage_C}} // header+rows {{Programming_language_end}} // final row+closes table
956:
Please fully qualify what implementation of a language's compiler or interpreter you are refering to in a language's article. For example, it is fine to say that "Sun's Java compiler produces bytecode", but not simply "Java compilers produce bytecode".
986:
article-worthy. It's hard to imagine a credible PL writeup that doesn't have this kind of basic info, so I think it should be part of the requirement to have a project-conforming article. Conversely, a PL article should
1150:
380:(which could also compile it), which in turn is one of hundreds of mutually incompatible BASIC dialects that have sprung up over the years, but can't really be considered languages in their own right.
365:
similarly, Java was designed with portable execution in mind, so it makes sense to discuss this mode of operation before any of the others - which can be seen as extensions to the original concept
71:
66:
335:
says that Java code can be compiled once and then run anywhere. But this is talking about Sun and IBM's Java compilers. It isn't true for gjc, for example, which compiles to native code.
285:
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.
84:
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? --
949:
When talking about a programming language remember that the language is a an abstract concept, and implementations of compilers or interpreters for the language is quite different.
921:, and others enjoy. Let's not clutter things up. Excessive wordiness is my bane, and hurling "programming language" about like so many verbal caltrops is a sin. It's too bad that
811:
For creating the specific topic pages, a few options are available. If there's an alternate name or more complete name that is equally clear, that can be used. For example,
47:
17:
1228:
929:
can't enjoy the same conciseness, but let's not drag everyone else down too, eh? Also, I agree with Stan, ZeroOne your user page would look a lot better with a header
903:
To be honest, your user page would look cooler without all the "programming language" appendages - after about the 20th, it's like "yeah yeah, we get the concept".Ā :-)
796:
1233:
440:
362:
C# is a
Microsoft language, so Microsoft's implementation deserves most attention - just mention that other implementations are feasible that break this rule.
387:" convention anyway? Isn't it breaking a wider convention on obvious naming, except where necessary for disambiguation? What else is ever going to live at
800:
430:
compiler does not generate machine-level object code..." or something similar. Anyhow, it definitely needs some attention. I'll try to pitch in. --
890:. For new articles, there's no guarantee that the creator will add "programming language" to the title anyway, so a rule would make no difference.
1121:
863:
Let's have the discussion in one place, either here or there, otherwise it's time-wastingly redundant. But point-by-point, for completeness:
1010:
which you can (and I think should) use instead of {{stub}} when dealing with programming language stubs. It produces the following message:
661:
page should have a box of similar languages, which are grouped according to whatever classifications we choose (e.g. paradigm, heritage).
1203:
102:
823:
Thus I hereby propose that all programming language articles should have the suffix "programming language" in their name. Reasoning:
372:, the article has the wrong name, is all - there is no "QBasic programming language", it is an interpretter for the same dialect of
1213:
1198:
1171:
Opinions from people knowing this subject are needed to clear a disagreement in
Wikibooks. See message from Paddu belove. Thanks,
839:
the languages would point out nicely, attracting those who are interested in programming languages and repelling those who aren't.
1104:
605:
664:
This might involve multiple boxes though: for multiple classifications, or, for multiple paradigms, or both. That can get messy.
1149:
to delete 70+ articles about the more esoteric programming languages. Naturally, your input to this discussion is welcome. See
1125:
1112:
853:
My userpage wouldn't look half as cool if those language articles I created didn't have that "programming language" suffix.Ā ;)
887:
539:
392:
882:
I don't even look at
Recentchanges anymore, I would miss too much stuff. If I want to find programming languages, I look at
399:
867:
The overarching rule is "most common unambiguous name". By your reasoning, then other types of articles should be entitled
434:
422:
351:
1096:
1075:
1065:
883:
762:
645:
377:
325:
868:
573:
521:
338:
804:
281:
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.
700:
499:
373:
38:
1145:
In case anyone involved with this WikiProject hasn't seen this already, there is a current deletion discussion on
926:
812:
753:
634:
548:
332:
125:
1193:
1092:
803:
the format "XYZ" should be used always and "XYZ programming language" only in disambiguation cases. However the
467:
is a good way to categorize programming languages. Here are some possible infoboxes (modeled on the impeccable
1208:
1041:
876:
403:
305:
224:
922:
729:
718:
695:
682:
622:
614:
494:
481:
448:
832:
267:
138:
93:
133:
1179:
686:
525:
485:
464:
1244:
1183:
289:
278:
111:
893:
Article creators are already expected to create all the appropriate redirs and disambig machinery.
847:
799:. The arguments were for and against formats "XYZ programming language" and "XYZ". According to
415:
357:
Bah, I just wrote a great long response to this, and then my browser crashed! It boiled down to:
1223:
444:
1025:
1218:
1040:
That will make it significantly easier for everybody to find and fix prog lang stubs as the
975:
309:
85:
1229:
b:Wikibooks:Staff lounge#Attracting contributors to a textbook: Differences from the 'pedia
1146:
992:
907:
472:
468:
1234:
b:Wikibooks:Staff lounge#Programming:C plus plus and its fork
Programming: C -.2F- -.2F-
1157:
1045:
966:
431:
286:
275:
108:
945:
The difference between the language and an implementation of a compiler or interpreter
223:
libraries: I/O, math, GUI, threads (actually threads can be a part of a language, see
836:
1240:
1134:
1049:
856:
816:
783:
254:
148:
Some possible sections for a standardized format for programming language articles
872:
748:
734:
630:
626:
564:
46:
If you wish to start a new discussion or revive an old one, please do so on the
419:
795:
There was a long discussion about programming language naming conventions in
266:(I did not want to just add this to the page until we had some more input --
1248:
1172:
1154:
1088:
934:
774:
388:
132:. It is an essential component of a language specification. Check out the
1108:
1100:
1021:
348:
1151:
Knowledge (XXG):Votes for deletion/Esoteric programming language related
1084:
918:
739:
638:
217:
type checking: static (compile-time), dynamic (run-time), hybrid, other
192:
suitable programming tasks: system, web, math, science, education, A.I.
129:
1243:
to help. But I'd like other wikibookians also to help. The traffic to
369:
220:
run-time environment: fixed memory, function stack, memory allocation
103:
Knowledge (XXG):Wikipedians by fields of interest#Computer
Science
914:
897:
709:
589:
508:
121:
304:
The words "Programming
Language" are capitalized in the title
25:
308:, but in no other programming language articles. Why's this?
208:
modularization: sub-routines, procedures, functions, methods
316:
Writing about programming languages (from the village pump)
205:
data types: user-derived, heterogeneous, templates, classes
92:(Objects, Classes, Recursion, Garbage Collection, etc.)?
1029:
933:
and the lack of that phrase in every link below it. --
18:
1178:
I'd like an independent person set right the mess in
961:
Um yeah, that's a bit confused, because the above is
900:
is in, doesn't really matter if there are more...Ā :-)
850:
look like for a good christian as an article name?Ā ;)
1044:is only one hundreth of a fraction of the size of
329:The article is about the language, not compilers.
441:Knowledge (XXG):WikiProject Programming Languages
195:current usage (users, platforms, implementations)
1013:
801:Knowledge (XXG):Naming_conventions_(languages)
214:data-hiding and memory access control features
1186:and their talk pages/give at least guidance.
1006:Just to remind you, there's a template named
805:Knowledge (XXG):Disambiguation#Topic articles
797:Wikipedia_talk:Naming_conventions_(languages)
137:as in the Java case, we can just link to it.
8:
676:This produces something like the following:
128:, the standard form for defining a language
1070:
953:a C compiler exists for the .NET platform.
185:Qualities that do not fall under features.
1204:b:Talk:Programming:C plus plus/single page
678:
517:
1126:Hello world program in esoteric languages
969:). In real life though, it is often only
477:
761:
717:
681:
520:
480:
1214:b:Talk:Programming: C -/- -/- (Archive)
1199:b:Talk:Programming:C plus plus/archive1
913:Succinctness is a beautiful thing that
383:I suggest moving it (what's with this "
101:that I asked to join, I got from here:
1122:List of esoteric programming languages
400:Template:List of programming languages
44:Do not edit the contents of this page.
670:But, you might want to include both:
7:
463:Somehow I've got it in my head that
227:(SR means "Synchronizing Resources")
1141:VfD listings for esoteric languages
1028:. You can help Knowledge (XXG) by
398:It (QBasic) should be removed from
235:Notable strengths, unique qualities
1189:These pages contain related talk:
24:
240:Notable drawbacks and limitations
1247:seems too low to be helpful. --
869:Albert Einstein Jewish physicist
29:
230:Inter-application communication
1194:b:Talk:Programming:C plus plus
1076:esoteric programming languages
1066:esoteric programming languages
888:Category:Programming languages
782:if that's worth the hazzle. --
393:Smalltalk programming language
189:compiled, interpreted, or both
1:
1209:b:Talk:Programming: C -/- -/-
884:list of programming languages
763:List of programming languages
646:List of programming languages
582:Frankenstein object-oriented
261:Key grammar components (EBNF)
1120:
1081:
965:(thanks to stuff to do with
843:should the target not exist.
644:
621:
613:
326:C Sharp programming language
105:. BTW, Brent, what is EBNF?
345:What can we do about this?
339:QBasic programming language
134:Java Language Specification
1265:
1060:I just created a template
770:
601:
557:Partially object-oriented
391:other than the content of
292:07:04, Jan 25, 2004 (UTC)
270:20:34, 18 Dec 2003 (UTC))
164:original hardware platform
88:07:29, Dec 17, 2003 (UTC)
1251:16:09, 18 Nov 2004 (UTC)
1180:b:Programming:C plus plus
1175:20:06, 18 Nov 2004 (UTC)
1160:19:54, 29 Sep 2004 (UTC)
1137:16:17, 31 Aug 2004 (UTC)
1052:23:24, 30 Aug 2004 (UTC)
937:20:35, 22 Aug 2004 (UTC)
927:Ruby programming language
910:16:23, 21 Aug 2004 (UTC)
813:Java programming language
604:However, categorizing by
581:
556:
531:
333:Java programming language
257:23:13, 30 Aug 2004 (UTC)
167:original operating system
126:Extended Backus Naur Form
114:00:50, Dec 18, 2003 (UTC)
96:17:24, 17 Dec 2003 (UTC)
1245:b:Wikibooks:Staff lounge
1184:b:Programming: C -/- -/-
995:03:52, 30 Aug 2004 (UTC)
978:21:03, 29 Aug 2004 (UTC)
859:01:10, 21 Aug 2004 (UTC)
786:19:13, 22 Aug 2004 (UTC)
777:22:03, 8 Aug 2004 (UTC)
451:08:24, May 7, 2004 (UTC)
402:, too: you wouldn't put
385:foo programming language
312:16:41, 2004 May 9 (UTC)
181:Language characteristics
141:20:18, 18 Dec 2003 (UTC)
1042:Category:Computer stubs
532:Purely object-oriented
435:04:27, 7 May 2004 (UTC)
423:00:57, 7 May 2004 (UTC)
352:23:58, 6 May 2004 (UTC)
306:Cg Programming Language
225:SR programming language
176:dates of major versions
1024:-related article is a
923:C programming language
877:United Kingdom country
719:C programming language
615:C programming language
251:Hello Knowledge (XXG)!
249:A program that prints
211:encapsulation features
173:precursors/descendents
1224:b:User talk:Dysprosia
1133:What do you think? --
931:Programming languages
833:Special:Recentchanges
687:programming languages
526:programming languages
486:programming languages
443:would be in order? --
298:{{SampleWikiProject}}
253:would be great.Ā ;) --
42:of past discussions.
1239:I had earlier asked
1219:b:User talk:Panic2k4
406:in there, after all.
791:Naming conventions
161:companies involved
1131:
1130:
1115:
1056:Template:Esolangs
1037:
1036:
768:
767:
651:
650:
599:
598:
516:
515:
439:Maybe a visit to
200:Langauge features
170:original compiler
77:
76:
54:
53:
48:current talk page
1256:
1241:b:User:Dysprosia
1083:
1071:
1064:to be used with
1014:
941:excised section
773:Any thoughts? --
679:
611:
610:
518:
478:
300:
299:
268:Brent Gulanowski
153:Language origins
139:Brent Gulanowski
94:Brent Gulanowski
63:
56:
55:
33:
32:
26:
1264:
1263:
1259:
1258:
1257:
1255:
1254:
1253:
1166:
1143:
1058:
1038:
1004:
967:turing machines
947:
793:
674:
522:Object-oriented
473:Roman mythology
461:
318:
297:
296:
263:
247:
242:
237:
202:
183:
155:
150:
82:
59:
30:
22:
21:
20:
12:
11:
5:
1262:
1260:
1237:
1236:
1231:
1226:
1221:
1216:
1211:
1206:
1201:
1196:
1165:
1162:
1142:
1139:
1129:
1128:
1118:
1117:
1079:
1078:
1057:
1054:
1046:Category:Stubs
1035:
1034:
1017:
1012:
1008:{{compu-stub}}
1003:
1000:
999:
998:
997:
996:
980:
979:
963:trivially true
946:
943:
939:
905:
904:
901:
894:
891:
880:
861:
860:
854:
851:
844:
840:
831:In lists like
829:
822:
808:
792:
789:
788:
787:
766:
765:
759:
758:
757:
756:
751:
744:
743:
742:
737:
732:
724:
723:
721:
715:
714:
713:
712:
705:
704:
703:
698:
690:
689:
685:
672:
668:
667:
666:
665:
653:
649:
648:
642:
641:
619:
618:
608:is also good:
597:
596:
594:
593:
592:
584:
583:
579:
578:
577:
576:
569:
568:
567:
559:
558:
554:
553:
552:
551:
544:
543:
542:
534:
533:
529:
528:
524:
514:
513:
512:
511:
504:
503:
502:
497:
489:
488:
484:
460:
457:
456:
455:
454:
453:
452:
426:
425:
416:Happy editing!
410:
409:
408:
407:
396:
366:
363:
359:
358:
317:
314:
302:
294:
283:
282:
264:
262:
259:
246:
243:
241:
238:
236:
233:
232:
231:
228:
221:
218:
215:
212:
209:
206:
201:
198:
197:
196:
193:
190:
182:
179:
178:
177:
174:
171:
168:
165:
162:
159:
154:
151:
149:
146:
145:
144:
143:
142:
116:
115:
106:
81:
78:
75:
74:
69:
64:
52:
51:
34:
23:
15:
14:
13:
10:
9:
6:
4:
3:
2:
1261:
1252:
1250:
1246:
1242:
1235:
1232:
1230:
1227:
1225:
1222:
1220:
1217:
1215:
1212:
1210:
1207:
1205:
1202:
1200:
1197:
1195:
1192:
1191:
1190:
1187:
1185:
1181:
1176:
1174:
1169:
1164:Wikibooks C++
1163:
1161:
1159:
1156:
1152:
1148:
1140:
1138:
1136:
1127:
1123:
1119:
1116:
1114:
1110:
1106:
1102:
1098:
1094:
1090:
1086:
1080:
1077:
1073:
1072:
1069:
1067:
1063:
1055:
1053:
1051:
1047:
1043:
1032:
1031:
1027:
1023:
1018:
1016:
1015:
1011:
1009:
1001:
994:
989:
984:
983:
982:
981:
977:
972:
968:
964:
960:
959:
958:
954:
950:
944:
942:
938:
936:
932:
928:
924:
920:
916:
911:
909:
902:
899:
895:
892:
889:
885:
881:
878:
874:
870:
866:
865:
864:
858:
852:
849:
845:
841:
838:
837:Category:Stub
834:
830:
826:
825:
824:
820:
818:
814:
806:
802:
798:
790:
785:
780:
779:
778:
776:
771:
764:
760:
755:
752:
750:
747:
746:
745:
741:
738:
736:
733:
731:
728:
727:
726:
725:
720:
716:
711:
708:
707:
706:
702:
699:
697:
694:
693:
692:
691:
688:
684:
680:
677:
671:
663:
662:
660:
656:
655:
654:
647:
643:
640:
636:
632:
628:
624:
620:
616:
612:
609:
607:
602:
595:
591:
588:
587:
586:
585:
580:
575:
572:
571:
570:
566:
563:
562:
561:
560:
555:
550:
547:
546:
545:
541:
538:
537:
536:
535:
530:
527:
523:
519:
510:
507:
506:
505:
501:
498:
496:
493:
492:
491:
490:
487:
483:
479:
476:
474:
470:
466:
458:
450:
446:
442:
438:
437:
436:
433:
428:
427:
424:
421:
417:
412:
411:
405:
401:
397:
394:
390:
386:
382:
381:
379:
375:
371:
367:
364:
361:
360:
356:
355:
354:
353:
350:
346:
343:
340:
336:
334:
330:
327:
324:For example,
322:
315:
313:
311:
307:
301:
293:
291:
288:
280:
277:
274:Looks Great!
273:
272:
271:
269:
260:
258:
256:
252:
244:
239:
234:
229:
226:
222:
219:
216:
213:
210:
207:
204:
203:
199:
194:
191:
188:
187:
186:
180:
175:
172:
169:
166:
163:
160:
157:
156:
152:
147:
140:
135:
131:
127:
123:
120:
119:
118:
117:
113:
110:
107:
104:
99:
98:
97:
95:
89:
87:
79:
73:
70:
68:
65:
62:
58:
57:
49:
45:
41:
40:
35:
28:
27:
19:
1238:
1188:
1177:
1170:
1167:
1144:
1132:
1082:
1062:{{esolangs}}
1061:
1059:
1039:
1030:expanding it
1019:
1007:
1005:
987:
970:
962:
955:
951:
948:
940:
930:
912:
906:
862:
817:Titan rocket
810:
794:
772:
769:
675:
669:
658:
652:
603:
600:
462:
384:
347:
344:
337:
331:
323:
319:
303:
295:
284:
265:
250:
248:
184:
90:
83:
60:
43:
37:
1105:Shakespeare
976:Kim Bruning
873:London city
749:Objective-C
631:Objective-C
310:Grendelkhan
245:Sample code
86:Khym Chanur
36:This is an
1113:Whitespace
848:doublefuck
683:Procedural
482:Procedural
378:QuickBASIC
287:āNoldoaran
276:āNoldoaran
158:creator(s)
109:āNoldoaran
1089:Brainfuck
971:practical
846:How does
540:Smalltalk
459:Infoboxes
432:Wapcaplet
389:Smalltalk
72:ArchiveĀ 3
67:ArchiveĀ 2
61:ArchiveĀ 1
1109:Unlambda
1101:Malbolge
1097:INTERCAL
1074:Notable
1022:computer
659:language
606:heritage
475:boxes).
465:paradigm
1135:ZeroOne
1085:Befunge
1050:ZeroOne
1048:.Ā :) --
919:Befunge
857:ZeroOne
784:ZeroOne
722:family
617:family
368:as for
255:ZeroOne
130:grammar
39:archive
1155:ā¢Ā Benc
1147:WP:VFD
875:, and
828:lists.
807:says:
574:Python
370:QBasic
290:(Talk)
279:(Talk)
112:(Talk)
80:Format
1249:Paddu
1093:False
1020:This
1002:Stubs
896:Once
701:BASIC
657:Each
500:BASIC
469:Greek
420:IMSoP
374:BASIC
16:<
1182:and
1173:Yann
1168:Hi,
1026:stub
993:Stan
935:Yath
925:and
915:Perl
908:Stan
898:fuck
835:and
775:Yath
754:Java
710:Perl
635:Java
590:Perl
549:Ruby
509:Perl
449:Talk
445:Phil
122:EBNF
988:not
886:or
735:C++
627:C++
565:C++
404:gcc
376:as
349:CGS
124:is
1153:.
1124:|
1111:|
1107:|
1103:|
1099:|
1095:|
1091:|
1087:|
1068::
917:,
871:,
855:--
815:,
740:C#
639:C#
637:|
633:|
629:|
625:|
447:|
418:-
395:?)
1158:ā¢
1033:.
821:"
819:.
809:"
730:C
696:C
623:C
495:C
471:/
50:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.