View this PageEdit this Page (locked)Attachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

Discussion 1 - Trung Lai

History and Comparing Programming Languages – by Dennie Van Tassel
http://www.gavilan.edu/csis/languages/history.html

Composed with many personal research data about the differences between major programming languages of modern day, Dennie Van Tassel presented a four section paper about the history and comparison of currently popular languages. With his comparisons on comment symbols, the use of literals, and parentheses, we can see that there is a great variance between different programming languages which can pose certain disturbances to young programmers like me, who is trying to memorize the right syntax for an error-free executable block of code.

For instance, while assembly languages use semicolon (;) as an end-of-line comment syntax, C++/Java use double slashes (//) and TCL/mySQL use hash sign (#). Most of the time, we can just use a reference book to pick out the right syntax for the desire language we want to code in. However, if we want to crunch out a 100 line of codes in mySQL after having inspected a 400 line long Java program, we may have a headache pretty soon. Moreover, in many functional languages, such as LISP in particular, the use of parentheses may also confuse beginning programmers and/or the code inspectors a like. Unlike Java/Visual Basic where methods are enclosed neatly within visible blocks, a simple method in LISP may end up with 7 seven sets of closely packed parentheses as in the following example:

(defun factorial (x) (if (eql x 0) 1 (x (factorial (-x 1))))) ))

This can bring nightmares to a novice programmer who may have mistakenly misplaced a closing parenthesis somewhere in the code when come the time for debugging.

Overall, there are numerous acceptable reasons for differences in syntaxes of many today popular programming languages. Some blamed on missing characters of those old keyboards back in the early days of their creations, and some blamed on mathematical notations they inherited. Nevertheless, their distinct different representations for similar syntaxes among them make learning and mastering programming languages harder, if not impossible. I think we should have a set of standards for these, so called user-friendly, programming languages to extend from so that learning these languages in the future can be easier (that is easier to remember their syntaxes).


After reading Stepanov’s discussions on the drawback of backwards-compatibility between C and C++, the Smalltalk’s obscure syntax, and the lack of Eiffel’s good learning environment, I agree with him that the easy transition from one language to the others is a good criteria for making it a good programming language. Also, property of readable syntax in a language can be very helpful for entry-level programmers, especially during the time of debugging.

Links to this Page