Repetition is listed as an important method of learning software development; however, straight-line coding would not change significantly 2 years from now for most coders. There are two distinguishes types of knowledge – syntactic and semantic. While syntactic knowledge varies by language and can be acquired via over-learning, semantic knowledge is independent and can be organized into mental models. Over-learning involves acquiring skills through repetition to the point of automatic execution such as learning how to type. However, semantic knowledge cannot be improved simply by repeating the process over and over. Education and job evaluations sometimes view syntax as a gauge for software development aptitude. Syntax is normally covered in the initial stages of software development classes. This is unfortunate. It is during this time that some develop bad habits including: rush to code, code and fix, straight-line coding.
One can reason that syntax is the building blocks for any educational software development class, for without syntax there would be no executable code. However, there must be a foundation for those building blocks, and that is structured programming basics. Those who have programmed for 5-10 years do not give a thought to syntax. The code snippets shown in Figure 2 will be viewed by some as their second language.
for (int ii= 0; ii < size; ii++)
for (int jj=0; jj< size; jj++)
c move p1fdtea p1fdte 8 0
c move p1tdtea p1tdte 8 0
c exsr clrhst
c exsr prctrn
CRTPF FILE(QTEMP/&FILE) RCDLEN(512)
MONMSG MSGID(CPF7302) EXEC(CLRPFM +
CHGVAR VAR(&APSENV) VALUE(&ENV *TCAT ‘FLIB’)
CPYTOIMPF FROMFILE(QTEMP/&FILE) +
UNSTRING ADD3 DELIMITED BY ALL SPACES INTO
CITY, STATE, ZIP.
MOVE 5 TO A.
SUBTRACT B D FROM A GIVING C.
<!–#include file=”styles.css” –>
<a href=”Env_add001.aspx”>Add New </a></p>
<table cellpadding=”4″ cellspacing=”0″ width=”100%”>
Figure 2: Programming Code
When changing languages, frustrations are prevalent for a time, but they quickly dissipate as developers settle into the new language. Syntax must be taught, but it should not be the central curriculum, and it should not be the primary gauge of software aptitude.