Comp Lang: Comment Syntax
a survey of computer language comment syntax
Warts of C (1972)
/******************** * ASCII art idiocy. * * cannot be nested. * \*******************/
Warts of Cpp (1985)
// Warts of Cpp
The C lang, like a virus, it spread to all other langs.
Single Char Line Comment
Bash (Bourne Shell, 1979)
# bash comment
Python, ruby, perl, bash, are the same.
Lisp (Stanford Lisp 1.6. 1962)
Insulting is that lisp's comment syntax is line-based, which breaks the syntactic regularity of lisp's nested syntax.
;; this is line comment ;; no block comment. ;; lisp should have block comment. ;; (* something like this *) ;; or ;; (cmt "like this") (+ 3 4) ; by lisp convention, use one semicolon for comment at end of line. ;; 2 semicolon for a comment line by itself ;; this convention is idiotic
Clojure (2007)
Clojure fixed the lisp comment by having (comment …), however, it still supports lisp's semicolon, which is used most of the time, and defeats the purpose of the paren comment syntax.
;; line comment (comment block comment (comment can be nested) )
Symmetric Delimiters
Pascal (1970)
(* cumbersome but systematic. (* can nest*) *)
- Pascal (1970)
- ML (1973)
- Ocaml
- Wolfram: Comment (1988)
- Maple
- Fsharp: Comment (2005)
- Apple Script (1993)
Haskell (1990)
-- line comment {- block comment can be multiple lines. {-can nest.-} -}
Julia (2012)
#= block comment can be multiple lines. #= can nest. =# =#
PowerShell (2006)
# line comment <# block comment. complex and hard to type cannot be nested #>
Comment Syntax with English Words
these type of comment are idiotic, cannot be nested.
Ruby
=begin block comment cannot be nested =end
Perl POD comment (Perl 5.0, 1994)
=pod block comment cannot be nested =cut
Microsoft COMMAND.COM (1980)
rem line comment rem stand for remark REM Case-Insensitive
Complex Ad-Hoc Crap
HTML (SGML. 1986)
<!-- sgml html xml comment. can be multiple lines. cannot be nested. -->
better is
<cmt>this is a good design of html comment</cmt>