<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5296475526203806788</id><updated>2025-01-26T22:52:14.825-08:00</updated><category term=".NET And Its Importance"/><category term=".NET Architecture"/><category term=".NET Frame Work Description"/><category term=".NET Framework and Languages"/><category term=".Net Uses"/><category term="About The Java Technoogy"/><category term="Asp.net Interview Questions"/><category term="C LANGUAGE AND ITS IMPORTANCE"/><category term="C Language Overview"/><category term="C++ TIPS"/><category term="COMPUTER EDUCATION IMPORTANCE"/><category term="Enterprise Edition"/><category term="Importance Of Java Programming"/><category term="Java And Internet"/><category term="Java Applet Programming"/><category term="Java Interview Questions"/><category term="Java Platform"/><category term="Java Script Language"/><category term="Php Language"/><category term="Php Manual"/><category term="Php Projects"/><category term="Programming In C Language"/><category term="Programming In C++"/><title type='text'>Computer Education</title><subtitle type='html'>empowering next generation</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5296475526203806788.post-6439128692162652908</id><published>2010-09-03T04:52:00.000-07:00</published><updated>2010-09-03T04:52:56.768-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Php Projects"/><title type='text'>Php Projects</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyCGfPKQwsEktpDEV2ifsCdKq9yljMC7utUThCJ5viYjrsSjWk7v9Hk1t4d5w10yK1xJbIlasgDHgeWFgoakRwbWhnZs4qbBDk2MCn1idsbvGUAMGstW3UceDrgEHmR8vetcbiCGnajzM/s1600/pro.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyCGfPKQwsEktpDEV2ifsCdKq9yljMC7utUThCJ5viYjrsSjWk7v9Hk1t4d5w10yK1xJbIlasgDHgeWFgoakRwbWhnZs4qbBDk2MCn1idsbvGUAMGstW3UceDrgEHmR8vetcbiCGnajzM/s320/pro.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
As a php web developer, you should know that php is probably the 
language that has the biggest code repository. So no matter what module 
you want to include in your project there should be an open source 
solution.&lt;br /&gt;

This can help in various ways, but just in case you can’t think of one, here I put a few :&lt;br /&gt;

&lt;ul&gt;
&lt;li&gt;Open source is worked by many people, so the result is for sure better than one man’s work&lt;/li&gt;
&lt;li&gt;You can have free updates to your code, while otherwise you should code the updates each time something new comes up&lt;/li&gt;
&lt;li&gt;You save development time while your project is getting better&lt;/li&gt;
&lt;/ul&gt;
Anyway, after many years as a web developer, I’ve compiled a list of 
php classes that can be easily integrated in any project and I am 
regularly use.&lt;br /&gt;

&lt;strong&gt;Sending Emails&lt;/strong&gt;&lt;br /&gt;

Sending emails is something very common for every web site. Php’s mail() 
 function is good for this, but what if you want to attach a file, or 
send through an SMTP server, etc? Well in that case you should use phpmailer &lt;br /&gt;

&lt;strong&gt;User Manipulation&lt;/strong&gt;&lt;br /&gt;

Another common module is the user module. With that you can 
manipulate users (login, logout, register, etc.) Personally I’ve never 
found a project that is good enough, so I created my own &lt;br /&gt;

Php user class 
 is a module that can be used even in established projects, as it uses 
variable data for database tables, fields, session variables, etc.&lt;br /&gt;

&lt;strong&gt;Fetching RSS Feeds&lt;/strong&gt;&lt;br /&gt;

Ever wanted to fetch an rss feed from your project? Well there is always an easy way to fetch a feed  but in most cases you need more than that. When that is the case you should definitely use Magpie RSS &lt;br /&gt;

&lt;strong&gt;Geotargeting&lt;/strong&gt;&lt;br /&gt;

There are many times that you need to know where are your visitors coming from. Maxmind  gives a solution to this. For a complete tutorial check this article &lt;br /&gt;

&lt;strong&gt;Grabbing Remote Content&lt;/strong&gt;&lt;br /&gt;

Some times RSS is not enough so you need to grab the content of a web
 page and parse it. If you are a huge fun of preg you should not 
continue reading, but if you are not you definitely need the htmlSQL class  The htmlSQL class allow you to access html values with SQL code. Nice huh? &lt;br /&gt;

&lt;strong&gt;Trackback&lt;/strong&gt;&lt;br /&gt;

Sending and receiving trackbacks is vital for a web site in our age. And in fact it is very easy if you are using a class like php trackback &lt;br /&gt;

&lt;strong&gt;Template System&lt;/strong&gt;&lt;br /&gt;

Another thing that all sites use is a template. A template engine can
 save you lots of time, while it can make display changes very easy. A 
complete template engine that most projects use is Smarty &lt;br /&gt;

&lt;strong&gt;BBcode&lt;/strong&gt;&lt;br /&gt;

BBcode used to be a functionality for forums, but as more and more 
sites use it in order to be more friendly to their users, you might want
 to use BBcode to your site. The problem is that BBcode requires a lot 
of coding and I am not sure if you have the time for this. If you don’t 
you’ll find StringParser_BBcode class  very useful &lt;br /&gt;

&lt;strong&gt;Paypal Payment Integration&lt;/strong&gt;&lt;br /&gt;

As you may know paypal has a nice API for developers who want to integrate paypal payments in their sites. The paypal IPN integration class  helps you make use of it and start accepting payments in 20 minutes.&lt;br /&gt;

&lt;strong&gt;Editor Controls&lt;/strong&gt;&lt;br /&gt;

I don’t have a problem to make changes to a site using phpMyAdmin or a
 simple text area, but when it comes to my clients I have to give them 
more than that. A javascript WYSIWYG editor is a perfect solution but as
 it requires countless hours to get it done I would suggest you to use 
the tinyMCE control &lt;br /&gt;

Hope you enjoyed this list. If I forgot something feel free to comment above</content><link rel='replies' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/6439128692162652908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technowidgets.blogspot.com/2010/09/php-projects.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/6439128692162652908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/6439128692162652908'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/2010/09/php-projects.html' title='Php Projects'/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyCGfPKQwsEktpDEV2ifsCdKq9yljMC7utUThCJ5viYjrsSjWk7v9Hk1t4d5w10yK1xJbIlasgDHgeWFgoakRwbWhnZs4qbBDk2MCn1idsbvGUAMGstW3UceDrgEHmR8vetcbiCGnajzM/s72-c/pro.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5296475526203806788.post-6204183434826191286</id><published>2010-09-02T07:06:00.000-07:00</published><updated>2010-09-02T07:06:00.070-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Php Manual"/><title type='text'>Php Manual</title><content type='html'>&lt;div class=&quot;preface&quot; id=&quot;preface&quot;&gt;

 &lt;div class=&quot;info&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijuENx-Oq7s87dGwF-I0LOKwa0RwA2bDKq9LLz2bpo-eIvhvHHFge38DWWb9IwM_evXtwplwTlyR3vwapc-hxPhRLnxkLOGqBTjiYPG7QV8wEn-n08rIgUoqaLGFnMsx6h4PG-rI0Ha-8/s1600/php.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijuENx-Oq7s87dGwF-I0LOKwa0RwA2bDKq9LLz2bpo-eIvhvHHFge38DWWb9IwM_evXtwplwTlyR3vwapc-hxPhRLnxkLOGqBTjiYPG7QV8wEn-n08rIgUoqaLGFnMsx6h4PG-rI0Ha-8/s320/php.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;h1 class=&quot;title&quot;&gt;
Preface&lt;/h1&gt;
&lt;div class=&quot;abstract&quot;&gt;

  &lt;div class=&quot;simpara&quot;&gt;

   &lt;acronym title=&quot;PHP: Hypertext Preprocessor&quot;&gt;PHP&lt;/acronym&gt;, which stands for &quot;&lt;i&gt;PHP: Hypertext
   Preprocessor&lt;/i&gt;&quot; is a widely-used Open Source general-purpose
   scripting language that is especially suited for Web
   development and can be embedded into HTML. Its syntax draws
   upon C, Java, and Perl, and is easy to learn. The main goal of
   the language is to allow web developers to write dynamically
   generated web pages quickly, but you can do much more with PHP.
  &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;para&quot;&gt;

  This manual consists primarily of a 
  function reference, but also contains a 
  language reference, explanations
  of some of PHP&#39;s major features, 
  and other supplemental 
  information.
 &lt;/div&gt;
&lt;div class=&quot;para&quot;&gt;

  You can download this manual in several formats at » http://www.php.net/download-docs.php.
  More information about how this manual is developed can be found in the
  &#39;About the manual&#39; appendix. If you are
  interested in the history of PHP,
  visit the relevant appendix.
 &lt;/div&gt;
&lt;div class=&quot;section&quot; id=&quot;contributors&quot; name=&quot;contributors&quot;&gt;

 &lt;div class=&quot;info&quot;&gt;
&lt;h1 class=&quot;title&quot;&gt;
Authors and Contributors&lt;/h1&gt;
&lt;/div&gt;
&lt;div class=&quot;para&quot;&gt;
 We highlight the currently most active
people on front page of the manual, but there are many more contributors who
currently help in our work or have provided a great amount of help to the project
in the past. There are a lot of unnamed people who help out with user
notes on manual pages, which continually get included in the references, the
work of whom we are also very thankful for. All of the lists provided below are in
alphabetical order.
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;

  &lt;div class=&quot;info&quot;&gt;
&lt;h1 class=&quot;title&quot;&gt;
Authors and Editors&lt;/h1&gt;
&lt;/div&gt;
&lt;div class=&quot;para&quot;&gt;

   The following contributors should be
recognized for the impact they have made and/or continue to make by adding
content to the manual:
   Bill Abt,                
   Jouni Ahto,              
   Alexander Aulbach,       
   Daniel Beckham,          
   Stig Bakken,             
   Nilgün Belma Bugüner,    
   Jesus M. Castagnetto,    
   Ron Chmara,              
   Sean Coates,             
   John Coggeshall,         
   Simone Cortesi,          
   Peter Cowburn,           
   Daniel Egeberg,          
   Markus Fischer,          
   Wez Furlong,             
   Sara Golemon,            
   Rui Hirokawa,            
   Brad House,              
   Pierre-Alain Joye,       
   Etienne Kneuss,          
   Moriyoshi Koizumi,       
   Rasmus Lerdorf,          
   Andrew Lindeman,         
   Stanislav Malyshev,      
   Rafael Martinez,         
   Rick McGuire,            
   Kalle Sommer Nielsen,    
   Yasuo Ohgaki,            
   Richard Quadling,        
   Derick Rethans,          
   Rob Richards,            
   Sander Roobol,           
   Egon Schmid,             
   Thomas Schoefbeck,       
   Sascha Schumann,         
   Dan Scott,               
   Masahiro Takagi,         
   Yannick Torres,          
   Michael Wallner,         
   Lars Torben Wilson,      
   Jim Winstead,            
   Jeroen van Wolffelaar and  
   Andrei Zmievski.         
  &lt;/div&gt;
&lt;div class=&quot;para&quot;&gt;

   The following contributors have done
significant work editing the manual:
   Stig Bakken,                    
   Gabor Hojtsy,                   
   Hartmut Holzgraefe and  
   Egon Schmid.                    
  &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot;&gt;

  &lt;div class=&quot;info&quot;&gt;
&lt;h1 class=&quot;title&quot;&gt;
User Note Maintainers&lt;/h1&gt;
&lt;/div&gt;
&lt;div class=&quot;para&quot;&gt;

   The currently most active maintainers are:
   Daniel Brown,                
   Nuno Lopes,                  
   Felipe Pena,                 
   Thiago Pojda and     
   Maciek Sokolewicz.           
  &lt;/div&gt;
&lt;div class=&quot;para&quot;&gt;

   These people have also put a lot of effort
into managing user notes:
   Mehdi Achour,           
   Daniel Beckham,         
   Friedhelm Betz,         
   Victor Boivie,          
   Jesus M. Castagnetto,   
   Nicolas Chaillan,       
   Ron Chmara,             
   Sean Coates,            
   James Cox,              
   Vincent Gevers,         
   Sara Golemon,           
   Zak Greant,             
   Szabolcs Heilig,        
   Oliver Hinckel,         
   Hartmut Holzgraefe,     
   Etienne Kneuss,         
   Rasmus Lerdorf,         
   Matthew Li,             
   Andrew Lindeman,        
   Aidan Lister,           
   Hannes Magnusson,       
   Maxim Maletsky,         
   Bobby Matthis,          
   James Moore,            
   Philip Olson,           
   Sebastian Picklum,      
   Derick Rethans,         
   Sander Roobol,          
   Damien Seguy,           
   Jason Sheets,           
   Tom Sommer,             
   Jani Taskinen,          
   Yasuo Ohgaki,           
   Jakub Vrana,            
   Lars Torben Wilson,     
   Jim Winstead,           
   Jared Wyles and  
   Jeroen van Wolffelaar.  
  &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/6204183434826191286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technowidgets.blogspot.com/2010/09/php-manual.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/6204183434826191286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/6204183434826191286'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/2010/09/php-manual.html' title='Php Manual'/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijuENx-Oq7s87dGwF-I0LOKwa0RwA2bDKq9LLz2bpo-eIvhvHHFge38DWWb9IwM_evXtwplwTlyR3vwapc-hxPhRLnxkLOGqBTjiYPG7QV8wEn-n08rIgUoqaLGFnMsx6h4PG-rI0Ha-8/s72-c/php.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5296475526203806788.post-4374101552807587890</id><published>2010-08-31T22:37:00.000-07:00</published><updated>2010-08-31T22:37:08.904-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Php Language"/><title type='text'>Php Language</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj08D481VaUBCv8wDBZc87w6M85I5fO-m93DIJiiNua7G4m9E9uO9R0RFw-xLwwKvMj-qUrnvU8ILUgRor1zHqmDpnOMOMxFh0vkE21YJp3oMHQE8k9IDWhooEK7toGPXlsWR2GJF7aK44/s1600/images.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj08D481VaUBCv8wDBZc87w6M85I5fO-m93DIJiiNua7G4m9E9uO9R0RFw-xLwwKvMj-qUrnvU8ILUgRor1zHqmDpnOMOMxFh0vkE21YJp3oMHQE8k9IDWhooEK7toGPXlsWR2GJF7aK44/s320/images.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
I. What is PHP?

    * PHP is an open-source server-side scripting language (freely downloadable from php.net and zend.com). PHP version 5.2.14 is available on Webserve (www.indiana.edu, www.iupui.edu, www.iun.edu, and www.iuk.edu).

    * You can create dynamic web pages with the PHP scripting language. A dynamic Web page interacts with the user, so that each user visiting the page sees customized information. PHP can also be used to create dynamic web pages that are generated from information accessed from a MySQL database.

    * You can embed PHP commands within a standard HTML page. PHP&#39;s syntax is similar to that of C and Perl, making it easy to learn for anyone with basic programming skills.

    * Another feature that PHP offers is connectivity to most of the common databases. PHP also offers integration with various external libraries, which allow the developer to do anything from generating PDF documents to parsing XML.

Return to Top
II. Using PHP on Webserve

   1. Bang lines are not required and will be ignored if present. (This information is provided for historical purposes as the previous web server environment required bang lines.)

   2. You should use .php as the file extension. This refers to only PHP files executed directly via a URL. Include files may use other extensions, such as .inc. If you have PHP files that currently use .php4 extensions, it is strongly recommended that you move toward using .php for these instead.

   3. The script must have owner execute permission. For best security, we strongly recommend using permissions set to 700 (only owner has read, write, and execute privileges).

      For example, where &quot;script.php&quot; is the name of the file containing the script, change the file permission as follows.

      chmod 700 script.php

Return to Top
III. Using Sessions in the Webserve Environment

By default, when PHP creates a session file it stores it in /tmp. In the Webserve environment, however, you should create a session directory in the login of your account and write the session information there. You will need to do occasional cleanup of any unused session files in your account that aren&#39;t deleted. Doing it this way will guarantee session persistence and will prevent potential server issues as a result of filling up /tmp. The specifics of how writing session files to /tmp can impact session persistence in the Webserve environment is provided below.

As indicated above, when PHP creates a session file, the default behavior is to store it in /tmp. The /tmp directory is local and independent to each of the backend web servers. Hence, if a request is made to server_1, it stores the session file in its own /tmp. If a subsequent request for the same user ends up going to server_2, it won&#39;t find the original session file.

The load balancers control how web requests are distributed across the backend web servers. These load balancers are configured to provide session persistence by tracking the IP address of the web browser and the backend web server to which a request is sent. The goal is to send all subsequent requests from a given web browser back to the same backend web server. As a result, normally the PHP session files in /tmp work as expected because the multiple requests for the same user is consistently sent to the same backend web server.

However, the load balancers can only cache so much data and eventually older data is overwritten by new incoming requests. This can cause the loss of persistence information. Since PHP allows you to specify the location of the session files (i.e., other than /tmp) you should be sure to create a session directory in the login of your account and write session information there. Doing this will require you to periodically do cleanup of unused session files that are not deleted.

Return to Top
IV. Troubleshooting
When running your scripts, if you receive a 500 Internal Server Error message, please check the following:

1. Check to make sure the file permission is set to 700 (read, write, and execute for owner only).

2. Check the Directory (folder) permission. Setting it to 777 will give you a 500 - Internal Server Error.
Set it to 711.

3. When the file/directory permissions are set correctly, and you are still getting a 500 error, it is likely due to line compatibility between the program used to create/upload the file and the Linux server. To correct this, login to the account on Webserve via an SSH client that provides a command line interface and do the following:

   1. Move to the directory where your php file is using the &#39;cd&#39; command (e.g., cd www).
   2. Open the file using an editor such as nano and save it by typing Ctrl + o 

This simple steps may solve your problem because it converts Windows CR/LF (carriage return/line feed) to Unix LF (line feed) or Mac CR to Unix LF.

To prevent this problem, you need to change settings/preferences in the program you are using to develop php files. To set preferences in Dreamweaver, go to Edit =&amp;gt; Preferences. Select Code Format or HTML Format (depending on the versions). Change Line Breaks to LF (Unix).

Return to Top
V. Sample PHP Code
Place a file containing the code below inside the www directory of your Webserve account and save it as info.php



To view the file, you would then provide the web site address to the file. For example:

http://www.indiana.edu/~myaccount/info.php

It will output information about the current state of PHP, which includes information about PHP compilation options and extensions, the PHP version, server information and environment (if compiled as a module), the PHP environment, OS version information, paths, master and local values of configuration options, HTTP headers, and the PHP License. Because every system is setup differently, phpinfo() can be used to check configuration settings and for available predefined variables on a given system . For more information see php.net&#39;s entry for phpinfo.

Return to Top
VI. Increasing the Memory Limit
You can increase the memory limit with a php.ini file in the same directory as your php script. If you have multiple subdirectories, you will need to place the php.ini file in each subdirectory that has php scripts.

In that php.ini file you can specify the memory_limit you wish to set by using:

memory_limit = whatever integer you wish

You can verify the memory_limit has changed by creating a php info file.</content><link rel='replies' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/4374101552807587890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technowidgets.blogspot.com/2010/08/php-language.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/4374101552807587890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/4374101552807587890'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/2010/08/php-language.html' title='Php Language'/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj08D481VaUBCv8wDBZc87w6M85I5fO-m93DIJiiNua7G4m9E9uO9R0RFw-xLwwKvMj-qUrnvU8ILUgRor1zHqmDpnOMOMxFh0vkE21YJp3oMHQE8k9IDWhooEK7toGPXlsWR2GJF7aK44/s72-c/images.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5296475526203806788.post-5200535137303908084</id><published>2010-08-28T22:05:00.000-07:00</published><updated>2010-08-28T22:12:28.815-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Asp.net Interview Questions"/><title type='text'>Asp.net Interview Questions</title><content type='html'>&lt;img style=&quot;float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 258px; height: 195px;&quot; src=&quot;http://t1.gstatic.com/images?q=tbn:ANd9GcTpjG7oQHrm3zrTtLeVYDQVA9S1kKlY8S5gp_v7d-gfYFVUGlA&amp;amp;t=1&amp;amp;usg=__FizpfC_CGuGMmwhv6C0APPd9OnU=&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;#61607;    .NET&lt;br /&gt;&lt;br /&gt;-    Difference between asp and asp.net&lt;br /&gt;-    How do you do exception management&lt;br /&gt;-    If you are using components in your application, how can you handle exceptions raised in a component&lt;br /&gt;-    Can we throw exception from catch block&lt;br /&gt;-    How do you relate an aspx page with its code behind page&lt;br /&gt;-    What are the types of assemblies and where can u store them and how&lt;br /&gt;-    What is difference between value and reference types&lt;br /&gt;-    Is array reference type / value type&lt;br /&gt;-    Is string reference type / value type&lt;br /&gt;-    What is web.config. How many web.config files can be allowed to use in an application&lt;br /&gt;-    What is differnce between machine.config and web.config&lt;br /&gt;-    What is shared and private assembly&lt;br /&gt;-    What are asynchronous callbacks&lt;br /&gt;-    How to write unmanaged code and how to identify whether the code is managed / unmanaged.&lt;br /&gt;-    How to authenticate users using web.config&lt;br /&gt;-    What is strong name and which tool is used for this&lt;br /&gt;-    What is gacutil.exe. Where do we store assemblies&lt;br /&gt;-    Should sn.exe be used before gacutil.exe&lt;br /&gt;-    What does assemblyinfo.cs file consists of&lt;br /&gt;-    What is boxing and unboxing&lt;br /&gt;-    Types of authentications in ASP.NET&lt;br /&gt;-    difference between Trace and Debug&lt;br /&gt;-    Difference between Dataset and DataReader&lt;br /&gt;-    What is custom tag in web.config&lt;br /&gt;-    How do you define authentication in web.Config&lt;br /&gt;-    What is sequence of code in retrieving data from database&lt;br /&gt;-    About DTS package&lt;br /&gt;-    What provider ADO.net use by default&lt;br /&gt;-    Where does web.config info stored? Will this be stored in the registry?&lt;br /&gt;-    How do you register the dotnet component or assembly?&lt;br /&gt;-    Difference between asp and asp.net&lt;br /&gt;-    Whis is stateless asp or asp.net?&lt;br /&gt;-    Authentication mechanism in dotnet&lt;br /&gt;-    State management in asp.net&lt;br /&gt;-    Types of values mode can hold session state in web.config&lt;br /&gt;-    About WebService&lt;br /&gt;-    What are Http handler&lt;br /&gt;-    What is view state and how this can be done and was this there in asp?&lt;br /&gt;-    Types of optimization and name a few and how do u do?&lt;br /&gt;-    About DataAdapters&lt;br /&gt;-    Features of a dataset&lt;br /&gt;-    How do you do role based security&lt;br /&gt;-    Difference between Response.Expires and Expires.Absolute&lt;br /&gt;-    Types of object in asp&lt;br /&gt;-    About duration in caching technique&lt;br /&gt;-    Types of configuration files and ther differences&lt;br /&gt;-    Difference between ADO and ADO.net&lt;br /&gt;-    About Postback&lt;br /&gt;-    If you are calling three SPs from a window application how do u check for the performance of the SPS</content><link rel='replies' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/5200535137303908084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technowidgets.blogspot.com/2010/08/aspnet-interview-questions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/5200535137303908084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/5200535137303908084'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/2010/08/aspnet-interview-questions.html' title='Asp.net Interview Questions'/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5296475526203806788.post-5778529710173133449</id><published>2010-08-24T08:16:00.000-07:00</published><updated>2010-08-24T08:19:31.585-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET Architecture"/><title type='text'>.NET Architecture</title><content type='html'>&lt;img style=&quot;float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 274px; height: 184px;&quot; src=&quot;data:image/jpg;base64,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&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;&lt;p&gt;                                     Most &lt;span class=&quot;IL_AD&quot; id=&quot;IL_AD10&quot;&gt;applications&lt;/span&gt; need data access at one point of time making it a crucial &lt;span class=&quot;IL_AD&quot; id=&quot;IL_AD6&quot;&gt;component&lt;/span&gt;                                     when working with applications. Data access is making the &lt;span class=&quot;IL_AD&quot; id=&quot;IL_AD5&quot;&gt;application&lt;/span&gt; interact with                                     a database, where all the data is stored. Different applications have different requirements                                     for database access. VB .NET uses &lt;span style=&quot;color:blue;&quot;&gt;ADO .NET&lt;/span&gt; (Active X Data                                     Object) as it&#39;s data access and manipulation protocol which also enables us to work                                     with data on the Internet. Let&#39;s take a look why ADO .NET came into picture replacing                                     ADO.                                 &lt;/p&gt;                                 &lt;p&gt;                                     &lt;strong&gt;&lt;u&gt;Evolution of ADO.NET&lt;/u&gt;&lt;/strong&gt;                                 &lt;/p&gt;                                 &lt;p&gt;                                     The first data access model, &lt;span style=&quot;color:blue;&quot;&gt;DAO&lt;/span&gt; (data access model) was                                     created for local databases with the built-in &lt;span class=&quot;IL_AD&quot; id=&quot;IL_AD12&quot;&gt;Jet engine&lt;/span&gt; which had performance and                                     functionality issues. Next came &lt;span style=&quot;color:blue;&quot;&gt;RDO&lt;/span&gt; (Remote Data Object)                                     and &lt;span style=&quot;color:blue;&quot;&gt;ADO&lt;/span&gt; (Active Data Object) which were designed for Client Server architectures                                     but, soon ADO took over RDO. ADO was a good architecture but as the language changes                                     so is the technology. With ADO, all the data is contained in a &lt;span style=&quot;color:blue;&quot;&gt;recordset &lt;/span&gt;object                                     which had &lt;span class=&quot;IL_AD&quot; id=&quot;IL_AD11&quot;&gt;problems&lt;/span&gt; when implemented on &lt;span class=&quot;IL_AD&quot; id=&quot;IL_AD1&quot;&gt;the network&lt;/span&gt; and penetrating &lt;span class=&quot;IL_AD&quot; id=&quot;IL_AD2&quot;&gt;firewalls&lt;/span&gt;.                                     ADO was a &lt;span style=&quot;color:blue;&quot;&gt;connected&lt;/span&gt; data access, which means that when a                                     connection to the database is established the connection remains open until the application                                     is closed. Leaving the connection open for the lifetime of the application raises                                     concerns about database security and &lt;span class=&quot;IL_AD&quot; id=&quot;IL_AD3&quot;&gt;network&lt;/span&gt; traffic. Also, as databases are                                     becoming increasingly important and as they are serving more people, a connected data                                     access model makes us think about its productivity. For example, an application with                                     connected data access may do well when connected to two clients, the same may do poorly                                     when connected to 10 and might be unusable when connected to 100 or more. Also, open                                     database connections use system resources to a maximum extent making the system performance                                     less effective.                                 &lt;/p&gt;                                 &lt;p&gt;                                     &lt;strong&gt;Why ADO.NET?&lt;/strong&gt;                                 &lt;/p&gt;                                 &lt;p&gt;                                     To cope up with some of the problems mentioned above, ADO .NET came into existence.                                     ADO .NET addresses the above mentioned problems by maintaining a &lt;span style=&quot;color:blue;&quot;&gt;disconnected&lt;/span&gt; database                                     access model which means, when an application interacts with the database, the                                     connection is opened to serve the request of the application and is closed as soon                                     as the request is completed. Likewise, if a database is Updated, the connection is                                     opened long enough to complete the Update operation and is closed. By keeping connections                                     open for only a minimum period of time, ADO .NET conserves system resources and provides                                     maximum security for databases and also has less impact on system performance. Also,                                     ADO .NET when interacting with  the database uses XML and converts all the                                     data into XML format for database related operations making them more efficient.                                 &lt;/p&gt;                                 &lt;p&gt;                                   &lt;br /&gt;                                   &lt;strong&gt;&lt;u&gt;The ADO.NET Data Architecture&lt;/u&gt;&lt;/strong&gt;                                 &lt;/p&gt;                                 &lt;p&gt;                                     Data Access in ADO.NET relies on two components: &lt;span style=&quot;color:blue;&quot;&gt;DataSet&lt;/span&gt; and &lt;span style=&quot;color:blue;&quot;&gt;Data                                     Provider&lt;/span&gt;.                                 &lt;/p&gt;                                 &lt;p&gt;                                     &lt;strong&gt;DataSet &lt;/strong&gt;                                 &lt;/p&gt;                                 &lt;p&gt;                                     The dataset is a &lt;span style=&quot;color:blue;&quot;&gt;disconnected&lt;/span&gt;, &lt;span style=&quot;color:blue;&quot;&gt;in-memory&lt;/span&gt; representation                                     of data. It can be considered as a &lt;span style=&quot;color:blue;&quot;&gt;local copy&lt;/span&gt; of the                                     relevant portions of the database. The DataSet is persisted in memory and the data                                     in it can be manipulated and updated independent of the database. When the use of                                     this DataSet is finished, changes can be made back to the central database for updating.                                     The data in DataSet can be loaded from any valid data source like &lt;span class=&quot;IL_AD&quot; id=&quot;IL_AD9&quot;&gt;Microsoft SQL server                                     database&lt;/span&gt;, an Oracle database or from a Microsoft Access database.                                 &lt;/p&gt;                                 &lt;p&gt;                                     &lt;strong&gt;Data Provider&lt;/strong&gt;                                 &lt;/p&gt;                                 &lt;p&gt;                                     The Data Provider is responsible for &lt;span style=&quot;color:blue;&quot;&gt;providing&lt;/span&gt; and &lt;span style=&quot;color:blue;&quot;&gt;maintaining&lt;/span&gt; the                                     connection to the database. A DataProvider is a set of related components that work                                     together to provide data in an efficient and performance driven manner. The .NET Framework                                     currently comes with two DataProviders: the &lt;span style=&quot;color:blue;&quot;&gt;SQL Data Provider&lt;/span&gt; which                                     is designed only to work with Microsoft&#39;s SQL Server 7.0 or later and the &lt;span style=&quot;color:blue;&quot;&gt;OleDb                                     DataProvider&lt;/span&gt; which allows us to connect to other types of databases like Access                                     and Oracle. Each DataProvider consists of the following component classes:                                 &lt;/p&gt;                                 &lt;p&gt;                                     The &lt;span style=&quot;color:blue;&quot;&gt;Connection &lt;/span&gt;object which provides a connection to                                     the database&lt;br /&gt;                                   The &lt;span style=&quot;color:blue;&quot;&gt;Command &lt;/span&gt;object which is used to execute a command&lt;br /&gt;                                   The &lt;span style=&quot;color:blue;&quot;&gt;DataReader&lt;/span&gt; object which provides a forward-only, read                                     only, connected recordset&lt;br /&gt;                                   The &lt;span style=&quot;color:blue;&quot;&gt;DataAdapter&lt;/span&gt; object which populates a disconnected DataSet                                     with data and performs update                                 &lt;/p&gt;                                 &lt;p&gt;                                   &lt;br /&gt;                                   &lt;u&gt;Data access with ADO.NET can be summarized as follows:&lt;/u&gt;                                 &lt;/p&gt;                                 &lt;p&gt;                                     A connection object establishes the connection for the application with the database.                                     The command object provides direct execution of the command to the database. If the                                     command returns more than a single value, the command object returns a DataReader                                     to provide the data. Alternatively, the DataAdapter can be used to fill the Dataset                                     object. The database can be updated using the command object or the DataAdapter.                                   &lt;br /&gt;                                 &lt;br /&gt;                                   &lt;img alt=&quot;ADO .NET Data Architecture&quot; src=&quot;http://www.startvbdotnet.com/ado/images/adoarc.gif&quot; /&gt;                                 &lt;/p&gt;                                 &lt;p&gt;                                     &lt;strong&gt;&lt;u&gt;Component classes that make up the Data Providers&lt;/u&gt;&lt;/strong&gt;                                 &lt;/p&gt;                                 &lt;p&gt;                                     &lt;strong&gt;The Connection Object &lt;/strong&gt;                                 &lt;/p&gt;                                 &lt;p&gt;                                     The Connection object creates the connection to the database. Microsoft &lt;span class=&quot;IL_AD&quot; id=&quot;IL_AD4&quot;&gt;Visual Studio&lt;/span&gt;                                     .NET provides two types of Connection classes: the &lt;span style=&quot;color:blue;&quot;&gt;SqlConnection&lt;/span&gt; object,                                     which is designed specifically to connect to Microsoft SQL Server 7.0 or later, and                                     the &lt;span style=&quot;color:blue;&quot;&gt;OleDbConnection&lt;/span&gt; object, which can provide connections                                     to a wide range of database types like Microsoft Access and Oracle. The Connection                                     object contains all of the information required to open a connection to the database.                                 &lt;/p&gt;                                 &lt;p&gt;                                     &lt;strong&gt;The Command Object &lt;/strong&gt;                                 &lt;/p&gt;                                 &lt;p&gt;                                     The Command object is represented by two corresponding classes: &lt;span style=&quot;color:blue;&quot;&gt;SqlCommand&lt;/span&gt; and &lt;span style=&quot;color:blue;&quot;&gt;OleDbCommand&lt;/span&gt;.                                     Command objects are used to execute commands to a database across a data connection.                                     The Command objects can be used to execute stored procedures on the database, SQL                                     commands, or return complete tables directly. Command objects provide three methods                                     that are used to execute commands on the database:                                 &lt;/p&gt;                                 &lt;p&gt;                                     &lt;span style=&quot;color:blue;&quot;&gt;ExecuteNonQuery&lt;/span&gt;: Executes commands that have no return values                                     such as INSERT, UPDATE or DELETE                                   &lt;br /&gt;                                   &lt;span style=&quot;color:blue;&quot;&gt;ExecuteScalar&lt;/span&gt;: Returns a single value from a database query                                   &lt;br /&gt;                                   &lt;span style=&quot;color:blue;&quot;&gt;ExecuteReader&lt;/span&gt;: Returns a result set by way of a DataReader                                     object                                 &lt;/p&gt;                                 &lt;p&gt;                                   &lt;br /&gt;                                   &lt;strong&gt;The DataReader Object &lt;/strong&gt;                                 &lt;/p&gt;                                 &lt;p&gt;                                     The DataReader object provides a &lt;span style=&quot;color:blue;&quot;&gt;forward-only&lt;/span&gt;, &lt;span style=&quot;color:blue;&quot;&gt;read-only&lt;/span&gt;, &lt;span style=&quot;color:blue;&quot;&gt;connected                                     stream&lt;/span&gt; recordset from a database. Unlike other components of the Data Provider,                                     DataReader objects cannot be directly &lt;span style=&quot;color:blue;&quot;&gt;instantiated&lt;/span&gt;. Rather,                                     the DataReader is returned as the result of the Command object&#39;s &lt;span style=&quot;color:blue;&quot;&gt;ExecuteReader&lt;/span&gt;  method.                                     The SqlCommand.ExecuteReader method  returns a SqlDataReader object, and the OleDbCommand.ExecuteReader                                     method returns an OleDbDataReader  object. The DataReader can provide rows of data                                     directly to application logic when you do not need to keep the data cached in memory.                                     Because only one row is in memory at a time, the DataReader provides &lt;span class=&quot;IL_AD&quot; id=&quot;IL_AD8&quot;&gt;the lowest&lt;/span&gt; overhead                                     in terms of system performance but requires the exclusive use of an open Connection                                     object for the lifetime of the DataReader.                                 &lt;/p&gt;                                 &lt;p&gt;                                     &lt;strong&gt;The DataAdapter Object &lt;/strong&gt;                                 &lt;/p&gt;                                 &lt;p&gt;                                     The DataAdapter is &lt;span class=&quot;IL_AD&quot; id=&quot;IL_AD7&quot;&gt;the class&lt;/span&gt; at the core of ADO .NET&#39;s disconnected data access. It                                     is essentially the &lt;span style=&quot;color:blue;&quot;&gt;middleman&lt;/span&gt; facilitating all communication                                     between the database and a DataSet. The DataAdapter is used either to fill a DataTable                                     or DataSet with data from the database with it&#39;s &lt;span style=&quot;color:blue;&quot;&gt;Fill&lt;/span&gt; method.                                     After the memory-resident data has been manipulated, the DataAdapter can commit the                                     changes to the database by calling the Update method. The DataAdapter provides four                                     properties that represent database commands:                                 &lt;/p&gt;                                 &lt;p&gt;                                     SelectCommand&lt;br /&gt;                                   InsertCommand&lt;br /&gt;                                   DeleteCommand&lt;br /&gt;                                   UpdateCommand                                 &lt;/p&gt;                                 &lt;p&gt;                                     When the Update method is called, changes in the DataSet are copied back to the database                                     and the appropriate InsertCommand, DeleteCommand, or UpdateCommand is executed.                                  &lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/5778529710173133449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technowidgets.blogspot.com/2010/08/net-architecture.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/5778529710173133449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/5778529710173133449'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/2010/08/net-architecture.html' title='.NET Architecture'/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5296475526203806788.post-7672339513623396415</id><published>2010-08-23T06:31:00.000-07:00</published><updated>2010-08-23T06:36:36.423-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".Net Uses"/><title type='text'>.Net Uses</title><content type='html'>&lt;img style=&quot;float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 258px; height: 195px;&quot; src=&quot;http://t1.gstatic.com/images?q=tbn:ANd9GcRVZb7m5tG6nY3ElqwFLe6Caeuod8JX3SvyFJPqDk1aF20S6M4&amp;amp;t=1&amp;amp;usg=__AY0-IFE3IGXHP0YPj9fCihknUQ0=&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;&lt;p&gt;cPanel is the industry leader for turning standalone servers into a  fully automated point-and-click hosting platform. Tedious tasks are  replaced by web interfaces and API-based calls. cPanel is designed with  multiple levels of administration including admin, reseller, end user,  and email-based interfaces. These multiple levels provide security, ease  of use, and flexibility for everyone from the server administrator to  the email account user.&lt;/p&gt; &lt;p&gt;cPanel is an organization that wins the loyalty of customers around  the world by providing feature-rich applications backed by a team of  developers, technical support engineers and quality assurance experts  that provide stable builds, direct support, and fantastic customer  service.&lt;/p&gt; &lt;p&gt;cPanel powers web hosting companies and organizations that have a need to automate and offer competitive hosting services.&lt;/p&gt; &lt;!--&lt;h1&gt;cPanel Service Providers&lt;/h1&gt;  &lt;p&gt;Dedicated Servers, Managed Hosting Providers, and Colocation providers around the world offer cPanel-based solutions. If you are looking for a solution that includes hardware, software, bandwidth, and managed services please check our list of providers. Service Providers can contact cPanel directly to learn more about offering cPanel direct to their customers.&lt;/p&gt; --&gt;  &lt;h1&gt;cPanel Direct Licensing&lt;/h1&gt; &lt;p&gt;cPanel can be installed on any server worldwide. If you currently  operate your own servers and wish to purchase the cPanel software  directly, it can be purchased online at the cPanel Store. Every direct  software purchase receives priority support, installation support, and  migration assistance.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/7672339513623396415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technowidgets.blogspot.com/2010/08/net-uses.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/7672339513623396415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/7672339513623396415'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/2010/08/net-uses.html' title='.Net Uses'/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5296475526203806788.post-8391230385342864693</id><published>2010-08-20T06:55:00.000-07:00</published><updated>2010-08-20T07:06:14.945-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET Framework and Languages"/><title type='text'>.NET Framework and Languages</title><content type='html'>&lt;img style=&quot;float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 255px; height: 197px;&quot; src=&quot;http://t0.gstatic.com/images?q=tbn:ANd9GcSZvFAo7fVSfsJez6bb7I02mFPgDKsmqKifrZxXXEaRoAusRAw&amp;amp;t=1&amp;amp;usg=__Cr20IW1hD1XR0youuS6YDEgC0w8=&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;                                &lt;p&gt;                                     As mentioned on the .NET Framework page, .&lt;span class=&quot;IL_AD&quot; id=&quot;IL_AD1&quot;&gt;NET Framework&lt;/span&gt;                                     is designed for cross-&lt;span class=&quot;IL_AD&quot; id=&quot;IL_AD12&quot;&gt;language&lt;/span&gt; &lt;span class=&quot;IL_AD&quot; id=&quot;IL_AD6&quot;&gt;compatibility&lt;/span&gt;.                                   &lt;br /&gt;                                   Cross-language compatibility means .NET &lt;span class=&quot;IL_AD&quot; id=&quot;IL_AD4&quot;&gt;components&lt;/span&gt; can interact with each other                                     irrespective of the &lt;span class=&quot;IL_AD&quot; id=&quot;IL_AD11&quot;&gt;languages&lt;/span&gt; they are written in. An application written in VB .NET                                     can reference a DLL file written in C# or a C# application can refer to a resource                                     written in VC++, etc. This language interoperability extends to Object-Oriented inheritance.                                 &lt;/p&gt;                                 &lt;p&gt;                                     This cross-language compatibility is possible due to common language runtime. As you                                     read on the .NET Framework page, when the .NET program is compiled, the output of                                     the compiler is not an executable file but a file that contains a special type of                                     code called the &lt;span style=&quot;color:blue;&quot;&gt;&lt;span class=&quot;IL_AD&quot; id=&quot;IL_AD7&quot;&gt;Microsoft&lt;/span&gt; Intermediate Language&lt;/span&gt; (MSIL).                                     This MSIL is a                                   &lt;br /&gt;                                   low-level language which is designed to be read and understood by the common                                     language runtime. Because all .NET executables exist as IL, they can freely operate.                                     The Common Language Specification defines the minimum standards that .NET language                                     compliers must confirm to. Thus, any code compiled by a .NET complier can interoperate                                     with the .NET Framework.                                 &lt;/p&gt;                                 &lt;p&gt;                                     The Common Type System (CTS) defines the rules concerning data types and ensures that                                     code is executed in a safe &lt;span class=&quot;IL_AD&quot; id=&quot;IL_AD5&quot;&gt;environment&lt;/span&gt;. Since all .NET applications are converted                                     to IL before execution all primitive data types are represented as .NET types. This                                     means that, a VB Integer and a C# int are both represented in IL code as System.Int32.                                     Because both the languages use a common and interconvertible type system, it is possible                                     to transfer data between components and avoid time-consuming conversions.                                 &lt;/p&gt;                                 &lt;p&gt;                                     &lt;strong&gt;Languages supported by .NET Framework&lt;/strong&gt;                                 &lt;/p&gt;                                 &lt;p&gt;                                     The table below lists all the languages supported by the .NET &lt;span class=&quot;IL_AD&quot; id=&quot;IL_AD3&quot;&gt;Framework&lt;/span&gt; and describes those                                     languages. The languages listed below are supported by the .NET Framework upto                                     the year 2003. In future there may be other languages that the .NET Framework                                     might support.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/8391230385342864693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technowidgets.blogspot.com/2010/08/net-framework-and-languages.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/8391230385342864693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/8391230385342864693'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/2010/08/net-framework-and-languages.html' title='.NET Framework and Languages'/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5296475526203806788.post-9053382487808235810</id><published>2010-08-19T07:59:00.000-07:00</published><updated>2010-08-19T08:11:58.895-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET Frame Work Description"/><title type='text'>.NET Frame Work Description</title><content type='html'>&lt;img style=&quot;float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 233px;&quot; src=&quot;http://t2.gstatic.com/images?q=tbn:ANd9GcQRKRWik0cCWyHlaDZQkuR6W1jOrbYS0POBBV335cFuKRG8FF8&amp;amp;t=1&amp;amp;usg=__jRA8dpo_kAcxWRD5xpb4WIC5ZMk=&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;&lt;span id=&quot;intelliTxt&quot;&gt;Many ISV&#39;s, enterprises and Microsoft product  teams are successfully building on the new features Windows Workflow  Foundation (WF), Windows Communication Foundation (WCF), Windows  Presentation Foundation (WPF) and Windows CardSpace in the .NET  Framework 3.0.&lt;br /&gt;&lt;br /&gt;Microsoft plans to continue to invest in the .NET  Framework developer platform and in support of existing users the .NET  Framework 3.5 has a minimal number of breaking changes. So that existing  applications built for .NET Framework 2.0 or .NET Framework 3.0 should  continue to run without requiring changes.&lt;br /&gt;&lt;br /&gt;The .NET Framework 3.5 adds new features in several major technology areas; including:&lt;br /&gt;· Deep integration of Language Integrated Query (LINQ) and data awareness&lt;br /&gt;·  ASP.NET AJAX for quickly creating more efficient, more interactive and  highly-personalized Web experiences that work across all the most  popular browsers&lt;br /&gt;· New web protocol support for building WCF services including AJAX, JSON, REST, POX, RSS, ATOM and several new WS-* standards&lt;br /&gt;· Full tooling support for WF, WCF and WPF including the new workflow-enabled services technology&lt;br /&gt;· New classes in the base class library (BCL) for the .NET Framework 3.5 address the most common customer requests.&lt;br /&gt;&lt;br /&gt;.NET  Framework 3.5 is planned to release at the end of 2007 and will ship  with Visual Studio code name &quot;Orcas&quot; and will also continue to be  available for separate download from MSDN.&lt;br /&gt;&lt;br /&gt;The Microsoft .NET  Framework 3.0 (which is formerly known as WinFX), is the new managed  code programming model for Windows. It combines the power of the .NET  Framework 2.0 with new technologies for building applications that have  visually compelling user experiences, seamless communication across  technology boundaries, and the ability to support a wide range of  business processes.&lt;br /&gt;&lt;br /&gt;These new technologies are Windows  Presentation Foundation, Windows Communication Foundation, Windows  Workflow Foundation, and Windows CardSpace (formerly code named  &quot;Infocard&quot;). Microsoft plans to ship .NET Framework 3.0 as part of the  Windows Vista operating system. In addition, Microsoft is making these  technologies available on Windows XP and Windows Server 2003.&lt;br /&gt;&lt;br /&gt;.NET Framework 3.0 can be installed on any of the following systems:&lt;br /&gt;· Microsoft Windows 2003 Server Service Pack 1 (SP1)&lt;br /&gt;· Windows XP SP2&lt;br /&gt;· Windows Vista&lt;br /&gt;Windows  Vista comes with .NET Framework 3.0. There is no separate installation  package required. The standalone .NET Framework 3.0 packages are not  supported on Vista.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color:green;&quot;&gt;&lt;b&gt;Requirements:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Processor &lt;/b&gt;&lt;br /&gt;Minimum:&lt;br /&gt;· 400 megahertz (MHz) Pentium processor&lt;br /&gt;&lt;br /&gt;Recommended:&lt;br /&gt;· 1 gigahertz (GHz) Pentium processor&lt;br /&gt;&lt;br /&gt;&lt;b&gt;RAM&lt;/b&gt;&lt;br /&gt;Minimum:&lt;br /&gt;· 96 megabytes (MB)&lt;br /&gt;&lt;br /&gt;Recommended:&lt;br /&gt;· 256 MB&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Hard Disk&lt;/b&gt;: Up to 500 MB of available space may be required.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Display&lt;/b&gt;&lt;br /&gt;Minimum:&lt;br /&gt;· 800 x 600, 256 colors&lt;br /&gt;&lt;br /&gt;Recommended:&lt;br /&gt;· 1024 x 768 high color, 32-bit&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Microsoft Connected Services Framework 3.0 Service Pack 1 Enterprise Edition&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Microsoft  Connected Services Framework is an integrated, server-based packaged  software product for building and managing services by using a  service-oriented architecture (SOA). For telecommunications operators  and other service providers, CSF enables them to aggregate, provision,  and manages converged communications services for their subscribers  across multiple networks and a range of device types.&lt;br /&gt;&lt;br /&gt;Microsoft  Connected Services Framework 3.0 Service Pack 1 (SP1) addresses many of  the high priority requests from our customers including a dramatic  improvement in the setup and configuration of the CSF components. CSF  3.0 SP1 also includes support for WCF-based services, which includes  WS-reliable messaging and better performance. Can be downloaded from  Connected Services Framework 3.0 EE SP1&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color:green;&quot;&gt;&lt;b&gt;Requirements of Microsoft Connected Services Framework 3.0 Service Pack 1 Enterprise Edition:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;· Internal Information Services 6.0&lt;br /&gt;· Active Directory (Functional Level 2000)&lt;br /&gt;· Microsoft .NET Framework 2.0&lt;br /&gt;· Microsoft SQL Server 2000 Service Pack 4 (SP4), or 2005 SP1&lt;br /&gt;· Windows Support Tools 2003 SP2&lt;br /&gt;· Microsoft Operations Manager 2005 SP1&lt;br /&gt;· UDDI 2.0&lt;br /&gt;· Enterprise Single Sign-On 3.0&lt;br /&gt;· Microsoft Clusting Server (if clustering is required)&lt;br /&gt;· Microsoft Management Console 3.0&lt;br /&gt;· Web Service Enhancement 3.0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Microsoft .NET Framework 3.0 Service Pack 1 Language Packs &lt;/b&gt;contain  translated text, such as error messages, for languages other than  English. Without the installation of a Language Pack, these messages are  displayed in English by default.&lt;br /&gt;&lt;br /&gt;Multiple language packs, each  for a different language, can be installed on a single computer.  Microsoft .NET Framework 3.0 SP1 Language Packs contain translated text,  such as error messages, for each language.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The following Language Packs are designed for NET Framework 3.0 SP1 x86 ONLY :&lt;/b&gt; French , Greek , Spanish , Italian , German , Japanese.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The following Language Packs are designed for NET Framework 3.0 SP1 x64 ONLY :&lt;/b&gt; French , Spanish , Italian , German , Japanese.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;.NET Framework 3.0 Service Pack 2 Update for Windows Server 2003 and Windows XP&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;There  are some known incompatibilities in generic types using the  BinaryFormatter or NetDataContractSerializer serialized and deserialized  across a mixed .NET Framework 3.5 SP1 and .NET Framework 4 environment.  Installing this update addresses these issues.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Microsoft .NET Framework 3.5 Service pack 1 Beta&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Microsoft  .NET Framework 3.5 service pack 1 is a cumulative update that contains  many new features building incrementally upon .NET Framework 2.0, 3.0,  3.5, and includes .NET Framework 2.0 service pack 2 and .NET Framework  3.0 service pack 2 cumulative updates.&lt;br /&gt;&lt;br /&gt;.NET Framework version 3.5 Service Pack 1 provides the following new features and improvements:&lt;br /&gt;&lt;br /&gt;·  ASP.NET Dynamic Data, which provides a rich scaffolding framework that  allows rapid data driven development without writing code, and a new  addition to ASP.NET AJAX that provides support for managing browser  history (back button support). For more information, see What&#39;s New in  ASP.NET and Web Development.&lt;br /&gt;&lt;br /&gt;· Core improvements to the common  language runtime that include better layout of .NET Framework native  images, opting out of strong-name verification for fully trusted  assemblies, improved application startup performance, better generated  code that improves end-to-end application execution time, and opting  managed code to run in ASLR (Address Space Layout Randomization) mode if  supported by the operating system. Additionally, managed applications  that are opened from network shares have the same behavior as native  applications by running with full trust.&lt;br /&gt;&lt;br /&gt;· Performance  improvements to Windows Presentation Foundation, including a faster  startup time and improved performance for Bitmap effects. Additional  functionality for WPF includes better support for line of business  applications, native splash screen support, DirectX pixel shader  support, and the new WebBrowser control.&lt;br /&gt;&lt;br /&gt;· ClickOnce application  publishers can decide to opt out of signing and hashing as appropriate  for their scenarios, developers can programmatically install ClickOnce  applications that display a customized branding, and ClickOnce error  dialog boxes support links to application-specific support sites on the  Web.&lt;br /&gt;&lt;br /&gt;· The Entity Framework is an evolution of the existing  suite of ADO.NET data access technologies. The Entity Framework allows  developers to program against relational databases in terms of  application-specific domain models instead of the underlying database  models. For more information see Getting Started with the Entity  Framework. The Entity Framework introduces some additional features,  including support for new SQL Server 2008 types, default graph  serialization of Entities, and the first broad public release of the  Entity Data Source. With this release, the Entity Framework supports the  new date and file stream capabilities in SQL Server 2008. The graph  serialization work helps developers who want to build Windows  Communication Foundation (WCF) services that model full graphs as data  contracts. The Entity Data Source provides a traditional data source  experience for ASP.NET application builders who want to work with the  Entity Framework.&lt;br /&gt;&lt;br /&gt;· LINQ to SQL includes new support for the new date and file stream capabilities in SQL Server 2008.&lt;br /&gt;&lt;br /&gt;·  The ADO.NET Data Services Framework consists of a combination of  patterns and libraries, which enable data to be exposed as a flexible  REST (Representational State Transfer)-based data service that can be  consumed by Web clients within a corporate network or across the  Internet. The ADO.NET Data Services Framework makes data service  creation over any data source. A conceptual view model of the underlying  storage schema can easily be exposed through rich integration with the  ADO.NET Entity Framework. Services created using the ADO.NET Data  Services Framework, as well as compatible Windows Live (dev.live.com)  services, can be easily accessed from any platform. For client  applications running on Microsoft platforms, a set of client libraries  are provided to make interaction with data services simple. For example,  .NET Framework-based clients can use LINQ to query data services and a  simple .NET Framework object layer to update data in the service.&lt;br /&gt;&lt;br /&gt;·  Windows Communication Foundation now makes the DataContract Serializer  easier to use by providing improved interoperability support, enhancing  the debugging experience in partial trust scenarios, and extending  syndication protocol support for wider usage in Web 2.0 applications.&lt;br /&gt;&lt;br /&gt;·  The .NET Framework Data Provider for SQL Server (SqlClient) adds new  support for file stream and sparse column capabilities in SQL Server  2008.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;IMPORTANT:&lt;/b&gt; This beta release is for early testing  and feedback. As a beta release, we recommend you only install the  service pack on test computers. Prior to installation, you should  carefully review the included readme file to be aware of any known  issues with this release. For example, this service pack has some known  compatibility issues with previous releases, including:&lt;br /&gt;· Expression Blend (all versions)&lt;br /&gt;· Silverlight 2 Beta 1 SDK&lt;br /&gt;· Silverlight Tools Beta 1 for Visual Studio 2008&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/9053382487808235810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technowidgets.blogspot.com/2010/08/net-frame-work-description.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/9053382487808235810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/9053382487808235810'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/2010/08/net-frame-work-description.html' title='.NET Frame Work Description'/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5296475526203806788.post-2038997884013995748</id><published>2010-08-18T08:15:00.000-07:00</published><updated>2010-08-18T08:27:07.563-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET And Its Importance"/><title type='text'>.NET And Its Importance</title><content type='html'>&lt;img style=&quot;float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 279px; height: 181px;&quot; src=&quot;http://t1.gstatic.com/images?q=tbn:ANd9GcRZbr0Sm6LQQhVBgC-6w-gDzag13WfEdG4foqtIPChFsj2j-SM&amp;amp;t=1&amp;amp;usg=__U00rHlozdRj35_UDZbZdhNUdl3s=&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;In the world of computers, software plays very important role just as  hardware. This was recognized by Microsoft in earlier stages. Looking  for new ways to improve their software, Microsoft made its software  efficient not only to users but to developers as well.&lt;br /&gt;&lt;br /&gt;.Net architecture not only helps businesses to make their existing  software assets powerful but also to add new software services making  them more productive. It can also prove effective in reducing  application complexity and the related costs of developing and  maintaining software.&lt;br /&gt;&lt;br /&gt;.Net application development has helped to simplify development and  customize of various enterprise level applications. This product comes  as a part of Microsoft&#39;s Windows Operating System. .Net framework comes  bundled with a lot of advantages, which makes it a widely used tool for  .Net application development.&lt;br /&gt;&lt;br /&gt;The .Net is built on the following Internet standards:&lt;br /&gt;&lt;br /&gt;-UDDI, standard to search and discover Web Services&lt;br /&gt;-XML, format for exchanging data between Internet Applications&lt;br /&gt;-HTTP, communication protocol between Internet Applications&lt;br /&gt;-SOAP, standard format for requesting Web Services&lt;br /&gt;&lt;br /&gt;Advantages of .Net Software Development Services:&lt;br /&gt;&lt;br /&gt;-Easy integration of any software into the Internet&lt;br /&gt;-Supports directory services that can answer XML based questions&lt;br /&gt;-Permits a wide variety of Internet devices to access data and applications&lt;br /&gt;-Supports different levels of authentication of services such as passwords, wallets, and smart cards&lt;br /&gt;-Ability to track visitors and report on the most requested web pages&lt;br /&gt;&lt;br /&gt;The .Net framework is a set of huge library that encompasses various  programming needs like user interface design, web development, data  access, database connections, networking among many other algorithms.  Hence the advent of .Net programming has simplified and made .Net  application development very extensive.&lt;br /&gt;&lt;br /&gt;Let&#39;s look at some important features of .Net framework:&lt;br /&gt;&lt;br /&gt;-No language dependency&lt;br /&gt;-Enhanced Security&lt;br /&gt;-Easy deployment&lt;br /&gt;-Easy Portability&lt;br /&gt;-Interoperability&lt;br /&gt;&lt;br /&gt;Commercial .Net Services that can be provided to Businesses:&lt;br /&gt;&lt;br /&gt;- .Net Software Product Development&lt;br /&gt;- .Net Desktop and Web Application Development&lt;br /&gt;- Web Services based .Net Application development&lt;br /&gt;- .Net custom control development&lt;br /&gt;-.Net system design and application development&lt;br /&gt;- .Net Architecture and design evaluation&lt;br /&gt;- Developing web services using the .Net framework and the SOAP toolkit&lt;br /&gt;- Migrating web and desktop applications to .Net&lt;br /&gt;- Migration of application from .Net&lt;br /&gt;&lt;br /&gt;.Net helps to develop your business, by generating large volumes of data  that contain valuable information like individual facts about their  customers, products, operations and people. By using .Net technology,  web software outsourcing helps your business to do better.</content><link rel='replies' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/2038997884013995748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technowidgets.blogspot.com/2010/08/net-and-its-importance.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/2038997884013995748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/2038997884013995748'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/2010/08/net-and-its-importance.html' title='.NET And Its Importance'/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5296475526203806788.post-6383783191475740107</id><published>2010-08-14T21:44:00.000-07:00</published><updated>2010-08-14T21:50:01.693-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java Interview Questions"/><title type='text'>Java Interview Questions</title><content type='html'>&lt;img style=&quot;float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 196px; height: 257px;&quot; src=&quot;http://t1.gstatic.com/images?q=tbn:ANd9GcQnq1KG45DflPKn9LkkedmamiVS0DLXGoon4h7R5-sWw3R-Jk4&amp;amp;t=1&amp;amp;usg=___ytQHL2jraUdJqFD7IGzTuObeEA=&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;What is meant by pass by reference and pass by value in Java?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Pass by reference means, passing the address itself rather than  passing the value. Pass by value means passing                      a  copy of the value.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;If you’re overriding the method equals() of an object, which other method you might also consider?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;hashCode()&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is Byte Code?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Or&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What gives java it’s “write once and run anywhere” nature?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;All Java programs are compiled into class files that contain  bytecodes. These byte codes can be run in any platform                        and hence java is said to be platform independent.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Expain the reason for each keyword of public static void main(String args[])?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;span class=&quot;style4&quot;&gt;public&lt;/span&gt;- main(..) is the first method  called by java environment when a program is executed so it has to  accessible                       from java environment. Hence the access  specifier has to be public.&lt;/p&gt; &lt;p&gt;&lt;span class=&quot;style4&quot;&gt;static&lt;/span&gt;: Java environment should be able  to call this method without creating an instance of the class , so this  method                      must be declared as static.&lt;/p&gt; &lt;p&gt;&lt;span class=&quot;style4&quot;&gt;void&lt;/span&gt;: main does not return anything so the return type must be void&lt;/p&gt; &lt;p&gt;The argument String indicates the argument type which is given at the  command line and arg is an array for string                      given  during command line.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What are the differences between == and .equals() ?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Or&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;what is difference between == and equals &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Or&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Difference between == and equals method&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Or&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What would you use to compare two String variables - the operator == or the method equals()?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Or&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;How is it possible for two String objects with identical values not to be equal under the == operator?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The == operator compares two objects to determine if they are the  same object in memory i.e. present in the same memory location. It is  possible for two String objects to have the same value, but located in  different areas of memory.&lt;/p&gt; &lt;p&gt;== compares references while .equals compares contents. The method  public boolean equals(Object obj) is provided by the Object class and  can be overridden. The default implementation returns true only if the  object is compared with itself, which is equivalent to the equality  operator == being used to compare aliases to the object. String, BitSet,  Date, and File override the equals() method. For two String objects,  value equality means that they contain the same character sequence. For  the Wrapper classes, value equality means that the primitive values are  equal.&lt;/p&gt; &lt;table border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;2&quot; width=&quot;600&quot;&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td bgcolor=&quot;#fafadf&quot;&gt; &lt;pre&gt; public class EqualsTest {&lt;br /&gt;&lt;br /&gt; public static void main(String[] args) {&lt;br /&gt;&lt;br /&gt;  String s1 = “abc”;&lt;br /&gt;  String s2 = s1;&lt;br /&gt;  String s5 = “abc”;&lt;br /&gt;  String s3 = new String(”abc”);&lt;br /&gt;  String s4 = new String(”abc”);&lt;br /&gt;  System.out.println(”== comparison : ” + (s1 == s5));&lt;br /&gt;  System.out.println(”== comparison : ” + (s1 == s2));&lt;br /&gt;  System.out.println(”Using equals method : ” + s1.equals(s2));&lt;br /&gt;  System.out.println(”== comparison : ” + s3 == s4);&lt;br /&gt;  System.out.println(”Using equals method : ” + s3.equals(s4));&lt;br /&gt; }&lt;br /&gt;}&lt;/pre&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;&lt;span class=&quot;style4&quot;&gt;Output&lt;/span&gt;&lt;br /&gt;== comparison : true&lt;br /&gt;== comparison : true&lt;br /&gt;Using equals method : true&lt;br /&gt;false&lt;br /&gt;Using equals method : true&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What if the static modifier is removed from the signature of the main method?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Or&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What if I do not provide the String array as the argument to the method?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Program compiles. But at runtime throws an error “NoSuchMethodError”.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Why oracle Type 4 driver is named as oracle thin driver?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Oracle provides a Type 4 JDBC driver, referred to as the Oracle  “thin” driver. This driver includes its own implementation of a TCP/IP  version of Oracle’s Net8 written entirely in Java, so it is platform  independent, can be downloaded to a browser at runtime, and does not  require any Oracle software on the client side. This driver requires a  TCP/IP listener on the server side, and the client connection string  uses the TCP/IP port address, not the TNSNAMES entry for the database  name.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is the difference between final, finally and finalize? What do you understand by the java final keyword?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Or&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is final, finalize() and finally?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Or&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is finalize() method?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Or&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is the difference between final, finally and finalize?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Or&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What does it mean that a class or member is final? &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;o &lt;strong&gt;final&lt;/strong&gt; - declare constant&lt;br /&gt;o &lt;strong&gt;finally&lt;/strong&gt; - handles exception&lt;br /&gt;o &lt;strong&gt;finalize&lt;/strong&gt; - helps in garbage collection&lt;/p&gt; &lt;p&gt;Variables defined in an interface are implicitly final. A final class  can’t be extended i.e., final class may not be subclassed. This is done  for security reasons with basic classes like String and Integer. It  also allows the compiler to make some optimizations, and makes thread  safety a little easier to achieve. A final method can’t be overridden  when its class is inherited. You can’t change value of a final variable  (is a constant). finalize() method is used just before an object is  destroyed and garbage collected. finally, a key word used in exception  handling and will be executed whether or not an exception is thrown. For  example, closing of open connections is done in the finally method.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is the Java API?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The Java API is a large collection of ready-made software components  that provide many useful capabilities, such as graphical                       user interface (GUI) widgets.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is the GregorianCalendar class?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The GregorianCalendar provides support for traditional Western calendars.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is the ResourceBundle class?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The ResourceBundle class is used to store locale-specific resources  that can be loaded by a program to tailor the program’s                       appearance to the particular locale in which it is being run.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Why there are no global variables in Java?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Global variables are globally accessible. Java does not support globally accessible variables due to following reasons:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;The global variables breaks the referential transparency&lt;/li&gt;&lt;li&gt;Global variables creates collisions in namespace.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;How to convert String to Number in java program?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The valueOf() function of Integer class is is used to convert string to Number. Here is the code example:&lt;br /&gt;String numString = “1000″;&lt;br /&gt;int id=Integer.valueOf(numString).intValue();&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is the SimpleTimeZone class?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The SimpleTimeZone class provides support for a Gregorian calendar.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is the difference between a while statement and a do statement?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;A while statement (pre test) checks at the beginning of a loop to see  whether the next loop iteration should occur. A do while statement  (post test) checks at the end of a loop to see whether the next  iteration of a loop should occur. The do statement will always execute  the loop body at least once.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is the Locale class? &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The Locale class is used to tailor a program output to the  conventions of a particular geographic, political, or cultural region.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Describe the principles of OOPS.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;There are three main principals of oops which are called Polymorphism, Inheritance and Encapsulation.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Explain the Inheritance principle.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Inheritance is the process by which one object acquires the  properties of another object. Inheritance allows well-tested                        procedures to be reused and enables changes to make once and  have effect in all relevant places&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is implicit casting?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Implicit casting is the process of simply assigning one entity to  another without any transformation guidance to the compiler.                        This type of casting is not permitted in all kinds of  transformations and may not work for all scenarios.&lt;/p&gt; &lt;p class=&quot;style4&quot;&gt;Example&lt;/p&gt; &lt;p&gt;int i = 1000;&lt;/p&gt; &lt;p&gt;long j = i; //Implicit casting&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Is sizeof a keyword in java?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The sizeof operator is not a keyword.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is a native method?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;A native method is a method that is implemented in a language other than Java.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;In System.out.println(), what is System, out and println?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;System is a predefined final class, out is a PrintStream object and println is a built-in overloaded method in the out object.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What are Encapsulation, Inheritance and Polymorphism&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Or&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Explain the Polymorphism principle. Explain the different forms of Polymorphism.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Polymorphism in simple terms means one name many forms. Polymorphism  enables one entity to be used as a general category for different types  of actions. The specific action is determined by the exact nature of the  situation.&lt;/p&gt; &lt;p&gt;&lt;span class=&quot;style4&quot;&gt;Polymorphism exists in three distinct forms in Java:&lt;/span&gt;&lt;br /&gt;• Method overloading&lt;br /&gt;• Method overriding through inheritance&lt;br /&gt;• Method overriding through the Java interface&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is explicit casting?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Explicit casting in the process in which the complier are specifically informed to about transforming the object.&lt;/p&gt; &lt;p class=&quot;style4&quot;&gt;Example&lt;/p&gt; &lt;p&gt;long i = 700.20;&lt;/p&gt; &lt;p&gt;int j = (int) i; //Explicit casting&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is the Java Virtual Machine (JVM)?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The Java Virtual Machine is software that can be ported onto various hardware-based platforms&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What do you understand by downcasting?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The process of Downcasting refers to the casting from a general to a more specific type, i.e. casting down the hierarchy&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What are Java Access Specifiers?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Or&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is the difference between public, private, protected and default Access Specifiers?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Or&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What are different types of access modifiers?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Access specifiers are keywords that determine the type of access to the member of a class. These keywords are for allowing&lt;br /&gt;privileges to parts of a program such as functions and variables. These are:&lt;br /&gt;• &lt;em&gt;Public &lt;/em&gt;: accessible to all classes&lt;br /&gt;• &lt;em&gt;Protected&lt;/em&gt; : accessible to the classes within the same package and any subclasses.&lt;br /&gt;• &lt;em&gt;Private &lt;/em&gt;: accessible only to the class to which they belong&lt;br /&gt;• &lt;em&gt;Default :&lt;/em&gt; accessible to the class to which they belong and to subclasses within the same package&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Which class is the superclass of every class?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Object.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Name primitive Java types.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The 8 primitive types are byte, char, short, int, long, float, double, and boolean.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is the difference between static and non-static variables?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Or&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What are class variables?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Or&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is static in java?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Or&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is a static method? &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;A static variable is associated with the class as a whole rather than  with specific instances of a class. Each object will share a common  copy of the static variables i.e. there is only one copy per class, no  matter how many objects are created from it. Class variables or static  variables are declared with the static keyword in a class. These are  declared outside a class and stored in static memory. Class variables  are mostly used for constants. Static variables are always called by the  class name. This variable is created when the program starts and gets  destroyed when the programs stops. The scope of the class variable is  same an instance variable. Its initial value is same as instance  variable and gets a default value when its not initialized corresponding  to the data type. Similarly, a static method is a method that belongs  to the class rather than any object of the class and doesn’t apply to an  object or even require that any objects of the class have been  instantiated.&lt;br /&gt;Static methods are implicitly final, because overriding is done based on  the type of the object, and static methods are attached to a class, not  an object. A static method in a superclass can be shadowed by another  static method in a subclass, as long as the original method was not  declared final. However, you can’t override a static method with a  non-static method. In other words, you can’t change a static method into  an instance method in a subclass.&lt;/p&gt; &lt;p&gt;Non-static variables take on unique values with each object instance.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is the difference between the boolean &amp;amp; operator and the &amp;amp;&amp;amp; operator? &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;If an expression involving the boolean &amp;amp; operator is evaluated,  both operands are evaluated, whereas the &amp;amp;&amp;amp; operator is a short  cut operator. When an expression involving the &amp;amp;&amp;amp; operator is  evaluated, the first operand is evaluated. If the first operand returns a  value of true then the second operand is evaluated. If the first  operand evaluates to false, the evaluation of the second operand is  skipped.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;How does Java handle integer overflows and underflows?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;It uses those low order bytes of the result that can fit into the size of the type allowed by the operation.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What if I write static public void instead of public static void?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Program compiles and runs properly.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is the difference between declaring a variable and defining a variable?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;In declaration we only mention the type of the variable and its name  without initializing it. Defining means declaration + initialization.  E.g. String s; is just a declaration while String s = new String  (”bob”); Or String s = “bob”; are both definitions.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What type of parameter passing does Java support?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;In Java the arguments (primitives and objects) are always passed by  value. With objects, the object reference itself is passed by value and  so both the original reference and parameter copy both refer to the same  object.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Explain the Encapsulation principle.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Encapsulation is a process of binding or wrapping the data and the  codes that operates on the data into a single entity. This keeps the  data safe from outside interface and misuse. Objects allow procedures to  be encapsulated with their data to reduce potential interference. One  way to think about encapsulation is as a protective wrapper that  prevents code and data from being arbitrarily accessed by other code  defined outside the wrapper.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What do you understand by a variable?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Variable is a named memory location that can be easily referred in  the program. The variable is used to hold the data and it                       can be changed during the course of the execution of the program.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What do you understand by numeric promotion?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The Numeric promotion is the conversion of a smaller numeric type to a  larger numeric type, so that integral and floating-point operations may  take place. In the numerical promotion process the byte, char, and  short values are converted to int values. The int values are also  converted to long values, if necessary. The long and float values are  converted to double values, as required.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What do you understand by casting in java language? What are the types of casting?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The process of converting one data type to another is called Casting.  There are two types of casting in Java; these                      are  implicit casting and explicit casting.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is the first argument of the String array in main method?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The String array is empty. It does not have any element. This is  unlike C/C++ where the first element by default is the program name. If  we do not provide any arguments on the command line, then the String  array of main method will be empty but not null.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;How can one prove that the array is not null but empty?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Print array.length. It will print 0. That means it is empty. But if  it would have been null then it would have thrown a                        NullPointerException on attempting to print array.length.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Can an application have multiple classes having main method?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Yes. While starting the application we mention the class name to be  run. The JVM will look for the main method only in the class whose name  you have mentioned. Hence there is not conflict amongst the multiple  classes having main method.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;When is static variable loaded? Is it at compile time or runtime?  When exactly a static block is loaded in Java?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Static variable are loaded when classloader brings the class to the  JVM. It is not necessary that an object has to be created. Static  variables will be allocated memory space when they have been loaded. The  code in a static block is loaded/executed only once i.e. when the class  is first initialized. A class can have any number of static blocks.  Static block is not member of a class, they do not have a return  statement and they cannot be called directly. Cannot contain this or  super. They are primarily used to initialize static fields.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Can I have multiple main methods in the same class?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;;font-family:Arial;font-size:x-small;color:black;&quot;   &gt; &lt;span style=&quot;;font-family:Arial;font-size:10pt;color:black;&quot;   &gt; We can have multiple overloaded main methods but there can be &lt;strong&gt; only one main method with the following signature :&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;;font-family:Arial;font-size:x-small;color:black;&quot;   &gt; &lt;span style=&quot;;font-family:Arial;font-size:10pt;color:black;&quot;   &gt; public static void main(String[] args) {}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;No the program fails to compile. The compiler says that the main method is already defined in the class.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Explain working of Java Virtual Machine (JVM)?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;JVM is an abstract computing machine like any other real computing  machine which first converts .java file into .class file by using  Compiler (.class is nothing but byte code file.) and Interpreter reads  byte codes.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;How can I swap two variables without using a third variable?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Add two variables and assign the value into First variable. Subtract  the Second value with the result Value. and assign to Second variable.  Subtract the Result of First Variable With Result of Second Variable and  Assign to First Variable. Example:&lt;/p&gt; &lt;p&gt;int a=5,b=10;a=a+b; b=a-b; a=a-b;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;text-decoration: underline;&quot;&gt;&lt;em&gt;An other approach to the same question&lt;/em&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;You use an XOR swap.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;for example:&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;int a = 5; int b = 10;&lt;br /&gt;a = a ^ b;&lt;br /&gt;b = a ^ b;&lt;br /&gt;a = a ^ b;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is data encapsulation?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Encapsulation may be used by creating ‘get’ and ’set’ methods in a  class (JAVABEAN) which are used to access the fields of the object.  Typically the fields are made private while the get and set methods are  public. Encapsulation can be used to validate the data that is to be  stored, to do calculations on data that is stored in a field or fields,  or for use in introspection (often the case when using javabeans in  Struts, for instance). Wrapping of data and function into a single unit  is called as data encapsulation. Encapsulation is nothing but wrapping  up the data and associated methods into a single unit in such a way that  data can be accessed with the help of associated methods. Encapsulation  provides data security. It is nothing but data hiding.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is reflection API? How are they implemented?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Reflection is the process of introspecting the features and state of a  class at runtime and dynamically manipulate at run time. This is  supported using Reflection API with built-in classes like Class, Method,  Fields, Constructors etc. Example: Using Java Reflection API we can get  the class name, by using the getName method.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Does JVM maintain a cache by itself? Does the JVM allocate  objects in heap? Is this the OS heap or the heap maintained by the                       JVM? Why&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Yes, the JVM maintains a cache by itself. It creates the Objects on the HEAP, but references to those objects are on the STACK.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is phantom memory?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Phantom memory is false memory. Memory that does not exist in reality.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Can a method be static and synchronized?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;A static method can be synchronized. If you do so, the JVM will obtain a lock on the java.lang.&lt;br /&gt;Class instance associated with the object. It is similar to saying:&lt;/p&gt; &lt;p&gt;synchronized(XYZ.class) {&lt;/p&gt; &lt;p&gt;}&lt;/p&gt; &lt;p&gt;&lt;strong&gt;What is difference between String and StringTokenizer?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;A StringTokenizer is utility class used to break up string.&lt;/p&gt; &lt;p class=&quot;style4&quot;&gt;Example:&lt;/p&gt; &lt;p&gt;StringTokenizer st = new StringTokenizer(”Hello World”);&lt;/p&gt; &lt;p&gt;while (st.hasMoreTokens()) {&lt;/p&gt; &lt;p&gt;System.out.println(st.nextToken());&lt;/p&gt; &lt;p&gt;}&lt;/p&gt; &lt;p class=&quot;style4&quot;&gt;Output:&lt;/p&gt; &lt;p&gt;Hello&lt;/p&gt; &lt;p&gt;World&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/6383783191475740107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technowidgets.blogspot.com/2010/08/java-interview-questions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/6383783191475740107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/6383783191475740107'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/2010/08/java-interview-questions.html' title='Java Interview Questions'/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5296475526203806788.post-6536711934844943972</id><published>2010-08-14T02:34:00.000-07:00</published><updated>2010-08-14T02:34:04.505-07:00</updated><title type='text'>Java And Internet</title><content type='html'>&lt;a href=&quot;http://technowidgets.blogspot.com/2010/08/java-and-internet.html&quot;&gt;Java And Internet&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/6536711934844943972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technowidgets.blogspot.com/2010/08/java-and-internet_14.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/6536711934844943972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/6536711934844943972'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/2010/08/java-and-internet_14.html' title='Java And Internet'/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5296475526203806788.post-7623351562176422563</id><published>2010-08-14T02:28:00.000-07:00</published><updated>2010-08-14T02:32:11.987-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java And Internet"/><title type='text'>Java And Internet</title><content type='html'>&lt;img style=&quot;float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 269px; height: 188px;&quot; src=&quot;http://t1.gstatic.com/images?q=tbn:ANd9GcSixru81fLiknWmUa4aS5m14gCMsR3UkTl57DmYEsxxnWvNzKM&amp;amp;t=1&amp;amp;usg=__yQqkMG2kJ_BtGo12gEM5tdk386A=&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;Why java is important to the Internet&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The Internet helped catapult java to the forefront of programming, and  java, in turn, has had a profound effect on the Internet. The reason for  this is quite simple: Java expands the universe of objects that can  move about freely in cyberspace. In a network, two very broad categories  of objects are transmitted between the server and your personal  computer: passive information and dynamic, active programs. For example,  when you read your e-mail, you are viewing passive data. Even when you  download a program, the program’s code is still only passive data. Even  when you download a second type of object can be transmitted to your  computer: a dynamic, self-executing program. Such a program is and the  server yet initiates active agent on the client computer. For example,  the server to display properly the data that the server is sending might  provide a program.&lt;br /&gt;&lt;br /&gt; As desirable as dynamic, networked programs are, they also present  serious problems in the areas of security and portability. Prior to  java, cyberspace was effectively closed to half the entities that now  live there, as you will see, java addresses those concerns and, by doing  so, has opened the door to an exciting new form of program: the applet.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Java Applets and Applications &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Java can be used to create two types of programs: applications and  applets. An application is a program that runs on your computer, under  the operating system of that computer. That is , an application created  by java is more or less like one created using C or C++. When used to  create applications, java is a not much different from any other  computer language. Rather, it is java’s ability to create applets that  makes it important. An applet is an application designed to be  transmitted over the Internet and executed by a java-compatible Web  browser. An applet is actually a tiny java program, dynamically  downloaded across the network, just like an image, sound file, or video  clip. The important difference is that an applet is an intelligent  program, not just and animation or media file. In other words, and  applet is a program that can react to user input and dynamically change  not just run the same animation or sound over and over.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Security&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;As you are likely aware, every time that you download a “normal ”  program, you are risking a viral infection. Prior to java, most users  did not download executable programs frequently, and those who did  scanned them for viruses prior to execution. Even so, most users still  worried about the possibility of infection their systems with a virus.  In addition to viruses, another type of maillicious program exists that  must be guarded against. This type of program can gather private  information, such as credit card numbers, bank account balances, and  passwords, by searching the contents of your computer’s local file  system, java answer both of these concerns by providing a “firewall”  between a networked application and your computer.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Portability&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Many types of computers and operating systems are in use throughout the  world - and many are connected to the Internet. For programs to be  dynamically downloaded to all the various types of platforms connected  to the Internet, some means of generating portable executable code is  needed. As you will soon see, the same mechanism that helps ensure  security also helps create portability. Indeed, java’s solution to these  two problems is both elegant and efficient.&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/7623351562176422563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technowidgets.blogspot.com/2010/08/java-and-internet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/7623351562176422563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/7623351562176422563'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/2010/08/java-and-internet.html' title='Java And Internet'/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5296475526203806788.post-36450710434915303</id><published>2010-08-13T08:55:00.000-07:00</published><updated>2010-08-13T09:01:01.606-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Enterprise Edition"/><category scheme="http://www.blogger.com/atom/ns#" term="Java Platform"/><title type='text'>Java Platform, Enterprise Edition</title><content type='html'>&lt;img style=&quot;float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 307px; height: 164px;&quot; src=&quot;http://t1.gstatic.com/images?q=tbn:ANd9GcQjPiTwzNmW4OShb5XwTNbIK2ZRtpuJA0xMAvnJ5gbVS04nprs&amp;amp;t=1&amp;amp;usg=__PT2lzO3suE8g0-qTCgTYA8vG1ss=&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;Java Platform, Enterprise Edition (Java EE) 6 is the industry standard  for enterprise Java computing. Utilize the new, lightweight Java EE 6  Web Profile to create next-generation web applications, and the full  power of the Java EE 6 platform for enterprise applications. Developers  will benefit from productivity improvements with more annotations, more  POJOs, simplified packaging, and less XML configuration.</content><link rel='replies' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/36450710434915303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technowidgets.blogspot.com/2010/08/java-platform-enterprise-edition.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/36450710434915303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/36450710434915303'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/2010/08/java-platform-enterprise-edition.html' title='Java Platform, Enterprise Edition'/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5296475526203806788.post-5205639084233125905</id><published>2010-08-12T10:29:00.000-07:00</published><updated>2010-08-12T10:29:21.162-07:00</updated><title type='text'>Computer Education: Programming In C++</title><content type='html'>&lt;a href=&quot;http://technowidgets.blogspot.com/2010/07/programming-in-c.html?spref=bl&quot;&gt;Computer Education: Programming In C++&lt;/a&gt;: &quot;Probably the best way to start learning a programming language is by  writing a program. Therefore, here is our first program:    // my fir...&quot;</content><link rel='replies' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/5205639084233125905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technowidgets.blogspot.com/2010/08/computer-education-programming-in-c.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/5205639084233125905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/5205639084233125905'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/2010/08/computer-education-programming-in-c.html' title='Computer Education: Programming In C++'/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5296475526203806788.post-4440737613569623947</id><published>2010-08-12T10:23:00.000-07:00</published><updated>2010-08-12T10:23:08.428-07:00</updated><title type='text'>Computer Education: Importance Of Java Programming</title><content type='html'>&lt;a href=&quot;http://technowidgets.blogspot.com/2010/08/importance-of-java-programming.html?spref=bl&quot;&gt;Computer Education: Importance Of Java Programming&lt;/a&gt;: &quot;Java  is a programming language distinct from  the markup scheme for defining hypertext, the Hypertext Markup Language (HTML). Java  doesn...&quot;</content><link rel='replies' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/4440737613569623947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technowidgets.blogspot.com/2010/08/computer-education-importance-of-java.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/4440737613569623947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/4440737613569623947'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/2010/08/computer-education-importance-of-java.html' title='Computer Education: Importance Of Java Programming'/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5296475526203806788.post-4100314599025241516</id><published>2010-08-12T09:47:00.000-07:00</published><updated>2010-08-12T09:52:31.777-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Importance Of Java Programming"/><title type='text'>Importance Of Java Programming</title><content type='html'>&lt;img style=&quot;float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 189px; height: 267px;&quot; src=&quot;http://t3.gstatic.com/images?q=tbn:ANd9GcQ4Wn8uuL2TsYFevwJHt3zbHZ-5OThq3QLaARxlKY8fp7rAjEo&amp;amp;t=1&amp;amp;usg=___yDGGFERQ7YCpU-mJcnRrB8lR8g=&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;&lt;p&gt; Java  is a programming language distinct from  the markup scheme for defining hypertext, the Hypertext Markup Language (HTML). Java  doesn&#39;t compete with  or replace HTML, nor does it negate  the work done creating content using  HTML for the Web.  &lt;/p&gt;&lt;p&gt; When it was released in the spring of 1995 by Sun Microsystems, Java unleashed a level of interactivity on the Web that had never been possible before.  Java makes the Web interactive.  &lt;/p&gt;&lt;p&gt; Java  connects with HTML and the Web through a special HTML element called APPLET, which allows developers to include Java programs called applets on Web pages. These applets are essentially software programs that the user&#39;s browser downloads (automatically, as part of Web page observation) and executes. With real-time graphical input and output possible through the applet on the page, Java  thus opens windows to  into richer levels of interactivity and visualization.   &lt;/p&gt;&lt;h3&gt;What is the Big Deal About Java?&lt;/h3&gt;  &lt;p&gt; Prior to 1995, people and organizations had been using  webs of hypermedia on the World Wide Web to communicate globally and instantly.  But something was missing. The often intriguing, informative, and useful Web content was devoid of much interactivity.  Some users felt that the hyperlinks on the Web just kept leading them on, until ultimately, the Web seemed like a road to  nowhere: with no &lt;em&gt;there&lt;/em&gt; there.  Java potentially changes this.  &lt;/p&gt;&lt;p&gt; Java enables developers to create content that can be delivered to and run by users on their computers. This content  is in the form of software that can support anything that programmers can dream up: spreadsheets, tutorials, animations, and interactive games. With the Web page as the delivery platform, this software can support a variety of information tasks with true interactivity: for example,  users can get continuous, instantaneous feedback for applications in visualization, animation and computation. Users of the Web in Java   age may indeed find a &lt;i&gt;there&lt;/i&gt; on the Web: a place to play, work, or learn.  &lt;/p&gt;&lt;h3&gt;Who is Using Java?&lt;/h3&gt;  &lt;p&gt; Many companies have made a decision to use Java as  the language for their  software development. As the first interactive language for the Web content, Java got a good head-start, resulting in a good base of experience and skills among programmers.  With Sun Microsystems&#39; committment to Java, it looks like Java is a good choice for Internet content development.  &lt;/p&gt;&lt;h3&gt;My Opinion of Java&lt;/h3&gt;  &lt;p&gt; I was very excited about Java when it was released in the spring of  1995.  I spent the summer of 1995 writing  the first published Java book and, in it, I was enthusiastic with my first  experience of Java.  I saw so much potential. &lt;/p&gt;&lt;p&gt; Yet today, I see results with  Java that are far, far less than what I had imagined. More than two years from its invention (two years is  aeons in Internet time), Java really isn&#39;t used as  extensively as I thought it would be.  I think the reasons for this lie not in the language--it is actually a very good language. Instead, I think these issues  have held Java back:   &lt;/p&gt;&lt;ol&gt;&lt;li&gt;Web developer&#39;s attention was    scattered during the period   1995-1996 with many new technologies    (Shockwave, JavaScript [&lt;em&gt;JavaScript has nothing   to do with Java&lt;/em&gt;], ActiveX)    that all seemed    to promise a richer and more interactive Web.   The tragedy of the JavaScript name,    for example, lulled (and still lulls) many    Web developers to squander their skills on buggy,    non-standard, JavaScript   code on HTML pages.   &lt;/li&gt;&lt;li&gt;Many Web developer&#39;s lack the skills to create   useful interactivity in Web pages.    Java is a software language--it is not something    that a person can pick up as easily as HTML.   Java requires a solid understanding of object-oriented   development methodologies and implementation practices,   besides good software engineering skills.   And since Java is used to create interactivity on    Web pages, developers need to know about human-computer   interface design.   And since Java can be used    to mediated human communication   (in groupware, for example),    developers should understanding computer-mediated   communication issues.    What this means is that someone who wants to    do serious Java development should be a specialist.   Amateur users    can learn Java in 14 days and create   &quot;toy&quot; applets, but the    level of their work would be far below the power    and potential of Java itself.      My feeling is that it is a tragedy that   few people realize this distinction    and instead dink around with    silly animations and toy applets on their pages    and believe they are creating &quot;interactive content.&quot;   &lt;/li&gt;&lt;li&gt;Java class libraries are just coming into existence.   The raw Java Developer&#39;s Toolkit that Sun provides   for free shouldn&#39;t be the basis for serious Java   development--this is like starting to build a    car using molten metal, plastic, and    glass to create the screws, parts, and    mechanisms that will   make up the components.    Instead, Java developers need   to stand on the shoulders of giants and start   building serious, complex applications using    components and subsystems, not raw materials.  &lt;/li&gt;&lt;/ol&gt;  &lt;p&gt; I think in the long run, Java is a good choice for development.   I think the advances in Java compilation and run-time support in the latest  versions of  Web browsers should support a more pleasing experience for users of Java applets.  I think that, in several years, developers may eventually grasp the importance of Java as a  bridge of human communication online. I think then we&#39;ll begin to see the potential of Java.  &lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/4100314599025241516/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technowidgets.blogspot.com/2010/08/importance-of-java-programming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/4100314599025241516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/4100314599025241516'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/2010/08/importance-of-java-programming.html' title='Importance Of Java Programming'/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5296475526203806788.post-3802737124765079430</id><published>2010-08-10T22:48:00.000-07:00</published><updated>2010-08-10T23:01:21.633-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java Script Language"/><title type='text'>Java Script Language</title><content type='html'>&lt;img style=&quot;float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 204px; height: 247px;&quot; src=&quot;http://t3.gstatic.com/images?q=tbn:ANd9GcQCNY7wuOxEAzwQ-hYK0mWOP5v-0MLJw5HQHkuheh_8Savwi8M&amp;amp;t=1&amp;amp;usg=__e1B93A_1UjpxN4GAjmvpfmgtHkY=&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;Overview&lt;br /&gt;&lt;br /&gt;This document is an introduction to the JavaScript Programming Language for professional programmers. It is a small language, so if you are familiar with other languages, then this won&#39;t be too demanding.&lt;br /&gt;&lt;br /&gt;JavaScript is not Java. They are two very different languages. JavaScript is not a subset of Java. It is not interpreted Java. (Java is interpreted Java!) JavaScript shares C-family syntax with Java, but at a deeper level it shows greater similarity to the languages Scheme and Self. It is a small language, but it is also a suprisingly powerful and expressive language.You should take a look at it. You will find that it is not a toy language, but a full programming language with many distinctive properties.&lt;br /&gt;&lt;br /&gt;JavaScript is a regular language which won&#39;t take much time to learn. It is better suited to some tasks, such as client programming, than Java is. In my own practice, I have found that working with JavaScript has made me a better Java programmer because it introduced me to a useful set of dynamic techniques.&lt;br /&gt;&lt;br /&gt;When JavaScript was first introduced, I dismissed it as being not worth my attention. Much later, I took another look at it and discovered that hidden in the browser was an excellent programming language. My initial attitudes were based on the initial positioning of JavaScript by Sun and Netscape. They made many misstatements about JavaScript in order to avoid positioning JavaScript as a competitor to Java. Those misstatements continue to echo in the scores of badly written JavaScript books aimed at the dummies and amateurs market.&lt;br /&gt;&lt;br /&gt;History&lt;br /&gt;&lt;br /&gt;JavaScript was developed by Brendan Eich at Netscape as the in-page scripting language for Navigator 2. It is a remarkably expressive dynamic programming language. Because of its linkage to web browsers, it instantly became massively popular. It never got a trial period in which it could be corrected and polished based on actual use. The language is powerful and flawed.&lt;br /&gt;&lt;br /&gt;This document describes ECMAScript Edition 3 (aka JavaScript 1.5). Microsoft and Netscape are developing a static revision which does not correct the language&#39;s flaws. That new language is not JavaScript and is beyond the scope of this document.&lt;br /&gt;&lt;br /&gt;JavaScript is THE scripting language of the Web.&lt;br /&gt;&lt;br /&gt;JavaScript is used in millions of Web pages to add functionality, validate forms, detect browsers, and much more.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;br /&gt;document.write(&quot;This is my first JavaScript!&quot;);&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/3802737124765079430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technowidgets.blogspot.com/2010/08/java-script-language.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/3802737124765079430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/3802737124765079430'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/2010/08/java-script-language.html' title='Java Script Language'/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5296475526203806788.post-1576422393179701282</id><published>2010-08-10T04:46:00.000-07:00</published><updated>2010-08-10T04:56:48.754-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java Applet Programming"/><title type='text'>Java Applet Programming</title><content type='html'>&lt;img style=&quot;float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 249px; height: 202px;&quot; src=&quot;http://t0.gstatic.com/images?q=tbn:ANd9GcTbbCmq-BTUVbybbzmwrRG93iOtAA_hPnX-z8iKIw8PA3xeMMU&amp;amp;t=1&amp;amp;usg=__bocZJbtnxvoMIG4xqPEXHzn-1Pw=&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;&lt;h2&gt; History&lt;/h2&gt;  &lt;ul&gt;&lt;li&gt; It was originally called Oak, developed by SUN Microsystems, in a project called FirstPerson for smart appliances, such as set-top-box (interactive TV) 1992, lead by James Gosling.&lt;/li&gt;&lt;li&gt; It adopted C++ syntax but get rid of pointer, memory management, and multiple inheritance, which are main causes of programming errors.&lt;/li&gt;&lt;li&gt; It failed to be adopted by Timer Warner in Spring 93&#39;s ITV trial.&lt;/li&gt;&lt;li&gt; 1993 Marc Andreesen developed Mosaic Web Browser, started the web revolution.&lt;/li&gt;&lt;li&gt; Oak found its reason for existence.  A Web browser called WebRunner was developed for demonstration.&lt;/li&gt;&lt;li&gt; January 1995, Sun adopted Java name due to trademark issue.&lt;/li&gt;&lt;li&gt; Marc Andreesen saw the demo and license it for use in its browser.&lt;/li&gt;&lt;li&gt; Nov. 1995, 1st Beta release with developer kit and source code.&lt;/li&gt;&lt;/ul&gt;  &lt;h2&gt; What is Java Applet&lt;/h2&gt;  &lt;ul&gt;&lt;li&gt; Java is a general purpose programming language.&lt;/li&gt;&lt;li&gt; A Java program is created as a text file with .java extension.&lt;/li&gt;&lt;li&gt; It is compiled into one or more files of bytecodes with .class extension.&lt;/li&gt;&lt;li&gt; Bytecodes are a set of instructions similar to machine code of a specific machine but it can be run on any machine that has a Java Virtual Machine (JVM).  JVM interprets bytecodes.&lt;/li&gt;&lt;li&gt; JVM was first implemented on Sparc/Solaris and PC/Win32. Now ported to many other platforms.&lt;/li&gt;&lt;li&gt; Java applets are Java programs that are retrieved and executed by web browsers through the JVM under tight secure environment.&lt;/li&gt;&lt;li&gt; Web browsers retrieve Java applets according to following tags in the web pages:&lt;/li&gt;&lt;br /&gt;&lt;span style=&quot;color:#ff0000;&quot;&gt;&lt;applet code=&quot;ResPlotApplet.class&quot; height=&quot;500&quot; width=&quot;600&quot;&gt; &lt;span style=&quot;color:#cc33cc;&quot;&gt;deprecated &lt;/span&gt;&lt;span style=&quot;color:#ff0000;&quot;&gt;or the new more general,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:#ff0000;&quot;&gt;&lt;object codetype=&quot;application/java&quot; classid=&quot;java:ResPlotApplet.class&quot; width=&quot;600&lt;/font&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color:#ff0000;&quot;&gt;        height=500&gt;&lt;/span&gt;&lt;li&gt;&lt;br /&gt;&lt;/li&gt;&lt;param&gt; are used to specify parameters for the applet. For example,&lt;br /&gt;&lt;applet code=&quot;Animator.class&quot; in=&quot;&quot; of=&quot;&quot; the=&quot;&quot; widest=&quot;&quot; frame=&quot;&quot; height=&quot;aNumber&quot; width=&quot;aNumber&quot;&gt;           -- the height (in pixels) of the tallest frame&lt;br /&gt;&lt;param name=&quot;IMAGESOURCE&quot; value=&quot;aDirectory&quot;&gt;         -- the directory that has the animation frames (gif, jpg) &lt;li&gt; All other types of java programs are called Java applications.&lt;/li&gt;&lt;li&gt; Examples:&lt;/li&gt;&lt;li&gt; Network Restoration Applet: User specifies two end node of a failed link. The applet retrieves the simulation results of two network restoration algorithms (twoprong and rreact) in two corresponding files at original web server site, and plot the results.&lt;/li&gt;&lt;li&gt; SUN Java demos:&lt;/li&gt;&lt;ul&gt;&lt;li&gt; MoleculeViewer&lt;/li&gt;&lt;li&gt; SimpleGraph&lt;/li&gt;&lt;li&gt; SortDemo&lt;/li&gt;&lt;li&gt; BarChart&lt;/li&gt;&lt;li&gt; Animator&lt;/li&gt;&lt;li&gt; JumpingBo&lt;/li&gt;&lt;/ul&gt;&lt;/applet&gt;&lt;/object&gt;&lt;/span&gt;&lt;/applet&gt;&lt;/span&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/1576422393179701282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technowidgets.blogspot.com/2010/08/java-applet-programming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/1576422393179701282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/1576422393179701282'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/2010/08/java-applet-programming.html' title='Java Applet Programming'/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5296475526203806788.post-3915744668447730970</id><published>2010-07-16T18:01:00.000-07:00</published><updated>2010-07-16T18:05:18.639-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="About The Java Technoogy"/><title type='text'>About The Java Technoogy</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://t0.gstatic.com/images?q=tbn:xLpMD6GsqSeBPM:http://www.scs.nevada.edu/tasks/sites/default/assets/Image/scs/about-java.gif&quot;&gt;&lt;img style=&quot;float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 123px; height: 106px;&quot; src=&quot;http://t0.gstatic.com/images?q=tbn:xLpMD6GsqSeBPM:http://www.scs.nevada.edu/tasks/sites/default/assets/Image/scs/about-java.gif&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt; &lt;b&gt;To date, the Java platform has attracted more than 6.5 million  software developers. It&#39;s used in every major industry segment and has a presence in a wide  range of devices, computers, and networks.&lt;/b&gt; &lt;/p&gt; &lt;p&gt; Java technology&#39;s versatility, efficiency, platform portability, and  security make it the ideal technology for network computing. From  laptops to datacenters, game consoles to scientific supercomputers, cell  phones to the Internet, Java is everywhere! &lt;/p&gt;  &lt;p&gt;Java powers more than 4.5 billion devices including:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;850+ million PCs&lt;/li&gt;&lt;li&gt;2.1 billion mobile phones and other handheld devices (source: Ovum)&lt;/li&gt;&lt;li&gt;3.5 billion smart cards&lt;/li&gt;&lt;li&gt;Set-top boxes, printers, Web cams, games, car navigation systems,  lottery terminals, medical devices, parking payment stations, and more.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt; To see places of Java in Action in your daily life, explore java.com. &lt;/p&gt;  &lt;h2&gt;Why Software Developers Choose Java&lt;/h2&gt; &lt;p&gt; Java has been tested, refined, extended, and proven by a dedicated  community.   And numbering more than 6.5 million developers, it&#39;s the largest and  most active   on the planet. With its versatilty, efficiency, and portability, Java  has become   invaluable to developers by enabling them to: &lt;/p&gt; &lt;ul&gt;&lt;li&gt;Write software on one platform and run it on virtually any other  platform&lt;/li&gt;&lt;li&gt;Create programs to run within a Web browser and Web services&lt;/li&gt;&lt;li&gt;Develop server-side applications for online forums, stores, polls,  HTML forms processing, and more&lt;/li&gt;&lt;li&gt;Combine applications or services using the Java language to create  highly customized applications or services&lt;/li&gt;&lt;li&gt;Write powerful and efficient applications for mobile phones, remote  processors, low-cost consumer products, and practically any other device  with a digital heartbeat&lt;/li&gt;&lt;/ul&gt;  &lt;h2&gt;Some Ways Software Developers Learn Java&lt;/h2&gt; &lt;p&gt; Today, many colleges and universities offer courses in programming for  the Java platform. In addition, developers can also enhance their Java  programming skills by reading Sun&#39;s java.sun.com  Web site, subscribing to Java technology-focused  newsletters, using the Java Tutorial and  the New  to Java Programming Center, and signing up for Web, virtual, or  instructor-led courses. &lt;/p&gt; &lt;a name=&quot;javafx&quot;&gt;&lt;/a&gt; &lt;h3&gt;What Is JavaFX&lt;/h3&gt; &lt;p&gt; &lt;img src=&quot;http://www.java.com/images/javafx/javafx_logo.png&quot; alt=&quot;JavaFX  logo&quot; style=&quot;float: right; margin: 0.5em 1.5em 1.5em; padding: 0pt;&quot; height=&quot;52&quot; width=&quot;120&quot; /&gt; JavaFX extends your web experience by delivering rich media and content  across all the screens of your life. As users, you will be able to run  JavaFX applications in a browser or drag and drop them onto the desktop.  It&#39;s a seamless interface! &lt;/p&gt;  &lt;p&gt; &lt;strong&gt;JavaFX is powered by Java:&lt;/strong&gt; JavaFX extends the power of  Java by allowing developers to use any Java library within JavaFX  applications. This way developers can expand their capabilities in Java  and make use of the revolutionary presentation technology that JavaFX  provides to build engaging visual experiences. &lt;/p&gt;  &lt;h5 class=&quot;sub&quot;&gt;Highlights of JavaFX:&lt;/h5&gt; &lt;ul&gt;&lt;li&gt;Allows users to view JavaFX applications in a browser or break free  of the browser by dragging and dropping the same application onto the  desktop&lt;/li&gt;&lt;li&gt;Enables an efficient designer-to-developer workflow with Project  Nile: designers can work in their tools of choice while collaborating  with Web scripters who use the NetBeans IDE with JavaFX&lt;/li&gt;&lt;li&gt;Extends Java technology by enabling use of any Java library within a  JavaFX application&lt;/li&gt;&lt;li&gt;Allows developers to integrate vector graphics, animation, audio,  and video Web assets into a rich, interactive, immersive application&lt;/li&gt;&lt;/ul&gt; &lt;p&gt; To learn more about JavaFX technology, visit javafx.com or java.sun.com/javafx  web sites for more information. &lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/3915744668447730970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technowidgets.blogspot.com/2010/07/about-java-technoogy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/3915744668447730970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/3915744668447730970'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/2010/07/about-java-technoogy.html' title='About The Java Technoogy'/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5296475526203806788.post-3265647912769183931</id><published>2010-07-15T23:50:00.000-07:00</published><updated>2010-07-15T23:55:17.003-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Programming In C++"/><title type='text'>Programming In C++</title><content type='html'>&lt;img style=&quot;float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 137px; height: 78px;&quot; src=&quot;http://t1.gstatic.com/images?q=tbn:WWPZGjOrHm6svM:http://avnerd.tv/lukasblakk/images/dataEntry_snap.png&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;Probably the best way to start learning a programming language is by  writing a program. Therefore, here is our first program:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;auto&quot;&gt;&lt;table class=&quot;split&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rownum&quot;&gt;&lt;tt&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/td&gt; &lt;td class=&quot;source&quot;&gt;&lt;pre&gt;&lt;code&gt;&lt;cite&gt;// my first program in C++&lt;/cite&gt;&lt;br /&gt;&lt;br /&gt;&lt;dfn&gt;#include &lt;iostream&gt;&lt;/iostream&gt;&lt;/dfn&gt;&lt;br /&gt;&lt;var&gt;using&lt;/var&gt; &lt;var&gt;namespace&lt;/var&gt; std;&lt;br /&gt;&lt;br /&gt;&lt;var&gt;int&lt;/var&gt; main ()&lt;br /&gt;{&lt;br /&gt;cout &lt;&lt; &lt;kbd&gt;&quot;Hello World!&quot;&lt;/kbd&gt;;&lt;br /&gt;&lt;var&gt;return&lt;/var&gt; 0;&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt; &lt;td class=&quot;output&quot;&gt;&lt;pre&gt;&lt;samp&gt;(Hello World!)&lt;/samp&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The first panel (in light blue) shows the source code for our first  program. The second one (in light gray) shows the result of the program  once compiled and executed. To the left, the grey numbers represent the  line numbers - these are not part of the program, and are shown here  merely for informational purposes.&lt;br /&gt;&lt;br /&gt;The way to edit and compile a program depends on the compiler you are  using. Depending on whether it has a Development Interface or not and on  its version. Consult the compilers section and the manual or help  included with your compiler if you have doubts on how to compile a C++  console program.&lt;br /&gt;&lt;br /&gt;The previous program is the typical program that programmer apprentices  write for the first time, and its result is the printing on screen of  the &quot;Hello World!&quot; sentence. It is one of the simplest programs that can  be written in C++, but it already contains the fundamental components  that every C++ program has. We are going to look line by line at the  code we have just written:&lt;br /&gt;&lt;br /&gt;&lt;dl&gt;&lt;dt&gt;&lt;code&gt;// my first program in C++&lt;/code&gt;&lt;/dt&gt;&lt;dd&gt;&lt;br /&gt;This is a comment line. All lines beginning with two slash signs (&lt;code&gt;//&lt;/code&gt;)  are considered comments and do not have any effect on the behavior of  the program. The programmer can use them to include short explanations  or observations within the source code itself. In this case, the line is  a brief description of what our program is.&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;code&gt;#include &lt;iostream&gt;&lt;/iostream&gt;&lt;/code&gt;&lt;/dt&gt;&lt;dd&gt;&lt;br /&gt;Lines beginning with a hash sign (&lt;code&gt;#&lt;/code&gt;) are directives for the  preprocessor. They are not regular code lines with expressions but  indications for the compiler&#39;s preprocessor. In this case the directive &lt;code&gt;#include  &lt;iostream&gt;&lt;/iostream&gt;&lt;/code&gt; tells the preprocessor to include the iostream  standard file. This specific file (iostream) includes the declarations  of the basic standard input-output library in C++, and it is included  because its functionality is going to be used later in the program.&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;code&gt;using namespace std;&lt;/code&gt;&lt;/dt&gt;&lt;dd&gt;&lt;br /&gt;All the elements of the standard C++ library are declared within what is  called a namespace, the namespace with the name &lt;var&gt;std&lt;/var&gt;. So in  order to access its functionality we declare with this expression that  we will be using these entities. This line is very frequent in C++  programs that use the standard library, and in fact it will be included  in most of the source codes included in these tutorials.&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;code&gt;int main ()&lt;/code&gt;&lt;/dt&gt;&lt;dd&gt;&lt;br /&gt;This line corresponds to the beginning of the definition of the main  function. The main function is the point by where all C++ programs start  their execution, independently of its location within the source code.  It does not matter whether there are other functions with other names  defined before or after it - the instructions contained within this  function&#39;s definition will always be the first ones to be executed in  any C++ program. For that same reason, it is essential that all C++  programs have a &lt;var&gt;main&lt;/var&gt; function.&lt;br /&gt;&lt;br /&gt;The word &lt;code&gt;main&lt;/code&gt; is followed in the code by a pair of  parentheses (&lt;code&gt;()&lt;/code&gt;). That is because it is a function  declaration: In C++, what differentiates a function declaration from  other types of expressions are these parentheses that follow its name.  Optionally, these parentheses may enclose a list of parameters within  them.&lt;br /&gt;&lt;br /&gt;Right after these parentheses we can find the body of the main function  enclosed in braces (&lt;code&gt;{}&lt;/code&gt;). What is contained within these  braces is what the function does when it is executed.&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;code&gt;cout &lt;&lt; &quot;Hello World!&quot;;&lt;/code&gt;&lt;/dt&gt;&lt;dd&gt;&lt;br /&gt;This line is a C++ statement. A statement is a simple or compound  expression that can actually produce some effect. In fact, this  statement performs the only action that generates a visible effect in  our first program.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;cout&lt;/code&gt; is the name of the standard output stream in C++, and  the meaning of the entire statement is to insert a sequence of  characters (in this case the &lt;samp&gt;Hello World&lt;/samp&gt; sequence of  characters) into the standard output stream (&lt;var&gt;cout&lt;/var&gt;, which  usually corresponds to the screen).&lt;br /&gt;&lt;br /&gt;&lt;var&gt;cout&lt;/var&gt; is declared in the &lt;var&gt;iostream&lt;/var&gt; standard file  within the &lt;var&gt;std&lt;/var&gt; namespace, so that&#39;s why we needed to include  that specific file and to declare that we were going to use this  specific namespace earlier in our code.&lt;br /&gt;&lt;br /&gt;Notice that the statement ends with a semicolon character (&lt;code&gt;;&lt;/code&gt;).  This character is used to mark the end of the statement and in fact it  must be included at the end of all expression statements in all C++  programs (one of the most common syntax errors is indeed to forget to  include some semicolon after a statement).&lt;br /&gt;&lt;/dd&gt;&lt;dt&gt;&lt;code&gt;return 0;&lt;/code&gt;&lt;/dt&gt;&lt;dd&gt;&lt;br /&gt;The return statement causes the main function to finish. return may be  followed by a return code (in our example is followed by the return code  with a value of zero). A return code of &lt;var&gt;0&lt;/var&gt; for the &lt;var&gt;main&lt;/var&gt;  function is generally interpreted as the program worked as expected  without any errors during its execution. This is the most usual way to  end a C++ console program.&lt;br /&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;&lt;br /&gt;You may have noticed that not all the lines of this program perform  actions when the code is executed. There were lines containing only  comments (those beginning by &lt;code&gt;//&lt;/code&gt;). There were lines with  directives for the compiler&#39;s preprocessor (those beginning by &lt;code&gt;#&lt;/code&gt;).  Then there were lines that began the declaration of a function (in this  case, the main function) and, finally lines with statements (like the  insertion into &lt;var&gt;cout&lt;/var&gt;), which were all included within the  block delimited by the braces (&lt;code&gt;{}&lt;/code&gt;) of the main function.&lt;br /&gt;&lt;br /&gt;The program has been structured in different lines in order to be more  readable, but in C++, we do not have strict rules on how to separate  instructions in different lines. For example, instead of&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;auto&quot;&gt;&lt;table class=&quot;snippet&quot;&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class=&quot;source&quot;&gt;&lt;pre&gt;&lt;code&gt;&lt;var&gt;int&lt;/var&gt; main ()&lt;br /&gt;{&lt;br /&gt;cout &lt;&lt; &lt;kbd&gt;&quot; Hello World!&quot;&lt;/kbd&gt;;&lt;br /&gt;&lt;var&gt;return&lt;/var&gt; 0;&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;We could have written:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;auto&quot;&gt;&lt;table class=&quot;snippet&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rownum&quot;&gt;&lt;tt&gt; &lt;/tt&gt;&lt;/td&gt; &lt;td class=&quot;source&quot;&gt;&lt;pre&gt;&lt;code&gt;&lt;var&gt;int&lt;/var&gt; main () { cout &lt;&lt; &lt;kbd&gt;&quot;Hello World!&quot;&lt;/kbd&gt;; &lt;var&gt;return&lt;/var&gt; 0; }&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;All in just one line and this would have had exactly the same meaning as  the previous code.&lt;br /&gt;&lt;br /&gt;In C++, the separation between statements is specified with an ending  semicolon (&lt;code&gt;;&lt;/code&gt;) at the end of each one, so the separation in  different code lines does not matter at all for this purpose. We can  write many statements per line or write a single statement that takes  many code lines. The division of code in different lines serves only to  make it more legible and schematic for the humans that may read it.&lt;br /&gt;&lt;br /&gt;Let us add an additional instruction to our first program:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;auto&quot;&gt;&lt;table class=&quot;split&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rownum&quot;&gt;&lt;br /&gt;&lt;/td&gt; &lt;td class=&quot;source&quot;&gt;&lt;pre&gt;&lt;code&gt;&lt;cite&gt;// my second program in C++&lt;/cite&gt;&lt;br /&gt;&lt;br /&gt;&lt;dfn&gt;#include &lt;iostream&gt;&lt;/iostream&gt;&lt;/dfn&gt;&lt;br /&gt;&lt;br /&gt;&lt;var&gt;using&lt;/var&gt; &lt;var&gt;namespace&lt;/var&gt; std;&lt;br /&gt;&lt;br /&gt;&lt;var&gt;int&lt;/var&gt; main ()&lt;br /&gt;{&lt;br /&gt;cout &lt;&lt; &lt;kbd&gt;&quot;Hello World! &quot;&lt;/kbd&gt;;&lt;br /&gt;cout &lt;&lt; &lt;kbd&gt;&quot;I&#39;m a C++ program&quot;&lt;/kbd&gt;;&lt;br /&gt;&lt;var&gt;return&lt;/var&gt; 0;&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt; &lt;td class=&quot;output&quot;&gt;&lt;pre&gt;&lt;samp&gt;(Hello World! I&#39;m a C++ program)&lt;/samp&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;In this case, we performed two insertions into cout in two different  statements. Once again, the separation in different lines of code has  been done just to give greater readability to the program, since &lt;var&gt;main&lt;/var&gt;  could have been perfectly valid defined this way:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;auto&quot;&gt;&lt;table class=&quot;snippet&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rownum&quot;&gt;&lt;tt&gt; &lt;/tt&gt;&lt;/td&gt; &lt;td class=&quot;source&quot;&gt;&lt;pre&gt;&lt;code&gt;&lt;var&gt;int&lt;/var&gt; main () { cout &lt;&lt; &lt;kbd&gt;&quot; Hello World! &quot;&lt;/kbd&gt;; cout &lt;&lt; &lt;kbd&gt;&quot; I&#39;m a C++ program &quot;&lt;/kbd&gt;; &lt;var&gt;return&lt;/var&gt; 0; } &lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;We were also free to divide the code into more lines if we considered it  more convenient:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;auto&quot;&gt;&lt;table class=&quot;snippet&quot;&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class=&quot;source&quot;&gt;&lt;pre&gt;&lt;code&gt;&lt;var&gt;int&lt;/var&gt; main ()&lt;br /&gt;{&lt;br /&gt;cout &lt;&lt;    &lt;kbd&gt;&quot;Hello World!&quot;&lt;/kbd&gt;;&lt;br /&gt;cout&lt;br /&gt;  &lt;&lt; &lt;kbd&gt;&quot;I&#39;m a C++ program&quot;&lt;/kbd&gt;;&lt;br /&gt;&lt;var&gt;return&lt;/var&gt; 0;&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;And the result would again have been exactly the same as in the previous  examples.&lt;br /&gt;&lt;br /&gt;Preprocessor directives (those that begin by &lt;code&gt;#&lt;/code&gt;) are out of  this general rule since they are not statements. They are lines read and  processed by the preprocessor and do not produce any code by  themselves. Preprocessor directives must be specified in their own line  and do not have to end with a semicolon (&lt;code&gt;;&lt;/code&gt;).&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Comments&lt;/h3&gt;&lt;br /&gt;Comments are parts of the source code disregarded by the compiler. They  simply do nothing. Their purpose is only to allow the programmer to  insert notes or descriptions embedded within the source code.&lt;br /&gt;&lt;br /&gt;C++ supports two ways to insert comments:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;auto&quot;&gt;&lt;table class=&quot;snippet&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rownum&quot;&gt;&lt;tt&gt;1&lt;br /&gt;2&lt;br /&gt;&lt;/tt&gt;&lt;/td&gt; &lt;td class=&quot;source&quot;&gt;&lt;pre&gt;&lt;code&gt;&lt;cite&gt;// line comment&lt;/cite&gt;&lt;br /&gt;&lt;cite&gt;/* block comment */&lt;/cite&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The first of them, known as line comment, discards everything from where  the pair of slash signs (&lt;code&gt;//&lt;/code&gt;) is found up to the end of  that same line. The second one, known as block comment, discards  everything between the &lt;code&gt;/*&lt;/code&gt; characters and the first  appearance of the &lt;code&gt;*/&lt;/code&gt; characters, with the possibility of  including more than one line.&lt;br /&gt;We are going to add comments to our second program:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;auto&quot;&gt;&lt;table class=&quot;split&quot;&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td class=&quot;source&quot;&gt;&lt;pre&gt;&lt;code&gt;&lt;cite&gt;/* my second program in C++&lt;br /&gt; with more comments */&lt;/cite&gt;&lt;br /&gt;&lt;br /&gt;&lt;dfn&gt;#include &lt;iostream&gt;&lt;/iostream&gt;&lt;/dfn&gt;&lt;br /&gt;&lt;var&gt;using&lt;/var&gt; &lt;var&gt;namespace&lt;/var&gt; std;&lt;br /&gt;&lt;br /&gt;&lt;var&gt;int&lt;/var&gt; main ()&lt;br /&gt;{&lt;br /&gt;cout &lt;&lt; &lt;kbd&gt;&quot;Hello World! &quot;&lt;/kbd&gt;;     &lt;cite&gt;// prints Hello World!&lt;/cite&gt;&lt;br /&gt;cout &lt;&lt; &lt;kbd&gt;&quot;I&#39;m a C++ program&quot;&lt;/kbd&gt;; &lt;cite&gt;// prints I&#39;m a C++ program&lt;/cite&gt;&lt;br /&gt;&lt;var&gt;return&lt;/var&gt; 0;&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt; &lt;td class=&quot;output&quot;&gt;&lt;pre&gt;&lt;samp&gt;(Hello World! I&#39;m a C++ program)&lt;/samp&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;If you include comments within the source code of your programs without  using the comment characters combinations &lt;code&gt;//&lt;/code&gt;, &lt;code&gt;/*&lt;/code&gt;  or &lt;code&gt;*/&lt;/code&gt;, the compiler will take them as if they were C++  expressions, most likely causing one or several error messages when you  compile it.</content><link rel='replies' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/3265647912769183931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technowidgets.blogspot.com/2010/07/programming-in-c.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/3265647912769183931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/3265647912769183931'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/2010/07/programming-in-c.html' title='Programming In C++'/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5296475526203806788.post-8386177503744274257</id><published>2010-07-14T18:39:00.000-07:00</published><updated>2010-07-14T18:40:29.407-07:00</updated><title type='text'></title><content type='html'>..&quot;</content><link rel='replies' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/8386177503744274257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technowidgets.blogspot.com/2010/07/computer-education-c-tips.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/8386177503744274257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/8386177503744274257'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/2010/07/computer-education-c-tips.html' title=''/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5296475526203806788.post-1319425651227660047</id><published>2010-07-14T18:32:00.000-07:00</published><updated>2010-07-14T18:37:15.256-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++ TIPS"/><title type='text'>C++ TIPS</title><content type='html'>&lt;img style=&quot;float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 107px; height: 95px;&quot; src=&quot;data:image/jpg;base64,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&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Break  and Continue Statements&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;A tutorial that tells about Break and Continue Statements in C++.&lt;/p&gt; &lt;h2&gt;Goto Statement&lt;/h2&gt; &lt;p&gt;A tutorial that tells about goto Statement in C++.&lt;/p&gt; &lt;h2&gt;Classes&lt;/h2&gt; &lt;p&gt;A tutorial that tells about Classes in C++.&lt;/p&gt; &lt;h2&gt;Static  Class Members&lt;/h2&gt; &lt;p&gt;A tutorial that tells about Static Class Members in C++.&lt;/p&gt; &lt;h2&gt;Constructors  and Destructors&lt;/h2&gt; &lt;p&gt;A tutorial that tells about Constructors and Destructors in C++.&lt;/p&gt; &lt;h2&gt;Copy  Constructor&lt;/h2&gt; &lt;p&gt;A tutorial that tells about Copy Constructors in C++.&lt;/p&gt; &lt;h2&gt;Dynamic  Memory Allocation in Constructors&lt;/h2&gt; &lt;p&gt;This tutorial demonstrates how you can dynamically allocate memory  for member objects that are inside of a class.&lt;/p&gt; &lt;h2&gt;Inheritance&lt;/h2&gt; &lt;p&gt;A tutorial that tells about Inheritance in C++.&lt;/p&gt; &lt;h2&gt;Constructors  in Derived Class&lt;/h2&gt; &lt;p&gt;A tutorial that tells about Constructors in Derived Class in C++.&lt;/p&gt; &lt;h2&gt;Virtual  Base Classes&lt;/h2&gt; &lt;p&gt;A tutorial that tells about Virtual Base Classes in C++.&lt;/p&gt; &lt;h2&gt;Pointers&lt;/h2&gt; &lt;p&gt;A tutorial that tells about Pointers in C++.&lt;/p&gt; &lt;h2&gt;This Pointer&lt;/h2&gt; &lt;p&gt;A tutorial that tells about this Pointer in C++.&lt;/p&gt; &lt;h2&gt;Arrays&lt;/h2&gt; &lt;p&gt;A tutorial that tells about Arrays in C++.&lt;/p&gt; &lt;h2&gt;Pointers  and Arrays&lt;/h2&gt; &lt;p&gt;A tutorial that tells about Pointers and Arrays in C++.&lt;/p&gt; &lt;h2&gt;Preprocessor&lt;/h2&gt; &lt;p&gt;A tutorial that tells about Preprocessors in C++.&lt;/p&gt; &lt;h2&gt;Structures&lt;/h2&gt; &lt;p&gt;A tutorial that tells about Structures in C++.&lt;/p&gt; &lt;h2&gt;Functions&lt;/h2&gt; &lt;p&gt;A tutorial that tells about Functions and how to pass parameters by  value.&lt;/p&gt; &lt;h2&gt;Call-By-Reference  in Functions&lt;/h2&gt; &lt;p&gt;A tutorial that tells about how to pass parameters, to a function, by  reference.&lt;/p&gt; &lt;h2&gt;Function  Overloading&lt;/h2&gt; &lt;p&gt;A tutorial that tells about a concept called Function Overloading.&lt;/p&gt; &lt;h2&gt;Operator  Overloading&lt;/h2&gt; &lt;p&gt;This tutorial explains the concept of operator overloading. It also  contains tutorials on how to overload unary  and binary  operators.&lt;/p&gt; &lt;h2&gt;Type  Conversion&lt;/h2&gt; &lt;p&gt;Learn how to convert between basic  to class, class  to basic and class  to class types.&lt;/p&gt; &lt;h2&gt;Inline  Function&lt;/h2&gt; &lt;p&gt;A tutorial hat tells about Inline Functions.&lt;/p&gt; &lt;h2&gt;Friend  Function&lt;/h2&gt; &lt;p&gt;A tutorial that tells about Friend Functions.&lt;/p&gt; &lt;h2&gt;Virtual  Functions&lt;/h2&gt; &lt;p&gt;Learn how to use virtual functions and take advantage of dynamic&lt;br /&gt;polymorphism, the essence of object oriented programming in C++.&lt;/p&gt; &lt;h2&gt;If Statement&lt;/h2&gt; &lt;p&gt;A tutorial that tells about execution of an if Statement.&lt;/p&gt; &lt;h2&gt;Scope  Resolution Operator&lt;/h2&gt; &lt;p&gt;This tutorial tells about the scope resolution operator and its use  for accessing class member names as well as hidden global names.&lt;/p&gt; &lt;h2&gt;Conditional  Operators and Switch Statements&lt;/h2&gt; &lt;p&gt;A tutorial that tells about Conditional Operators and Switch  Statements.&lt;/p&gt; &lt;h2&gt;Iterations&lt;/h2&gt; &lt;p&gt;A tutorial that tells about various available types of iterations and  loops.&lt;/p&gt; &lt;h2&gt;Recursion&lt;/h2&gt; &lt;p&gt;A tutorial that tells about Recursion.&lt;/p&gt; &lt;h2&gt;Exception  Handling&lt;/h2&gt; &lt;p&gt;A tutorial that tells about Exception Handling concepts.&lt;/p&gt; &lt;h2&gt;Throw  and Catch Mechanism&lt;/h2&gt; &lt;p&gt;A tutorial that tells about Throw and Catch Mechanism in Exception  Handling.&lt;/p&gt; &lt;h2&gt;Exception  Handling (continued)&lt;/h2&gt; &lt;p&gt;&lt;br /&gt;A tutorial that tells few more concepts about Exception Handling.&lt;/p&gt; &lt;h2&gt;Template&lt;/h2&gt; &lt;p&gt;A tutorial that tells about a generic programming method called  Templates.&lt;/p&gt; &lt;h2&gt;Function  Templates&lt;/h2&gt; &lt;p&gt;A tutorial that tells about Function Templates.&lt;/p&gt; &lt;h2&gt;Function  Template Overloading&lt;/h2&gt; &lt;p&gt;A tutorial that tells about Function Template Overloading.&lt;/p&gt; &lt;h2&gt;Standard  Library Functions&lt;/h2&gt; &lt;p&gt;A tutorial that explains and lists many Standard Library Functions.&lt;/p&gt; &lt;h2&gt;Standard  Library Functions (continued - part1)&lt;/h2&gt; &lt;p&gt;A tutorial that explains and lists many Standard Library Functions.&lt;/p&gt; &lt;h2&gt;Standard  Library Functions (continued - part2)&lt;/h2&gt; &lt;p&gt;A tutorial that explains and lists many Standard Library Functions.&lt;/p&gt; &lt;h2&gt;File  Input/Output&lt;/h2&gt; &lt;p&gt;A tutorial that tells about File Input/Output Operations.&lt;/p&gt; &lt;h2&gt;File  Manipulation&lt;/h2&gt; &lt;p&gt;A tutorial that tells about File Manipulation.&lt;/p&gt; &lt;h2&gt;Binary  Tree - Inserting a Node&lt;/h2&gt; &lt;p&gt;A tutorial that tells how to insert a node into Binary Search Tree.&lt;/p&gt; &lt;h2&gt;Binary  Tree - Searching a Node&lt;/h2&gt; &lt;p&gt;A tutorial that tells how to search for a node in Binary Search Tree.&lt;/p&gt; &lt;h2&gt;Binary  Tree - Deleting a Node&lt;/h2&gt; &lt;p&gt;A tutorial that tells how to delete a node from Binary Search Tree.&lt;/p&gt; &lt;h2&gt;Graphs&lt;/h2&gt; &lt;p&gt;A tutorial that tells about certain structures called Graphs.&lt;/p&gt; &lt;h2&gt;Breadth  First Search Algorithm&lt;/h2&gt; &lt;p&gt;&lt;br /&gt;A tutorial that explains Breath First Search Algorithm which is used to  traverse/search a graph/tree.&lt;/p&gt; &lt;h2&gt;Depth  First Search Algorithm&lt;/h2&gt; &lt;p&gt;&lt;br /&gt;A tutorial that explains Depth First Search Algorithm which is used to  traverse/search a graph/tree.&lt;/p&gt; &lt;h2&gt;Kruskal&#39;s  Algorithm&lt;/h2&gt; &lt;p&gt;&lt;br /&gt;A tutorial that explains Kruskal&#39;s Algorithm.&lt;/p&gt; &lt;h2&gt;Prim Algorithm&lt;/h2&gt; &lt;p&gt;&lt;br /&gt;A tutorial that explains Prim Algorithm.&lt;/p&gt; &lt;h2&gt;Address  Calculation Sort&lt;/h2&gt; &lt;p&gt;&lt;br /&gt;A tutorial that explains Address Calculation Sort.&lt;/p&gt; &lt;h2&gt;Warshall&#39;s  Algorithm&lt;/h2&gt; &lt;p&gt;A tutorial that explains Warshall&#39;s Algorithm.&lt;/p&gt; &lt;h2&gt;Priority  Queues&lt;/h2&gt; &lt;p&gt;A tutorial that explains about special kind of queues called Priority  Queues.&lt;/p&gt; &lt;h2&gt;Dijkstra  Algorithm&lt;/h2&gt; &lt;p&gt;A tutorial that explains the working of Dijkstra Algorithm.&lt;/p&gt; &lt;h2&gt;C++  Datatypes Tutorial&lt;/h2&gt; &lt;p&gt;A tutorial that tells about datatypes available in C++&lt;/p&gt; &lt;p&gt;C++ practically offers most of the necessary &lt;span class=&quot;iAs&quot; style=&quot;font-weight: bold ! important; text-decoration: none ! important; border-bottom: medium none ! important; padding-bottom: 0px ! important; color: darkblue ! important; background-color: transparent ! important; cursor: pointer ! important; background-image: none; padding-top: 0pt; padding-right: 0pt; padding-left: 0pt;&quot;&gt;&lt;nobr style=&quot;color: darkblue; font-weight: bold; font-family: Arial,Helvetica,sans-serif;&quot; id=&quot;itxt_nobr_38_0&quot;&gt;data&lt;img style=&quot;display: inline ! important; height: 10px; width: 10px; position: relative; top: 1px; left: 1px; padding: 0pt; margin: 0pt; float: none; border: 0pt none;&quot; name=&quot;itxt-icon-0&quot; src=&quot;http://images.intellitxt.com/ast/adTypes/mag-glass_10x10.gif&quot; /&gt;&lt;/nobr&gt;&lt;/span&gt;  types except for a basic data type string. This is a big trouble in C++  without such a good feature. Anyway, this c++ tutorial will discuss the  basic data types necessary for C++ ...&lt;/p&gt; &lt;h2&gt;C++ Array  Tutorial&lt;/h2&gt; &lt;p&gt;A tutorial that tells about Arrays and what&#39;s its importance in C++&lt;/p&gt; &lt;p&gt;C++ Arrays are the data structures which can be used to store  consecutive values of the same data types. C++ Arrays can be declared  for all c++ data types viz., int, float, double, char, struct, char  etc., All the values are stored in consecutive memory locations. The  values can be accessed by using the position of the stored value ...&lt;/p&gt; &lt;h2&gt;C++ Class  Tutorial&lt;/h2&gt; &lt;p&gt;A tutorial that tells about class &amp;amp; how it can be created&lt;/p&gt; &lt;p&gt;A class in C++ is an encapsulation of data members and functions that  manipulate the data. The class can also have some other important  members which are architecturally important ...&lt;/p&gt; &lt;h2&gt;Function  Overloading Tutorial&lt;/h2&gt; &lt;p&gt;A tutorial that tells about function overloading and how this concept  is useful in creating C++ programs&lt;/p&gt; &lt;p&gt;Function overloading is the practice of declaring the same function  with different signatures. The same function name will be used with  different number of parameters and parameters of different type. But  overloading of functions with different return types are not allowed ...&lt;/p&gt; &lt;h2&gt;Static  Functions Tutorial&lt;/h2&gt; &lt;p&gt;A tutorial that talks about static functions and how it differs from  normal functions&lt;/p&gt; &lt;p&gt;Static data types can be accessed without instantiation of the class  in C++. This is applicable for static functions also ...&lt;/p&gt; &lt;h2&gt;File I/O Tutorial&lt;/h2&gt; &lt;p&gt;A tutorial that shows how to use File I/O classes and functions&lt;/p&gt; &lt;p&gt;File handling is an important part of all programs. Most of the  applications will have their own features to save some data to the local  disk and read data from the disk again. C++ File I/O classes simplify  such file read/write operations for the programmer by providing easier  to use classes...&lt;/p&gt; &lt;h2&gt;Class  Templates Tutorial&lt;/h2&gt; &lt;p&gt;A tutorial that shows how to create class templates in C++&lt;/p&gt; &lt;p&gt;C++ Class Templates are used where we have multiple copies of code  for different data types with the same logic. If a set of functions or  classes have the same functionality for different data types, they  becomes good candidates for being written as Templates ...&lt;/p&gt; &lt;h2&gt;Overloading  Operators Tutorial&lt;/h2&gt; &lt;p&gt;A tutorial that explains the basics of operator overloading in c++&lt;/p&gt; &lt;p&gt;C++ overloading is the mechanism by which the language standard  operators are used for customized operations of the classes. For example  if we are trying to write a string class, we would very simply ask for  &quot;+&quot; operator to handle string concatenation, &quot;-&quot; for removing one part  of string from another etc ...&lt;/p&gt; &lt;h2&gt;Dynamic  Memory Allocation Tutorial&lt;/h2&gt; &lt;p&gt;A tutorial that explains the fundamentals of memory allocation in a  C++ program&lt;/p&gt; &lt;p&gt;So you have just finished your program and you would like to see it  at work. Usually you press a combination of keys to compile and run it.  But what actually happens when you press those keys ? The compilation  process translates your code from C++ to machine language, which is the  only language &lt;span class=&quot;iAs&quot; style=&quot;font-weight: bold ! important; text-decoration: none ! important; border-bottom: medium none ! important; padding-bottom: 0px ! important; color: darkblue ! important; background-color: transparent ! important; cursor: pointer ! important; background-image: none; padding-top: 0pt; padding-right: 0pt; padding-left: 0pt;&quot;&gt;&lt;nobr style=&quot;color: darkblue; font-weight: bold; font-family: Arial,Helvetica,sans-serif;&quot; id=&quot;itxt_nobr_54_0&quot;&gt;computers&lt;img style=&quot;display: inline ! important; height: 10px; width: 10px; position: relative; top: 1px; left: 1px; padding: 0pt; margin: 0pt; float: none; border: 0pt none;&quot; name=&quot;itxt-icon-0&quot; src=&quot;http://images.intellitxt.com/ast/adTypes/mag-glass_10x10.gif&quot; /&gt;&lt;/nobr&gt;&lt;/span&gt;  &quot;understand&quot;. Then your application is given a certain amount of memory  to use, which is divided into three segments as follows ...&lt;/p&gt; &lt;h2&gt;Memory Leaks  Tutorial&lt;/h2&gt; &lt;p&gt;A tutorial that explains how a memory leak happens and gives some  tips on how to avoid it&lt;/p&gt; &lt;p&gt;A memory leak is what happens when you forget to free a block of  memory allocated with the new operator or when you make it impossible to  do so. As a consequence your application may eventually run out of  memory and may even cause the system to crash. I will now give you a few  tips. Remember that code lines shown in red are the best alternative to  each situation - they may be added or may even replace previous code  ...&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/1319425651227660047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technowidgets.blogspot.com/2010/07/c-tips.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/1319425651227660047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/1319425651227660047'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/2010/07/c-tips.html' title='C++ TIPS'/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5296475526203806788.post-5222512699506696123</id><published>2010-07-13T18:51:00.000-07:00</published><updated>2010-07-13T18:59:24.077-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C Language Overview"/><title type='text'>C Language Overview</title><content type='html'>&lt;img style=&quot;float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 143px; height: 94px;&quot; src=&quot;http://t3.gstatic.com/images?q=tbn:ZamrKQru8hQ3eM:http://learnjavafx.typepad.com/.a/6a00e54f133d698834011168d3439a970c-800wi&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;&lt;p class=&quot;p&quot;&gt;The following information describes some of the changes  that are specific to C language programs:&lt;/p&gt; &lt;ul class=&quot;ul&quot;&gt;&lt;li class=&quot;li&quot; style=&quot;&quot;&gt;&lt;img src=&quot;http://publib.boulder.ibm.com/infocenter/tpfhelp/current/topic/com.ibm.ztpf-ztpfdf.doc_put.cur/delta.gif&quot; alt=&quot;Start of change&quot; /&gt;Header file changes. The &lt;span class=&quot;keyword&quot;&gt;z/TPF&lt;/span&gt;-compatible compilers  do not allow header file names with $ characters.&lt;img src=&quot;http://publib.boulder.ibm.com/infocenter/tpfhelp/current/topic/com.ibm.ztpf-ztpfdf.doc_put.cur/deltaend.gif&quot; alt=&quot;End of change&quot; /&gt;&lt;/li&gt;&lt;li class=&quot;li&quot; style=&quot;&quot;&gt;&lt;img src=&quot;http://publib.boulder.ibm.com/infocenter/tpfhelp/current/topic/com.ibm.ztpf-ztpfdf.doc_put.cur/delta.gif&quot; alt=&quot;Start of change&quot; /&gt;Differences between the IBM® C/C++ compiler and &lt;span class=&quot;keyword&quot;&gt;z/TPF&lt;/span&gt;-compatible compilers. &lt;span class=&quot;ph&quot;&gt;For example, &lt;span class=&quot;keyword&quot;&gt;z/TPF&lt;/span&gt;-compatible compilers  tend to be closer to ANSI compliance, while &lt;span class=&quot;keyword&quot;&gt;TPF  4.1&lt;/span&gt; code, especially code that has not changed in a long time, will not be. You will probably have to change your application code based on what the results are when you compile your code with a &lt;span class=&quot;keyword&quot;&gt;z/TPF&lt;/span&gt;-compatible compiler.  Some specific compiler differences are:&lt;/span&gt;&lt;ul class=&quot;ul&quot;&gt;&lt;li class=&quot;li&quot; style=&quot;&quot;&gt;&lt;img src=&quot;http://publib.boulder.ibm.com/infocenter/tpfhelp/current/topic/com.ibm.ztpf-ztpfdf.doc_put.cur/delta.gif&quot; alt=&quot;Start of change&quot; /&gt;The &lt;span class=&quot;keyword&quot;&gt;GCC&lt;/span&gt; does not  support trigraphs (under most circumstances) while the &lt;span class=&quot;keyword&quot;&gt;Systems/C  and Systems/C++ compilers&lt;/span&gt; do support trigraphs.&lt;img src=&quot;http://publib.boulder.ibm.com/infocenter/tpfhelp/current/topic/com.ibm.ztpf-ztpfdf.doc_put.cur/deltaend.gif&quot; alt=&quot;End of change&quot; /&gt;&lt;/li&gt;&lt;li class=&quot;li&quot;&gt;The &lt;span class=&quot;keyword&quot;&gt;GCC&lt;/span&gt; expects the backslash (\) character to be the very last character on the line when it is used as a line continuation character.&lt;/li&gt;&lt;/ul&gt; &lt;img src=&quot;http://publib.boulder.ibm.com/infocenter/tpfhelp/current/topic/com.ibm.ztpf-ztpfdf.doc_put.cur/deltaend.gif&quot; alt=&quot;End of change&quot; /&gt;&lt;/li&gt;&lt;li class=&quot;li&quot;&gt;64-bit considerations: &lt;ul class=&quot;ul&quot;&gt;&lt;li class=&quot;li&quot;&gt;With  the &lt;span class=&quot;keyword&quot;&gt;z/TPF system&lt;/span&gt;, all C/C++ programs are compiled as 64 bit, which defines the size of a long data type as 8 bytes. With the &lt;span class=&quot;keyword&quot;&gt;TPF 4.1  system&lt;/span&gt;, all C/C++ programs are compiled as 32-bit, which defines the size of a long data type as 4 bytes. For both systems, the size of an integer data type is 4 bytes. &lt;p class=&quot;p&quot;&gt;To provide compatibility with the size of  the fields contained in data structures that have corresponding assembler data areas (DSECTs), all long data types were changed to integer data types. As code was converted to 64 bit, selected fields were changed back to long data types as appropriate.&lt;/p&gt; &lt;p class=&quot;p&quot;&gt;You need to decide if the data type size change affects your applications and how you would like to make your changes.&lt;/p&gt; &lt;/li&gt;&lt;li class=&quot;li&quot; style=&quot;&quot;&gt;&lt;img src=&quot;http://publib.boulder.ibm.com/infocenter/tpfhelp/current/topic/com.ibm.ztpf-ztpfdf.doc_put.cur/delta.gif&quot; alt=&quot;Start of change&quot; /&gt;Another 64-bit consideration is the use of pointers. When a C/C++ program is compiled as 64-bit, the size of a pointer data type is 8 bytes. Sometimes pointers are cast to integers for various reasons. To create code that is compatible for both 32-bit and 64-bit systems, change the casting from integer to long. The &lt;span class=&quot;keyword&quot;&gt;z/TPF&lt;/span&gt;-compatible compilers may produce a warning for pointers that are cast to integers. &lt;p class=&quot;p&quot;&gt;There might be some instances where you will continue to need a 4-byte  pointer; for example, pointers to core blocks in the ECB cannot be increased to 8 bytes. To provide compatibility, a 31-bit pointer attribute called PTR32ATT and 31-bit pointer data types called &lt;samp class=&quot;ph codeph&quot;&gt;__ptr32_t&lt;/samp&gt;,  &lt;samp class=&quot;ph codeph&quot;&gt;__chptr32_t&lt;/samp&gt;, and &lt;samp class=&quot;ph codeph&quot;&gt;__uiptr32_t&lt;/samp&gt; are provided.&lt;/p&gt; &lt;img src=&quot;http://publib.boulder.ibm.com/infocenter/tpfhelp/current/topic/com.ibm.ztpf-ztpfdf.doc_put.cur/deltaend.gif&quot; alt=&quot;End of change&quot; /&gt;&lt;/li&gt;&lt;li class=&quot;li&quot;&gt;When a C/C++ program passes a pointer to static or  constant data to an assembler program, the called assembler program must handle the pointer as a true 64-bit pointer unless the C/C++ program is loaded below the &lt;span class=&quot;keyword&quot;&gt;2-GB bar&lt;/span&gt;.&lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;li class=&quot;li&quot;&gt;With the &lt;span class=&quot;keyword&quot;&gt;TPF 4.1 system&lt;/span&gt;, the standard template library is supported by STLPort. With the &lt;span class=&quot;keyword&quot;&gt;z/TPF system&lt;/span&gt;, the standard template library is supported by the &lt;span class=&quot;keyword&quot;&gt;GNU standard  C++ library (libstdc++)&lt;/span&gt;.&lt;/li&gt;&lt;li class=&quot;li&quot; style=&quot;&quot;&gt;&lt;img src=&quot;http://publib.boulder.ibm.com/infocenter/tpfhelp/current/topic/com.ibm.ztpf-ztpfdf.doc_put.cur/delta.gif&quot; alt=&quot;Start of change&quot; /&gt;The &lt;span class=&quot;keyword&quot;&gt;TPF 4.1 system&lt;/span&gt;  supports floating point data only in hexadecimal floating point (HFP) format. However, &lt;span class=&quot;keyword&quot;&gt;ELF&lt;/span&gt;-compatible compilers (and the &lt;span class=&quot;keyword&quot;&gt;z/TPF system&lt;/span&gt;) support only binary floating point (BFP) format. You can use the following functions to migrate your floating point data, and to maintain single source applications that run under both the &lt;span class=&quot;keyword&quot;&gt;TPF  4.1 system&lt;/span&gt; and the &lt;span class=&quot;keyword&quot;&gt;z/TPF system&lt;/span&gt;: &lt;ul class=&quot;ul&quot; compact=&quot;compact&quot;&gt;&lt;li class=&quot;li&quot;&gt;&lt;tt class=&quot;ph tt&quot;&gt;tpf__fp_htob&lt;/tt&gt;&lt;/li&gt;&lt;li class=&quot;li&quot;&gt;&lt;tt class=&quot;ph tt&quot;&gt;tpf__fp_btoh&lt;/tt&gt;&lt;/li&gt;&lt;li class=&quot;li&quot;&gt;&lt;tt class=&quot;ph tt&quot;&gt;tpf__fp_hton&lt;/tt&gt;&lt;/li&gt;&lt;li class=&quot;li&quot;&gt;&lt;tt class=&quot;ph tt&quot;&gt;tpf__fp_ntoh&lt;/tt&gt;&lt;/li&gt;&lt;li class=&quot;li&quot;&gt;&lt;tt class=&quot;ph tt&quot;&gt;tpf__fp_bton&lt;/tt&gt;&lt;/li&gt;&lt;li class=&quot;li&quot;&gt;&lt;tt class=&quot;ph tt&quot;&gt;tpf__fp_ntob&lt;/tt&gt;.&lt;/li&gt;&lt;/ul&gt; &lt;img src=&quot;http://publib.boulder.ibm.com/infocenter/tpfhelp/current/topic/com.ibm.ztpf-ztpfdf.doc_put.cur/deltaend.gif&quot; alt=&quot;End of change&quot; /&gt;&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/5222512699506696123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technowidgets.blogspot.com/2010/07/c-language-overview.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/5222512699506696123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/5222512699506696123'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/2010/07/c-language-overview.html' title='C Language Overview'/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5296475526203806788.post-5537685790566017364</id><published>2010-07-12T18:17:00.000-07:00</published><updated>2010-07-12T18:25:21.720-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Programming In C Language"/><title type='text'>Programming In C Language</title><content type='html'>&lt;img style=&quot;float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 150px; height: 113px;&quot; src=&quot;http://t1.gstatic.com/images?q=tbn:n4V1XxGAufhDoM:http://www.cetindia.org/events/2007/perceptions/image/C-gods-programming-language.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;&lt;p&gt;The notes on these pages are for the courses in C Programming  I used to teach in the Experimental College at the University of Washington in Seattle, WA. Normally these notes accompany fairly traditional classroom lecture presentations, but they are intended to be reasonably complete (more so, for that matter, than the lectures!) and should be usable as standalone tutorials. &lt;/p&gt;&lt;p&gt;I originally designed the first, Introductory course around The C Programming Language (2nd  Edition) by Kernighan and Ritchie, and the notes were designed to  complement that text, highlighting important points and explaining  subtleties which might be lost on the general reader. Later, I rewrote the notes to stand on their own (in part because, in spite of the first set of notes, too many of my students found K&amp;amp;R a bit too technical for an  informal, introductory course). Finally, I occasionally teach an Intermediate course, which covers the topics which tend to be skipped or glossed over in  introductory courses (bitwise operators, structures, file I/O, etc.). The Intermediate course has its own set of notes. &lt;/p&gt;&lt;p&gt;All three sets of notes are available here. If you have a copy of K&amp;amp;R2 and would like a thorough treatment of the language, read K&amp;amp;R and the ``Notes to  Accompany K&amp;amp;R&#39;&#39; side by side. If you&#39;re just getting your feet wet and would like a somewhat simpler introduction, read the ``Introductory  Class Notes.&#39;&#39; If you have had an introduction to C (either here or elsewhere) and are now looking to fill in some of the missing pieces, read the ``Intermediate  Class Notes.&#39;&#39; &lt;/p&gt;&lt;p&gt;Of course, just reading a book or these notes won&#39;t really teach you C; you will also want to write and run your own programs, for practice and so that the language concepts  will make some kind of practical sense. Most of my programming  assignments (including review questions) are here as well, along with their solution sets. (No peeking at the answers until you&#39;ve given the problems your best shot!) &lt;/p&gt;&lt;p&gt;These notes are arranged for the web in the usual hierarchy by  section and subsection. If you want to read through all of them, without keeping track of your own stack to implement a depth-first tree  traversal, just follow the ``read sequentially&#39;&#39; links at the bottom of each page. &lt;/p&gt;&lt;p&gt;Depending on your background, you might want to read one or both of the two preliminary handouts: one on programming  in general, and one which reviews some math which  is relevant to programming. (And there are some other miscellaneous  handouts, too.) &lt;/p&gt;&lt;p&gt;One note about the HTML: these pages were produced automatically from the base manuscripts for my  class notes, using a program of my own devising which is, all too typically, not (yet?) perfect. I apologize in advance for any formatting glitches. In particular, when you see &lt;tt&gt;&lt;sup&gt;&lt;/sup&gt;&lt;/tt&gt;&lt;sup&gt;...&lt;tt&gt;&lt;/tt&gt;&lt;/sup&gt;&lt;tt&gt;&lt;/tt&gt; or &lt;tt&gt;&lt;sub&gt;&lt;/sub&gt;&lt;/tt&gt;&lt;sub&gt;...&lt;tt&gt;&lt;/tt&gt;&lt;/sub&gt;&lt;tt&gt;&lt;/tt&gt; in the text, these do not represent bugs in your browser or accidental bugs in my markup; instead, these are my interim compromise way of representing superscripts and subscripts to you, since there&#39;s no way to do so in portable HTML.  &lt;/p&gt;&lt;p&gt;Finally, I realize that reading these notes on the net is not always as convenient as it might  be, particularly when the net is slow. Please realize, though, that the net is what it is, and that I have gone to a certain amount of effort to place these notes here at all. Please do not ask me to send you a set of these notes for browsing on your own machine, as I am currently unable to do so. &lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/5537685790566017364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technowidgets.blogspot.com/2010/07/programming-in-c-language.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/5537685790566017364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/5537685790566017364'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/2010/07/programming-in-c-language.html' title='Programming In C Language'/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5296475526203806788.post-5079058205828721348</id><published>2010-07-11T23:39:00.000-07:00</published><updated>2010-07-11T23:46:32.342-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C LANGUAGE AND ITS IMPORTANCE"/><title type='text'>C LANGUAGE AND ITS IMPORTANCE</title><content type='html'>&lt;img style=&quot;cursor: pointer; width: 88px; height: 124px;&quot; src=&quot;http://t1.gstatic.com/images?q=tbn:zb71lfhq_D89fM:http://2.bp.blogspot.com/_s0ANCL8E8sQ/STLG297mWpI/AAAAAAAAALU/BozZNP_6wdo/s400/WorkingWithC.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;&lt;p id=&quot;P1&quot; class=&quot;info Details&quot;&gt;   The C programming language was developed by Dennis Ritchie at Bell  Labs between 1968 and 1972 for Unix systems. Ritchie derived the  features of C from the earlier language B, which is why he chose the  name. Today, C has become one of the most popular languages. C&#39;s  influence can be seen throughout many more recent programming languages,  especially C++. Many of C&#39;s advantages are because of its age and  commonality.  &lt;/p&gt;     &lt;!-- google_ad_section_end() --&gt;              &lt;script type=&quot;text/javascript&quot;&gt;   jQuery(&#39;.intro .thumbnail&#39;).each(function(i,e){    jQuery(e).find(&#39;img&#39;).one(&#39;error&#39;,function(){ jQuery(e).remove(); });   });  &lt;/script&gt;        &lt;div class=&quot;article FLC&quot;&gt;             &lt;!-- google_ad_section_start() --&gt;    &lt;ol id=&quot;intelliTxt&quot;&gt;&lt;h2 class=&quot;Heading3a&quot;&gt;Maturity&lt;/h2&gt;&lt;li id=&quot;jsArticleStep1&quot;&gt;        C has been around for a very long time in terms of computer  programming. Almost every aspect of the language, including tricks that  weren&#39;t intended by the original developers, has been explored and  clearly explained. There are a wealth of examples and reusable source  code freely available on the Internet.       &lt;/li&gt;&lt;h2 class=&quot;Heading3a&quot;&gt;Portability&lt;/h2&gt;&lt;li id=&quot;jsArticleStep1&quot;&gt;        Today, there are very few platforms that do not have a C  compiler. This means that, with some minor tinkering, almost any C  program can be compiled to run on almost any platform. C originated as a  language for writing computer system software but has since been used  extensively for developing application software for portable platforms  such as smartphones.       &lt;/li&gt;&lt;h2 class=&quot;Heading3a&quot;&gt;Common Language&lt;/h2&gt;&lt;li id=&quot;jsArticleStep1&quot;&gt;        Because C is so widely used and well understood, it is a great  tool for expressing programming ideas in a way that others can  comprehend, regardless of the language they are most familiar with. C  can also be seen as archetypal for many later languages. Language  constructs in C, such as &quot;if&quot; statements, &quot;for&quot; and &quot;while&quot; loops, and  types of variables, can be found in many more modern languages, so ideas  expressed in C can still be understood by program developers.       &lt;/li&gt;&lt;h2 class=&quot;Heading3a&quot;&gt;Low-Level Power&lt;/h2&gt;&lt;li id=&quot;jsArticleStep1&quot;&gt;        Although C is technically a high-level language, meaning it  abstracts programming away from the basic machine code; it is one of the  &quot;lowest-level&quot; high-level programming languages. C code exerts  powerful, direct and close control over the machine. Because C is linked  so closely with the machine, it provides methods for direct access to  system components like the hard disk drive, optical drives and printers.       &lt;/li&gt;&lt;h2 class=&quot;Heading3a&quot;&gt;Procedural Language&lt;/h2&gt;&lt;li id=&quot;jsArticleStep1&quot;&gt;        C is a procedural programming language, not an object-oriented  programming language. However, despite the wide use of object-oriented  design in modern programming, many applications are still better suited  to the procedural style of design, which often goes untaught to many  many programmers, who focus exclusively on object-oriented design.  Learning C provides a strong procedural background, which is a worthy  skill set.       &lt;/li&gt;&lt;h2 class=&quot;Heading3a&quot;&gt;Relationship to C+++&lt;/h2&gt;&lt;li id=&quot;jsArticleStep1&quot;&gt;        C++ began as an extension to the C programming language, but it  eventually developed into a fully object-oriented language of its own.  However, because it shares the majority of its syntax and structure from  C, it is a simple task to transition from C to C++, or from C++ to C.       &lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://technowidgets.blogspot.com/feeds/5079058205828721348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://technowidgets.blogspot.com/2010/07/c-language-and-its-importance.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/5079058205828721348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5296475526203806788/posts/default/5079058205828721348'/><link rel='alternate' type='text/html' href='http://technowidgets.blogspot.com/2010/07/c-language-and-its-importance.html' title='C LANGUAGE AND ITS IMPORTANCE'/><author><name>mahesh</name><uri>http://www.blogger.com/profile/04471863550130453744</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>