Title: Why C
1Why C and Why .NET in the Undergraduate IS
CurriculumISECON November 3 -7, 2004, Newport,
RIAssociation of Information Technology
Professionals
- Mehdi Raoufi Southwestern Oklahoma State
University - John Maniotes Purdue University Calumet
2INTRODUCTION What is C? What is .NET?
- C is Microsoft's latest object-oriented
programming language developed for .NET platform
and .NET is Microsofts latest platform
technology for creating web services - C is a C based language and was developed to
provide portability for distributed applications
over network and internet - Application development in .NET platform can be
done in multiple languages including C, C, and
Visual Basic
3What is C and .NET?
- Programs developed in all of these languages are
compiled to Microsofts Intermediate Language
(IL) and executed within Common Language Runtime
(CLR) similar to Java code that is translated to
bytecode and executed by VML (Virtual Machine
Language) - .NET is not a programming language it's a
virtual-machine technology
4What is C and .NET?
- .NET has a framework that provides capability to
run a variety of web applications - The .NET framework class library provides a set
of classes that provide essential functionality
for applications built within the .NET
environment - Web functionality, XML support, database support,
and distributed computing support is provided by
the .NET framework class library
5What is C and .NET?
- .NET codes are translated to Microsoft
Intermediate Language (IL) and run within CLR - A single .NET application may consist of several
different languages - ASP.NET is an upgraded version of Active Server
Pages (ASP). Developers can create COM objects in
Visual Basic, Visual C or C and then use
ASP.NET page to call on those objects for a web
interface
6Teaching First Programming Course Using C
- Both C and Java improve on C in a similar ways
- We will be explaining weaknesses of Java as an
introductory programming language
7Teaching First Programming Course Using C
- Java has several weaknesses as introductory level
programming language - It forces novices to learn several sophisticated
concepts even to write a very simple program - Students who are new to programming should sort
through some complicated issues before learning
the main programming concepts
8Teaching First Programming Course Using C
- This becomes very frustrating with some students
who discard programming without giving it a good
chance to succeed - One of the difficulties of Java for beginning
students is standard input - Input operations in Java are very complicated for
beginning students to understand
9Teaching First Programming Course Using C
- To read a simple integer or a real value from
console a student should use a large number of
codes, which include while loop, Boolean
variable, string operations, wrapper classes and
exceptions - To read a simple integer using GUI, students
should learn GUI before writing a simple program,
which requires input
10Teaching First Programming Course Using C
- Another difficulty with Java is exception
handling Java requires every method to catch the
exception generated in the body of program or
verify the possibility of these exceptions in a
throws clause - Java programmers should learn and use exception
for a simple program
11Teaching First Programming Course Using C
- In an introductory course, usually students are
left to choose from many different environments
to compile and run a Java program - In many cases, beginning students are required to
use too much effort without proper guidance to
download software, and configure their computer
to run a simple Java program
12Teaching First Programming Course Using C
- This makes some students so frustrated that they
put programming away without giving it a fair
chance to succeed - Students are overwhelmed with number of
environments and how to choose the best one
13Teaching First Programming Course Using C
- These environments range using command line to
compile and execute a Java program using notepad,
to smart editors as textpad, or IDE (Integrated
Development Environment)as JBuilder - Students, who do not use IDE have difficulty
developing a medium size program and difficulty
dealing with large number of classes and their
methods
14Teaching First Programming Course Using C
- Microsoft has made using its Visual Studio .NET
available almost for all students in institutions
of higher learning with a nominal fee of a few
dollars - Using Visual Studio .NET gives a single easy way
to learn IDE for students who are using C as an
introductory language - Students use skills learned in IDE of Visual
Studio .NET to learn other programming languages
in .NET environment (VB .NET)
15Teaching First Programming Course Using C
- The concept of using getter methods to
encapsulate internal object properties is a
design pattern that spans object-oriented
languages. It isn't limited to C or Java. - C has taken the concept of properties a step
further by actually building getter methods
into the language semantics.
16Teaching First Programming Course Using C
- An object property has a type, a set method, and
a get method. The set and get methods of the
property determine how the property's value is
set and retrieved
17Conclusion
- C provides a more proper language for teaching
introductory course for beginning students - Microsoft Visual Studio .NET provides a more
proper environment to teach introductory course
for beginning students - Java platform is neutral with respect to
operating systems
18Conclusion
- On the other hand, we cannot ignore the
tremendous financial and technical resources of
Microsoft - Microsoft is the dominate force on the PC Windows
Operating Systems. If C .NET is released from
its Windows dependency, we think that Microsoft's
dominance and financial muscle may propel C over
Java in the IT community
19Conclusion
- Questions
- Comments
- Observation