Parkland College
2400 West Bradley Avenue, Champaign, Illinois 61821
Csc 123 Computer Science I, Programming in Java
Programming Language and Environments 
Fall 2006

 

What is a programming language?

A programming language is a language that can specify exactly the logical steps that a computer needs  to accomplish something.  It uses a series of "sentences" (called "statements"), using a very small set of words (called "keywords"), and a very logical and precise "grammar" (called the language's "syntax").  If written properly, the computer can perform the commands contained in a series of statements to accomplish some task.  In other words, the language has "meaning" for the computer, because the computer can perform the actions specified in the statements.

A programming language is not nearly as complex or hard to learn as a human language.  An English speaker needs at least 3,000 or 4,000 different words to communicate even on a basic level.  A good English speaker knows about 10,000 to 20,000 words.  Java has about 50 words, that's all.  In addition, English as a very complex grammar with incredibly complex sentences.  For example, try analyzing the grammar of "To be being constantly subjected to junk calls is to be being constantly bothered."!    A programming language's syntax is much more simple and logical.  You can learn a programming language well in one to two semesters.  A natural language such as French usually takes two to three years just to get to a rudimentary level.  (I took three years of German in high school and college.  I visited Germany about five years ago and I could successfully find a bathroom, but that was about all.  "Wo ist der WC, bitte?")

Moreover, once you learn one programming language, it is relatively easy to learn another.  All important programming languages implement the same basic logical concepts.  Those logical concepts are what you are really learning when you learn your first programming language.  After that, you will find the other languages are implementing those same concepts, just using slightly different keywords and syntax.  There are a few really different programming languages in use, but they are not very popular, and are not taught at Parkland or most other colleges and universities.

Of the thousands of programming languages that have been created, only a very few have achieved universal popularity.  By far the most popular is the C family of languages:  including C, C++, Java, C#, and a number of web specific languages such as JavaScript and Perl.  Learning C, C++, Java and C# is like learning British English, American English, Australian English, and Teenage English (but like, not as extreme, dude).  Once you get the core concepts of any one of them, the others become just variations of those concepts. 

Of the other most popular languages, COBOL and FORTRAN have been associated mainly with mainframe computers.  They are still in use because many mainframe programs, originally written decades ago, are still needed.  Learning COBOL or FORTRAN when you know one of the C languages is like learning Portuguese when you know Spanish.

The only other really popular language, BASIC, has had an interesting history.  Most of the other languages have stayed nearly the same over the years.  When better programming practices or computer environments come along, a new language such as C++ is created from the earlier language, such as C.  BASIC, however, has been mainly promoted by Microsoft, and Microsoft has changed the language itself significantly over the years.  The latest version specified by Microsoft, BASIC.NET, is essentially Java!   BASIC.NET is actually closer to Java than it is to original Microsoft BASIC of 25 years ago.         

 

Java's place in programming language history.

Java was released by Sun Microsystems in 1995 as a language specifically designed for use on the Internet, as a Graphic User Interface language that is independent of any specific operating system, and as a nearly pure Object Oriented Language.  It was released as free, open source code, similar in philosophy to Linux.  It has been tremendously popular, even though Microsoft has actively tried to marginalize it.

Interestingly enough, Java does not contain many fundamental concepts that were not already implemented in C++, its predecessor.  Java was created for the world of the Internet and GUIs, and is much easier to program in those environments than C++, but otherwise it is a very similar language.  In a lot of ways, Java is just a simplified version of C++.  That is one reason for its popularity.  Programmers that knew C and C++ were able to learn Java quite easily. 

C++ was created in the early 1980's as an expansion of C.  The additions made C into an "Object Oriented" language.  You will gain understanding of what that means as you learn Java.  C++ is more complicated and trickier to program than Java, but people that learn Java first have a big advantage learning C++, because they have learned most of the important concepts in C++ already. 

C, the original language, is a simple, highly efficient language first released in 1970.  It worked well on the very expensive computers of the time, that had incredibly small memories.  A typical IBM mainframe then, a model 370 costing about a half million 1970 dollars, might only have 64 kilobytes (about 64,000) of main memory.   The cheapest Dell desktop (as of August 2006) costs $279 and has 256 Megabytes (about 256,000,000) of memory.   C has slowly been supplanted by the later languages for most purposes, but it was so well designed, and programmers loved it so much, that most of its original features have been retained in C++ and Java.   

That means that as you learn Java, you are also learning much of C and C++.  You are also learning Microsoft's C# language, which was released in 2002 - 2003.  C# is a direct copy of Java, although Microsoft will never admit that.  The principle difference is that they use different programming libraries.  A programming library is a collection of small  pieces of a program that the programmer can use without writing that part of the program from scratch.  C# uses Microsoft's .NET programming library, and Java uses Sun's standard Java library.  The libraries have the same purposes, but they are different from each other in terminology and organization.   The actual languages of Java and C#, other than the libraries available, are nearly identical, however.     

 

Java Platform 2 Standard Edition 5.0 (a.k.a Java 1.5)

For some inscrutable reason, Sun goes absolutely crazy with its numbering of its Java versions.  Figuring out which version follows which is harder than solving Rubik's Cube.  Don't even try.  We will give you a burned CD, Java Burn 2006, with all the latest versions, plus a number of other good tools to use when programming Java.  It is all free and legal.  If you download any other programs to work with Java, make sure they are compatible with Java Platform 2 Standard Edition 5.0 (a.k.a Java 1.5).  Generally, it is smart to use the latest production version of Java from Sun.
 

Text editors and Java IDEs

You can write your Java programs using any text editor, such as Notepad.  However, there are a number of free Integrated Development Environments for Java that make writing and running your programs much easier.  Your CD has JCreator, which we feel is by far the best for student use.  There are others, but your instructor will not spend a lot of time debugging or troubleshooting problems caused by an IDE other than JCreator.
 

Labs with JCreator and Sun's Java on campus

Most CSIT department labs, as posted in our Open Lab Times.

M108 during most hours that Parkland is open (see schedule posted in M108)

Peer Tutoring, D 120, on the first floor of the new D-Wing

Any Wi-Fi "Hot Spot" on campus using a wireless enabled portable computer.

 

Using Java on your personal computer.

The programs on the Java Burn 2006 CD we give you will install and run on any Windows computer of the last five to six years.  The projects you create on your computer will also run on Parkland's computers that have JCreator if you bring all the files that JCreator created when you were working at home.  If you have a Linux system, you may download the equivalent programs from java.sun.com.   Your instructor will not spend a lot of time, however, troubleshooting problems with installing or running Java on a Linux system.

Back to Syllabus
  Scott Badman   Office: B132   Phone: 353-2250   sbadman@parkland.edu  

Parkland College, 2400 W. Bradley Avenue, Champaign, IL 61821