<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="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" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-7611896947576374183</atom:id><lastBuildDate>Thu, 05 Sep 2024 09:30:32 +0000</lastBuildDate><category>Internet</category><category>php</category><category>Multimedia</category><category>Hacking</category><category>Download Manager</category><category>Tools</category><category>hosting</category><title>Free Download softwares</title><description>Download all things on internet for free</description><link>http://downloadsfreesoftwares.blogspot.com/</link><managingEditor>noreply@blogger.com (Juni Salman)</managingEditor><generator>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7611896947576374183.post-6040435154805982065</guid><pubDate>Mon, 24 Oct 2011 18:49:00 +0000</pubDate><atom:updated>2011-10-24T11:49:54.585-07:00</atom:updated><title>Human Japanese V2 English</title><description>&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/AVvXsEjbfUxM_fXgS0LqZhSb4PvewB0t6qEis85msKsHQTkLba6BRw3wzca_ShLKHttMXacACGbtkEPLbS-ruHsLAWwb8OeHc_P_mLXvF1DxDa1vThWJTxqtrPVKK4NvFgij4zjhLmmy-PinBWs/s1600/screenshot_cultural_left.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; height=&quot;148&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbfUxM_fXgS0LqZhSb4PvewB0t6qEis85msKsHQTkLba6BRw3wzca_ShLKHttMXacACGbtkEPLbS-ruHsLAWwb8OeHc_P_mLXvF1DxDa1vThWJTxqtrPVKK4NvFgij4zjhLmmy-PinBWs/s200/screenshot_cultural_left.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Human Japanese is Japanese language learning software that starts at square one and presents the Japanese language in a warm, engaging tone. Packed with over 1800 recordings of vocabulary words and example sentences, an instantly searchable dictionary of vocabulary words and grammar terms, dozens of games and quizzes, and a great text that teaches how the language works, Human Japanese will impress you with its warmth, beauty, and wit. 
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;fullpost&quot;&gt;
&lt;b&gt;A great learning experience starts here&lt;/b&gt;&lt;br /&gt;

Human Japanese starts with a great text, written in a warm, readable tone that will draw you in and keep you excited about the language.
More than 500 pages in the main text take you from an introduction to Japanese pronunciation, through the writing system, cultural vignettes, and dialogues, building a solid base of understanding.&lt;br /&gt;
&lt;b&gt;Instant search&lt;/b&gt;&lt;br /&gt;
Can&#39;t remember the meaning of that word from two lessons ago? Quickly look it up in the ever-present, instant search.&lt;br /&gt;
&lt;b&gt;Recordings for all vocab and examples&lt;/b&gt;&lt;br /&gt;
One of the best things about Human Japanese is the inline example sentence,Just click the Japanese to hear it pronounced. A link below keeps the translation hidden until you&#39;re ready to see it. Between vocabulary words and example sentences, there are more than 1800 recordings in all.&lt;br /&gt;
&lt;b&gt;Animations of every character&lt;/b&gt;&lt;br /&gt;
The two Japanese &quot;alphabets,&quot; Hiragana and Katakana, each contain 46 characters. Every character is animated to show you the proper stroke order, and then tips and quizzes help you to drive them home. 
&lt;b&gt;Quizzes&lt;/b&gt;&lt;br /&gt;
Drill yourself on vocabulary using the attractive quizzes. Go either from Japanese to English or vice-versa. And when you&#39;re in Japanese-to-English mode, each word will be pronounced aloud, helping you practice both reading and listening.&lt;br /&gt;
&lt;b&gt;And much more!&lt;/b&gt;&lt;br /&gt;
Once you start using Human Japanese, you&#39;ll see that it&#39;s everything you need guide you through the journey of learning Japanese and make it fun at the same time.



&lt;br /&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/AVvXsEioHelOdHeDii_43PLgvJKm9qypkQKKc9zkzIgWCtuhrOvLptxJRYEWkeN4DvvOwX82g0dhXRFzbr8zHEi2NT2vJ1_jk6tUrfKvlYKDK6AD1YFDefo_9cWVRRc4fp1MEP71J2dOBM370Y0/s1600/octg3xnw.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;234&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioHelOdHeDii_43PLgvJKm9qypkQKKc9zkzIgWCtuhrOvLptxJRYEWkeN4DvvOwX82g0dhXRFzbr8zHEi2NT2vJ1_jk6tUrfKvlYKDK6AD1YFDefo_9cWVRRc4fp1MEP71J2dOBM370Y0/s320/octg3xnw.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.mediafire.com/?1uuutw0mzio&quot;&gt;Download Human Japanese&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;</description><link>http://downloadsfreesoftwares.blogspot.com/2011/10/human-japanese-v2-english.html</link><author>noreply@blogger.com (Juni Salman)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbfUxM_fXgS0LqZhSb4PvewB0t6qEis85msKsHQTkLba6BRw3wzca_ShLKHttMXacACGbtkEPLbS-ruHsLAWwb8OeHc_P_mLXvF1DxDa1vThWJTxqtrPVKK4NvFgij4zjhLmmy-PinBWs/s72-c/screenshot_cultural_left.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7611896947576374183.post-7803376876143720992</guid><pubDate>Wed, 06 May 2009 16:17:00 +0000</pubDate><atom:updated>2009-05-06T09:27:39.992-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Multimedia</category><title>ArtRage Deluxe v2.5.20 Portable</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqmYWbLilL_EHO70K9a3fUPthzt5PWYfcQJcnEke032UsyPfIL9a2ahllQBEai70LTXZqOllKRrTvKsILh44_N7X0UgTdJqiTi7dxdz8rmtQBAOnBW3tlGC35q00_xYhDI0ShPh0he8CY/s1600-h/artragedeluxe.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 200px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqmYWbLilL_EHO70K9a3fUPthzt5PWYfcQJcnEke032UsyPfIL9a2ahllQBEai70LTXZqOllKRrTvKsILh44_N7X0UgTdJqiTi7dxdz8rmtQBAOnBW3tlGC35q00_xYhDI0ShPh0he8CY/s200/artragedeluxe.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5332748068820795202&quot; /&gt;&lt;/a&gt;ArtRage Deluxe is software needed by artist to create the artistic art from their computer. With This tools you can combine the effect from photoshop and internal effect of ArtRage. Very Recommended for Digital Artist &lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;br /&gt;Artists Tools:&lt;/span&gt;&lt;br /&gt;Paint with oil brushes, palette knives, airbrushes, paint rollers or paint tubes&lt;br /&gt;Draw with pencils, erasers, chalk, felt pens or crayons&lt;br /&gt;Create special effects with metallics and glitter&lt;br /&gt;Use the color sampler to customize your palette&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Easy-to-use Painting Tools &lt;/span&gt;&lt;br /&gt;ArtRage Deluxe gives you realistic art tools in a simple and stylish environment. You can start creating your own works of art right away – just pick up the mouse and start painting! Have a photo or picture you want to use as reference? Simply load it into ArtRage Deluxe and use the tracing paper function to get started immediately.&lt;div class=&quot;fullpost&quot;&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold;&quot;&gt;Everything You Need to Get Started Today&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Create with oils, pencils, chalk, glitter and more&lt;br /&gt;Metallics to blend and mix with other media&lt;br /&gt;Stencils and rulers for precise shapes and lines&lt;br /&gt;Tracing paper function to get you drawing immediately from a photo or sketch&lt;br /&gt;Create layers or import layers and effects from Photoshop&lt;br /&gt;Choose and create custom colors&lt;br /&gt;Adjust canvas grain, color and metallic options&lt;br /&gt;Scale, rotate, move and crop&lt;br /&gt;Load and save custom color sets and color pickers&lt;br /&gt;Tools of the Trade&lt;br /&gt;Paint and draw with oils, brushes, pencils, rollers, pens and more. Blend and smear paint on the canvas, and use the bristle texture of your stroke to add depth to the image. You can even paint and blend with metallic colors that shine just like the real thing&lt;br /&gt;&lt;br /&gt;For more info about ArtRage you can visit http://my.smithmicro.com/win/artrage/index.html&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Download link&lt;/span&gt;&lt;br /&gt;+ &lt;a href=&quot;http://www.indowebster.com/bond57_ArtRageDeluxe_2520_Portable.html&quot;&gt;Indowebster&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;</description><link>http://downloadsfreesoftwares.blogspot.com/2009/05/artrage-deluxe-v2520-portable.html</link><author>noreply@blogger.com (Juni Salman)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqmYWbLilL_EHO70K9a3fUPthzt5PWYfcQJcnEke032UsyPfIL9a2ahllQBEai70LTXZqOllKRrTvKsILh44_N7X0UgTdJqiTi7dxdz8rmtQBAOnBW3tlGC35q00_xYhDI0ShPh0he8CY/s72-c/artragedeluxe.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7611896947576374183.post-8820874314363274368</guid><pubDate>Tue, 05 May 2009 08:34:00 +0000</pubDate><atom:updated>2009-05-05T01:40:47.943-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Multimedia</category><title>MAGIX Audio Cleaning Lab 14 Deluxe</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt-7qmAV1NyMCd9IKj5usypRsmEtq-6S2RqwtYjxAdcaIjYiFaNw3-VfadrxznvkBZBa0D85DhkyUQPZXS3X-pAAnmOk1mNMyeee7ZTKbboR5D_oWRc51BFH3afo6vU1N4udCjsq3Y-FA/s1600-h/magic+audio+cleaning.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 144px; height: 200px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt-7qmAV1NyMCd9IKj5usypRsmEtq-6S2RqwtYjxAdcaIjYiFaNw3-VfadrxznvkBZBa0D85DhkyUQPZXS3X-pAAnmOk1mNMyeee7ZTKbboR5D_oWRc51BFH3afo6vU1N4udCjsq3Y-FA/s200/magic+audio+cleaning.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5332255620295851890&quot; /&gt;&lt;/a&gt;MAGIX Audio Cleaning Lab 14 is very easy to use. Get the best results the first time you use the program by working with the helpful info boxes. The info boxes provide explanatory short vides and audio examples of various effects. In addition, you can activate further explanatory videos which instruct you on how to create perfect recordings. The clearly laid-out user interface helps you get oriented and never leaves you without help if you need it.&lt;br /&gt;Experience the easiest start you can imagine.&lt;div class=&quot;fullpost&quot;&gt;&lt;br /&gt;With MAGIX Audio Cleaning Lab 14, you can transfer LPs and other sound media quickly and easily to CD &amp;amp; DVD. In no time, your complete music collection can be perfectly digitized and securely archived. Enjoy your music again with crystal-clear sound – just like on a store-bought CD.&lt;br /&gt;NEW: Step-by-step mode, Optimized effects technology, Info box with short videos, and much more.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;• Import &amp;amp; Record&lt;/span&gt;&lt;br /&gt;MAGIX Audio Cleaning Lab 14 is your universal recorder for any medium; transfer your favorite records, tapes, and all other audio media quickly and in perfect quality. One click, and recording is on. If you record the entire LP or cassette, the beginning of each track will be automatically recognized. The advantage: Burned to CD, each track can be selected directly in your CD player.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;• NEW! Perfectly restored&lt;/span&gt;&lt;br /&gt;There are many ways to optimize your recordings. You can decide yourself how much takes place automatically:&lt;br /&gt;* At your command, your music can be perfectly optimized and noise-free – ready to be burned onto CD or DVD!&lt;br /&gt;* If you would rather proceed step-by-step, various short videos &amp;amp; listening examples will guide you to the desired results.&lt;br /&gt;* Full design freedom – every detail can be adjusted to your wishes. Includes useful templates for the fastest results.&lt;br /&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;• Edit &amp;amp; cut - Optimize your recordings in 24-bit ProAudio quality, including surround transition function.&lt;br /&gt;• Convert &amp;amp; export - Convert music into most standard audio formats, including: MP3, WAV, OGG and more.&lt;br /&gt;• Burn CDs &amp;amp; DVDs - Burn recordings as Data CDs/DVDs or as universal Audio CDs/DVDs.&lt;br /&gt;• Remove distortions - Reliably remove hissing, crackling, and clicking from your records and tapes.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Advanced functions:&lt;/span&gt;&lt;br /&gt;* Advanced functions&lt;br /&gt;* Record web radio broadcasts&lt;br /&gt;* Automatic recognition of song start&lt;br /&gt;* Find the optimum volume for every music track automatically&lt;br /&gt;* High-end, detailed audio editing with MAGIX Music Editor 2.0&lt;br /&gt;* VoiceOver function: Turns down background music during voice-overs – perfect for podcasts&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtTOn2MrQLshnc0VTZx7ervxKpgMLOoIvcVb9Q2eBcPNSu8ggfEaL8kY35YQAXsbOa2IDW1cwWMAZqm_EezMA4v_9uY8_jozw_oWuzKpLhtEsLkh0ZMYhZi299E45wgWoUfczvvkny79c/s1600-h/screenshot+magix.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 144px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtTOn2MrQLshnc0VTZx7ervxKpgMLOoIvcVb9Q2eBcPNSu8ggfEaL8kY35YQAXsbOa2IDW1cwWMAZqm_EezMA4v_9uY8_jozw_oWuzKpLhtEsLkh0ZMYhZi299E45wgWoUfczvvkny79c/s200/screenshot+magix.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5332256483354508242&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Would you like to be able to enjoy your music collection exclusively in the best sound quality possible? MAGIX Audio Cleaning Lab 14 is based on the high-end audio technology of Samplitude®, the professional standard in sound studios, radio stations, and TV stations all over the world. Your advantage: Pumping, crystal-clear sound in every recording.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Download Link&lt;/span&gt;&lt;br /&gt;+ &lt;a href=&quot;http://rapidshare.com/files/157421102/MAGIX.Audio.Cleaning.Lab.14.Deluxe.d-version.v9.0.2.0.rar&quot;&gt;Rapidshare (89.01 MB)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</description><link>http://downloadsfreesoftwares.blogspot.com/2009/05/magix-audio-cleaning-lab-14-deluxe.html</link><author>noreply@blogger.com (Juni Salman)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt-7qmAV1NyMCd9IKj5usypRsmEtq-6S2RqwtYjxAdcaIjYiFaNw3-VfadrxznvkBZBa0D85DhkyUQPZXS3X-pAAnmOk1mNMyeee7ZTKbboR5D_oWRc51BFH3afo6vU1N4udCjsq3Y-FA/s72-c/magic+audio+cleaning.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7611896947576374183.post-5398021078638139287</guid><pubDate>Tue, 05 May 2009 08:19:00 +0000</pubDate><atom:updated>2009-05-05T01:22:29.784-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tools</category><title>AV Voice Changer Diamond v6.0.10</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiilESXa3uYdEwhZcT_CW88jc5uKVs9H1yU7WV5i11ULLo1SI7pFYo9dK6c8wzmoaCTqIMNd7BJo3umIcnF5ryuOZOpTO15epyR_IFEpFgfvQ_u_a0tmovkTcSYr466pwpiaIH28zu1m-E/s1600-h/voice+changer.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 161px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiilESXa3uYdEwhZcT_CW88jc5uKVs9H1yU7WV5i11ULLo1SI7pFYo9dK6c8wzmoaCTqIMNd7BJo3umIcnF5ryuOZOpTO15epyR_IFEpFgfvQ_u_a0tmovkTcSYr466pwpiaIH28zu1m-E/s200/voice+changer.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5332251835660274722&quot; /&gt;&lt;/a&gt;&lt;br /&gt;AV Voice Changer Software Diamond Edition is a computer software that will help you to change your voice into a man&#39;s or woman&#39;s voice.&lt;br /&gt;&lt;br /&gt;Voice Changer Software changes man voice to hundreds of woman voices in realtime and vice versa to disguise voice totally in voice chat and PC phone.&lt;br /&gt;&lt;br /&gt;You can freely adjust voice settings and apply effects to enhance sex appeal or characteristics. Built-in Voice Comparator helps simulate people&#39;s voices by comparing and hinting.&lt;br /&gt;Compatible with most voice chat clients: Yahoo Messenger (YIM), AOL Instant Messenger (AIM), ICQ, MSN, PalTalk, Odigo, Netmeeting and Roger Wilco; and PC2Phone programs: Net2Phone, Dialpad, Go2Call, DeltaThree, MaxPhone.&lt;div class=&quot;fullpost&quot;&gt;&lt;br /&gt;Voice Changer Software creates different voices for movies, audio clips, and presentations.&lt;br /&gt;&lt;br /&gt;AV Voice Changer Software can record your changed voice in real time or change voice of an audio file.&lt;br /&gt;&lt;br /&gt;Voice Change Software can change voice from record stream, audio stream and capture stream.&lt;br /&gt;&lt;br /&gt;Compatible with all multimedia players: Windows Media Player, Winamp, RealOne Player, Music Match, Music Jukebox, PowerDVD, WinDVD, Zoom Player, BlazeDVD, Hero DVD Player; Also compatible with Karaoke players and internet radios.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Download Link&lt;/span&gt;&lt;br /&gt;+ &lt;a href=&quot;http://rapidshare.com/files/170015352/AV_Voice_Changer_Diamond_v6.0.10.rar&quot;&gt;Rapidshare (11.19 MB)&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;</description><link>http://downloadsfreesoftwares.blogspot.com/2009/05/av-voice-changer-diamond-v6010.html</link><author>noreply@blogger.com (Juni Salman)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiilESXa3uYdEwhZcT_CW88jc5uKVs9H1yU7WV5i11ULLo1SI7pFYo9dK6c8wzmoaCTqIMNd7BJo3umIcnF5ryuOZOpTO15epyR_IFEpFgfvQ_u_a0tmovkTcSYr466pwpiaIH28zu1m-E/s72-c/voice+changer.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7611896947576374183.post-2218252669453271548</guid><pubDate>Tue, 05 May 2009 07:57:00 +0000</pubDate><atom:updated>2009-05-05T01:08:29.891-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Multimedia</category><title>AIMP 2.51 Build 320</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd0A2sgvgf_XVS3IymFedu5gv1MYluaQ8fd0RzKcXkuNmZEws4aKkQC3hnaFJPK3__ivd-PtV_DU_efNAyGLvBuWLkl9FtQDvI1RBMrJeM_xwB9Td2kJRxkacY4v84JIGs5xJNQqcEaVY/s1600-h/aimp.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 113px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd0A2sgvgf_XVS3IymFedu5gv1MYluaQ8fd0RzKcXkuNmZEws4aKkQC3hnaFJPK3__ivd-PtV_DU_efNAyGLvBuWLkl9FtQDvI1RBMrJeM_xwB9Td2kJRxkacY4v84JIGs5xJNQqcEaVY/s200/aimp.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5332248143472105458&quot; /&gt;&lt;/a&gt;AIMP - is a multifunctional audio center. Thanks to the built-Tool, you can easily convert music from one format to another record with a microphone or other audio device, edit tags music files, as well as a group to rename or sort them. AIMP - an excellent audio player with support for: skin,Many music formats, plus having built tools for working with sound.&lt;div class=&quot;fullpost&quot;&gt;&lt;br /&gt;Major pluses:&lt;br /&gt;- functionality, small size and minimal use of system resources.&lt;br /&gt;- Support for a large number of music formats: MP1, MP2, MP3, MPC / MP, AAC, AC3, Ogg, FLAC, APE, WavPack, Speex, WAV, CDA, WMA, S3M, XM, MOD, IT, MO3, MTM, UMX ...&lt;br /&gt;- 18-ty band equalizer and built sound effects: Reverb, Flanger, Chorus,Pitch, Tempo, Echo, Speed.&lt;br /&gt;- 32-bit audio processing in order to achieve the best quality.&lt;br /&gt;- Support modules expand the functionality. You can add new tools and enhance existing, connect plug-ins Input, Gen, DSP of WinAmp.&lt;br /&gt;- Turn off the computer. You can lie down to sleep under favorite music, setting a timer to turn off the computeror at the end of play.&lt;br /&gt;- Internet radio. Listen and write!&lt;br /&gt;- Multilingual interface.&lt;br /&gt;- Multiplayer.&lt;br /&gt;- Audio converter. Allows you to convert music from a variety of formats in wma, mp3, wav, ogg.&lt;br /&gt;- Sound. Allows you to record sound from any audio device in the system and save the format mp3, ogg, wav and wma.&lt;br /&gt;-Editor tags. You can easily edit tags of audio files, and rename the file, sort of predetermined pattern tags or apply the value to a group of files.&lt;br /&gt;- Audio Library. Represents the organizer of music files, which allows you to easily sort your music, stand assess listened compositions,maintain statistics play.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Download Link&lt;/span&gt;&lt;br /&gt;+ &lt;a href=&quot;http://depositfiles.com/files/2hizn7b0k&quot;&gt;Deposit Files&lt;/a&gt;&lt;/div&gt;</description><link>http://downloadsfreesoftwares.blogspot.com/2009/05/aimp-251-build-320.html</link><author>noreply@blogger.com (Juni Salman)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd0A2sgvgf_XVS3IymFedu5gv1MYluaQ8fd0RzKcXkuNmZEws4aKkQC3hnaFJPK3__ivd-PtV_DU_efNAyGLvBuWLkl9FtQDvI1RBMrJeM_xwB9Td2kJRxkacY4v84JIGs5xJNQqcEaVY/s72-c/aimp.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7611896947576374183.post-6225014590426178088</guid><pubDate>Tue, 05 May 2009 04:03:00 +0000</pubDate><atom:updated>2009-05-04T22:14:12.402-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Download Manager</category><title>Internet Download Manager 5.17 Build 2</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtFZ3ezW7_pmaQSauNL2HTCcDIFD0Xr4oSZAMWpzJHbjcGDDzY17AJ8FCA_tbwxkKCDj_NtI2qaqsogQkx7sJVK52-w4Z8i0zPtwZPDSPheQAOXdguXPTKwQ9Wq_Ed2XpE3fdECSCuvxk/s1600-h/jszwp5.png&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 157px; height: 200px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtFZ3ezW7_pmaQSauNL2HTCcDIFD0Xr4oSZAMWpzJHbjcGDDzY17AJ8FCA_tbwxkKCDj_NtI2qaqsogQkx7sJVK52-w4Z8i0zPtwZPDSPheQAOXdguXPTKwQ9Wq_Ed2XpE3fdECSCuvxk/s200/jszwp5.png&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5332189142191753538&quot; /&gt;&lt;/a&gt;Internet Dowload manager or IDM is the best download manager i ever known.increasing download speeds by up to 5 times, and for resuming, scheduling, and organizing downloads is the main feature of this download manager. The program will resume unfinished downloads due to network problems, or unexpected power outages. The program features a full-fledged site grabber that downloads files that are specified with filters, for example, all pictures from a Web site, different parts of Web sites, or complete Web sites for offline browsing. The program also features Download Panel for IE, Firefox and other Mozilla based browsers that appears on top of a web-player and can be used to download flash videos from sites like YouTube, MySpaceTV, Google Videos, and others. It integrates into Opera, Mozilla, Internet Explorer, Firefox, MSN, AOL, Google Chrome, and into any application that uses FTP, or HTTP protocols. Internet Download Manager fully supports Windows Vista and Internet Explorer 7.&lt;div class=&quot;fullpost&quot;&gt;&lt;br /&gt;Version 5.17 build 2 fixes incorrect lookup of file names on several sites (including rapidshare.com) for &quot;Download with IDM&quot; feature.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Dowload Link&lt;/span&gt;&lt;br /&gt;+ &lt;a href=&quot;http://www.internetdownloadmanager.com/idman517.exe&quot;&gt;Official site&lt;/a&gt;&lt;br /&gt;+ &lt;a href=&quot;http://www.tonec.com/download/idman517.exe&quot;&gt;Mirror site&lt;/a&gt;&lt;br /&gt;+ &lt;a href=&quot;http://rapidshare.com/files/227151937/Internet_Download_Manager_5.17_Build_2.rar&quot;&gt;Rapidshare + Latest unreal patch&lt;/a&gt;&lt;br /&gt;+ &lt;a href=&quot;http://www.mediafire.com/?cwnoxzjtj5i&quot;&gt;Mediafire&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold;&quot;&gt;Patch for All IDM ver 5.xx.xx version&lt;/span&gt;&lt;br /&gt;+ &lt;a href=&quot;http://rapidshare.com/files/222906898/IDM_5.xx.x_all_versions_patch.rar&quot;&gt;Universal Patch&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</description><link>http://downloadsfreesoftwares.blogspot.com/2009/05/internet-download-manager-517-build-2.html</link><author>noreply@blogger.com (Juni Salman)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtFZ3ezW7_pmaQSauNL2HTCcDIFD0Xr4oSZAMWpzJHbjcGDDzY17AJ8FCA_tbwxkKCDj_NtI2qaqsogQkx7sJVK52-w4Z8i0zPtwZPDSPheQAOXdguXPTKwQ9Wq_Ed2XpE3fdECSCuvxk/s72-c/jszwp5.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7611896947576374183.post-5430545523395569907</guid><pubDate>Wed, 20 Feb 2008 11:40:00 +0000</pubDate><atom:updated>2009-05-04T09:46:35.746-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Hacking</category><title>SAM History n Hacking | Win Xp administration Hack</title><description>1-Introduction&lt;br /&gt;This article introduce very simple way to get Administrator like account and do the job and after finish recover your way, after that Get Admin Password later in your home by Cracking, After get the Admin Password Create a hidden user account and do all your jobs free, and Explain how to make a USB Storage Device Bootable corresponding to any system boot, and how to bypass Mother Board password by Default Passwords, and how to extract it if you are in the system&lt;div class=&quot;fullpost&quot;&gt;&lt;br /&gt;2-To Hackers / Security Systems Engineers&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;First All must know that both Hackers / Security Systems Engineers Are 2 faces to the same coin Any way, I try this on Windows XP SP2 I want all to try it on Windows Server 2003, Windows Vista Any Windows NT and POST a Message to make all know what versions exactly this idea can apply for&lt;br /&gt;3-Close Look to hole&lt;br /&gt;Microsoft stores all Security Information in many files but the main file is the SAM file (Security Accounts Manager)! this file contain critical information about users account you can explore the folder&lt;br /&gt;$windir$\system32\config&lt;br /&gt;You will find all things and may discover some thing new, but what amazing here is that the file is available, so we can apply our idea&lt;br /&gt;shot1&lt;br /&gt;You will Not be able To copy them Under XP&lt;br /&gt;4-Dose Microsoft Know and Why!?&lt;br /&gt;Yes Microsoft Know all things, and done on purpose why? I always for many years ask my self why Microsoft doesn’t do real security on their systems from the CD setup to all security aspects In the system, I found(my opinion may wrong)that they need to achieve 2 strategic things&lt;br /&gt;&lt;br /&gt;1-They need their software spread and all depend on it and in one day when they feel that they are the One The security will done and all money will go to One Pocket&lt;br /&gt;&lt;br /&gt;2-They Forced/Like to Make Some Organizations Hack other systems&lt;br /&gt;&lt;br /&gt;Proof:&lt;br /&gt;They can make this File SAM Unavailable by storing the information in FAT, FAT32, NTFS Areas (Sectors reserved by The Operating SYSTEM to Store the Addresses of the files on the HardDisk File Allocation Table) So that it is hard to extract. But they don&#39;t!!!!!&lt;br /&gt;5-Understand the Idea&lt;br /&gt;The Idea is simple I will explain it manually and it can then be programmed it is so easy here is the idea&lt;br /&gt;&lt;br /&gt;The SAM file is available and the SAM file contain a Security Information, so I created a Free Windows XP SP2 Logon account (Administrator Account without password) that means when windows Lunch it Will enter directly to the system without asking about any password And windows will store this Account in The SAM file on My PC So the SAM file on My PC contain an Account will Make you enter Directly to the Windows, so I will take My SAM File and Replace (by renaming, we will need the original file to recover our way) It with the other SAM File in The Other System or Machine So When you restart It will make you enter directly to the Windows With Administrator Like Account ,do what you need and then back all things to the previous state. All These Steps will be under other system bootable DOS, Knoppiex, Windows Live CD, Because Windows XP will not make u able to copy the Files&lt;br /&gt;6-Get Admin Like Account (The Simple Way)&lt;br /&gt;&lt;br /&gt;1- Download My 2 SAM files I Include them in Downloads&lt;br /&gt;2- Go to the target Machine , and try to Access it and Boot from any device CD-ROM, Floppy, NIC if it haven&#39;t any of those Read Hint 9&lt;br /&gt;3- After Get Access to the Boot Command prompt c:&gt; or Boot Live OS CD, Go to the windows folder $windir$\system32\config And Copy the SAM File and System File (we will need it later) To other folder, Then go to $windir$\repair copy SAM file&lt;br /&gt;And then Rename the 2 SAM Files to SAM1 in their original places&lt;br /&gt;4- Copy My SAM/config File and Paste it in the windows folder $windir$\system32\config Copy My SAM/Repair File and Paste it in the windows folder $windir$\repair (may this step not required)&lt;br /&gt;5- Reboot and Make windows enter Normally&lt;br /&gt;6- Yeah, No You are in The System&lt;br /&gt;7- Copy the files in step 3 to Floppy Disk or Flash Stick Or Send it to your mail via Internet&lt;br /&gt;8- After finish repeat step 2 and delete My SAM files and Rename Both SAM1 to SAM&lt;br /&gt;9- Reboot , Congratulation you recover your way&lt;br /&gt;7-Crack the SAM-Know the real Admin Password and Apply Hint 8&lt;br /&gt;There is many ways I will introduce 2 ways and explain 1 After you get the SAM File and System File there are Programs That extract the Accounts and their passwords, depending on the idea of cracking the HASH (the HASH is one way encryption method) so that The program will generate random passwords and convert them to HASH and then compare it with the HASHES in the SAM File , so it may take a long time but for fast you will pay more money for ready made HASHES with their user names and passwords the 2 program are&lt;br /&gt;&lt;br /&gt;1-L0phtcrack v4.0 (LC4 alternate name) the most famous on the NET&lt;br /&gt;2-SAMInside http://www.insidepro.com/I include on the Downloads&lt;br /&gt;&lt;br /&gt;I will explain fast SAMInside&lt;br /&gt;&lt;br /&gt;shot1&lt;br /&gt;&lt;br /&gt;This is the main window press Ctrl+O or by mouse click Import SAM and SYSTEM&lt;br /&gt;&lt;br /&gt;shot1&lt;br /&gt;&lt;br /&gt;Window will open to import the 2 files and the program will start to crack the Accounts and get them, and then display users names and their passwords&lt;br /&gt;&lt;br /&gt;Any other tool will do the job try all and select your best I Explain here SAMInside because he give me results with 6 character only password and get it FAST&lt;br /&gt;8-Creat a Hidden User Accountn&lt;br /&gt;Windows NT / Windows 2000 and Windows XP has a security setting to hide accounts from the Logon Screen/Control panel users accounts&lt;br /&gt;&lt;br /&gt;shot1&lt;br /&gt;Press&lt;br /&gt;Ctrl+Alt+Delet&lt;br /&gt;Give you another Access Dialog&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Steps:&lt;br /&gt;&lt;br /&gt;1-After getting Admin Password enter to the system&lt;br /&gt;2-create an Account with password&lt;br /&gt;3-click start - &gt; Run - &gt; type Regedit press Enter&lt;br /&gt;4-Go to&lt;br /&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\ CurrentVersion\Winlogon\SpecialAccounts\UserList&lt;br /&gt;&lt;br /&gt;shot1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5- Create a new DWORD Value on the UserList&lt;br /&gt;6-Name it with Name of Account to be Hidden&lt;br /&gt;7-set the Value Data of this DWORD Value to 0 to hide it /1 to appear it&lt;br /&gt;8- close Regedit and Reboot&lt;br /&gt;9- Press Ctrl+Alt+Delete when logon Screen Appear another login dialog appear type You hidden user name and password and press Enter&lt;br /&gt;&lt;br /&gt;Note:&lt;br /&gt;&lt;br /&gt;1- the account profile will be visible in \Documents and Settings, But it will be hidden from Logon Screen and User Account in the control panel&lt;br /&gt;&lt;br /&gt;2-there is other method that Inject your Account directly to the Admin SAM without know the Admin Pass, but believe me you don&#39;t Expect the result, so if you want try it (if the password hard to get)&lt;br /&gt;9-USB Boot for FAT32, NTFS or any File System&lt;br /&gt;&lt;br /&gt;HP Always amazing me to do this we need 2 tools&lt;br /&gt;&lt;br /&gt;1- HP USB Disk Storage Format Tool v 2.0.6 I include in Downloads If u want to find more go to http://www.hp.com/&lt;br /&gt;2- NTFSDOS Professional Boot Disk Wizard I include in Downloads If u want to find more go to http://www.winternals.com/&lt;br /&gt;&lt;br /&gt;shot1&lt;br /&gt;&lt;br /&gt;Just connect your USB Storage&lt;br /&gt;steps:&lt;br /&gt;1- Prepare a Startup Disk or Startup CD , Or any Equivalent&lt;br /&gt;2- In the HP tool select the Device-&gt;your USB Storage&lt;br /&gt;3- Select File System FAT or FAT32&lt;br /&gt;4- Check &quot;create a DOS startup disk&quot; checkbox and then select option &quot;using DOS System Files Located at&quot;&lt;br /&gt;5- brows your location&lt;br /&gt;6- Click Start&lt;br /&gt;7- Now you have a Bootable USB Storage Device&lt;br /&gt;8- Now in the NTFSDOS Professional Boot Disk Wizard follow the wizard and you will get a NTFS bootable USB Storage&lt;br /&gt;&lt;br /&gt;Why we need NTFS ?&lt;br /&gt;If the Partition of the Windows System is NTFS so with normal Startup you will not be able to access any files because the File System is not Recognized by MS-DOS when we install NTFSDOS Professional on the bootable disk it will allow you To Access any File Under NTFS&lt;br /&gt;&lt;br /&gt;Note:&lt;br /&gt;Make sure that the option in Mother board Setup of First Boot &quot;USB-Hard Disk&quot; if you want to boot from a USB&lt;br /&gt;10-Mother Boards Default Passwords and how to extract it if you are in The system&lt;br /&gt;&lt;br /&gt;This subject is huge I try to find simple or clever way but as u know many PC&#39;s many machines many bios versions and updates so I search the net for the best and I list below ,but if this doesn’t help I recommend you to find the bios version and the motherboard and search the net on Google, yahoo, yahoo groups and other you will find some thing help u&lt;br /&gt;&lt;br /&gt;HOW TO BYPASS BIOS PASSWORDS&lt;br /&gt;http://www.elfqrin.com/docs/biospw.html&lt;br /&gt;&lt;br /&gt;Removing a Bios - CMOS Password&lt;br /&gt;http://www.dewassoc.com/support/bios/bios_password.htm&lt;br /&gt;&lt;br /&gt;How to Bypass BIOS Passwords&lt;br /&gt;http://www.uktsupport.co.uk/reference/biosp.htm&lt;br /&gt;&lt;br /&gt;How to Bypass BIOS Passwords&lt;br /&gt;http://www.i-hacked.com/content/view/36/70/&lt;br /&gt;&lt;br /&gt;Default Password List&lt;br /&gt;2006-04-30&lt;br /&gt;http://www.phenoelit.de/dpl/dpl.html&lt;br /&gt;&lt;br /&gt;Award BIOS backdoor passwords:&lt;br /&gt;ALFAROME--------BIOSTAR--------KDD--------ZAAADA-------- ALLy--------CONCAT--------Lkwpeter--------ZBAAACA-------- aLLy-------- CONDO--------LKWPETER--------ZJAAADC-------- aLLY--------Condo--------PINT--------01322222-------- ALLY--------d8on--------pint--------589589-------- aPAf--------djonet--------SER--------589721-------- _award--------HLT--------SKY_FOX--------595595-------- AWARD_SW--------J64--------SYXZ--------598598 AWARD?SW--------J256--------syxz-------- AWARD SW--------J262--------shift + syxz-------- AWARD PW--------j332--------TTPTHA-------- AWKWARD--------j322-------- awkward&lt;br /&gt;&lt;br /&gt;AMI BIOS Backdoor Passwords:&lt;br /&gt;AMI--------BIOS--------PASSWORD--------HEWITT RAND-------- AMI?SW--------AMI_SW--------LKWPETER--------CONDO&lt;br /&gt;&lt;br /&gt;Phoenix BIOS Backdoor Passwords: phoenix--------PHOENIX--------CMOS--------BIOS&lt;br /&gt;&lt;br /&gt;Misc. Common Passwords&lt;br /&gt;ALFAROME--------BIOSTAR--------biostar--------biosstar-------- CMOS--------cmos--------LKWPETER--------lkwpeter-------- setup--------SETUP--------Syxz--------Wodj&lt;br /&gt;Other BIOS Passwords by Manufacturer&lt;br /&gt;Manufacturer--------Password&lt;br /&gt;VOBIS &amp;amp; IBM-------- merlin&lt;br /&gt;Dell--------Dell&lt;br /&gt;Biostar-------- Biostar&lt;br /&gt;Compaq--------Compaq&lt;br /&gt;Enox--------xo11nE&lt;br /&gt;Epox--------central&lt;br /&gt;Freetech--------Posterie&lt;br /&gt;IWill--------iwill&lt;br /&gt;Jetway--------spooml&lt;br /&gt;Packard Bell--------bell9&lt;br /&gt;QDI--------QDI&lt;br /&gt;Siemens--------SKY_FOX&lt;br /&gt;TMC--------BIGO&lt;br /&gt;Toshiba--------Toshiba&lt;br /&gt;Toshiba--------BIOS&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Most Toshiba laptops&lt;br /&gt;and some desktop systems will bypass the BIOS password if the left shift key is held down during boot&lt;br /&gt;IBM Aptiva BIOS&lt;br /&gt;Press both mouse buttons repeatedly during the boot&lt;br /&gt;&lt;br /&gt;by&lt;a href=&quot;http://rahulhackingarticles.wetpaint.com/account/rahuldutt1&quot;&gt; rahuldut1&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;</description><link>http://downloadsfreesoftwares.blogspot.com/2008/02/sam-history-n-hacking-win-xp.html</link><author>noreply@blogger.com (Juni Salman)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7611896947576374183.post-5914840696073338982</guid><pubDate>Wed, 20 Feb 2008 11:13:00 +0000</pubDate><atom:updated>2009-05-04T09:49:46.778-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Hacking</category><title>Speed Up Internet Explorer (IE) Hack</title><description>&lt;i style=&quot;font-family: arial;&quot;&gt;&lt;b&gt;even if IE is not preferred  browser today, in fact some of the windows user still using this browser, below is the way to speed up the IE&lt;br /&gt;This is a compilation for the legendary Internet Explorer.. which is the most frequently used browser .&lt;br /&gt;&lt;br /&gt;&lt;img alt=&quot;internet Exporer Tricks: Rahul&quot; src=&quot;http://image.wetpaint.com/wiki/rahulhackingarticles/image/3o1mrf33aP+v2Rt0WEYUyUA==7787/GW176H216&quot; title=&quot;internet Exporer Tricks: Rahul&quot; align=&quot;bottom&quot; height=&quot;216&quot; width=&quot;176&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;h3 style=&quot;font-family: arial;&quot;&gt;&lt;i&gt;&lt;b&gt;INTERNET EXPLORER Speed up STARTUP .&lt;/b&gt;&lt;/i&gt;&lt;/h3&gt;&lt;br /&gt;&lt;b style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;I&lt;/b&gt;&lt;b style=&quot;font-family: arial;&quot;&gt;sn&#39;t it annoying when you want to go to a new website, or any other site but your homepage, and you have to wait for your &#39;home&#39; to load? This tweak tells Internet Explorer to simply &#39;run&#39;, without loading any webpages. (If you use a &#39;blank&#39; page, that is still a page, and slows access. Notice the &#39;about:blank&#39; in the address bar. The blank html page must still be loaded..). To load IE with &#39;nothing&#39; [nothing is different than blank]:&lt;br /&gt;&lt;div class=&quot;fullpost&quot;&gt;&lt;br /&gt;1. Right-click on any shortcut you have to IE&lt;br /&gt;[You should create a shortcut out of your desktop IE icon, and delete the original icon]&lt;br /&gt;2. Click Properties&lt;br /&gt;3. Add &#39; -nohome&#39; [with a space before the dash] after the endquotes in the Target field.&lt;br /&gt;4. Click OK&lt;br /&gt;Fire up IE from your modified shortcut, and be amazed by how fast you are able to use IE!&lt;br /&gt;&lt;br /&gt;~ cheers ~ (it works)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;h3 style=&quot;font-family: arial;&quot;&gt;&lt;i&gt;&lt;b&gt;INTERNET EXPLORER SPEED UP.&lt;/b&gt;&lt;/i&gt;&lt;/h3&gt;&lt;b style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;br /&gt;Edit your link to start Internet Explorer to have -nohome after it. For Example: &quot;C:\Program Files\Internet Explorer\IEXPLORE.EXE&quot; -nohome&lt;br /&gt;This will load internet explorer very fast because it does not load a webpage while it is loading. If you want to go to your homepage after it is loaded, just click on the home button.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Open registry editor by going to Start then &gt;&gt; Run and entering &gt;&gt; regedit.&lt;br /&gt;&lt;br /&gt;Once in registry, navigate to key.&lt;br /&gt;&lt;br /&gt;HKEY_CURRENT_USER\Software\microsoft\Windows\CurrentVersion\InternetSettings. Right click @ windows right &gt; New &gt; DWORD.&lt;br /&gt;&lt;br /&gt;Type MaxConnectionsPerServer &gt; You can set value (the more higher the no, the more good speed u get, e;g : 99). [99 in hexa so 153 in binary]&lt;br /&gt;&lt;br /&gt;Create another DWORD &gt;type MaxConnectionsPer1_0Server. Then put a high value as mentioned above.&lt;br /&gt;&lt;br /&gt;Restart I.E and you are done.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;h3 style=&quot;font-family: arial;&quot;&gt;&lt;i&gt;&lt;b&gt;SPEED UP BROWSING WITH DNS trick.!!&lt;/b&gt;&lt;/i&gt;&lt;/h3&gt;&lt;b style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;br /&gt;when you connect to a web site your computer sends information back and forth, this is obvious. Some of this information deals with resolving the site name to an IP address, the stuff that tcp/ip really deals with, not words. This is DNS information and is used so that you will not need to ask for the site location each and every time you visit the site. Although WinXP and win2000 has a pretty efficient DNS cache, you can increase its overall performance by increasing its size. You can do this with the registry entries below:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Windows Registry Editor Version 5.00&lt;br /&gt;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters]&lt;br /&gt;&quot;CacheHashTableBucketSize&quot;=dword:00000001&lt;br /&gt;&quot;CacheHashTableSize&quot;=dword:00000180&lt;br /&gt;&quot;MaxCacheEntryTtlLimit&quot;=dword:0000fa00&lt;br /&gt;&quot;MaxSOACacheEntryTtlLimit&quot;=dword:0000012d&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;make a new text file and rename it to dnscache.reg. Then copy and paste the above into it and save it. Then merge it into the registry.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;h3 style=&quot;font-family: arial;&quot;&gt;&lt;i&gt;&lt;b&gt;START Internet EXPLORER WITH EMPTY BLUE SCREEN.!!&lt;/b&gt;&lt;/i&gt;&lt;/h3&gt;&lt;b style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;br /&gt;Set your default page to about:mozilla and IE will show a nice blue screen upon startup.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;h3 style=&quot;font-family: arial;&quot;&gt;&lt;i&gt;&lt;b&gt;FIX IE 6 SLOWDOWNS AND HANGS.&lt;/b&gt;&lt;/i&gt;&lt;/h3&gt;&lt;b style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;br /&gt;1. Open a command prompt window on the desktop (Start/Run/command).&lt;br /&gt;2. Exit IE and Windows Explorer (iexplore.exe and explorer.exe, respectively, in Task Manager, i.e - Ctrl-Alt-Del/Task Manager/Processes/End Process for each).&lt;br /&gt;3. Use the following command exactly from your command prompt window to delete the corrupt file:&lt;br /&gt;C:\&gt;del &quot;%systemdrive%\Documents and Settings\%username%\Local&lt;br /&gt;Settings\Temporary Internet Files\Content.IE5\index.dat&quot;&lt;br /&gt;4. Restart Windows Explorer with Task Manager (Ctrl-Alt-Del/Task Manager/Applications/New Task/Browse/C:\Windows\explorer.exe[or your path]) or Shutdown/Restart the computer from Task Manager.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;h3 style=&quot;font-family: arial;&quot;&gt;&lt;i&gt;&lt;b&gt;SPEED UP WEB BROWSING.&lt;/b&gt;&lt;/i&gt;&lt;/h3&gt;&lt;b style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;br /&gt;Iv&#39;e personally found a dramatic increase in web browsing after clearing the Windows XP DNS cache. To clear it type the following in a command prompt: ipconfig /flushdns.&lt;br /&gt;&lt;br /&gt;ALLOW MORE THAN 2 SIMULTANEOUS DOWNLOADS ON IEXPLORER 6.&lt;br /&gt;This is to increase the the number of max downloads to 10.&lt;br /&gt;1. Start Registry Editor (Regedt32.exe).&lt;br /&gt;2. Locate the following key in the registry:&lt;br /&gt;HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings&lt;br /&gt;3. On the Edit menu, click Add Value , and then add the following registry values:&lt;br /&gt;&quot;MaxConnectionsPer1_0Server&quot;=Dword:0000000a&lt;br /&gt;&quot;MaxConnectionsPerServer&quot;=Dword:0000000a&lt;br /&gt;4. Quit Registry Editor.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;h3 style=&quot;font-family: arial;&quot;&gt;&lt;i&gt;&lt;b&gt;IPV6 INSTALLATION FOR WINDOWS XP.&lt;/b&gt;&lt;/i&gt;&lt;/h3&gt;&lt;b style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;br /&gt;This protocol is distined to replace the Internet Protocal Version 4 used by Internet Explorer it uses hexadecimal ip addresses instead of decimal example (decimal ip 62.98.231.67) (hexadecimal IP 2001:6b8:0:400::70c)&lt;br /&gt;To install To install the IPv6 Protocol for Windows XP:&lt;br /&gt;Log on to the computer running Windows XP with a user account that has local administrator privileges. Open a command prompt. From the Windows XP desktop, click Start, point to Programs, point to Accessories, and then click Command Prompt. At the command prompt, type: ipv6 install&lt;br /&gt;For more information on IPv6, visit the site below:&lt;br /&gt;CODEhttp://www.microsoft.com/windowsxp/pro/techinfo/administration/ipv6/default.asp&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;h3 style=&quot;font-family: arial;&quot;&gt;&lt;i&gt;&lt;b&gt;ANOTHER WAY TO FIX IEXPLORER 6 SLOW PAGES LOADED.&lt;/b&gt;&lt;/i&gt;&lt;/h3&gt;&lt;b style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;&lt;br /&gt;Here&#39;s an easier way to get to index.dat file as addresse in another tweak submitted here.&lt;br /&gt;1. click on Internet Explorer&lt;br /&gt;2. go to to your root dir (usually C:)&lt;br /&gt;3. open Documents and Settings folder&lt;br /&gt;4. open &quot;your username folder&quot;&lt;br /&gt;5. open UserData&lt;br /&gt;6. **close IE if you have it open**&lt;br /&gt;rename index.dat to index.old&lt;br /&gt;logoff and log back on (don&#39;t need to restart) open up IE and go to a web page or site that always seemed to load slowly. It should load a lot more quickly now. NOTE. Always rename or backup .dat or other system files before deleting.&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;h3 style=&quot;font-family: arial;&quot;&gt;&lt;i&gt;&lt;b&gt;Disable Right Click!!&lt;/b&gt;&lt;/i&gt;&lt;/h3&gt;&lt;b style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Restrictions]&lt;br /&gt;&quot;NoBrowserContextMenu&quot;=dword:00000001&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;h3 style=&quot;font-family: arial;&quot;&gt;&lt;i&gt;&lt;b&gt;Enable Right Click!!&lt;/b&gt;&lt;/i&gt;&lt;/h3&gt;&lt;b style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Restrictions]&lt;br /&gt;&quot;NoBrowserContextMenu&quot;=dword:00000000&lt;/b&gt;&lt;br /&gt;&lt;b style=&quot;font-family: arial;&quot;&gt;&lt;i&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;h3 style=&quot;font-family: arial;&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;u&gt;do u want to save entire Page For offline viweing??&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;/h3&gt;&lt;br /&gt;&lt;blockquote style=&quot;font-family: arial;&quot;&gt;&lt;div align=&quot;left&quot;&gt;                         &lt;/div&gt;&lt;b&gt;Saving                            Web Pages with Internet Explorer 6&lt;br /&gt;&lt;br /&gt;Occasionally, you may want to save an entire Web page on your computer (text, hyperlinks, graphics, and all). To save the Web page that currently appears in Internet Explorer, choose File--&gt;Save As to open the Save Web Page dialog box shown in the following figure. Select the folder in which you want the page saved and then click the Save button.&lt;/b&gt;                           &lt;div align=&quot;left&quot;&gt;                         &lt;/div&gt;&lt;b&gt;After saving a Web page on your hard drive, you can open it in Internet Explorer and view the contents even when you&#39;re not connected to the Internet. If your motive for saving the Web page, however, is to be able to view the content when you&#39;re not connected to the Internet, you&#39;re better off saving the page as a Favorite marked for offline viewing. That way, you can decide whether you want to view other pages linked to the one you&#39;re saving and you can have Internet Explorer check the site for updated content. &lt;/b&gt;&lt;div align=&quot;left&quot;&gt;                         &lt;/div&gt;&lt;b&gt; You can also e-mail a Web page or a link to the page to a colleague or friend. To send the current Web page in a new e-mail message, click File--&gt;Send--&gt;Page by E-mail on the Explorer menu bar and then fill out the new e-mail. To send a link to the page instead, click File--&gt;Send--&gt;Link by E-Mail. To create a desktop shortcut to the Web page, click File--&gt;Send--&gt;Shortcut to Desktop.&lt;/b&gt;&lt;br /&gt;                                                &lt;/blockquote&gt;                      &lt;br /&gt;&lt;b style=&quot;font-family: arial;&quot;&gt;&lt;i&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;h3 style=&quot;font-family: arial;&quot;&gt;&lt;i&gt;&lt;u&gt;&lt;b&gt;~ all of them are tested ! ~&lt;/b&gt;&lt;/u&gt;&lt;/i&gt;&lt;/h3&gt;&lt;br /&gt;&lt;h2 style=&quot;font-family: arial;&quot;&gt;Alternate trick &lt;/h2&gt;&lt;br /&gt;&lt;b style=&quot;font-family: arial;&quot;&gt;Before performing these steps you need to test your broadband speed&lt;br /&gt;you can test your speed at http://www.2wire.com/&lt;br /&gt;The broadband connection speed can be increased by clearing the route from modem to server. Number of packets sent by modem to server should be increased.Internet speed can be increased by increasing more number of incoming and outgoing packets.The main reason why your internet connection is slow is because of harmful virus.If your system is infected with virus your number of incomming packets will be decreased.This leads to your slower internet speed.Internet speed can be increased by by clearing the route to the server.&lt;br /&gt;This can be done by upgrading costly sofwares and hardwares.This will optimize your system speed.And Increase your system speed.Internet tweak is the best software which increases your system speed for further applications.Another software Windows power tools which makes windows faster and increases your internet speed.And decreases downloading time.It optimizes LAN,CABLE,DSN etc.Another software &quot;internet cyclone&quot;which increases your internet speed from 64kbps to 120kbps.&lt;br /&gt;This tip is designed for increased BROADBAND speed in Windows XP while using standard Network Interface cards (NIC) that are connected to ADSL modems, or when using any directly-connected USB ADSL modem.&lt;br /&gt;&lt;br /&gt;To speed up the Internet connection speed we need to configure a special buffer in the computer&#39;s memory in order to enable it to better deal with interrupts made from the NIC or the USB modem.&lt;br /&gt;&lt;br /&gt;This tip is only recommended if you have 256MB RAM or higher.&lt;br /&gt;&lt;br /&gt;Step #1 - Identify the IRQ used by the NIC/USB modem&lt;br /&gt;&lt;br /&gt;1. Open the System Information tool by running MSINFO32.EXE from the Run command.&lt;br /&gt;&lt;br /&gt;2. Expand System Summary &gt; Hardware Resources &gt; IRQs.&lt;br /&gt;&lt;br /&gt;3. Look for the listing made for your NIC (in my case - a Intel® PRO/100+ Management Adapter). Note the IRQ next to the specified line (in my case - IRQ21).&lt;br /&gt;&lt;br /&gt;In case of USB modems you will first need to find the right USB device used by your modem. Follow these steps:&lt;br /&gt;&lt;br /&gt;1. Open the Device Manager tool by running DEVMGMT.MSC from the Run command (or by right-clicking My Computer &gt; Hardware tab &gt; Device Manager button).&lt;br /&gt;&lt;br /&gt;2. Scroll down to Universal Serial Bus controllers and expand it.&lt;br /&gt;&lt;br /&gt;3. Right-click the USB Root Hub and select Properties. Note that you might need to do so for all listed USB Root hubs (if there are more than one) in order to find the right one.&lt;br /&gt;&lt;br /&gt;4. In the Power tab, look for your USB ADSL modem.&lt;br /&gt;&lt;br /&gt;5. In the Resources tab look for the assigned IRQ (in this case - IRQ21).&lt;br /&gt;&lt;br /&gt;6. This is the IRQ we&#39;re looking for.&lt;br /&gt;&lt;br /&gt;Note: IRQs and modem names might vary...&lt;br /&gt;&lt;br /&gt;Step #2 - Modify the system.ini file&lt;br /&gt;&lt;br /&gt;1. Run SYSEDIT.EXE from the Run command.&lt;br /&gt;&lt;br /&gt;2. Expand the system.ini file window.&lt;br /&gt;&lt;br /&gt;3. Scroll down almost to the end of the file till you find a line called [386enh].&lt;br /&gt;&lt;br /&gt;4. Press Enter to make one blank line, and in that line type IRQX=4096 where X is the designated IRQ number we found in step #1, in my case it&#39;s IRQ21.&lt;br /&gt;&lt;br /&gt;Note: This line IS CASE SENSITIVE!!!&lt;br /&gt;&lt;br /&gt;5. Click on the File menu, then choose Save.&lt;br /&gt;&lt;br /&gt;6. Close SYSEDIT and reboot your computer.&lt;br /&gt;&lt;br /&gt;Done. Speed improvement will be noticed after the computer reboots.&lt;br /&gt;&lt;br /&gt;by &lt;a href=&quot;http://rahulhackingarticles.wetpaint.com/account/rahuldutt1&quot;&gt;rahuldut1&lt;br /&gt;&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;</description><link>http://downloadsfreesoftwares.blogspot.com/2008/02/speed-up-internet-explorer-ie-hack.html</link><author>noreply@blogger.com (Juni Salman)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7611896947576374183.post-8347237027864803654</guid><pubDate>Tue, 19 Feb 2008 14:30:00 +0000</pubDate><atom:updated>2009-05-04T09:51:20.898-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Internet</category><title>5 FAQs To Show You How To Choose A Good Domain Name</title><description>&lt;div class=&quot;articleDate&quot;&gt;11th February 2008&lt;/div&gt;          &lt;div class=&quot;articleInfo&quot;&gt;Author: &lt;a href=&quot;http://www.a1articles.com/author_1_109634.html&quot;&gt;Lubano Lim&lt;/a&gt;&lt;/div&gt;      &lt;div class=&quot;mainArticleBox&quot;&gt;       Registering a domain name for the first time? I assume you have many questions in your mind. In this article, let us go through 5 FAQ on how to choose a good domain name.&lt;div class=&quot;fullpost&quot;&gt;&lt;br /&gt;1) What domain name should I choose?&lt;br /&gt;&lt;br /&gt;You should choose a domain name that is meaningful. For example, if you are going to build an information site about gorilla, naturally, you should register “allaboutgorilla.info” instead of “allaboutmonkeys.info”.&lt;br /&gt;&lt;br /&gt;However, if you are building an information website about different types of monkeys, the “allaboutmonkeys.info” is preferred. In fact, when you are writing about gorilla, you can simply name the page as “allaboutmonkeys.info\gorilla.html”.&lt;br /&gt;&lt;br /&gt;2) Should I choose a long or short domain name?&lt;br /&gt;&lt;br /&gt;Generally, a shorter domain name is preferred over a long domain name because it is usually easier for people to remember. For example, if you are selling mobile phones, you will want to register “newmobilephones.com” instead of “averygoodnewandcheapmobilephone.com”.&lt;br /&gt;&lt;br /&gt;Of course, there are always exceptions. For example, if you are selling rackets, you will want to register “topqualityrackets.com” instead of “tqr.com”. In this example, the former domain name is definitely more memorable.&lt;br /&gt;&lt;br /&gt;3) Is there any legal issues that I should be aware of?&lt;br /&gt;&lt;br /&gt;That is a very good question. There are certain terms that are trademarks. You should not try to register them. For example, you should try to avoid domain name like “delll.com”. If you are unsure, consult a professional who is qualified to give you legal advice.&lt;br /&gt;&lt;br /&gt;4) Should I use hyphen in my domain name?&lt;br /&gt;&lt;br /&gt;I would advise you not to use hyphen if you can avoid it. Why? Well, let us consider “ilovecoffee.com” and “i_love_coffee.com”. Generally, when people are searching for a domain name, they will usually type in the domain name without the hyphen first. Therefore, instead of visiting your site, they may end up in your competitor site instead.&lt;br /&gt;&lt;br /&gt;However, if your desired domain name is already registered, then you may have to use the hyphened version instead. Alternatively, you may want to approach the owner to see if it is available for sale. You may be able to get it for a good price. Who know?&lt;br /&gt;&lt;br /&gt;5) Should I register a “.com”, “.net” or “.info”?&lt;br /&gt;&lt;br /&gt;In most situations, a “.com” is the best choice because when people are searching for a domain name, they will usually try “.com” first. This is normal as “.com” is a popular extension.&lt;br /&gt;&lt;br /&gt;However, there are always exceptions. For example, if you are registering a site for an education institution, naturally, you will want to register “.edu” instead of “.com”. That is because in this scenario, when people are searching for educational site, they will search for “.edu” first instead of “.com”.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lubano Lim is a Netpreneur who enjoys marketing on the Internet.&lt;br /&gt;&lt;br /&gt;Looking for &lt;a href=&quot;http://residualincomesecrets.continuousincome.com/&quot;&gt;home based internet business opportunities&lt;/a&gt;? For a very limited time, discover the secret system used by many ordinary people to attract thousands of targeted prospects without any cold calling.&lt;br /&gt;&lt;br /&gt;Visit http://kingofsponsoring.com now for a free 7 days Boot Camp.&lt;br /&gt;&lt;br /&gt;  &lt;!-- google_ad_section_end --&gt;       &lt;/div&gt;   &lt;div class=&quot;articleCopyright&quot;&gt;This article is free for republishing&lt;br /&gt;Source: &lt;a href=&quot;http://www.a1articles.com/article_472564_1.html&quot;&gt;http://www.a1articles.com/article_472564_1.html&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://downloadsfreesoftwares.blogspot.com/2008/02/5-faqs-to-show-you-how-to-choose-good.html</link><author>noreply@blogger.com (Juni Salman)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7611896947576374183.post-6995038947457208841</guid><pubDate>Tue, 19 Feb 2008 14:25:00 +0000</pubDate><atom:updated>2009-05-04T09:51:55.073-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Internet</category><title>Getting Started With A Cheap Web Site Design And Hosting Service</title><description>&lt;div class=&quot;articleDate&quot;&gt;12th February 2008&lt;/div&gt;          &lt;div class=&quot;articleInfo&quot;&gt;Author: &lt;a href=&quot;http://www.a1articles.com/author_1_109963.html&quot;&gt;Shlomi&lt;/a&gt;&lt;/div&gt;      &lt;div class=&quot;mainArticleBox&quot;&gt;               &lt;p&gt;The exhilaration level of signing up with a &lt;b&gt;&lt;u&gt;cheap web site design and hosting &lt;/u&gt;&lt;/b&gt;service and seeing a personal domain name come back as approved can be incredibly high. Business owners and individuals alike often feel a sense of euphoria when they realize their own site is about to go onto the World Wide Web. Unfortunately, this sense of amazement often turns to feelings of dread as newcomers to the web site design and operating field have no idea what to do next.&lt;/p&gt;The fact of the matter is that domain name selection and registration is only the first part of the process of getting a web site online. If a &lt;b&gt;&lt;u&gt;cheap web site design and hosting &lt;/u&gt;&lt;/b&gt;company has been selected to handle the site, chances are would be site operators are sitting on a goldmine of tools that can help them take the next steps in relative stride. Make no mistake though – web site creation and publishing is serious business.&lt;div class=&quot;fullpost&quot;&gt;This is especially so if a person hopes to generate income from a site. What happens after the registration can make or break the effort.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;&lt;u&gt;Cheap web site design and hosting &lt;/u&gt;&lt;/b&gt; deals have to be taken to the next level for anything to happen. This means site name owners need to follow a basic process to create their sites, load them with content and publish them to the web. Until this is done, a domain name is nothing more than a letters on a page. To get the ball rolling, it helps for site owners to:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Carefully consider their focus.&lt;/b&gt; If making money off a web site is the real desire, focus should very likely be rather targeted. This can help with content development and keyword selection. If, for example, the site will be dedicated to affiliate programs, select with care. Joining a program that sells chocolate and one that sells video games can result in site content that makes no sense. Joining a chocolate affiliate program and a gourmet dessert delivery company&#39;s affiliate program can work very well together. Do sit down and brainstorm focus, desired content and even looks before moving forward. These decisions will help determine how best to proceed with the actual site construction. &lt;b&gt;&lt;u&gt;Cheap web site design and hosting &lt;/u&gt;&lt;/b&gt;deals can make participating in affiliate programs very rewarding, but the ultimate success depends on the site owner&#39;s ability to focus and market a site.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Site construction.&lt;/b&gt; Once the focus for the site has been decided upon, the next steps in launching a &lt;b&gt;&lt;u&gt;cheap web site design and hosting &lt;/u&gt;&lt;/b&gt;domain are generally the most fun and tedious all at the same time. It is here where the site will need to be constructed. Use provided web site building tools if possible or even templates. Just keep the focus of the site in mind. A background of tire treads and neat trucks, for example, doesn&#39;t lend itself to a site dedicated to chocolate. If there are concerns about abilities to alter templates or follow site building programs, consider hiring a pro for maximum ease. This will cost some serious money, but it can pay off with a well designed site. &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Content creation.&lt;/b&gt;It doesn&#39;t matter whether a site is dedicated to chocolate or writing about current news events, content needs to go into place before the final launch. When using &lt;b&gt;&lt;u&gt; cheap web site design and hosting&lt;/u&gt;&lt;/b&gt; tools and templates, remember that keyword rich content that is relevant can drive traffic to a site. Some site owners write their own content, but others hire pros to do it for them. If the traffic and sales come, this investment is well worth the money. Do put some content in place prior to the launch, but plan on adding updates on a regular basis. This can keep a site looking and feeling fresh.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Launching.&lt;/b&gt; Once content is in place and the site is completely built, it&#39;s time to launch. Most &lt;b&gt;&lt;u&gt;cheap web site design and hosting&lt;/u&gt;&lt;/b&gt; offers make this very easy for clients to do. Just follow the instructions and the domain name used will very shortly have its own web site attached to it.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;p&gt;&lt;b&gt;Author:&lt;/b&gt; This Article wrote by our team of experts and unique propery of &lt;a href=&quot;http://www.hosting-review-center.com/&quot;&gt;Hosting-Review-Center&lt;/a&gt; (http://www.hosting-review-center.com).&lt;br /&gt;Hosting-Review-Center ranks and review the &lt;a href=&quot;http://www.hosting-review-center.com/&quot;&gt;best rated web hosting&lt;/a&gt; providers, windows and dedicated server hosting. Top 10 web hosting companies, &lt;a href=&quot;http://www.hosting-review-center.com/&quot;&gt;small business web host&lt;/a&gt;, web host rating, web hosting articles and more. &lt;/p&gt;&lt;br /&gt;  &lt;!-- google_ad_section_end --&gt;       &lt;/div&gt;   &lt;div class=&quot;articleCopyright&quot;&gt;This article is free for republishing&lt;br /&gt;Source: &lt;a href=&quot;http://www.a1articles.com/article_473352_2.html&quot;&gt;http://www.a1articles.com/article_473352_2.html&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://downloadsfreesoftwares.blogspot.com/2008/02/getting-started-with-cheap-web-site.html</link><author>noreply@blogger.com (Juni Salman)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7611896947576374183.post-9031542871518989855</guid><pubDate>Tue, 19 Feb 2008 14:17:00 +0000</pubDate><atom:updated>2009-05-04T09:52:36.260-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Internet</category><title>Fundamentals of ASP.Net programming vs. PHP programming</title><description>&lt;div class=&quot;articleDate&quot;&gt;15th February 2008&lt;/div&gt;          &lt;div class=&quot;articleInfo&quot;&gt;Author: &lt;a href=&quot;http://www.a1articles.com/author_1_102700.html&quot;&gt;Joanna Gadel&lt;/a&gt;&lt;/div&gt;      &lt;div class=&quot;mainArticleBox&quot;&gt;         &lt;/div&gt;&lt;br /&gt;In this day’s websites normally requires simple web hosting plans for smooth performance of the website and email transfer that is essential. There are two modes of hosting planes are generally available, first is Linux hosting and second one is Windows hosting. Both have several advantages and disadvantages respectively but Depending upon small business owner’s requirements suitable managed hosting plan can be selected for a specific website.&lt;br /&gt;&lt;br /&gt;Well in most of the normal situations, the general preference of small business owners for choosing web hosting plan moves towards the Linux server hosting plans rather than window server hosting, because there are numerous optimistic factor that influence people to choose it.&lt;div class=&quot;fullpost&quot;&gt;&lt;br /&gt;&lt;b&gt;Expenditure Factor&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The truth is that &lt;a href=&quot;http://www.aussiehost.com.au/&quot;&gt;Linux hosting&lt;/a&gt; plans are much economical than Windows servers plans. For all small business people the web hosting price matters vastly. They wish to receive many options or you can say facilities at a tiny expenditure. Most of them not required supreme type of security and they also do not bother whether it is MS-SQL database server or some thing else to develop their database. Thus Linux server is the best option for them at really least cost with several kinds of features.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Open Source Factor&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Linux is an Open Source code and enables people from all around the world to promote their own knowledge for its development. This is one of the main reasons where Linux servers have the power to eject Windows servers far away form competitive hosting industry. Now a day’s, due to its farthest adaptability Linux becomes a unique platform for lots of fresh technologies that are mostly used in competitive hosting industry. This means that a Linux server gives you numerous features than Windows servers can does.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Scripting Language Factor&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;There are many scripting language available on the Internet like Perl, Python, Java, and PHP to build your site. All these scripting languages and have been developed on Linux / UNIX web servers and they do not required Microsoft support to run them. But when you use those scripting languages which can be run on windows servers like ASP.Net then you require MS-SQL to develop the database and other supports of Microsoft. Now it is easily understandable that for small business owners Linux hosting is best to host their website into the internet.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Dependability Factor&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Now a day’s Linux is vastly known as really steady and dependable. This means that Linux servers are little faster, easy to use and reputed as non crushable than a &lt;a href=&quot;http://www.planethost.com.au/&quot;&gt;Windows server&lt;/a&gt;. Thus, Linux servers will provide more upgraded facilities for your website at a minimum outlay.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Familiarity and Executing Speed Factor&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Linux servers have years of experience for providing services than Windows servers in hosting industry. There is no such recommendable difference in executing speed between Linux servers and Windows servers, but it is viewed that Linux servers are slightly quicker in processing normal website pages.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Efficiency Factor&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Windows support ASP which is a programming language supported by Microsoft, which allows people to fabricate dynamic database motivated website pages by connecting with a MS-SQL server or Access server. It increase the production cost as well. Linux neither requires ASP language nor MS-SQL databases to build dynamic database driven website pages, because it simply uses MySQL database which is freely available.&lt;br /&gt;  &lt;!-- google_ad_section_end --&gt;          &lt;div class=&quot;articleCopyright&quot;&gt;This article is copyright&lt;br /&gt;Source: &lt;a href=&quot;http://www.a1articles.com/article_475534_2.html&quot;&gt;http://www.a1articles.com/article_475534_2.html&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://downloadsfreesoftwares.blogspot.com/2008/02/fundamentals-of-aspnet-programming-vs.html</link><author>noreply@blogger.com (Juni Salman)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7611896947576374183.post-7014263054936946784</guid><pubDate>Tue, 19 Feb 2008 13:59:00 +0000</pubDate><atom:updated>2009-05-04T09:53:24.833-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Internet</category><title>Learning Java Programming Language</title><description>&lt;div class=&quot;articleDate&quot;&gt;18th February 2008&lt;/div&gt;          &lt;div class=&quot;articleInfo&quot;&gt;Author: &lt;a href=&quot;http://www.a1articles.com/author_1_109600.html&quot;&gt;2Deano&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;    There are many programming languages available and each of them is suitable for another program or application. There are people who have learnt only a few programming languages and who use these because that is what they know, bust most of the times software programmers will use the programming language that is required by the application they are creating. Java is one of the most frequently used programming language and writing in this language is somehow different from the usual Pascal or any C/C++ version but that does not mean that learning the java code is harder than learning Pascal or C++. Nowadays there are numerous applications written in Java and its terminology it may seem a bit harder in the beginning but anyone can write in this programming language, that&#39;s for sure.&lt;div class=&quot;fullpost&quot;&gt;&lt;br /&gt;When looking into a new programming language, most people would like to know if it is easy to learn and work in. If you compare it to C or C++, you may discover that indeed, using it can be more straight forward. This is due to the fact that Java has far fewer surprises compared to C versions. C and C++ make use of a lot of peculiarities so learning and mastering them all can be a daunting task (for example, temporary variables hang around long after the function that created them has terminated). Being more straight forward, Java is a bit easier to learn and to work with. Java eliminates explicit pointer dereferences and memory allocation/reclamation, for example, two of the most complicated sources of bugs for C and C++ programmers. Out of range subscripts are easy to find, as Java is able to do add array bounds checking. Others may argue that it seems easier to work with because there are very few examples of extremely complicated projects done using it, but the general accepted idea is that it is somehow easier to master than C or C++.&lt;br /&gt;&lt;br /&gt;Learning Java programming is not very difficult, especially if you are familiar with other, more basic, programming languages and you know for sure what you want to create using it and it has a series of benefits compared to C and C++. First of all, code written in this programming language is portable. Code written in C and C++ is not and this makes Java more practical (for example, in C and C++, each implementation decides the precision and storage requirements for basic data types.&lt;br /&gt;&lt;br /&gt;When you want to move from one system to another, this is a source of problems because changes in numeric precision can affect calculations). On the other hand, Java defines the size of basic types for all implementations (for example, an &quot;int&quot; on one system is the same size and it represents the same range of values as on every other given system). Find out more at http://www.whatiscomputerprogramming.com&lt;br /&gt;&lt;br /&gt;The cases of programs that make use of floating point arithmetic requires a special attention: a program that uses floating point calculations can produce different answers on different systems (in this case, the degree of difference increases with the number of calculations a particular value goes through). But this is a thing specific to all floating point code, not only Java code which is also more portable then C or C++ in its object code. It compiles to an object code for a theoretical machine - in other words, the interpreter emulates that machine. This translates to the fact that code compiled on one computer will run on other computer machines that has a Java interpreter, but more on this subject you will find out while learning Java programming.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Learn more about computer programming languages including &lt;a href=&quot;http://www.whatiscomputerprogramming.com/computer-programming-training.php&quot;&gt;Computer Programming Training&lt;/a&gt;, tutorials and programming tools at =&gt; &lt;a href=&quot;http://www.whatiscomputerprogramming.com/&quot;&gt;http://www.whatiscomputerprogramming.com&lt;/a&gt;&lt;/div&gt;</description><link>http://downloadsfreesoftwares.blogspot.com/2008/02/learning-java-programming-language.html</link><author>noreply@blogger.com (Juni Salman)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7611896947576374183.post-1391101231687291802</guid><pubDate>Sat, 09 Feb 2008 14:08:00 +0000</pubDate><atom:updated>2008-02-09T06:15:18.047-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">hosting</category><title>Free Hosting From 000webHost | PHP mySql free Hosting |</title><description>&lt;a href=&quot;http://www.000webhost.com/?id=21423&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://www.000webhost.com/images/banners/468x60/banner6.gif&quot; alt=&quot;Free Web Hosting&quot; width=&quot;468&quot; height=&quot;60&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here comes the new free hosting from 000webhost.com its absolutely free host and no ads applied in the free host&lt;br /&gt; the feature are&lt;br /&gt;&lt;ol&gt;&lt;li&gt;250 MB storage&lt;/li&gt;&lt;li&gt;100 GB transfer&lt;/li&gt;&lt;li&gt;Php mysql support&lt;/li&gt;&lt;li&gt;no advertising or banner embeded&lt;br /&gt;&lt;/li&gt;&lt;li&gt;referal program for registered member&lt;/li&gt;&lt;/ol&gt;im already use its service and its very good for people who want a stabil freehost in the web&lt;br /&gt;join now for free&lt;br /&gt;click the banner for join&lt;br /&gt;&lt;a href=&quot;http://www.000webhost.com/?id=21423&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://www.000webhost.com/images/banners/120x60/banner3.gif&quot; alt=&quot;Free Web Hosting&quot; width=&quot;120&quot; height=&quot;60&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;</description><link>http://downloadsfreesoftwares.blogspot.com/2008/02/free-hosting-from-000webhost-php-mysql.html</link><author>noreply@blogger.com (Juni Salman)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7611896947576374183.post-2581558311139403029</guid><pubDate>Wed, 06 Feb 2008 08:14:00 +0000</pubDate><atom:updated>2008-02-06T00:20:51.813-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">php</category><title>PHP Programing | PHP Basic | chapter 7 Classes and Object</title><description>class&lt;br /&gt; A class is a collection of variables and functions working with these variables. A class is defined using the following syntax:&lt;br /&gt;&lt;?php&lt;br /&gt;class Cart {&lt;br /&gt;   var $items;  // Items in our shopping cart&lt;br /&gt;      // Add $num articles of $artnr to the cart&lt;br /&gt;    function add_item ($artnr, $num) {&lt;br /&gt;       $this-&gt;items[$artnr] += $num;&lt;br /&gt;   }&lt;br /&gt;      // Take $num articles of $artnr out of the cart&lt;br /&gt;    function remove_item ($artnr, $num) {&lt;br /&gt;       if ($this-&gt;items[$artnr] &gt; $num) {&lt;br /&gt;           $this-&gt;items[$artnr] -= $num;&lt;br /&gt;           return true;&lt;br /&gt;       } else {&lt;br /&gt;           return false;&lt;br /&gt;       }&lt;br /&gt;     }&lt;br /&gt;}&lt;br /&gt;?&gt;&lt;br /&gt;      This defines a class named Cart that consists of an associative array of articles in the cart and two functions to add and remove items from this cart.&lt;br /&gt;Note: In PHP 4 and newer, only constant initializers for var variables are allowed. Use constructors for non-constant initializers.&lt;br /&gt;/* None of these will work in PHP 4. */&lt;br /&gt;class Cart {&lt;br /&gt;   var $todays_date = date(&quot;Y-m-d&quot;);&lt;br /&gt;   var $name = $firstname;&lt;br /&gt;   var $owner = &#39;Fred &#39; . &#39;Jones&#39;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* This is how it should be done. */&lt;br /&gt;class Cart {&lt;br /&gt;   var $todays_date;&lt;br /&gt;   var $name;&lt;br /&gt;   var $owner;&lt;br /&gt;&lt;br /&gt;   function Cart() {&lt;br /&gt;       $this-&gt;todays_date = date(&quot;Y-m-d&quot;);&lt;br /&gt;       $this-&gt;name = $GLOBALS[&#39;firstname&#39;];&lt;br /&gt;       /* etc. . . */&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;       Classes are types, that is, they are blueprints for actual variables. You have to create a variable of the desired type with the new operator.&lt;br /&gt;$cart = new Cart;&lt;br /&gt;$cart-&gt;add_item(&quot;10&quot;, 1);&lt;br /&gt;     This creates an object $cart of the class Cart. The function add_item() of that object is being called to add 1 item of article number 10 to the cart.&lt;br /&gt;Classes can be extensions of other classes. The extended or derived class has all variables and functions of the base class and what you add in the extended definition. This is done using the extends keyword. Multiple inheritance is not supported.&lt;br /&gt;class Named_Cart extends Cart {&lt;br /&gt;   var $owner;&lt;br /&gt;     function set_owner ($name) {&lt;br /&gt;       $this-&gt;owner = $name;&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;     This defines a class Named_Cart that has all variables and functions of Cart plus an additional variable $owner and an additional function set_owner(). You create a named cart the usual way and can now set and get the carts owner. You can still use normal cart functions on named carts:&lt;br /&gt;$ncart = new Named_Cart;    // Create a named cart&lt;br /&gt;$ncart-&gt;set_owner (&quot;kris&quot;); // Name that cart&lt;br /&gt;print $ncart-&gt;owner;        // print the cart owners name&lt;br /&gt;$ncart-&gt;add_item (&quot;10&quot;, 1); // (inherited functionality from cart)&lt;br /&gt;     Within functions of a class the variable $this means this object. You have to use $this-&gt;something to access any variable or function named something within your current object. Both in and outside of the object you do not need a $ when accessing an object&#39;s properties.&lt;br /&gt;$ncart-&gt;owner  = &quot;chris&quot;; // no $&lt;br /&gt;&lt;br /&gt;$ncart-&gt;$owner = &quot;chris&quot;;&lt;br /&gt;// this is invalid because $ncart-&gt;$owner = $ncart-&gt;&quot;&quot;&lt;br /&gt;&lt;br /&gt;$myvar = &#39;owner&#39;;&lt;br /&gt;$ncart-&gt;$myvar = &quot;chris&quot;;&lt;br /&gt;// this is valid because $ncart-&gt;$myvar = $ncart-&gt;owner&lt;br /&gt;     Constructors are functions in a class that are automatically called when you create a new instance of a class. A function becomes a constructor when it has the same name as the class.&lt;br /&gt;class Auto_Cart extends Cart {&lt;br /&gt;   function Auto_Cart () {&lt;br /&gt;       $this-&gt;add_item (&quot;10&quot;, 1);&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;     This defines a class Auto_Cart that is a Cart plus a constructor which initializes the cart with one item of article number &quot;10&quot; each time a new Auto_Cart is being made with &quot;new&quot;. Constructors can also take arguments and these arguments can be optional, which makes them much more useful.&lt;br /&gt;class Constructor_Cart extends Cart {&lt;br /&gt;   function Constructor_Cart ($item = &quot;10&quot;, $num = 1) {&lt;br /&gt;       $this-&gt;add_item ($item, $num);&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;// Shop the same old boring stuff.&lt;br /&gt;$default_cart   = new Constructor_Cart;&lt;br /&gt;// Shop for real...&lt;br /&gt;$different_cart = new Constructor_Cart (&quot;20&quot;, 17);&lt;br /&gt;     For derived classes, the constructor of the parent class is not automatically called when the derived class&#39;s constructor is called.&lt;br /&gt;References inside the constructor&lt;br /&gt; Creating references within the constructor can lead to confusing results. This tutorial-like section helps you to avoid problems.&lt;br /&gt;&lt;br /&gt;class foo {&lt;br /&gt;   function foo($name) {&lt;br /&gt;       // create a reference inside the global array $globalref&lt;br /&gt;       global $globalref;&lt;br /&gt;  $globalref[] = &amp;amp;$this;&lt;br /&gt;       // set name to passed value&lt;br /&gt;       $this-&gt;setName($name);&lt;br /&gt;  // and put it out&lt;br /&gt;       $this-&gt;echoName();&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   function echoName() {&lt;br /&gt;       echo &quot;&lt;br /&gt;&quot;,$this-&gt;Name;&lt;br /&gt;   }&lt;br /&gt;  function setName($name) {&lt;br /&gt;  $this-&gt;Name = $name;&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;     Let us check out if there is a difference between $bar1 which has been created using the copy = operator and $bar2 which has been created using the reference =&amp;amp; operator...&lt;br /&gt;       $bar1 = new foo(&#39;set in constructor&#39;);&lt;br /&gt;   $bar1-&gt;echoName();&lt;br /&gt;   $globalref[0]-&gt;echoName();&lt;br /&gt;       /* output:&lt;br /&gt;   set in constructor&lt;br /&gt;   set in constructor&lt;br /&gt;   set in constructor */&lt;br /&gt;       $bar2 =&amp;amp; new foo(&#39;set in constructor&#39;);&lt;br /&gt;   $bar2-&gt;echoName();&lt;br /&gt;   $globalref[1]-&gt;echoName();&lt;br /&gt;&lt;br /&gt;   /* output:&lt;br /&gt;   set in constructor&lt;br /&gt;   set in constructor&lt;br /&gt;   set in constructor */&lt;br /&gt;             Apparently there is no difference, but in fact there is a very significant one: $bar1 and $globalref[0] are _NOT_ referenced, they are NOT the same variable. This is because &quot;new&quot; does not return a reference by default, instead it returns a copy.&lt;br /&gt;Note: There is no performance loss (since php 4 and up use reference counting) returning copies instead of references. On the contrary it is most often better to simply work with copies instead of references, because creating references takes some time where creating copies virtually takes no time (unless none of them is a large array or object and one of them gets changed and the other(s) one(s) subsequently, then it would be wise to use references to change them all concurrently).&lt;br /&gt;To prove what is written above let us watch the code below.&lt;br /&gt;        // now we will change the name. what do you expect?&lt;br /&gt;       // you could expect that both $bar and $globalref[0] change their names...&lt;br /&gt;       $bar1-&gt;setName(&#39;set from outside&#39;);&lt;br /&gt;&lt;br /&gt;       // as mentioned before this is not the case.&lt;br /&gt;       $bar1-&gt;echoName();&lt;br /&gt;       $globalref[0]-&gt;echoName();&lt;br /&gt;&lt;br /&gt;       /* output:&lt;br /&gt;       set on object creation&lt;br /&gt;       set from outside */&lt;br /&gt;&lt;br /&gt;       // let us see what is different with $bar2 and $globalref[1]&lt;br /&gt;       $bar2-&gt;setName(&#39;set from outside&#39;);&lt;br /&gt;&lt;br /&gt;       // luckily they are not only equyl, they are thesame variable&lt;br /&gt;       // thus $bar2-&gt;Name and $globalref[1]-&gt;Name are the same too&lt;br /&gt;       $bar2-&gt;echoName();&lt;br /&gt;       $globalref[1]-&gt;echoName();&lt;br /&gt;&lt;br /&gt;       /* output:&lt;br /&gt;       set from outside&lt;br /&gt;       set from outside */&lt;br /&gt;               Another final example, try to understand it.&lt;br /&gt;&lt;br /&gt;class a {&lt;br /&gt;   function a($i) {&lt;br /&gt;       $this-&gt;value = $i;&lt;br /&gt;       // try to figure out why we do not need a reference here&lt;br /&gt;       $this-&gt;b = new b($this);&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   function createRef() {&lt;br /&gt;       $this-&gt;c = new b($this);&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   function echoValue() {&lt;br /&gt;       echo &quot;&lt;br /&gt;&quot;,&quot;class &quot;,get_class($this),&#39;: &#39;,$this-&gt;value;&lt;br /&gt;       }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;class b  {&lt;br /&gt;&lt;br /&gt;   function b(&amp;amp;$a) {&lt;br /&gt;       $this-&gt;a = &amp;amp;$a;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;  function echoValue() {&lt;br /&gt;       echo &quot;&lt;br /&gt;&quot;,&quot;class &quot;,get_class($this),&#39;: &#39;,$this-&gt;a-&gt;value;&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// try to undestand why using a simple copy here would yield&lt;br /&gt;// in an undesired result in the *-marked line&lt;br /&gt;$a =&amp;amp; new a(10);&lt;br /&gt;$a-&gt;createRef();&lt;br /&gt;&lt;br /&gt;$a-&gt;echoValue();&lt;br /&gt;$a-&gt;b-&gt;echoValue();&lt;br /&gt;$a-&gt;c-&gt;echoValue();&lt;br /&gt;&lt;br /&gt;$a-&gt;value = 11;&lt;br /&gt;&lt;br /&gt;$a-&gt;echoValue();&lt;br /&gt;$a-&gt;b-&gt;echoValue(); // *&lt;br /&gt;$a-&gt;c-&gt;echoValue();&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;output:&lt;br /&gt;class a: 10&lt;br /&gt;class b: 10&lt;br /&gt;class b: 10&lt;br /&gt;class a: 11&lt;br /&gt;class b: 11&lt;br /&gt;class b: 11&lt;br /&gt;*/&lt;br /&gt;      &lt;br /&gt;Article 8&lt;br /&gt;Title : PHP Programing | PHP Basic | chapter 8 References&lt;br /&gt; References are a means in PHP to access the same variable content by different names. They are not like C pointers, they are symbol table aliases. Note that in PHP, variable name and variable content are different, so the same content can have different names. The most close analogy is with Unix filenames and files - variable names are directory entries, while variable contents is the file itself. References can be thought of as hardlinking in Unix filesystem.&lt;br /&gt;PHP references allow you to make two variables to refer to the same content. Meaning, when you do:&lt;br /&gt;$a =&amp;amp; $b&lt;br /&gt;      it means that $a and $b point to the same variable.&lt;br /&gt;Note: $a and $b are completely equal here, that&#39;s not $a is pointing to $b or vice versa, that&#39;s $a and $b pointing to the same place.&lt;br /&gt;The same syntax can be used with functions, that return references, and with new operator (in PHP 4.0.4 and later):&lt;br /&gt;$bar =&amp;amp; new fooclass();&lt;br /&gt;$foo =&amp;amp; find_var ($bar);&lt;br /&gt;     Note: Unless you use the syntax above, the result of $bar = new fooclass() will not be the same variable as $this in the constructor, meaning that if you have used reference to $this in the constructor, you should use reference assignment, or you get two different objects.&lt;br /&gt;The second thing references do is to pass variables by-reference. This is done by making a local variable in a function and a variable in the calling scope reference to the same content. Example:&lt;br /&gt;function foo (&amp;amp;$var) {&lt;br /&gt;   $var++;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$a=5;&lt;br /&gt;foo ($a);&lt;br /&gt;      will make $a to be 6. This happens because in the function foo the variable $var refers to the same content as $a&lt;br /&gt;Passing by Reference&lt;br /&gt; You can pass variable to function by reference, so that function could modify its arguments. The sytax is as follows:&lt;br /&gt;function foo (&amp;amp;$var) {&lt;br /&gt;   $var++;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$a=5;&lt;br /&gt;foo ($a);&lt;br /&gt;// $a is 6 here&lt;br /&gt;      Note that there&#39;s no reference sign on function call - only on function definition. Function definition alone is enough to correctly pass the argument by reference.&lt;br /&gt;Following things can be passed by reference:&lt;br /&gt;· Variable, i.e. foo($a)&lt;br /&gt;· New statement, i.e. foo(new foobar())&lt;br /&gt;· Reference, returned from a function, i.e.:&lt;br /&gt;function &amp;amp;bar()&lt;br /&gt;{&lt;br /&gt;  $a = 5;&lt;br /&gt;  return $a;&lt;br /&gt;}&lt;br /&gt;foo(bar());&lt;br /&gt;      Any other expression should not be passed by reference, as the result is undefined. For example, the following examples of passing by reference are invalid:&lt;br /&gt;function bar() // Note the missing &amp;amp;&lt;br /&gt;{&lt;br /&gt;       $a = 5;&lt;br /&gt;       return $a;&lt;br /&gt;}&lt;br /&gt;foo(bar));&lt;br /&gt;&lt;br /&gt;foo($a = 5) // Expression, not variable&lt;br /&gt;foo(5) // Constant, not variable&lt;br /&gt;      These requirements are for PHP 4.0.4 and later.&lt;br /&gt;Returning References&lt;br /&gt; Returning by-reference is useful when you want to use a function to find which variable a reference should be bound to. When returning references, use this syntax:&lt;br /&gt;function &amp;amp;find_var ($param) {&lt;br /&gt;   ...code...&lt;br /&gt;   return $found_var;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$foo =&amp;amp; find_var ($bar);&lt;br /&gt;$foo-&gt;x = 2;&lt;br /&gt;      In this example, the property of the object returned by the find_var function would be set, not the copy, as it would be without using reference syntax.&lt;br /&gt;Note: Unlike parameter passing, here you have to use &amp;amp; in both places - to indicate that you return by-reference, not a copy as usual, and to indicate that reference binding, rather than usual assignment, should be done for $foo.&lt;br /&gt;Unsetting References&lt;br /&gt; When you unset the reference, you just break the binding between variable name and variable content. This does not mean that variable content will be destroyed. For example:&lt;br /&gt;$a = 1;&lt;br /&gt;$b =&amp;amp; $a;&lt;br /&gt;unset ($a);&lt;br /&gt;      won&#39;t unset $b, just $a.&lt;br /&gt;Again, it might be useful to think about this as analogous to Unix unlink call.&lt;br /&gt;Spotting References&lt;br /&gt;Many syntax constructs in PHP are implemented via referencing mechanisms, so everything told above about reference binding also apply to these constructs. Some constructs, like passing and returning by-reference, are mentioned above. Other constructs that use references are:&lt;br /&gt;global References&lt;br /&gt;When you declare variable as global $var you are in fact creating reference to a global variable. That means, this is the same as:&lt;br /&gt;$var =&amp;amp; $GLOBALS[&quot;var&quot;];&lt;br /&gt;       That means, for example, that unsetting $var won&#39;t unset global variable.&lt;br /&gt;$this&lt;br /&gt;In an object method, $this is always reference to the caller object.&lt;br /&gt;This is the last chapter I write about PHP but it doesn’t mean that PHP only until this subject because there much more about PHP.and in my article is very litle part from the Big Part of PHP. Next time I will discused about PHP again with more advanced chapter about PHP. Thanks to all my friend for the help writing this article.</description><link>http://downloadsfreesoftwares.blogspot.com/2008/02/php-programing-php-basic-chapter-7.html</link><author>noreply@blogger.com (Juni Salman)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7611896947576374183.post-700982369140339238</guid><pubDate>Wed, 06 Feb 2008 08:07:00 +0000</pubDate><atom:updated>2008-02-06T00:13:08.228-08:00</atom:updated><title>PHP Programing | PHP Basic | chapter 5 Control Structure</title><description>Any PHP script is built out of a series of statements. A statement can be an assignment, a function call, a loop, a conditional statement of even a statement that does nothing (an empty statement). Statements usually end with a semicolon. In addition, statements can be grouped into a statement-group by encapsulating a group of statements with curly braces. A statement-group is a statement by itself as well. The various statement types are described in this chapter&lt;br /&gt;if&lt;br /&gt; The if construct is one of the most important features of many languages, PHP included. It allows for conditional execution of code fragments. PHP features an if structure that is similar to that of C:&lt;br /&gt;if (expr)&lt;br /&gt;   statement&lt;br /&gt;      As described in the section about expressions, expr is evaluated to its truth value. If expr evaluates to TRUE, PHP will execute statement, and if it evaluates to FALSE - it&#39;ll ignore it.&lt;br /&gt;The following example would display a is bigger than b if $a is bigger than $b:&lt;br /&gt;if ($a &gt; $b)&lt;br /&gt;   print &quot;a is bigger than b&quot;;&lt;br /&gt;      Often you&#39;d want to have more than one statement to be executed conditionally. Of course, there&#39;s no need to wrap each statement with an if clause. Instead, you can group several statements into a statement group. For example, this code would display a is bigger than b if $a is bigger than $b, and would then assign the value of $a into $b:&lt;br /&gt;if ($a &gt; $b) {&lt;br /&gt;   print &quot;a is bigger than b&quot;;&lt;br /&gt;   $b = $a;&lt;br /&gt;}&lt;br /&gt;      If statements can be nested indefinitely within other if statements, which provides you with complete flexibility for conditional execution of the various parts of your program.&lt;br /&gt;else&lt;br /&gt; Often you&#39;d want to execute a statement if a certain condition is met, and a different statement if the condition is not met. This is what else is for. else extends an if statement to execute a statement in case the expression in the if statement evaluates to FALSE. For example, the following code would display a is bigger than b if $a is bigger than $b, and a is NOT bigger than b otherwise:&lt;br /&gt;if ($a &gt; $b) {&lt;br /&gt;   print &quot;a is bigger than b&quot;;&lt;br /&gt;} else {&lt;br /&gt;   print &quot;a is NOT bigger than b&quot;;&lt;br /&gt;}&lt;br /&gt;      The else statement is only executed if the if expression evaluated to FALSE, and if there were any elseif expressions - only if they evaluated to FALSE as well.&lt;br /&gt;elseif&lt;br /&gt; elseif, as its name suggests, is a combination of if and else. Like else, it extends an if statement to execute a different statement in case the original if expression evaluates to FALSE. However, unlike else, it will execute that alternative expression only if the elseif conditional expression evaluates to TRUE. For example, the following code would display a is bigger than b, a equal to b or a is smaller than b:&lt;br /&gt;if ($a &gt; $b) {&lt;br /&gt;   print &quot;a is bigger than b&quot;;&lt;br /&gt;} elseif ($a == $b) {&lt;br /&gt;   print &quot;a is equal to b&quot;;&lt;br /&gt;} else {&lt;br /&gt;   print &quot;a is smaller than b&quot;;&lt;br /&gt;}&lt;br /&gt;      There may be several elseifs within the same if statement. The first elseif expression (if any) that evaluates to true would be executed. In PHP, you can also write &#39;else if&#39; (in two words) and the behavior would be identical to the one of &#39;elseif&#39; (in a single word). The syntactic meaning is slightly different (if you&#39;re familiar with C, this is the same behavior) but the bottom line is that both would result in exactly the same behavior.&lt;br /&gt;The elseif statement is only executed if the preceding if expression and any preceding elseif expressions evaluated to FALSE, and the current elseif expression evaluated to TRUE.&lt;br /&gt;Alternative syntax for control structures&lt;br /&gt; PHP offers an alternative syntax for some of its control structures; namely, if, while, for, foreach, and switch. In each case, the basic form of the alternate syntax is to change the opening brace to a colon (:) and the closing brace to endif;, endwhile;, endfor;, endforeach;, or endswitch;, respectively.&lt;br /&gt; &lt;?php if ($a == 5): ?&gt;&lt;br /&gt;A is equal to 5&lt;br /&gt;&lt;?php endif; ?&gt;&lt;br /&gt;      In the above example, the HTML block &quot;A = 5&quot; is nested within an if statement written in the alternative syntax. The HTML block would be displayed only if $a is equal to 5.&lt;br /&gt;The alternative syntax applies to else and elseif as well. The following is an if structure with elseif and else in the alternative format:&lt;br /&gt;if ($a == 5):&lt;br /&gt;   print &quot;a equals 5&quot;;&lt;br /&gt;   print &quot;...&quot;;&lt;br /&gt;elseif ($a == 6):&lt;br /&gt;   print &quot;a equals 6&quot;;&lt;br /&gt;   print &quot;!!!&quot;;&lt;br /&gt;else:&lt;br /&gt;   print &quot;a is neither 5 nor 6&quot;;&lt;br /&gt;endif;&lt;br /&gt;     &lt;br /&gt;while&lt;br /&gt; while loops are the simplest type of loop in PHP. They behave just like their C counterparts. The basic form of a while statement is:&lt;br /&gt;while (expr) statement&lt;br /&gt;      The meaning of a while statement is simple. It tells PHP to execute the nested statement(s) repeatedly, as long as the while expression evaluates to TRUE. The value of the expression is checked each time at the beginning of the loop, so even if this value changes during the execution of the nested statement(s), execution will not stop until the end of the iteration (each time PHP runs the statements in the loop is one iteration). Sometimes, if the while expression evaluates to FALSE from the very beginning, the nested statement(s) won&#39;t even be run once.&lt;br /&gt;Like with the if statement, you can group multiple statements within the same while loop by surrounding a group of statements with curly braces, or by using the alternate syntax:&lt;br /&gt;while (expr): statement ... endwhile;&lt;br /&gt;      The following examples are identical, and both print numbers from 1 to 10:&lt;br /&gt;/* example 1 */&lt;br /&gt;&lt;br /&gt;$i = 1;&lt;br /&gt;while ($i &lt;= 10) {&lt;br /&gt;   print $i++;  /* the printed value would be&lt;br /&gt;                   $i before the increment&lt;br /&gt;                   (post-increment) */&lt;br /&gt;}&lt;br /&gt;/* example 2 */&lt;br /&gt;$i = 1;&lt;br /&gt;while ($i &lt;= 10):&lt;br /&gt;   print $i;&lt;br /&gt;   $i++;&lt;br /&gt;endwhile;&lt;br /&gt;      do..while&lt;br /&gt; do..while loops are very similar to while loops, except the truth expression is checked at the end of each iteration instead of in the beginning. The main difference from regular while loops is that the first iteration of a do..while loop is guarenteed to run (the truth expression is only checked at the end of the iteration), whereas it&#39;s may not necessarily run with a regular while loop (the truth expression is checked at the beginning of each iteration, if it evaluates to FALSE right from the beginning, the loop execution would end immediately).&lt;br /&gt;There is just one syntax for do..while loops:&lt;br /&gt;$i = 0;&lt;br /&gt;do {&lt;br /&gt;  print $i;&lt;br /&gt;} while ($i&gt;0);&lt;br /&gt;      The above loop would run one time exactly, since after the first iteration, when truth expression is checked, it evaluates to FALSE ($i is not bigger than 0) and the loop execution ends.&lt;br /&gt;Advanced C users may be familiar with a different usage of the do..while loop, to allow stopping execution in the middle of code blocks, by encapsulating them with do..while(0), and using the break statement. The following code fragment demonstrates this:&lt;br /&gt;do {&lt;br /&gt;   if ($i &lt; 5) {&lt;br /&gt;       print &quot;i is not big enough&quot;;&lt;br /&gt;       break;&lt;br /&gt;   }&lt;br /&gt;   $i *= $factor;&lt;br /&gt;   if ($i &lt; $minimum_limit) {&lt;br /&gt;       break;&lt;br /&gt;   }&lt;br /&gt;   print &quot;i is ok&quot;;&lt;br /&gt;&lt;br /&gt;    ...process i...&lt;br /&gt;&lt;br /&gt;} while(0);&lt;br /&gt;      Don&#39;t worry if you don&#39;t understand this right away or at all. You can code scripts and even powerful scripts without using this `feature&#39;.&lt;br /&gt;for&lt;br /&gt; for loops are the most complex loops in PHP. They behave like their C counterparts. The syntax of a for loop is:&lt;br /&gt;for (expr1; expr2; expr3) statement&lt;br /&gt;      The first expression (expr1) is evaluated (executed) once unconditionally at the beginning of the loop.&lt;br /&gt;In the beginning of each iteration, expr2 is evaluated. If it evaluates to TRUE, the loop continues and the nested statement(s) are executed. If it evaluates to FALSE, the execution of the loop ends.&lt;br /&gt;At the end of each iteration, expr3 is evaluated (executed).&lt;br /&gt;Each of the expressions can be empty. expr2 being empty means the loop should be run indefinitely (PHP implicitly considers it as TRUE, like C). This may not be as useless as you might think, since often you&#39;d want to end the loop using a conditional break statement instead of using the for truth expression.&lt;br /&gt;Consider the following examples. All of them display numbers from 1 to 10:&lt;br /&gt;/* example 1 */&lt;br /&gt;for ($i = 1; $i &lt;= 10; $i++) {&lt;br /&gt;   print $i;&lt;br /&gt;}&lt;br /&gt;/* example 2 */&lt;br /&gt;for ($i = 1;;$i++) {&lt;br /&gt;   if ($i &gt; 10) {&lt;br /&gt;       break;&lt;br /&gt;   }&lt;br /&gt;   print $i;&lt;br /&gt;}&lt;br /&gt;/* example 3 */&lt;br /&gt;$i = 1;&lt;br /&gt;for (;;) {&lt;br /&gt;   if ($i &gt; 10) {&lt;br /&gt;       break;&lt;br /&gt;   }&lt;br /&gt;   print $i;&lt;br /&gt;   $i++;&lt;br /&gt;}&lt;br /&gt;/* example 4 */&lt;br /&gt;for ($i = 1; $i &lt;= 10; print $i, $i++) ;&lt;br /&gt;      Of course, the first example appears to be the nicest one (or perhaps the fourth), but you may find that being able to use empty expressions in for loops comes in handy in many occasions.&lt;br /&gt;PHP also supports the alternate &quot;colon syntax&quot; for for loops.&lt;br /&gt;for (expr1; expr2; expr3): statement; ...; endfor;&lt;br /&gt;      Other languages have a foreach statement to traverse an array or hash. PHP 3 has no such construct; PHP 4 does (see foreach). In PHP 3, you can combine while with the list() and each() functions to achieve the same effect.&lt;br /&gt;foreach&lt;br /&gt; PHP 4 includes a foreach construct, much like perl and some other languages. This simply gives an easy way to iterate over arrays. There are two syntaxes; the second is a minor but useful extension of the first:&lt;br /&gt;foreach(array_expression as $value) statement&lt;br /&gt;foreach(array_expression as $key =&gt; $value) statement&lt;br /&gt;      The first form loops over the array given by array_expression. On each loop, the value of the current element is assigned to $value and the internal array pointer is advanced by one (so on the next loop, you&#39;ll be looking at the next element).&lt;br /&gt;The second form does the same thing, except that the current element&#39;s key will be assigned to the variable $key on each loop.&lt;br /&gt;Note: When foreach first starts executing, the internal array pointer is automatically reset to the first element of the array. This means that you do not need to call reset() before a foreach loop.&lt;br /&gt;Note: Also note that foreach operates on a copy of the specified array, not the array itself, therefore the array pointer is not modified like with the each construct.&lt;br /&gt;You may have noticed that the following are functionally identical:&lt;br /&gt;reset ($arr);&lt;br /&gt;while (list(, $value) = each ($arr)) {&lt;br /&gt;   echo &quot;Value: $value&lt;br /&gt;\n&quot;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;foreach ($arr as $value) {&lt;br /&gt;   echo &quot;Value: $value&lt;br /&gt;\n&quot;;&lt;br /&gt;}&lt;br /&gt;      The following are also functionally identical:&lt;br /&gt;reset ($arr);&lt;br /&gt;while (list($key, $value) = each ($arr)) {&lt;br /&gt;   echo &quot;Key: $key; Value: $value&lt;br /&gt;\n&quot;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;foreach ($arr as $key =&gt; $value) {&lt;br /&gt;   echo &quot;Key: $key; Value: $value&lt;br /&gt;\n&quot;;&lt;br /&gt;}&lt;br /&gt;      Some more examples to demonstrate usages:&lt;br /&gt;/* foreach example 1: value only */&lt;br /&gt;&lt;br /&gt;$a = array (1, 2, 3, 17);&lt;br /&gt;&lt;br /&gt;foreach ($a as $v) {&lt;br /&gt;  print &quot;Current value of \$a: $v.\n&quot;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* foreach example 2: value (with key printed for illustration) */&lt;br /&gt;&lt;br /&gt;$a = array (1, 2, 3, 17);&lt;br /&gt;&lt;br /&gt;$i = 0; /* for illustrative purposes only */&lt;br /&gt;&lt;br /&gt;foreach($a as $v) {&lt;br /&gt;   print &quot;\$a[$i] =&gt; $v.\n&quot;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* foreach example 3: key and value */&lt;br /&gt;&lt;br /&gt;$a = array (&lt;br /&gt;   &quot;one&quot; =&gt; 1,&lt;br /&gt;   &quot;two&quot; =&gt; 2,&lt;br /&gt;   &quot;three&quot; =&gt; 3,&lt;br /&gt;   &quot;seventeen&quot; =&gt; 17&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;foreach($a as $k =&gt; $v) {&lt;br /&gt;   print &quot;\$a[$k] =&gt; $v.\n&quot;;&lt;br /&gt;}&lt;br /&gt;      break&lt;br /&gt; break ends execution of the current for, while, or switch structure. break accepts an optional numeric argument which tells it how many nested enclosing structures are to be broken out of.&lt;br /&gt;$arr = array (&#39;one&#39;, &#39;two&#39;, &#39;three&#39;, &#39;four&#39;, &#39;stop&#39;, &#39;five&#39;);&lt;br /&gt;while (list (, $val) = each ($arr)) {&lt;br /&gt;   if ($val == &#39;stop&#39;) {&lt;br /&gt;       break;    /* You could also write &#39;break 1;&#39; here. */&lt;br /&gt;   }&lt;br /&gt;   echo &quot;$val&lt;br /&gt;\n&quot;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* Using the optional argument. */&lt;br /&gt;&lt;br /&gt;$i = 0;&lt;br /&gt;while (++$i) {&lt;br /&gt;   switch ($i) {&lt;br /&gt;   case 5:&lt;br /&gt;       echo &quot;At 5&lt;br /&gt;\n&quot;;&lt;br /&gt;       break 1;  /* Exit only the switch. */&lt;br /&gt;   case 10:&lt;br /&gt;       echo &quot;At 10; quitting&lt;br /&gt;\n&quot;;&lt;br /&gt;       break 2;  /* Exit the switch and the while. */&lt;br /&gt;   default:&lt;br /&gt;       break;&lt;br /&gt;   }&lt;br /&gt;} &lt;br /&gt;continue&lt;br /&gt; continue is used within looping structures to skip the rest of the current loop iteration and continue execution at the beginning of the next iteration. continue accepts an optional numeric argument which tells it how many levels of enclosing loops it should skip to the end of.&lt;br /&gt;while (list ($key, $value) = each ($arr)) {&lt;br /&gt;   if (!($key % 2)) { // skip odd members&lt;br /&gt;       continue;&lt;br /&gt;   }&lt;br /&gt;   do_something_odd ($value);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$i = 0;&lt;br /&gt;while ($i++ &lt; 5) {&lt;br /&gt;   echo &quot;Outer&lt;br /&gt;\n&quot;;&lt;br /&gt;   while (1) {&lt;br /&gt;       echo &quot;  Middle&lt;br /&gt;\n&quot;;&lt;br /&gt;       while (1) {&lt;br /&gt;           echo &quot;  Inner&lt;br /&gt;\n&quot;;&lt;br /&gt;           continue 3;&lt;br /&gt;       }&lt;br /&gt;       echo &quot;This never gets output.&lt;br /&gt;\n&quot;;&lt;br /&gt;   }&lt;br /&gt;   echo &quot;Neither does this.&lt;br /&gt;\n&quot;;&lt;br /&gt;}&lt;br /&gt;      switch&lt;br /&gt; The switch statement is similar to a series of IF statements on the same expression. In many occasions, you may want to compare the same variable (or expression) with many different values, and execute a different piece of code depending on which value it equals to. This is exactly what the switch statement is for.&lt;br /&gt;The following two examples are two different ways to write the same thing, one using a series of if statements, and the other using the switch statement:&lt;br /&gt;if ($i == 0) {&lt;br /&gt;   print &quot;i equals 0&quot;;&lt;br /&gt;}&lt;br /&gt;if ($i == 1) {&lt;br /&gt;   print &quot;i equals 1&quot;;&lt;br /&gt;}&lt;br /&gt;if ($i == 2) {&lt;br /&gt;   print &quot;i equals 2&quot;;&lt;br /&gt;}&lt;br /&gt;switch ($i) {&lt;br /&gt;   case 0:&lt;br /&gt;       print &quot;i equals 0&quot;;&lt;br /&gt;       break;&lt;br /&gt;   case 1:&lt;br /&gt;       print &quot;i equals 1&quot;;&lt;br /&gt;       break;&lt;br /&gt;   case 2:&lt;br /&gt;       print &quot;i equals 2&quot;;&lt;br /&gt;       break;&lt;br /&gt;}&lt;br /&gt;       It is important to understand how the switch statement is executed in order to avoid mistakes. The switch statement executes line by line (actually, statement by statement). In the beginning, no code is executed. Only when a case statement is found with a value that matches the value of the switch expression does PHP begin to execute the statements. PHP continues to execute the statements until the end of the switch block, or the first time it sees a break statement. If you don&#39;t write a break statement at the end of a case&#39;s statement list, PHP will go on executing the statements of the following case. For example:&lt;br /&gt;switch ($i) {&lt;br /&gt;   case 0:&lt;br /&gt;       print &quot;i equals 0&quot;;&lt;br /&gt;   case 1:&lt;br /&gt;       print &quot;i equals 1&quot;;&lt;br /&gt;   case 2:&lt;br /&gt;       print &quot;i equals 2&quot;;&lt;br /&gt;}&lt;br /&gt;      Here, if $i equals to 0, PHP would execute all of the print statements! If $i equals to 1, PHP would execute the last two print statements, and only if $i equals to 2, you&#39;d get the &#39;expected&#39; behavior and only &#39;i equals 2&#39; would be displayed. So, it&#39;s important not to forget break statements (even though you may want to avoid supplying them on purpose under certain circumstances).&lt;br /&gt;In a switch statement, the condition is evaluated only once and the result is compared to each case statement. In an elseif statement, the condition is evaluated again. If your condition is more complicated than a simple compare and/or is in a tight loop, a switch may be faster.&lt;br /&gt;The statement list for a case can also be empty, which simply passes control into the statement list for the next case.&lt;br /&gt;switch ($i) {&lt;br /&gt;   case 0:&lt;br /&gt;   case 1:&lt;br /&gt;   case 2:&lt;br /&gt;       print &quot;i is less than 3 but not negative&quot;;&lt;br /&gt;       break;&lt;br /&gt;   case 3:&lt;br /&gt;       print &quot;i is 3&quot;;&lt;br /&gt;}&lt;br /&gt;      A special case is the default case. This case matches anything that wasn&#39;t matched by the other cases, and should be the last case statement. For example:&lt;br /&gt;switch ($i) {&lt;br /&gt;   case 0:&lt;br /&gt;       print &quot;i equals 0&quot;;&lt;br /&gt;       break;&lt;br /&gt;   case 1:&lt;br /&gt;       print &quot;i equals 1&quot;;&lt;br /&gt;       break;&lt;br /&gt;   case 2:&lt;br /&gt;       print &quot;i equals 2&quot;;&lt;br /&gt;       break;&lt;br /&gt;   default:&lt;br /&gt;       print &quot;i is not equal to 0, 1 or 2&quot;;&lt;br /&gt;}&lt;br /&gt;      The case expression may be any expression that evaluates to a simple type, that is, integer or floating-point numbers and strings. Arrays or objects cannot be used here unless they are dereferenced to a simple type.&lt;br /&gt;The alternative syntax for control structures is supported with switches.&lt;br /&gt;switch ($i):&lt;br /&gt;   case 0:&lt;br /&gt;       print &quot;i equals 0&quot;;&lt;br /&gt;       break;&lt;br /&gt;   case 1:&lt;br /&gt;       print &quot;i equals 1&quot;;&lt;br /&gt;       break;&lt;br /&gt;   case 2:&lt;br /&gt;       print &quot;i equals 2&quot;;&lt;br /&gt;       break;&lt;br /&gt;   default:&lt;br /&gt;       print &quot;i is not equal to 0, 1 or 2&quot;;&lt;br /&gt;endswitch;&lt;br /&gt;      require()&lt;br /&gt;The require() statement replaces itself with the specified file, much like the C preprocessor&#39;s #include works.&lt;br /&gt;If &quot;URL fopen wrappers&quot; are enabled in PHP (which they are in the default configuration), you can specify the file to be require()ed using an URL instead of a local pathname. See Remote files and fopen() for more information.&lt;br /&gt;An important note about how this works is that when a file is include()ed or require()ed, parsing drops out of PHP mode and into HTML mode at the beginning of the target file, and resumes PHP mode again at the end. For this reason, any code inside the target file which should be executed as PHP code must be enclosed within valid PHP start and end tags.&lt;br /&gt;require() is not actually a function in PHP; rather, it is a language construct. It is subject to some different rules than functions are. For instance, require() is not subject to any containing control structures. For another, it does not return any value; attempting to read a return value from a require() call results in a parse error.&lt;br /&gt;Unlike include(), require() will always read in the target file, even if the line it&#39;s on never executes. If you want to conditionally include a file, use include(). The conditional statement won&#39;t affect the require(). However, if the line on which the require() occurs is not executed, neither will any of the code in the target file be executed.&lt;br /&gt;Similarly, looping structures do not affect the behaviour of require(). Although the code contained in the target file is still subject to the loop, the require() itself happens only once.&lt;br /&gt;This means that you can&#39;t put a require() statement inside of a loop structure and expect it to include the contents of a different file on each iteration. To do that, use an include() statement.&lt;br /&gt;require (&#39;header.inc&#39;);&lt;br /&gt;      When a file is require()ed, the code it contains inherits the variable scope of the line on which the require() occurs. Any variables available at that line in the calling file will be available within the called file. If the require() occurs inside a function within the calling file, then all of the code contained in the called file will behave as though it had been defined inside that function.&lt;br /&gt;If the require()ed file is called via HTTP using the fopen wrappers, and if the target server interprets the target file as PHP code, variables may be passed to the require()ed file using an URL request string as used with HTTP GET. This is not strictly speaking the same thing as require()ing the file and having it inherit the parent file&#39;s variable scope; the script is actually being run on the remote server and the result is then being included into the local script.&lt;br /&gt;/* This example assumes that someserver is configured to parse .php&lt;br /&gt;* files and not .txt files. Also, &#39;works&#39; here means that the variables&lt;br /&gt;* $varone and $vartwo are available within the require()ed file. */&lt;br /&gt;&lt;br /&gt;/* Won&#39;t work; file.txt wasn&#39;t handled by someserver. */&lt;br /&gt;require (&quot;http://someserver/file.txt?varone=1&amp;amp;vartwo=2&quot;);&lt;br /&gt;&lt;br /&gt;/* Won&#39;t work; looks for a file named &#39;file.php?varone=1&amp;amp;vartwo=2&#39;&lt;br /&gt;* on the local filesystem. */&lt;br /&gt;require (&quot;file.php?varone=1&amp;amp;vartwo=2&quot;);&lt;br /&gt;            &lt;br /&gt;/* Works. */&lt;br /&gt;require (&quot;http://someserver/file.php?varone=1&amp;amp;vartwo=2&quot;);&lt;br /&gt;&lt;br /&gt;$varone = 1;&lt;br /&gt;$vartwo = 2;&lt;br /&gt;require (&quot;file.txt&quot;);  /* Works. */&lt;br /&gt;require (&quot;file.php&quot;);  /* Works. */&lt;br /&gt;      In PHP 3, it is possible to execute a return statement inside a require()ed file, as long as that statement occurs in the global scope of the require()ed file. It may not occur within any block (meaning inside braces ({}). In PHP 4, however, this ability has been discontinued.&lt;br /&gt;include()&lt;br /&gt;The include() statement includes and evaluates the specified file.&lt;br /&gt;If &quot;URL fopen wrappers&quot; are enabled in PHP (which they are in the default configuration), you can specify the file to be include()ed using an URL instead of a local pathname. See Remote files and fopen() for more information.&lt;br /&gt;An important note about how this works is that when a file is include()ed or require()ed, parsing drops out of PHP mode and into HTML mode at the beginning of the target file, and resumes again at the end. For this reason, any code inside the target file which should be executed as PHP code must be enclosed within valid PHP start and end tags.&lt;br /&gt;This happens each time the include() statement is encountered, so you can use an include() statement within a looping structure to include a number of different files.&lt;br /&gt;$files = array (&#39;first.inc&#39;, &#39;second.inc&#39;, &#39;third.inc&#39;);&lt;br /&gt;for ($i = 0; $i &lt; count($files); $i++) {&lt;br /&gt;   include $files[$i];&lt;br /&gt;}&lt;br /&gt;      include() differs from require() in that the include statement is re-evaluated each time it is encountered (and only when it is being executed), whereas the require() statement is replaced by the required file when it is first encountered, whether the contents of the file will be evaluated or not (for example, if it is inside an if statement whose condition evaluated to false).&lt;br /&gt;Because include() is a special language construct, you must enclose it within a statement block if it is inside a conditional block.&lt;br /&gt;/* This is WRONG and will not work as desired. */&lt;br /&gt;if ($condition)&lt;br /&gt;   include($file);&lt;br /&gt;else&lt;br /&gt;   include($other);&lt;br /&gt;/* This is CORRECT. */&lt;br /&gt;if ($condition) {&lt;br /&gt;   include($file);&lt;br /&gt;} else {&lt;br /&gt;   include($other);&lt;br /&gt;}&lt;br /&gt;      In both PHP 3 and PHP 4, it is possible to execute a return statement inside an include()ed file, in order to terminate processing in that file and return to the script which called it. Some differences in the way this works exist, however. The first is that in PHP 3, the return may not appear inside a block unless it&#39;s a function block, in which case the return applies to that function and not the whole file. In PHP 4, however, this restriction does not exist. Also, PHP 4 allows you to return values from include()ed files. You can take the value of the include() call as you would a normal function. This generates a parse error in PHP 3.&lt;br /&gt; When a file is include()ed, the code it contains inherits the variable scope of the line on which the include() occurs. Any variables available at that line in the calling file will be available within the called file. If the include() occurs inside a function within the calling file, then all of the code contained in the called file will behave as though it had been defined inside that function.&lt;br /&gt;If the include()ed file is called via HTTP using the fopen wrappers, and if the target server interprets the target file as PHP code, variables may be passed to the include()ed file using an URL request string as used with HTTP GET. This is not strictly speaking the same thing as include()ing the file and having it inherit the parent file&#39;s variable scope; the script is actually being run on the remote server and the result is then being included into the local script.&lt;br /&gt;/* This example assumes that someserver is configured to parse .php&lt;br /&gt;* files and not .txt files. Also, &#39;works&#39; here means that the variables&lt;br /&gt;* $varone and $vartwo are available within the include()ed file. */&lt;br /&gt;&lt;br /&gt;/* Won&#39;t work; file.txt wasn&#39;t handled by someserver. */&lt;br /&gt;include (&quot;http://someserver/file.txt?varone=1&amp;amp;vartwo=2&quot;);&lt;br /&gt;&lt;br /&gt;/* Won&#39;t work; looks for a file named &#39;file.php?varone=1&amp;amp;vartwo=2&#39;&lt;br /&gt;* on the local filesystem. */&lt;br /&gt;include (&quot;file.php?varone=1&amp;amp;vartwo=2&quot;);&lt;br /&gt;            &lt;br /&gt;/* Works. */&lt;br /&gt;include (&quot;http://someserver/file.php?varone=1&amp;amp;vartwo=2&quot;);&lt;br /&gt;&lt;br /&gt;$varone = 1;&lt;br /&gt;$vartwo = 2;&lt;br /&gt;include (&quot;file.txt&quot;);  /* Works. */&lt;br /&gt;include (&quot;file.php&quot;);  /* Works. */&lt;br /&gt;      require_once()&lt;br /&gt;The require_once() statement replaces itself with the specified file, much like the C preprocessor&#39;s #include works, and in that respect is similar to the require() statement. The main difference is that in an inclusion chain, the use of require_once() will assure that the code is added to your script only once, and avoid clashes with variable values or function names that can happen.&lt;br /&gt;For example, if you create the following 2 include files utils.inc and foolib.inc&lt;br /&gt;utils.inc&lt;br /&gt;&lt;?php&lt;br /&gt;define(PHPVERSION, floor(phpversion()));&lt;br /&gt;echo &quot;GLOBALS ARE NICE\n&quot;;&lt;br /&gt;function goodTea() {&lt;br /&gt; return &quot;Oolong tea tastes good!&quot;;&lt;br /&gt;}&lt;br /&gt;?&gt;&lt;br /&gt; &lt;br /&gt;    foolib.inc&lt;br /&gt;&lt;?php&lt;br /&gt;require (&quot;utils.inc&quot;);&lt;br /&gt;function showVar($var) {&lt;br /&gt; if (PHPVERSION == 4) {&lt;br /&gt;  print_r($var);&lt;br /&gt; } else {&lt;br /&gt;  var_dump($var);&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// bunch of other functions ...&lt;br /&gt;?&gt;&lt;br /&gt; &lt;br /&gt;  And then you write a script cause_error_require.php&lt;br /&gt;cause_error_require.php&lt;br /&gt;&lt;?php&lt;br /&gt;require(&quot;foolib.inc&quot;);&lt;br /&gt;/* the following will generate an error */&lt;br /&gt;require(&quot;utils.inc&quot;);&lt;br /&gt;$foo = array(&quot;1&quot;,array(&quot;complex&quot;,&quot;quaternion&quot;));&lt;br /&gt;echo &quot;this is requiring utils.inc again which is also\n&quot;;&lt;br /&gt;echo &quot;required in foolib.inc\n&quot;;&lt;br /&gt;echo &quot;Running goodTea: &quot;.goodTea().&quot;\n&quot;;&lt;br /&gt;echo &quot;Printing foo: \n&quot;;&lt;br /&gt;showVar($foo);&lt;br /&gt;?&gt;&lt;br /&gt; &lt;br /&gt;  When you try running the latter one, the resulting ouptut will be (using PHP 4.01pl2):&lt;br /&gt;GLOBALS ARE NICE&lt;br /&gt;GLOBALS ARE NICE&lt;br /&gt;&lt;br /&gt;Fatal error:  Cannot redeclare goodTea() in utils.inc on line 5&lt;br /&gt;    By modifying foolib.inc and cause_errror_require.php to use require_once() instead of require() and renaming the last one to avoid_error_require_once.php, we have:&lt;br /&gt;foolib.inc (fixed)&lt;br /&gt;...&lt;br /&gt;require_once(&quot;utils.inc&quot;);&lt;br /&gt;function showVar($var) {&lt;br /&gt;...&lt;br /&gt; &lt;br /&gt;    avoid_error_require_once.php&lt;br /&gt;...&lt;br /&gt;require_once(&quot;foolib.inc&quot;);&lt;br /&gt;require_once(&quot;utils.inc&quot;);&lt;br /&gt;$foo = array(&quot;1&quot;,array(&quot;complex&quot;,&quot;quaternion&quot;));&lt;br /&gt;...&lt;br /&gt; &lt;br /&gt;  And when running the latter, the output will be (using PHP 4.0.1pl2):&lt;br /&gt;GLOBALS ARE NICE&lt;br /&gt;this is requiring globals.inc again which is also&lt;br /&gt;required in foolib.inc&lt;br /&gt;Running goodTea: Oolong tea tastes good!&lt;br /&gt;Printing foo:&lt;br /&gt;Array&lt;br /&gt;(&lt;br /&gt;   [0] =&gt; 1&lt;br /&gt;   [1] =&gt; Array&lt;br /&gt;       (&lt;br /&gt;           [0] =&gt; complex&lt;br /&gt;           [1] =&gt; quaternion&lt;br /&gt;       )&lt;br /&gt;&lt;br /&gt;)&lt;br /&gt;    Also note that, analogous to the behavior of the #include of the C preprocessor, this statement acts at &quot;compile time&quot;, e.g. when the script is parsed and before it is executed, and should not be used for parts of the script that need to be inserted dynamically during its execution. You should use include_once() or include() for that purpose.&lt;br /&gt;For more examples on using require_once() and include_once(), look at the PEAR code included in the latest PHP source code distributions.&lt;br /&gt;include_once()&lt;br /&gt;The include_once() statement includes and evaluates the specified file during the execution of the script. This is a behavior similar to the include() statement, with the important difference that if the code from a file has already been included, it will not be included again.&lt;br /&gt;As mentioned in the require_once() description, the include_once() should be used in the cases in which the same file might be included and evaluated more than once during a particular execution of a script, and you want to be sure that it is included exactly once to avoid problems with function redefinitions, variable value reassignments, etc.&lt;br /&gt;Finaly our arrengement about control structure finished. Are you confused about what im talking about? I know when there is a will there is a way. With study hard Im sure you can understand and apply the knowledge in your life. In the next chapter I will easied up a subject about function inluding the user defined function, function arguments etc.&lt;br /&gt;Chapter 6&lt;br /&gt;Title : PHP Programing | PHP Basic | chapter 6 Functions&lt;br /&gt;User-defined functions&lt;br /&gt;A function may be defined using syntax such as the following:&lt;br /&gt;function foo ($arg_1, $arg_2, ..., $arg_n) {&lt;br /&gt;   echo &quot;Example function.\n&quot;;&lt;br /&gt;   return $retval;&lt;br /&gt;}&lt;br /&gt;      Any valid PHP code may appear inside a function, even other functions and class definitions.&lt;br /&gt;In PHP 3, functions must be defined before they are referenced. No such requirement exists in PHP 4.&lt;br /&gt;PHP does not support function overloading, nor is it possible to undefine or redefine previously-declared functions.&lt;br /&gt;PHP 3 does not support variable numbers of arguments to functions, although default arguments are supported (see Default argument values for more information). PHP 4 supports both: see Variable-length argument lists and the function references for func_num_args(), func_get_arg(), and func_get_args() for more information.&lt;br /&gt;Function arguments&lt;br /&gt; Information may be passed to functions via the argument list, which is a comma-delimited list of variables and/or constants.&lt;br /&gt;PHP supports passing arguments by value (the default), passing by reference, and default argument values. Variable-length argument lists are supported only in PHP 4 and later; see Variable-length argument lists and the function references for func_num_args(), func_get_arg(), and func_get_args() for more information. A similar effect can be achieved in PHP 3 by passing an array of arguments to a function:&lt;br /&gt;function takes_array($input) {&lt;br /&gt;   echo &quot;$input[0] + $input[1] = &quot;, $input[0]+$input[1];&lt;br /&gt;}&lt;br /&gt;      Making arguments be passed by reference&lt;br /&gt;By default, function arguments are passed by value (so that if you change the value of the argument within the function, it does not get changed outside of the function). If you wish to allow a function to modify its arguments, you must pass them by reference.&lt;br /&gt;If you want an argument to a function to always be passed by reference, you can prepend an ampersand (&amp;amp;) to the argument name in the function definition:&lt;br /&gt;function add_some_extra(&amp;amp;$string) {&lt;br /&gt;   $string .= &#39;and something extra.&#39;;&lt;br /&gt;}&lt;br /&gt;$str = &#39;This is a string, &#39;;&lt;br /&gt;add_some_extra($str);&lt;br /&gt;echo $str;    // outputs &#39;This is a string, and something extra.&#39;&lt;br /&gt;       If you wish to pass a variable by reference to a function which does not do this by default, you may prepend an ampersand to the argument name in the function call:&lt;br /&gt;function foo ($bar) {&lt;br /&gt;   $bar .= &#39; and something extra.&#39;;&lt;br /&gt;}&lt;br /&gt;$str = &#39;This is a string, &#39;;&lt;br /&gt;foo ($str);&lt;br /&gt;echo $str;    // outputs &#39;This is a string, &#39;&lt;br /&gt;foo (&amp;amp;$str);&lt;br /&gt;echo $str;    // outputs &#39;This is a string, and something extra.&#39;&lt;br /&gt;       Default argument values&lt;br /&gt;A function may define C++-style default values for scalar arguments as follows:&lt;br /&gt;function makecoffee ($type = &quot;cappucino&quot;) {&lt;br /&gt;   return &quot;Making a cup of $type.\n&quot;;&lt;br /&gt;}&lt;br /&gt;echo makecoffee ();&lt;br /&gt;echo makecoffee (&quot;espresso&quot;);&lt;br /&gt;       The output from the above snippet is:&lt;br /&gt;Making a cup of cappucino.&lt;br /&gt;Making a cup of espresso.&lt;br /&gt;      The default value must be a constant expression, not (for example) a variable or class member.&lt;br /&gt;Note that when using default arguments, any defaults should be on the right side of any non-default arguments; otherwise, things will not work as expected. Consider the following code snippet:&lt;br /&gt;function makeyogurt ($type = &quot;acidophilus&quot;, $flavour) {&lt;br /&gt;   return &quot;Making a bowl of $type $flavour.\n&quot;;&lt;br /&gt;}&lt;br /&gt;echo makeyogurt (&quot;raspberry&quot;);   // won&#39;t work as expected&lt;br /&gt;       The output of the above example is:&lt;br /&gt;Warning: Missing argument 2 in call to makeyogurt() in&lt;br /&gt;/usr/local/etc/httpd/htdocs/php3test/functest.html on line 41&lt;br /&gt;Making a bowl of raspberry .&lt;br /&gt;      Now, compare the above with this:&lt;br /&gt;function makeyogurt ($flavour, $type = &quot;acidophilus&quot;) {&lt;br /&gt;   return &quot;Making a bowl of $type $flavour.\n&quot;;&lt;br /&gt;}&lt;br /&gt;echo makeyogurt (&quot;raspberry&quot;);   // works as expected&lt;br /&gt;       The output of this example is:&lt;br /&gt;Making a bowl of acidophilus raspberry.&lt;br /&gt;      Variable-length argument lists&lt;br /&gt;PHP 4 has support for variable-length argument lists in user-defined functions. This is really quite easy, using the func_num_args(), func_get_arg(), and func_get_args() functions.&lt;br /&gt;No special syntax is required, and argument lists may still be explicitly provided with function definitions and will behave as normal.&lt;br /&gt;Returning values&lt;br /&gt; Values are returned by using the optional return statement. Any type may be returned, including lists and objects.&lt;br /&gt;function square ($num) {&lt;br /&gt;   return $num * $num;&lt;br /&gt;}&lt;br /&gt;echo square (4);   // outputs &#39;16&#39;.&lt;br /&gt;      You can&#39;t return multiple values from a function, but similar results can be obtained by returning a list.&lt;br /&gt;function small_numbers() {&lt;br /&gt;   return array (0, 1, 2);&lt;br /&gt;}&lt;br /&gt;list ($zero, $one, $two) = small_numbers();&lt;br /&gt;      To return a reference from a function, you have to use the reference operator &amp;amp; in both the function declaration and when assigning the returned value to a variable:&lt;br /&gt;function &amp;amp;returns_reference() {&lt;br /&gt;   return $someref;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$newref =&amp;amp;returns_reference();&lt;br /&gt;      Variable functions&lt;br /&gt; PHP supports the concept of variable functions. This means that if a variable name has parentheses appended to it, PHP will look for a function with the same name as whatever the variable evaluates to, and will attempt to execute it. Among other things, this can be used to implement callbacks, function tables, and so forth.&lt;br /&gt;Variable function example&lt;br /&gt;&lt;?php&lt;br /&gt;function foo() {&lt;br /&gt;   echo &quot;In foo()&lt;br /&gt;\n&quot;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function bar( $arg = &#39;&#39; ) {&lt;br /&gt;   echo &quot;In bar(); argument was &#39;$arg&#39;.&lt;br /&gt;\n&quot;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$func = &#39;foo&#39;;&lt;br /&gt;$func();&lt;br /&gt;$func = &#39;bar&#39;;&lt;br /&gt;$func( &#39;test&#39; );&lt;br /&gt;?&gt;</description><link>http://downloadsfreesoftwares.blogspot.com/2008/02/php-programing-php-basic-chapter-5_06.html</link><author>noreply@blogger.com (Juni Salman)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7611896947576374183.post-5481577420875967830</guid><pubDate>Wed, 06 Feb 2008 08:07:00 +0000</pubDate><atom:updated>2008-02-06T00:11:54.158-08:00</atom:updated><title>PHP Programing | PHP Basic | chapter 5 Control Structure</title><description>Any PHP script is built out of a series of statements. A statement can be an assignment, a function call, a loop, a conditional statement of even a statement that does nothing (an empty statement). Statements usually end with a semicolon. In addition, statements can be grouped into a statement-group by encapsulating a group of statements with curly braces. A statement-group is a statement by itself as well. The various statement types are described in this chapter&lt;br /&gt;if&lt;br /&gt; The if construct is one of the most important features of many languages, PHP included. It allows for conditional execution of code fragments. PHP features an if structure that is similar to that of C:&lt;br /&gt;if (expr)&lt;br /&gt;   statement&lt;br /&gt;      As described in the section about expressions, expr is evaluated to its truth value. If expr evaluates to TRUE, PHP will execute statement, and if it evaluates to FALSE - it&#39;ll ignore it.&lt;br /&gt;The following example would display a is bigger than b if $a is bigger than $b:&lt;br /&gt;if ($a &gt; $b)&lt;br /&gt;   print &quot;a is bigger than b&quot;;&lt;br /&gt;      Often you&#39;d want to have more than one statement to be executed conditionally. Of course, there&#39;s no need to wrap each statement with an if clause. Instead, you can group several statements into a statement group. For example, this code would display a is bigger than b if $a is bigger than $b, and would then assign the value of $a into $b:&lt;br /&gt;if ($a &gt; $b) {&lt;br /&gt;   print &quot;a is bigger than b&quot;;&lt;br /&gt;   $b = $a;&lt;br /&gt;}&lt;br /&gt;      If statements can be nested indefinitely within other if statements, which provides you with complete flexibility for conditional execution of the various parts of your program.&lt;br /&gt;else&lt;br /&gt; Often you&#39;d want to execute a statement if a certain condition is met, and a different statement if the condition is not met. This is what else is for. else extends an if statement to execute a statement in case the expression in the if statement evaluates to FALSE. For example, the following code would display a is bigger than b if $a is bigger than $b, and a is NOT bigger than b otherwise:&lt;br /&gt;if ($a &gt; $b) {&lt;br /&gt;   print &quot;a is bigger than b&quot;;&lt;br /&gt;} else {&lt;br /&gt;   print &quot;a is NOT bigger than b&quot;;&lt;br /&gt;}&lt;br /&gt;      The else statement is only executed if the if expression evaluated to FALSE, and if there were any elseif expressions - only if they evaluated to FALSE as well.&lt;br /&gt;elseif&lt;br /&gt; elseif, as its name suggests, is a combination of if and else. Like else, it extends an if statement to execute a different statement in case the original if expression evaluates to FALSE. However, unlike else, it will execute that alternative expression only if the elseif conditional expression evaluates to TRUE. For example, the following code would display a is bigger than b, a equal to b or a is smaller than b:&lt;br /&gt;if ($a &gt; $b) {&lt;br /&gt;   print &quot;a is bigger than b&quot;;&lt;br /&gt;} elseif ($a == $b) {&lt;br /&gt;   print &quot;a is equal to b&quot;;&lt;br /&gt;} else {&lt;br /&gt;   print &quot;a is smaller than b&quot;;&lt;br /&gt;}&lt;br /&gt;      There may be several elseifs within the same if statement. The first elseif expression (if any) that evaluates to true would be executed. In PHP, you can also write &#39;else if&#39; (in two words) and the behavior would be identical to the one of &#39;elseif&#39; (in a single word). The syntactic meaning is slightly different (if you&#39;re familiar with C, this is the same behavior) but the bottom line is that both would result in exactly the same behavior.&lt;br /&gt;The elseif statement is only executed if the preceding if expression and any preceding elseif expressions evaluated to FALSE, and the current elseif expression evaluated to TRUE.&lt;br /&gt;Alternative syntax for control structures&lt;br /&gt; PHP offers an alternative syntax for some of its control structures; namely, if, while, for, foreach, and switch. In each case, the basic form of the alternate syntax is to change the opening brace to a colon (:) and the closing brace to endif;, endwhile;, endfor;, endforeach;, or endswitch;, respectively.&lt;br /&gt; &lt;?php if ($a == 5): ?&gt;&lt;br /&gt;A is equal to 5&lt;br /&gt;&lt;?php endif; ?&gt;&lt;br /&gt;      In the above example, the HTML block &quot;A = 5&quot; is nested within an if statement written in the alternative syntax. The HTML block would be displayed only if $a is equal to 5.&lt;br /&gt;The alternative syntax applies to else and elseif as well. The following is an if structure with elseif and else in the alternative format:&lt;br /&gt;if ($a == 5):&lt;br /&gt;   print &quot;a equals 5&quot;;&lt;br /&gt;   print &quot;...&quot;;&lt;br /&gt;elseif ($a == 6):&lt;br /&gt;   print &quot;a equals 6&quot;;&lt;br /&gt;   print &quot;!!!&quot;;&lt;br /&gt;else:&lt;br /&gt;   print &quot;a is neither 5 nor 6&quot;;&lt;br /&gt;endif;&lt;br /&gt;     &lt;br /&gt;while&lt;br /&gt; while loops are the simplest type of loop in PHP. They behave just like their C counterparts. The basic form of a while statement is:&lt;br /&gt;while (expr) statement&lt;br /&gt;      The meaning of a while statement is simple. It tells PHP to execute the nested statement(s) repeatedly, as long as the while expression evaluates to TRUE. The value of the expression is checked each time at the beginning of the loop, so even if this value changes during the execution of the nested statement(s), execution will not stop until the end of the iteration (each time PHP runs the statements in the loop is one iteration). Sometimes, if the while expression evaluates to FALSE from the very beginning, the nested statement(s) won&#39;t even be run once.&lt;br /&gt;Like with the if statement, you can group multiple statements within the same while loop by surrounding a group of statements with curly braces, or by using the alternate syntax:&lt;br /&gt;while (expr): statement ... endwhile;&lt;br /&gt;      The following examples are identical, and both print numbers from 1 to 10:&lt;br /&gt;/* example 1 */&lt;br /&gt;&lt;br /&gt;$i = 1;&lt;br /&gt;while ($i &lt;= 10) {&lt;br /&gt;   print $i++;  /* the printed value would be&lt;br /&gt;                   $i before the increment&lt;br /&gt;                   (post-increment) */&lt;br /&gt;}&lt;br /&gt;/* example 2 */&lt;br /&gt;$i = 1;&lt;br /&gt;while ($i &lt;= 10):&lt;br /&gt;   print $i;&lt;br /&gt;   $i++;&lt;br /&gt;endwhile;&lt;br /&gt;      do..while&lt;br /&gt; do..while loops are very similar to while loops, except the truth expression is checked at the end of each iteration instead of in the beginning. The main difference from regular while loops is that the first iteration of a do..while loop is guarenteed to run (the truth expression is only checked at the end of the iteration), whereas it&#39;s may not necessarily run with a regular while loop (the truth expression is checked at the beginning of each iteration, if it evaluates to FALSE right from the beginning, the loop execution would end immediately).&lt;br /&gt;There is just one syntax for do..while loops:&lt;br /&gt;$i = 0;&lt;br /&gt;do {&lt;br /&gt;  print $i;&lt;br /&gt;} while ($i&gt;0);&lt;br /&gt;      The above loop would run one time exactly, since after the first iteration, when truth expression is checked, it evaluates to FALSE ($i is not bigger than 0) and the loop execution ends.&lt;br /&gt;Advanced C users may be familiar with a different usage of the do..while loop, to allow stopping execution in the middle of code blocks, by encapsulating them with do..while(0), and using the break statement. The following code fragment demonstrates this:&lt;br /&gt;do {&lt;br /&gt;   if ($i &lt; 5) {&lt;br /&gt;       print &quot;i is not big enough&quot;;&lt;br /&gt;       break;&lt;br /&gt;   }&lt;br /&gt;   $i *= $factor;&lt;br /&gt;   if ($i &lt; $minimum_limit) {&lt;br /&gt;       break;&lt;br /&gt;   }&lt;br /&gt;   print &quot;i is ok&quot;;&lt;br /&gt;&lt;br /&gt;    ...process i...&lt;br /&gt;&lt;br /&gt;} while(0);&lt;br /&gt;      Don&#39;t worry if you don&#39;t understand this right away or at all. You can code scripts and even powerful scripts without using this `feature&#39;.&lt;br /&gt;for&lt;br /&gt; for loops are the most complex loops in PHP. They behave like their C counterparts. The syntax of a for loop is:&lt;br /&gt;for (expr1; expr2; expr3) statement&lt;br /&gt;      The first expression (expr1) is evaluated (executed) once unconditionally at the beginning of the loop.&lt;br /&gt;In the beginning of each iteration, expr2 is evaluated. If it evaluates to TRUE, the loop continues and the nested statement(s) are executed. If it evaluates to FALSE, the execution of the loop ends.&lt;br /&gt;At the end of each iteration, expr3 is evaluated (executed).&lt;br /&gt;Each of the expressions can be empty. expr2 being empty means the loop should be run indefinitely (PHP implicitly considers it as TRUE, like C). This may not be as useless as you might think, since often you&#39;d want to end the loop using a conditional break statement instead of using the for truth expression.&lt;br /&gt;Consider the following examples. All of them display numbers from 1 to 10:&lt;br /&gt;/* example 1 */&lt;br /&gt;for ($i = 1; $i &lt;= 10; $i++) {&lt;br /&gt;   print $i;&lt;br /&gt;}&lt;br /&gt;/* example 2 */&lt;br /&gt;for ($i = 1;;$i++) {&lt;br /&gt;   if ($i &gt; 10) {&lt;br /&gt;       break;&lt;br /&gt;   }&lt;br /&gt;   print $i;&lt;br /&gt;}&lt;br /&gt;/* example 3 */&lt;br /&gt;$i = 1;&lt;br /&gt;for (;;) {&lt;br /&gt;   if ($i &gt; 10) {&lt;br /&gt;       break;&lt;br /&gt;   }&lt;br /&gt;   print $i;&lt;br /&gt;   $i++;&lt;br /&gt;}&lt;br /&gt;/* example 4 */&lt;br /&gt;for ($i = 1; $i &lt;= 10; print $i, $i++) ;&lt;br /&gt;      Of course, the first example appears to be the nicest one (or perhaps the fourth), but you may find that being able to use empty expressions in for loops comes in handy in many occasions.&lt;br /&gt;PHP also supports the alternate &quot;colon syntax&quot; for for loops.&lt;br /&gt;for (expr1; expr2; expr3): statement; ...; endfor;&lt;br /&gt;      Other languages have a foreach statement to traverse an array or hash. PHP 3 has no such construct; PHP 4 does (see foreach). In PHP 3, you can combine while with the list() and each() functions to achieve the same effect.&lt;br /&gt;foreach&lt;br /&gt; PHP 4 includes a foreach construct, much like perl and some other languages. This simply gives an easy way to iterate over arrays. There are two syntaxes; the second is a minor but useful extension of the first:&lt;br /&gt;foreach(array_expression as $value) statement&lt;br /&gt;foreach(array_expression as $key =&gt; $value) statement&lt;br /&gt;      The first form loops over the array given by array_expression. On each loop, the value of the current element is assigned to $value and the internal array pointer is advanced by one (so on the next loop, you&#39;ll be looking at the next element).&lt;br /&gt;The second form does the same thing, except that the current element&#39;s key will be assigned to the variable $key on each loop.&lt;br /&gt;Note: When foreach first starts executing, the internal array pointer is automatically reset to the first element of the array. This means that you do not need to call reset() before a foreach loop.&lt;br /&gt;Note: Also note that foreach operates on a copy of the specified array, not the array itself, therefore the array pointer is not modified like with the each construct.&lt;br /&gt;You may have noticed that the following are functionally identical:&lt;br /&gt;reset ($arr);&lt;br /&gt;while (list(, $value) = each ($arr)) {&lt;br /&gt;   echo &quot;Value: $value&lt;br /&gt;\n&quot;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;foreach ($arr as $value) {&lt;br /&gt;   echo &quot;Value: $value&lt;br /&gt;\n&quot;;&lt;br /&gt;}&lt;br /&gt;      The following are also functionally identical:&lt;br /&gt;reset ($arr);&lt;br /&gt;while (list($key, $value) = each ($arr)) {&lt;br /&gt;   echo &quot;Key: $key; Value: $value&lt;br /&gt;\n&quot;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;foreach ($arr as $key =&gt; $value) {&lt;br /&gt;   echo &quot;Key: $key; Value: $value&lt;br /&gt;\n&quot;;&lt;br /&gt;}&lt;br /&gt;      Some more examples to demonstrate usages:&lt;br /&gt;/* foreach example 1: value only */&lt;br /&gt;&lt;br /&gt;$a = array (1, 2, 3, 17);&lt;br /&gt;&lt;br /&gt;foreach ($a as $v) {&lt;br /&gt;  print &quot;Current value of \$a: $v.\n&quot;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* foreach example 2: value (with key printed for illustration) */&lt;br /&gt;&lt;br /&gt;$a = array (1, 2, 3, 17);&lt;br /&gt;&lt;br /&gt;$i = 0; /* for illustrative purposes only */&lt;br /&gt;&lt;br /&gt;foreach($a as $v) {&lt;br /&gt;   print &quot;\$a[$i] =&gt; $v.\n&quot;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* foreach example 3: key and value */&lt;br /&gt;&lt;br /&gt;$a = array (&lt;br /&gt;   &quot;one&quot; =&gt; 1,&lt;br /&gt;   &quot;two&quot; =&gt; 2,&lt;br /&gt;   &quot;three&quot; =&gt; 3,&lt;br /&gt;   &quot;seventeen&quot; =&gt; 17&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;foreach($a as $k =&gt; $v) {&lt;br /&gt;   print &quot;\$a[$k] =&gt; $v.\n&quot;;&lt;br /&gt;}&lt;br /&gt;      break&lt;br /&gt; break ends execution of the current for, while, or switch structure. break accepts an optional numeric argument which tells it how many nested enclosing structures are to be broken out of.&lt;br /&gt;$arr = array (&#39;one&#39;, &#39;two&#39;, &#39;three&#39;, &#39;four&#39;, &#39;stop&#39;, &#39;five&#39;);&lt;br /&gt;while (list (, $val) = each ($arr)) {&lt;br /&gt;   if ($val == &#39;stop&#39;) {&lt;br /&gt;       break;    /* You could also write &#39;break 1;&#39; here. */&lt;br /&gt;   }&lt;br /&gt;   echo &quot;$val&lt;br /&gt;\n&quot;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* Using the optional argument. */&lt;br /&gt;&lt;br /&gt;$i = 0;&lt;br /&gt;while (++$i) {&lt;br /&gt;   switch ($i) {&lt;br /&gt;   case 5:&lt;br /&gt;       echo &quot;At 5&lt;br /&gt;\n&quot;;&lt;br /&gt;       break 1;  /* Exit only the switch. */&lt;br /&gt;   case 10:&lt;br /&gt;       echo &quot;At 10; quitting&lt;br /&gt;\n&quot;;&lt;br /&gt;       break 2;  /* Exit the switch and the while. */&lt;br /&gt;   default:&lt;br /&gt;       break;&lt;br /&gt;   }&lt;br /&gt;} &lt;br /&gt;continue&lt;br /&gt; continue is used within looping structures to skip the rest of the current loop iteration and continue execution at the beginning of the next iteration. continue accepts an optional numeric argument which tells it how many levels of enclosing loops it should skip to the end of.&lt;br /&gt;while (list ($key, $value) = each ($arr)) {&lt;br /&gt;   if (!($key % 2)) { // skip odd members&lt;br /&gt;       continue;&lt;br /&gt;   }&lt;br /&gt;   do_something_odd ($value);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$i = 0;&lt;br /&gt;while ($i++ &lt; 5) {&lt;br /&gt;   echo &quot;Outer&lt;br /&gt;\n&quot;;&lt;br /&gt;   while (1) {&lt;br /&gt;       echo &quot;  Middle&lt;br /&gt;\n&quot;;&lt;br /&gt;       while (1) {&lt;br /&gt;           echo &quot;  Inner&lt;br /&gt;\n&quot;;&lt;br /&gt;           continue 3;&lt;br /&gt;       }&lt;br /&gt;       echo &quot;This never gets output.&lt;br /&gt;\n&quot;;&lt;br /&gt;   }&lt;br /&gt;   echo &quot;Neither does this.&lt;br /&gt;\n&quot;;&lt;br /&gt;}&lt;br /&gt;      switch&lt;br /&gt; The switch statement is similar to a series of IF statements on the same expression. In many occasions, you may want to compare the same variable (or expression) with many different values, and execute a different piece of code depending on which value it equals to. This is exactly what the switch statement is for.&lt;br /&gt;The following two examples are two different ways to write the same thing, one using a series of if statements, and the other using the switch statement:&lt;br /&gt;if ($i == 0) {&lt;br /&gt;   print &quot;i equals 0&quot;;&lt;br /&gt;}&lt;br /&gt;if ($i == 1) {&lt;br /&gt;   print &quot;i equals 1&quot;;&lt;br /&gt;}&lt;br /&gt;if ($i == 2) {&lt;br /&gt;   print &quot;i equals 2&quot;;&lt;br /&gt;}&lt;br /&gt;switch ($i) {&lt;br /&gt;   case 0:&lt;br /&gt;       print &quot;i equals 0&quot;;&lt;br /&gt;       break;&lt;br /&gt;   case 1:&lt;br /&gt;       print &quot;i equals 1&quot;;&lt;br /&gt;       break;&lt;br /&gt;   case 2:&lt;br /&gt;       print &quot;i equals 2&quot;;&lt;br /&gt;       break;&lt;br /&gt;}&lt;br /&gt;       It is important to understand how the switch statement is executed in order to avoid mistakes. The switch statement executes line by line (actually, statement by statement). In the beginning, no code is executed. Only when a case statement is found with a value that matches the value of the switch expression does PHP begin to execute the statements. PHP continues to execute the statements until the end of the switch block, or the first time it sees a break statement. If you don&#39;t write a break statement at the end of a case&#39;s statement list, PHP will go on executing the statements of the following case. For example:&lt;br /&gt;switch ($i) {&lt;br /&gt;   case 0:&lt;br /&gt;       print &quot;i equals 0&quot;;&lt;br /&gt;   case 1:&lt;br /&gt;       print &quot;i equals 1&quot;;&lt;br /&gt;   case 2:&lt;br /&gt;       print &quot;i equals 2&quot;;&lt;br /&gt;}&lt;br /&gt;      Here, if $i equals to 0, PHP would execute all of the print statements! If $i equals to 1, PHP would execute the last two print statements, and only if $i equals to 2, you&#39;d get the &#39;expected&#39; behavior and only &#39;i equals 2&#39; would be displayed. So, it&#39;s important not to forget break statements (even though you may want to avoid supplying them on purpose under certain circumstances).&lt;br /&gt;In a switch statement, the condition is evaluated only once and the result is compared to each case statement. In an elseif statement, the condition is evaluated again. If your condition is more complicated than a simple compare and/or is in a tight loop, a switch may be faster.&lt;br /&gt;The statement list for a case can also be empty, which simply passes control into the statement list for the next case.&lt;br /&gt;switch ($i) {&lt;br /&gt;   case 0:&lt;br /&gt;   case 1:&lt;br /&gt;   case 2:&lt;br /&gt;       print &quot;i is less than 3 but not negative&quot;;&lt;br /&gt;       break;&lt;br /&gt;   case 3:&lt;br /&gt;       print &quot;i is 3&quot;;&lt;br /&gt;}&lt;br /&gt;      A special case is the default case. This case matches anything that wasn&#39;t matched by the other cases, and should be the last case statement. For example:&lt;br /&gt;switch ($i) {&lt;br /&gt;   case 0:&lt;br /&gt;       print &quot;i equals 0&quot;;&lt;br /&gt;       break;&lt;br /&gt;   case 1:&lt;br /&gt;       print &quot;i equals 1&quot;;&lt;br /&gt;       break;&lt;br /&gt;   case 2:&lt;br /&gt;       print &quot;i equals 2&quot;;&lt;br /&gt;       break;&lt;br /&gt;   default:&lt;br /&gt;       print &quot;i is not equal to 0, 1 or 2&quot;;&lt;br /&gt;}&lt;br /&gt;      The case expression may be any expression that evaluates to a simple type, that is, integer or floating-point numbers and strings. Arrays or objects cannot be used here unless they are dereferenced to a simple type.&lt;br /&gt;The alternative syntax for control structures is supported with switches.&lt;br /&gt;switch ($i):&lt;br /&gt;   case 0:&lt;br /&gt;       print &quot;i equals 0&quot;;&lt;br /&gt;       break;&lt;br /&gt;   case 1:&lt;br /&gt;       print &quot;i equals 1&quot;;&lt;br /&gt;       break;&lt;br /&gt;   case 2:&lt;br /&gt;       print &quot;i equals 2&quot;;&lt;br /&gt;       break;&lt;br /&gt;   default:&lt;br /&gt;       print &quot;i is not equal to 0, 1 or 2&quot;;&lt;br /&gt;endswitch;&lt;br /&gt;      require()&lt;br /&gt;The require() statement replaces itself with the specified file, much like the C preprocessor&#39;s #include works.&lt;br /&gt;If &quot;URL fopen wrappers&quot; are enabled in PHP (which they are in the default configuration), you can specify the file to be require()ed using an URL instead of a local pathname. See Remote files and fopen() for more information.&lt;br /&gt;An important note about how this works is that when a file is include()ed or require()ed, parsing drops out of PHP mode and into HTML mode at the beginning of the target file, and resumes PHP mode again at the end. For this reason, any code inside the target file which should be executed as PHP code must be enclosed within valid PHP start and end tags.&lt;br /&gt;require() is not actually a function in PHP; rather, it is a language construct. It is subject to some different rules than functions are. For instance, require() is not subject to any containing control structures. For another, it does not return any value; attempting to read a return value from a require() call results in a parse error.&lt;br /&gt;Unlike include(), require() will always read in the target file, even if the line it&#39;s on never executes. If you want to conditionally include a file, use include(). The conditional statement won&#39;t affect the require(). However, if the line on which the require() occurs is not executed, neither will any of the code in the target file be executed.&lt;br /&gt;Similarly, looping structures do not affect the behaviour of require(). Although the code contained in the target file is still subject to the loop, the require() itself happens only once.&lt;br /&gt;This means that you can&#39;t put a require() statement inside of a loop structure and expect it to include the contents of a different file on each iteration. To do that, use an include() statement.&lt;br /&gt;require (&#39;header.inc&#39;);&lt;br /&gt;      When a file is require()ed, the code it contains inherits the variable scope of the line on which the require() occurs. Any variables available at that line in the calling file will be available within the called file. If the require() occurs inside a function within the calling file, then all of the code contained in the called file will behave as though it had been defined inside that function.&lt;br /&gt;If the require()ed file is called via HTTP using the fopen wrappers, and if the target server interprets the target file as PHP code, variables may be passed to the require()ed file using an URL request string as used with HTTP GET. This is not strictly speaking the same thing as require()ing the file and having it inherit the parent file&#39;s variable scope; the script is actually being run on the remote server and the result is then being included into the local script.&lt;br /&gt;/* This example assumes that someserver is configured to parse .php&lt;br /&gt;* files and not .txt files. Also, &#39;works&#39; here means that the variables&lt;br /&gt;* $varone and $vartwo are available within the require()ed file. */&lt;br /&gt;&lt;br /&gt;/* Won&#39;t work; file.txt wasn&#39;t handled by someserver. */&lt;br /&gt;require (&quot;http://someserver/file.txt?varone=1&amp;amp;vartwo=2&quot;);&lt;br /&gt;&lt;br /&gt;/* Won&#39;t work; looks for a file named &#39;file.php?varone=1&amp;amp;vartwo=2&#39;&lt;br /&gt;* on the local filesystem. */&lt;br /&gt;require (&quot;file.php?varone=1&amp;amp;vartwo=2&quot;);&lt;br /&gt;            &lt;br /&gt;/* Works. */&lt;br /&gt;require (&quot;http://someserver/file.php?varone=1&amp;amp;vartwo=2&quot;);&lt;br /&gt;&lt;br /&gt;$varone = 1;&lt;br /&gt;$vartwo = 2;&lt;br /&gt;require (&quot;file.txt&quot;);  /* Works. */&lt;br /&gt;require (&quot;file.php&quot;);  /* Works. */&lt;br /&gt;      In PHP 3, it is possible to execute a return statement inside a require()ed file, as long as that statement occurs in the global scope of the require()ed file. It may not occur within any block (meaning inside braces ({}). In PHP 4, however, this ability has been discontinued.&lt;br /&gt;include()&lt;br /&gt;The include() statement includes and evaluates the specified file.&lt;br /&gt;If &quot;URL fopen wrappers&quot; are enabled in PHP (which they are in the default configuration), you can specify the file to be include()ed using an URL instead of a local pathname. See Remote files and fopen() for more information.&lt;br /&gt;An important note about how this works is that when a file is include()ed or require()ed, parsing drops out of PHP mode and into HTML mode at the beginning of the target file, and resumes again at the end. For this reason, any code inside the target file which should be executed as PHP code must be enclosed within valid PHP start and end tags.&lt;br /&gt;This happens each time the include() statement is encountered, so you can use an include() statement within a looping structure to include a number of different files.&lt;br /&gt;$files = array (&#39;first.inc&#39;, &#39;second.inc&#39;, &#39;third.inc&#39;);&lt;br /&gt;for ($i = 0; $i &lt; count($files); $i++) {&lt;br /&gt;   include $files[$i];&lt;br /&gt;}&lt;br /&gt;      include() differs from require() in that the include statement is re-evaluated each time it is encountered (and only when it is being executed), whereas the require() statement is replaced by the required file when it is first encountered, whether the contents of the file will be evaluated or not (for example, if it is inside an if statement whose condition evaluated to false).&lt;br /&gt;Because include() is a special language construct, you must enclose it within a statement block if it is inside a conditional block.&lt;br /&gt;/* This is WRONG and will not work as desired. */&lt;br /&gt;if ($condition)&lt;br /&gt;   include($file);&lt;br /&gt;else&lt;br /&gt;   include($other);&lt;br /&gt;/* This is CORRECT. */&lt;br /&gt;if ($condition) {&lt;br /&gt;   include($file);&lt;br /&gt;} else {&lt;br /&gt;   include($other);&lt;br /&gt;}&lt;br /&gt;      In both PHP 3 and PHP 4, it is possible to execute a return statement inside an include()ed file, in order to terminate processing in that file and return to the script which called it. Some differences in the way this works exist, however. The first is that in PHP 3, the return may not appear inside a block unless it&#39;s a function block, in which case the return applies to that function and not the whole file. In PHP 4, however, this restriction does not exist. Also, PHP 4 allows you to return values from include()ed files. You can take the value of the include() call as you would a normal function. This generates a parse error in PHP 3.&lt;br /&gt; When a file is include()ed, the code it contains inherits the variable scope of the line on which the include() occurs. Any variables available at that line in the calling file will be available within the called file. If the include() occurs inside a function within the calling file, then all of the code contained in the called file will behave as though it had been defined inside that function.&lt;br /&gt;If the include()ed file is called via HTTP using the fopen wrappers, and if the target server interprets the target file as PHP code, variables may be passed to the include()ed file using an URL request string as used with HTTP GET. This is not strictly speaking the same thing as include()ing the file and having it inherit the parent file&#39;s variable scope; the script is actually being run on the remote server and the result is then being included into the local script.&lt;br /&gt;/* This example assumes that someserver is configured to parse .php&lt;br /&gt;* files and not .txt files. Also, &#39;works&#39; here means that the variables&lt;br /&gt;* $varone and $vartwo are available within the include()ed file. */&lt;br /&gt;&lt;br /&gt;/* Won&#39;t work; file.txt wasn&#39;t handled by someserver. */&lt;br /&gt;include (&quot;http://someserver/file.txt?varone=1&amp;amp;vartwo=2&quot;);&lt;br /&gt;&lt;br /&gt;/* Won&#39;t work; looks for a file named &#39;file.php?varone=1&amp;amp;vartwo=2&#39;&lt;br /&gt;* on the local filesystem. */&lt;br /&gt;include (&quot;file.php?varone=1&amp;amp;vartwo=2&quot;);&lt;br /&gt;            &lt;br /&gt;/* Works. */&lt;br /&gt;include (&quot;http://someserver/file.php?varone=1&amp;amp;vartwo=2&quot;);&lt;br /&gt;&lt;br /&gt;$varone = 1;&lt;br /&gt;$vartwo = 2;&lt;br /&gt;include (&quot;file.txt&quot;);  /* Works. */&lt;br /&gt;include (&quot;file.php&quot;);  /* Works. */&lt;br /&gt;      require_once()&lt;br /&gt;The require_once() statement replaces itself with the specified file, much like the C preprocessor&#39;s #include works, and in that respect is similar to the require() statement. The main difference is that in an inclusion chain, the use of require_once() will assure that the code is added to your script only once, and avoid clashes with variable values or function names that can happen.&lt;br /&gt;For example, if you create the following 2 include files utils.inc and foolib.inc&lt;br /&gt;utils.inc&lt;br /&gt;&lt;?php&lt;br /&gt;define(PHPVERSION, floor(phpversion()));&lt;br /&gt;echo &quot;GLOBALS ARE NICE\n&quot;;&lt;br /&gt;function goodTea() {&lt;br /&gt; return &quot;Oolong tea tastes good!&quot;;&lt;br /&gt;}&lt;br /&gt;?&gt;&lt;br /&gt; &lt;br /&gt;    foolib.inc&lt;br /&gt;&lt;?php&lt;br /&gt;require (&quot;utils.inc&quot;);&lt;br /&gt;function showVar($var) {&lt;br /&gt; if (PHPVERSION == 4) {&lt;br /&gt;  print_r($var);&lt;br /&gt; } else {&lt;br /&gt;  var_dump($var);&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// bunch of other functions ...&lt;br /&gt;?&gt;&lt;br /&gt; &lt;br /&gt;  And then you write a script cause_error_require.php&lt;br /&gt;cause_error_require.php&lt;br /&gt;&lt;?php&lt;br /&gt;require(&quot;foolib.inc&quot;);&lt;br /&gt;/* the following will generate an error */&lt;br /&gt;require(&quot;utils.inc&quot;);&lt;br /&gt;$foo = array(&quot;1&quot;,array(&quot;complex&quot;,&quot;quaternion&quot;));&lt;br /&gt;echo &quot;this is requiring utils.inc again which is also\n&quot;;&lt;br /&gt;echo &quot;required in foolib.inc\n&quot;;&lt;br /&gt;echo &quot;Running goodTea: &quot;.goodTea().&quot;\n&quot;;&lt;br /&gt;echo &quot;Printing foo: \n&quot;;&lt;br /&gt;showVar($foo);&lt;br /&gt;?&gt;&lt;br /&gt; &lt;br /&gt;  When you try running the latter one, the resulting ouptut will be (using PHP 4.01pl2):&lt;br /&gt;GLOBALS ARE NICE&lt;br /&gt;GLOBALS ARE NICE&lt;br /&gt;&lt;br /&gt;Fatal error:  Cannot redeclare goodTea() in utils.inc on line 5&lt;br /&gt;    By modifying foolib.inc and cause_errror_require.php to use require_once() instead of require() and renaming the last one to avoid_error_require_once.php, we have:&lt;br /&gt;foolib.inc (fixed)&lt;br /&gt;...&lt;br /&gt;require_once(&quot;utils.inc&quot;);&lt;br /&gt;function showVar($var) {&lt;br /&gt;...&lt;br /&gt; &lt;br /&gt;    avoid_error_require_once.php&lt;br /&gt;...&lt;br /&gt;require_once(&quot;foolib.inc&quot;);&lt;br /&gt;require_once(&quot;utils.inc&quot;);&lt;br /&gt;$foo = array(&quot;1&quot;,array(&quot;complex&quot;,&quot;quaternion&quot;));&lt;br /&gt;...&lt;br /&gt; &lt;br /&gt;  And when running the latter, the output will be (using PHP 4.0.1pl2):&lt;br /&gt;GLOBALS ARE NICE&lt;br /&gt;this is requiring globals.inc again which is also&lt;br /&gt;required in foolib.inc&lt;br /&gt;Running goodTea: Oolong tea tastes good!&lt;br /&gt;Printing foo:&lt;br /&gt;Array&lt;br /&gt;(&lt;br /&gt;   [0] =&gt; 1&lt;br /&gt;   [1] =&gt; Array&lt;br /&gt;       (&lt;br /&gt;           [0] =&gt; complex&lt;br /&gt;           [1] =&gt; quaternion&lt;br /&gt;       )&lt;br /&gt;&lt;br /&gt;)&lt;br /&gt;    Also note that, analogous to the behavior of the #include of the C preprocessor, this statement acts at &quot;compile time&quot;, e.g. when the script is parsed and before it is executed, and should not be used for parts of the script that need to be inserted dynamically during its execution. You should use include_once() or include() for that purpose.&lt;br /&gt;For more examples on using require_once() and include_once(), look at the PEAR code included in the latest PHP source code distributions.&lt;br /&gt;include_once()&lt;br /&gt;The include_once() statement includes and evaluates the specified file during the execution of the script. This is a behavior similar to the include() statement, with the important difference that if the code from a file has already been included, it will not be included again.&lt;br /&gt;As mentioned in the require_once() description, the include_once() should be used in the cases in which the same file might be included and evaluated more than once during a particular execution of a script, and you want to be sure that it is included exactly once to avoid problems with function redefinitions, variable value reassignments, etc.&lt;br /&gt;Finaly our arrengement about control structure finished. Are you confused about what im talking about? I know when there is a will there is a way. With study hard Im sure you can understand and apply the knowledge in your life. In the next chapter I will easied up a subject about function inluding the user defined function, function arguments etc.&lt;br /&gt;Chapter 6&lt;br /&gt;Title : PHP Programing | PHP Basic | chapter 6 Functions&lt;br /&gt;User-defined functions&lt;br /&gt;A function may be defined using syntax such as the following:&lt;br /&gt;function foo ($arg_1, $arg_2, ..., $arg_n) {&lt;br /&gt;   echo &quot;Example function.\n&quot;;&lt;br /&gt;   return $retval;&lt;br /&gt;}&lt;br /&gt;      Any valid PHP code may appear inside a function, even other functions and class definitions.&lt;br /&gt;In PHP 3, functions must be defined before they are referenced. No such requirement exists in PHP 4.&lt;br /&gt;PHP does not support function overloading, nor is it possible to undefine or redefine previously-declared functions.&lt;br /&gt;PHP 3 does not support variable numbers of arguments to functions, although default arguments are supported (see Default argument values for more information). PHP 4 supports both: see Variable-length argument lists and the function references for func_num_args(), func_get_arg(), and func_get_args() for more information.&lt;br /&gt;Function arguments&lt;br /&gt; Information may be passed to functions via the argument list, which is a comma-delimited list of variables and/or constants.&lt;br /&gt;PHP supports passing arguments by value (the default), passing by reference, and default argument values. Variable-length argument lists are supported only in PHP 4 and later; see Variable-length argument lists and the function references for func_num_args(), func_get_arg(), and func_get_args() for more information. A similar effect can be achieved in PHP 3 by passing an array of arguments to a function:&lt;br /&gt;function takes_array($input) {&lt;br /&gt;   echo &quot;$input[0] + $input[1] = &quot;, $input[0]+$input[1];&lt;br /&gt;}&lt;br /&gt;      Making arguments be passed by reference&lt;br /&gt;By default, function arguments are passed by value (so that if you change the value of the argument within the function, it does not get changed outside of the function). If you wish to allow a function to modify its arguments, you must pass them by reference.&lt;br /&gt;If you want an argument to a function to always be passed by reference, you can prepend an ampersand (&amp;amp;) to the argument name in the function definition:&lt;br /&gt;function add_some_extra(&amp;amp;$string) {&lt;br /&gt;   $string .= &#39;and something extra.&#39;;&lt;br /&gt;}&lt;br /&gt;$str = &#39;This is a string, &#39;;&lt;br /&gt;add_some_extra($str);&lt;br /&gt;echo $str;    // outputs &#39;This is a string, and something extra.&#39;&lt;br /&gt;       If you wish to pass a variable by reference to a function which does not do this by default, you may prepend an ampersand to the argument name in the function call:&lt;br /&gt;function foo ($bar) {&lt;br /&gt;   $bar .= &#39; and something extra.&#39;;&lt;br /&gt;}&lt;br /&gt;$str = &#39;This is a string, &#39;;&lt;br /&gt;foo ($str);&lt;br /&gt;echo $str;    // outputs &#39;This is a string, &#39;&lt;br /&gt;foo (&amp;amp;$str);&lt;br /&gt;echo $str;    // outputs &#39;This is a string, and something extra.&#39;&lt;br /&gt;       Default argument values&lt;br /&gt;A function may define C++-style default values for scalar arguments as follows:&lt;br /&gt;function makecoffee ($type = &quot;cappucino&quot;) {&lt;br /&gt;   return &quot;Making a cup of $type.\n&quot;;&lt;br /&gt;}&lt;br /&gt;echo makecoffee ();&lt;br /&gt;echo makecoffee (&quot;espresso&quot;);&lt;br /&gt;       The output from the above snippet is:&lt;br /&gt;Making a cup of cappucino.&lt;br /&gt;Making a cup of espresso.&lt;br /&gt;      The default value must be a constant expression, not (for example) a variable or class member.&lt;br /&gt;Note that when using default arguments, any defaults should be on the right side of any non-default arguments; otherwise, things will not work as expected. Consider the following code snippet:&lt;br /&gt;function makeyogurt ($type = &quot;acidophilus&quot;, $flavour) {&lt;br /&gt;   return &quot;Making a bowl of $type $flavour.\n&quot;;&lt;br /&gt;}&lt;br /&gt;echo makeyogurt (&quot;raspberry&quot;);   // won&#39;t work as expected&lt;br /&gt;       The output of the above example is:&lt;br /&gt;Warning: Missing argument 2 in call to makeyogurt() in&lt;br /&gt;/usr/local/etc/httpd/htdocs/php3test/functest.html on line 41&lt;br /&gt;Making a bowl of raspberry .&lt;br /&gt;      Now, compare the above with this:&lt;br /&gt;function makeyogurt ($flavour, $type = &quot;acidophilus&quot;) {&lt;br /&gt;   return &quot;Making a bowl of $type $flavour.\n&quot;;&lt;br /&gt;}&lt;br /&gt;echo makeyogurt (&quot;raspberry&quot;);   // works as expected&lt;br /&gt;       The output of this example is:&lt;br /&gt;Making a bowl of acidophilus raspberry.&lt;br /&gt;      Variable-length argument lists&lt;br /&gt;PHP 4 has support for variable-length argument lists in user-defined functions. This is really quite easy, using the func_num_args(), func_get_arg(), and func_get_args() functions.&lt;br /&gt;No special syntax is required, and argument lists may still be explicitly provided with function definitions and will behave as normal.&lt;br /&gt;Returning values&lt;br /&gt; Values are returned by using the optional return statement. Any type may be returned, including lists and objects.&lt;br /&gt;function square ($num) {&lt;br /&gt;   return $num * $num;&lt;br /&gt;}&lt;br /&gt;echo square (4);   // outputs &#39;16&#39;.&lt;br /&gt;      You can&#39;t return multiple values from a function, but similar results can be obtained by returning a list.&lt;br /&gt;function small_numbers() {&lt;br /&gt;   return array (0, 1, 2);&lt;br /&gt;}&lt;br /&gt;list ($zero, $one, $two) = small_numbers();&lt;br /&gt;      To return a reference from a function, you have to use the reference operator &amp;amp; in both the function declaration and when assigning the returned value to a variable:&lt;br /&gt;function &amp;amp;returns_reference() {&lt;br /&gt;   return $someref;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$newref =&amp;amp;returns_reference();&lt;br /&gt;      Variable functions&lt;br /&gt; PHP supports the concept of variable functions. This means that if a variable name has parentheses appended to it, PHP will look for a function with the same name as whatever the variable evaluates to, and will attempt to execute it. Among other things, this can be used to implement callbacks, function tables, and so forth.&lt;br /&gt;Variable function example&lt;br /&gt;&lt;?php&lt;br /&gt;function foo() {&lt;br /&gt;   echo &quot;In foo()&lt;br /&gt;\n&quot;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function bar( $arg = &#39;&#39; ) {&lt;br /&gt;   echo &quot;In bar(); argument was &#39;$arg&#39;.&lt;br /&gt;\n&quot;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$func = &#39;foo&#39;;&lt;br /&gt;$func();&lt;br /&gt;$func = &#39;bar&#39;;&lt;br /&gt;$func( &#39;test&#39; );&lt;br /&gt;?&gt;</description><link>http://downloadsfreesoftwares.blogspot.com/2008/02/php-programing-php-basic-chapter-5.html</link><author>noreply@blogger.com (Juni Salman)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7611896947576374183.post-807757477836197216</guid><pubDate>Wed, 06 Feb 2008 08:03:00 +0000</pubDate><atom:updated>2008-02-09T03:48:53.397-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">php</category><title>PHP Programing | PHP Basic | chapter 4 Operators</title><description>Remember basic arithmetic from school? These work just like those.&lt;br /&gt;Arithmetic Operators&lt;br /&gt;&lt;br /&gt;Example Name Result   &lt;br /&gt;$a + $b Addition Sum of $a and $b.   &lt;br /&gt;$a - $b Subtraction Difference of $a and $b.   &lt;br /&gt;$a * $b Multiplication Product of $a and $b.   &lt;br /&gt;$a / $b Division Quotient of $a and $b.   &lt;br /&gt;$a % $b Modulus Remainder of $a divided by $b. &lt;br /&gt;The division operator (&quot;/&quot;) returns an integer value (the result of an integer division) if the two operands are integers (or strings that get converted to integers) and the quotient is an integer. If either operand is a floating-point value, or the operation results in a non-integer value, a floating-point value is returned.&lt;br /&gt;Assignment Operators&lt;br /&gt;The basic assignment operator is &quot;=&quot;. Your first inclination might be to think of this as &quot;equal to&quot;. Don&#39;t. It really means that the the left operand gets set to the value of the expression on the rights (that is, &quot;gets set to&quot;).&lt;br /&gt;The value of an assignment expression is the value assigned. That is, the value of &quot;$a = 3&quot; is 3. This allows you to do some tricky things:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$a = ($b = 4) + 5; // $a is equal to 9 now, and $b has been set to 4.&lt;br /&gt;     &lt;br /&gt;In addition to the basic assignment operator, there are &quot;combined operators&quot; for all of the binary arithmetic and string operators that allow you to use a value in an expression and then set its value to the result of that expression. For example:&lt;br /&gt;&lt;br /&gt;$a = 3;&lt;br /&gt;$a += 5; // sets $a to 8, as if we had said: $a = $a + 5;&lt;br /&gt;$b = &quot;Hello &quot;;&lt;br /&gt;$b .= &quot;There!&quot;; // sets $b to &quot;Hello There!&quot;, just like $b = $b . &quot;There!&quot;;&lt;br /&gt;     &lt;br /&gt;Note that the assignment copies the original variable to the new one (assignment by value), so changes to one will not affect the other. This may also have relevance if you need to copy something like a large array inside a tight loop. PHP 4 supports assignment by reference, using the $var = &amp;amp;$othervar; syntax, but this is not possible in PHP 3. &#39;Assignment by reference&#39; means that both variables end up pointing at the same data, and nothing is copied anywhere. To learn more about references, please read References explained.&lt;br /&gt;Bitwise Operators&lt;br /&gt;Bitwise operators allow you to turn specific bits within an integer on or off.&lt;br /&gt;Bitwise Operators&lt;br /&gt;&lt;br /&gt;Example Name Result   &lt;br /&gt;$a &amp;amp; $b And Bits that are set in both $a and $b are set.   &lt;br /&gt;$a | $b Or Bits that are set in either $a or $b are set.   &lt;br /&gt;$a ^ $b Xor Bits that are set in $a or $b but not both are set.    &lt;br /&gt;~ $a Not Bits that are set in $a are not set, and vice versa.    &lt;br /&gt;$a &lt;&lt; $b Shift left Shift the bits of $a $b steps to the left (each step means &quot;multiply by two&quot;)      $a &gt;&gt; $b Shift right Shift the bits of $a $b steps to the right (each step means &quot;divide by two&quot;)  &lt;br /&gt;Comparison Operators&lt;br /&gt;Comparison operators, as their name implies, allow you to compare two values.&lt;br /&gt;Comparison Operators&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Example Name Result   &lt;br /&gt;$a == $b Equal True if $a is equal to $b.   &lt;br /&gt;$a === $b Identical True if $a is equal to $b, and they are of the same type. (PHP 4 only)    &lt;br /&gt;$a != $b Not equal True if $a is not equal to $b.   &lt;br /&gt;$a !== $b Not identical True if $a is not equal to $b, or they are not of the same type. (PHP 4 only)    &lt;br /&gt;$a &lt; $b Less than True if $a is strictly less than $b.     $a &gt; $b Greater than True if $a is strictly greater than $b.   &lt;br /&gt;$a &lt;= $b Less than or equal to  True if $a is less than or equal to $b.     $a &gt;= $b Greater than or equal to  True if $a is greater than or equal to $b. &lt;br /&gt;Another conditional operator is the &quot;?:&quot; (or ternary) operator, which operates as in C and many other languages.&lt;br /&gt;&lt;br /&gt;(expr1) ? (expr2) : (expr3);&lt;br /&gt;     &lt;br /&gt;This expression evaluates to expr2 if expr1 evaluates to true, and expr3 if expr1 evaluates to false.&lt;br /&gt;Error Control Operators&lt;br /&gt;PHP supports one error control operator: the at sign (@). When prepended to an expression in PHP, any error messages that might be generated by that expression will be ignored.&lt;br /&gt;If the track_errors feature is enabled, any error message generated by the expression will be saved in the global variable $php_errormsg. This variable will be overwritten on each error, so check early if you want to use it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;     &lt;br /&gt;Currently the &quot;@&quot; error-control operator prefix will even disable error reporting for critical errors that will terminate script execution. Among other things, this means that if you use &quot;@&quot; to suppress errors from a certain function and either it isn&#39;t available or has been mistyped, the script will die right there with no indication as to why.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Execution Operators&lt;br /&gt;PHP supports one execution operator: backticks (``). Note that these are not single-quotes! PHP will attempt to execute the contents of the backticks as a shell command; the output will be returned (i.e., it won&#39;t simply be dumped to output; it can be assigned to a variable).&lt;br /&gt;&lt;br /&gt;$output = `ls -al`;&lt;br /&gt;echo &quot;&lt;pre&gt;$output&lt;/pre&gt;&quot;;&lt;br /&gt;     &lt;br /&gt;Note: The backtick operator is disabled when safe mode is enabled.&lt;br /&gt;Incrementing/Decrementing Operators&lt;br /&gt;PHP supports C-style pre- and post-increment and decrement operators.&lt;br /&gt;Increment/decrement Operators&lt;br /&gt;&lt;br /&gt;Example Name Effect   &lt;br /&gt;++$a Pre-increment Increments $a by one, then returns $a.   &lt;br /&gt;$a++ Post-increment Returns $a, then increments $a by one.   &lt;br /&gt;--$a Pre-decrement Decrements $a by one, then returns $a.   &lt;br /&gt;$a-- Post-decrement Returns $a, then decrements $a by one. &lt;br /&gt;Here&#39;s a simple example script:&lt;br /&gt;&lt;br /&gt;Postincrement&quot;;&lt;br /&gt;$a = 5;&lt;br /&gt;echo &quot;Should be 5: &quot; . $a++ . &quot;&lt;br /&gt;\n&quot;;&lt;br /&gt;echo &quot;Should be 6: &quot; . $a . &quot;&lt;br /&gt;\n&quot;;&lt;br /&gt;&lt;br /&gt;echo &quot;&lt;h3&gt;Preincrement&lt;/h3&gt;&quot;;&lt;br /&gt;$a = 5;&lt;br /&gt;echo &quot;Should be 6: &quot; . ++$a . &quot;&lt;br /&gt;\n&quot;;&lt;br /&gt;echo &quot;Should be 6: &quot; . $a . &quot;&lt;br /&gt;\n&quot;;&lt;br /&gt;&lt;br /&gt;echo &quot;&lt;h3&gt;Postdecrement&lt;/h3&gt;&quot;;&lt;br /&gt;$a = 5;&lt;br /&gt;echo &quot;Should be 5: &quot; . $a-- . &quot;&lt;br /&gt;\n&quot;;&lt;br /&gt;echo &quot;Should be 4: &quot; . $a . &quot;&lt;br /&gt;\n&quot;;&lt;br /&gt;&lt;br /&gt;echo &quot;&lt;h3&gt;Predecrement&lt;/h3&gt;&quot;;&lt;br /&gt;$a = 5;&lt;br /&gt;echo &quot;Should be 4: &quot; . --$a . &quot;&lt;br /&gt;\n&quot;;&lt;br /&gt;echo &quot;Should be 4: &quot; . $a . &quot;&lt;br /&gt;\n&quot;;&lt;br /&gt;?&gt;&lt;br /&gt;     &lt;br /&gt;Logical Operators&lt;br /&gt;Logical Operators&lt;br /&gt;&lt;br /&gt;Example Name Result   &lt;br /&gt;$a and $b And True if both $a and $b are true.   &lt;br /&gt;$a or $b Or True if either $a or $b is true.   &lt;br /&gt;$a xor $b Xor True if either $a or $b is true, but not both.   &lt;br /&gt;! $a Not True if $a is not true.   &lt;br /&gt;$a &amp;amp;&amp;amp; $b And True if both $a and $b are true.   &lt;br /&gt;$a || $b Or True if either $a or $b is true. &lt;br /&gt;The reason for the two different variations of &quot;and&quot; and &quot;or&quot; operators is that they operate at different precedences.&lt;br /&gt;Operator Precedence&lt;br /&gt;The precedence of an operator specifies how &quot;tightly&quot; it binds two expressions together. For example, in the expression 1 + 5 * 3, the answer is 16 and not 18 because the multiplication (&quot;*&quot;) operator has a higher precedence than the addition (&quot;+&quot;) operator. Parentheses may be used to force precedence, if necessary. For instance: (1 + 5) * 3 evaluates to 18.&lt;br /&gt;The following table lists the precedence of operators with the lowest-precedence operators listed first.&lt;br /&gt;Operator Precedence&lt;br /&gt;&lt;br /&gt;Associativity Operators   &lt;br /&gt;left ,   &lt;br /&gt;left or   &lt;br /&gt;left xor   &lt;br /&gt;left and   &lt;br /&gt;right print   &lt;br /&gt;left = += -= *= /= .= %= &amp;amp;= |= ^= ~= &lt;&lt;= &gt;&gt;=    &lt;br /&gt;left ? :   &lt;br /&gt;left ||   &lt;br /&gt;left &amp;amp;&amp;amp;   &lt;br /&gt;left |   &lt;br /&gt;left ^   &lt;br /&gt;left &amp;amp;   &lt;br /&gt;non-associative == != === !==   &lt;br /&gt;non-associative &lt; &lt;= &gt; &gt;=   &lt;br /&gt;left &lt;&lt; &gt;&gt;   &lt;br /&gt;left + - .   &lt;br /&gt;left * / %   &lt;br /&gt;right ! ~ ++ -- (int) (double) (string) (array) (object) @   &lt;br /&gt;right [   &lt;br /&gt;non-associative new &lt;br /&gt;String Operators&lt;br /&gt;There are two string operators. The first is the concatenation operator (&#39;.&#39;), which returns the concatenation of its right and left arguments. The second is the concatenating assignment operator (&#39;.=&#39;), which appends the argument on the right side to the argument on the left side. Please read Assignment Operators for more information.&lt;br /&gt;&lt;br /&gt;$a = &quot;Hello &quot;;&lt;br /&gt;$b = $a . &quot;World!&quot;; // now $b contains &quot;Hello World!&quot;&lt;br /&gt;&lt;br /&gt;$a = &quot;Hello &quot;;&lt;br /&gt;$a .= &quot;World!&quot;;     // now $a contains &quot;Hello World!&quot;&lt;br /&gt;     &lt;br /&gt;After we know about operator, the next step is understand about the control structure such as looping structrures and conditional selection that will be discussed in chapter 5</description><link>http://downloadsfreesoftwares.blogspot.com/2008/02/php-programing-php-basic-chapter-4.html</link><author>noreply@blogger.com (Juni Salman)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7611896947576374183.post-2779460468086930756</guid><pubDate>Wed, 06 Feb 2008 07:49:00 +0000</pubDate><atom:updated>2008-02-06T00:02:04.400-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">php</category><title>PHP Programing | PHP Basic | chapter 3 Variable and Constanta</title><description>Basic&lt;br /&gt;Variables in PHP are represented by a dollar sign followed by the name of the variable. The variable name is case-sensitive. Variable names follow the same rules as other labels in PHP. A valid variable name starts with a letter or underscore, followed by any number of letters, numbers, or underscores. As a regular expression, it would be expressed thus: &#39;[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*&#39; &lt;br /&gt;Note: For our purposes here, a letter is a-z, A-Z, and the ASCII characters from 127 through 255 (0x7f-0xff). &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;$var = &quot;Bob&quot;;&lt;br /&gt;$Var = &quot;Joe&quot;;&lt;br /&gt;echo &quot;$var, $Var&quot;;      // outputs &quot;Bob, Joe&quot;&lt;br /&gt;&lt;br /&gt;$4site = &#39;not yet&#39;;     // invalid; starts with a number&lt;br /&gt;$_4site = &#39;not yet&#39;;    // valid; starts with an underscore&lt;br /&gt;$täyte = &#39;mansikka&#39;;    // valid; &#39;ä&#39; is ASCII 228.&lt;br /&gt;       &lt;br /&gt; In PHP 3, variables are always assigned by value. That is to say, when you assign an expression to a variable, the entire value of the original expression is copied into the destination variable. This means, for instance, that after assigning one variable&#39;s value to another, changing one of those variables will have no effect on the other. For more information on this kind of assignment, see Expressions. &lt;br /&gt; PHP 4 offers another way to assign values to variables: assign by reference. This means that the new variable simply references (in other words, &quot;becomes an alias for&quot; or &quot;points to&quot;) the original variable. Changes to the new variable affect the original, and vice versa. This also means that no copying is performed; thus, the assignment happens more quickly. However, any speedup will likely be noticed only in tight loops or when assigning large arrays or objects. To assign by reference, simply prepend an ampersand (&amp;) to the beginning of the variable which is being assigned (the source variable). For instance, the following code snippet outputs &#39;My name is Bob&#39; twice: &lt;br /&gt; &lt;br /&gt;&lt;?php&lt;br /&gt;$foo = &#39;Bob&#39;;              // Assign the value &#39;Bob&#39; to $foo&lt;br /&gt;$bar = &amp;$foo;          // Reference $foo via $bar.&lt;br /&gt;$bar = &quot;My name is $bar&quot;;  // Alter $bar...&lt;br /&gt;echo $foo;                 // $foo is altered too.&lt;br /&gt;echo $bar;&lt;br /&gt;?&gt;&lt;br /&gt;       &lt;br /&gt;One important thing to note is that only named variables may be assigned by reference. &lt;br /&gt; &lt;br /&gt;&lt;?php&lt;br /&gt;$foo = 25;&lt;br /&gt;$bar = &amp;$foo;      // This is a valid assignment.&lt;br /&gt;$bar = &amp;(24 * 7);  // Invalid; references an unnamed expression.&lt;br /&gt;&lt;br /&gt;function test() {&lt;br /&gt;   return 25;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$bar = &amp;test();    // Invalid.&lt;br /&gt;?&gt;&lt;br /&gt;       &lt;br /&gt;Predefined variables&lt;br /&gt;PHP provides a large number of predefined variables to any script which it runs. Many of these variables, however, cannot be fully documented as they are dependent upon which server is running, the version and setup of the server, and other factors. Some of these variables will not be available when PHP is run on the command-line. &lt;br /&gt;Despite these factors, here is a list of predefined variables available under a stock installation of PHP 3 running as a module under a stock installation of Apache 1.3.6. &lt;br /&gt;For a list of all predefined variables (and lots of other useful information), please see (and use) phpinfo(). &lt;br /&gt;Note: This list is neither exhaustive nor intended to be. It is simply a guideline as to what sorts of predefined variables you can expect to have access to in your script. &lt;br /&gt;Apache variables&lt;br /&gt; These variables are created by the Apache webserver. If you are running another webserver, there is no guarantee that it will provide the same variables; it may omit some, or provide others not listed here. That said, a large number of these variables are accounted for in the CGI 1.1 specification, so you should be able to expect those. &lt;br /&gt; Note that few, if any, of these will be available (or indeed have any meaning) if running PHP on the command line. &lt;br /&gt;GATEWAY_INTERFACE &lt;br /&gt;What revision of the CGI specification the server is using; i.e. &#39;CGI/1.1&#39;. &lt;br /&gt;SERVER_NAME &lt;br /&gt;The name of the server host under which the current script is executing. If the script is running on a virtual host, this will be the value defined for that virtual host. &lt;br /&gt;SERVER_SOFTWARE &lt;br /&gt;Server identification string, given in the headers when responding to requests. &lt;br /&gt;SERVER_PROTOCOL &lt;br /&gt;Name and revision of the information protocol via which the page was requested; i.e. &#39;HTTP/1.0&#39;; &lt;br /&gt;REQUEST_METHOD &lt;br /&gt;Which request method was used to access the page; i.e. &#39;GET&#39;, &#39;HEAD&#39;, &#39;POST&#39;, &#39;PUT&#39;. &lt;br /&gt;QUERY_STRING &lt;br /&gt;The query string, if any, via which the page was accessed. &lt;br /&gt;DOCUMENT_ROOT &lt;br /&gt;The document root directory under which the current script is executing, as defined in the server&#39;s configuration file. &lt;br /&gt;HTTP_ACCEPT &lt;br /&gt;Contents of the Accept: header from the current request, if there is one. &lt;br /&gt;HTTP_ACCEPT_CHARSET &lt;br /&gt;Contents of the Accept-Charset: header from the current request, if there is one. Example: &#39;iso-8859-1,*,utf-8&#39;. &lt;br /&gt;HTTP_ACCEPT_ENCODING &lt;br /&gt;Contents of the Accept-Encoding: header from the current request, if there is one. Example: &#39;gzip&#39;. &lt;br /&gt;HTTP_ACCEPT_LANGUAGE &lt;br /&gt;Contents of the Accept-Language: header from the current request, if there is one. Example: &#39;en&#39;. &lt;br /&gt;HTTP_CONNECTION &lt;br /&gt;Contents of the Connection: header from the current request, if there is one. Example: &#39;Keep-Alive&#39;. &lt;br /&gt;HTTP_HOST &lt;br /&gt;Contents of the Host: header from the current request, if there is one. &lt;br /&gt;HTTP_REFERER &lt;br /&gt;The address of the page (if any) which referred the browser to the current page. This is set by the user&#39;s browser; not all browsers will set this. &lt;br /&gt;HTTP_USER_AGENT &lt;br /&gt;Contents of the User_Agent: header from the current request, if there is one. This is a string denoting the browser software being used to view the current page; i.e. Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). Among other things, you can use this value with get_browser() to tailor your page&#39;s functionality to the capabilities of the user&#39;s browser. &lt;br /&gt;REMOTE_ADDR &lt;br /&gt;The IP address from which the user is viewing the current page. &lt;br /&gt;REMOTE_PORT &lt;br /&gt;The port being used on the user&#39;s machine to communicate with the web server. &lt;br /&gt;&lt;br /&gt;SCRIPT_FILENAME &lt;br /&gt;The absolute pathname of the currently executing script. &lt;br /&gt;SERVER_ADMIN &lt;br /&gt;The value given to the SERVER_ADMIN (for Apache) directive in the web server configuration file. If the script is running on a virtual host, this will be the value defined for that virtual host. &lt;br /&gt;SERVER_PORT &lt;br /&gt;The port on the server machine being used by the web server for communication. For default setups, this will be &#39;80&#39;; using SSL, for instance, will change this to whatever your defined secure HTTP port is. &lt;br /&gt;SERVER_SIGNATURE &lt;br /&gt;String containing the server version and virtual host name which are added to server-generated pages, if enabled. &lt;br /&gt;PATH_TRANSLATED &lt;br /&gt;Filesystem- (not document root-) based path to the current script, after the server has done any virtual-to-real mapping. &lt;br /&gt;SCRIPT_NAME &lt;br /&gt;Contains the current script&#39;s path. This is useful for pages which need to point to themselves. &lt;br /&gt;REQUEST_URI &lt;br /&gt;The URI which was given in order to access this page; for instance, &#39;/index.html&#39;. &lt;br /&gt;Environment variables&lt;br /&gt; These variables are imported into PHP&#39;s global namespace from the environment under which the PHP parser is running. Many are provided by the shell under which PHP is running and different systems are likely running different kinds of shells, a definitive list is impossible. Please see your shell&#39;s documentation for a list of defined environment variables. Other environment variables include the CGI variables, placed there regardless of whether PHP is running as a server module or CGI processor. &lt;br /&gt;PHP variables&lt;br /&gt;These variables are created by PHP itself. The $HTTP_*_VARS variables are available only if the track_vars configuration is turned on. When enabled, the variables are always set, even if they are empty arrays. This prevents a malicious user from spoofing these variables. &lt;br /&gt;Note: As of PHP 4.0.3, track_vars is always turned on, regardless of the configuration file setting. &lt;br /&gt;If the register_globals directive is set, then these variables will also be made available in the global scope of the script; i.e., separate from the $HTTP_*_VARS arrays. This feature should be used with care, and turned off if possible; while the $HTTP_*_VARS variables are safe, the bare global equivalents can be overwritten by user input, with possibly malicious intent. If you cannot turn off register_globals, you must take whatever steps are necessary to ensure that the data you are using is safe. &lt;br /&gt;argv &lt;br /&gt;Array of arguments passed to the script. When the script is run on the command line, this gives C-style access to the command line parameters. When called via the GET method, this will contain the query string. &lt;br /&gt;argc &lt;br /&gt;Contains the number of command line parameters passed to the script (if run on the command line). &lt;br /&gt;PHP_SELF &lt;br /&gt;The filename of the currently executing script, relative to the document root. If PHP is running as a command-line processor, this variable is not available. &lt;br /&gt;HTTP_COOKIE_VARS &lt;br /&gt;An associative array of variables passed to the current script via HTTP cookies. &lt;br /&gt;HTTP_GET_VARS &lt;br /&gt;An associative array of variables passed to the current script via the HTTP GET method. &lt;br /&gt;HTTP_POST_VARS &lt;br /&gt;An associative array of variables passed to the current script via the HTTP POST method. &lt;br /&gt;HTTP_POST_FILES &lt;br /&gt;An associative array of variables containing information about files uploaded via the HTTP POST method. See POST method uploads for information on the contents of $HTTP_POST_FILES. &lt;br /&gt;$HTTP_POST_FILES is available only in PHP 4.0.0 and later. &lt;br /&gt;HTTP_ENV_VARS &lt;br /&gt;An associative array of variables passed to the current script via the parent environment. &lt;br /&gt;HTTP_SERVER_VARS &lt;br /&gt;An associative array of variables passed to the current script from the HTTP server. These variables are analogous to the Apache variables described above. &lt;br /&gt;Variable scope&lt;br /&gt; The scope of a variable is the context within which it is defined. For the most part all PHP variables only have a single scope. This single scope spans included and required files as well. For example: &lt;br /&gt; &lt;br /&gt;$a = 1;&lt;br /&gt;include &quot;b.inc&quot;;&lt;br /&gt;      &lt;br /&gt; Here the $a variable will be available within the included b.inc script. However, within user-defined functions a local function scope is introduced. Any variable used inside a function is by default limited to the local function scope. For example: &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;$a = 1; /* global scope */ &lt;br /&gt;&lt;br /&gt;Function Test () { &lt;br /&gt;    echo $a; /* reference to local scope variable */ &lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;Test ();&lt;br /&gt;      &lt;br /&gt; This script will not produce any output because the echo statement refers to a local version of the $a variable, and it has not been assigned a value within this scope. You may notice that this is a little bit different from the C language in that global variables in C are automatically available to functions unless specifically overridden by a local definition. This can cause some problems in that people may inadvertently change a global variable. In PHP global variables must be declared global inside a function if they are going to be used in that function. An example: &lt;br /&gt; &lt;br /&gt;$a = 1;&lt;br /&gt;$b = 2;&lt;br /&gt;&lt;br /&gt;Function Sum () {&lt;br /&gt;    global $a, $b;&lt;br /&gt;&lt;br /&gt;    $b = $a + $b;&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;Sum ();&lt;br /&gt;echo $b;&lt;br /&gt;      &lt;br /&gt; The above script will output &quot;3&quot;. By declaring $a and $b global within the function, all references to either variable will refer to the global version. There is no limit to the number of global variables that can be manipulated by a function. &lt;br /&gt;A second way to access variables from the global scope is to use the special PHP-defined $GLOBALS array. The previous example can be rewritten as: &lt;br /&gt; &lt;br /&gt;$a = 1;&lt;br /&gt;$b = 2;&lt;br /&gt;&lt;br /&gt;Function Sum () {&lt;br /&gt;    $GLOBALS[&quot;b&quot;] = $GLOBALS[&quot;a&quot;] + $GLOBALS[&quot;b&quot;];&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;Sum ();&lt;br /&gt;echo $b;&lt;br /&gt;      &lt;br /&gt;The $GLOBALS array is an associative array with the name of the global variable being the key and the contents of that variable being the value of the array element. &lt;br /&gt;Another important feature of variable scoping is the static variable. A static variable exists only in a local function scope, but it does not lose its value when program execution leaves this scope. Consider the following example: &lt;br /&gt; &lt;br /&gt;Function Test () {&lt;br /&gt;    $a = 0;&lt;br /&gt;    echo $a;&lt;br /&gt;    $a++;&lt;br /&gt;}&lt;br /&gt;      &lt;br /&gt;This function is quite useless since every time it is called it sets $a to 0 and prints &quot;0&quot;. The $a++ which increments the variable serves no purpose since as soon as the function exits the $a variable disappears. To make a useful counting function which will not lose track of the current count, the $a variable is declared static: &lt;br /&gt; &lt;br /&gt;Function Test () {&lt;br /&gt;    static $a = 0;&lt;br /&gt;    echo $a;&lt;br /&gt;    $a++;&lt;br /&gt;}&lt;br /&gt;      &lt;br /&gt;Now, every time the Test() function is called it will print the value of $a and increment it. &lt;br /&gt;Static variables also provide one way to deal with recursive functions. A recursive function is one which calls itself. Care must be taken when writing a recursive function because it is possible to make it recurse indefinitely. You must make sure you have an adequate way of terminating the recursion. The following simple function recursively counts to 10, using the static variable $count to know when to stop: &lt;br /&gt; &lt;br /&gt;Function Test () {&lt;br /&gt;    static $count = 0;&lt;br /&gt;&lt;br /&gt;    $count++;&lt;br /&gt;    echo $count;&lt;br /&gt;    if ($count &lt; 10) {&lt;br /&gt;        Test ();&lt;br /&gt;    }&lt;br /&gt;    $count--;&lt;br /&gt;}&lt;br /&gt;      &lt;br /&gt;Variable variables&lt;br /&gt; Sometimes it is convenient to be able to have variable variable names. That is, a variable name which can be set and used dynamically. A normal variable is set with a statement such as: &lt;br /&gt; &lt;br /&gt;$a = &quot;hello&quot;;&lt;br /&gt;      &lt;br /&gt; A variable variable takes the value of a variable and treats that as the name of a variable. In the above example, hello, can be used as the name of a variable by using two dollar signs. i.e. &lt;br /&gt; &lt;br /&gt;$$a = &quot;world&quot;;&lt;br /&gt;      &lt;br /&gt;At this point two variables have been defined and stored in the PHP symbol tree: $a with contents &quot;hello&quot; and $hello with contents &quot;world&quot;. Therefore, this statement: &lt;br /&gt; &lt;br /&gt;echo &quot;$a ${$a}&quot;;&lt;br /&gt;      &lt;br /&gt;produces the exact same output as: &lt;br /&gt; &lt;br /&gt;echo &quot;$a $hello&quot;;&lt;br /&gt;      &lt;br /&gt;i.e. they both produce: hello world. &lt;br /&gt; In order to use variable variables with arrays, you have to resolve an ambiguity problem. That is, if you write $$a[1] then the parser needs to know if you meant to use $a[1] as a variable, or if you wanted $$a as the variable and then the [1] index from that variable. The syntax for resolving this ambiguity is: ${$a[1]} for the first case and ${$a}[1] for the second. &lt;br /&gt;Variables from outside PHP&lt;br /&gt;HTML Forms (GET and POST)&lt;br /&gt;When a form is submitted to a PHP script, any variables from that form will be automatically made available to the script by PHP. If the track_vars configuration option is turned on, then these variables will be located in the associative arrays $HTTP_POST_VARS, $HTTP_GET_VARS, and/or $HTTP_POST_FILES, according to the source of the variable in question. &lt;br /&gt;For more information on these variables, please read Predefined variables. &lt;br /&gt; &lt;br /&gt;Simple form variable&lt;br /&gt;&lt;form action=&quot;foo.php&quot; method=&quot;post&quot;&gt;&lt;br /&gt;    Name: &lt;input type=&quot;text&quot; name=&quot;username&quot;&gt;&lt;br&gt;&lt;br /&gt;    &lt;input type=&quot;submit&quot;&gt;&lt;br /&gt;&lt;/form&gt;&lt;br /&gt;      &lt;br /&gt;&lt;br /&gt;  &lt;br /&gt; When the above form is submitted, the value from the text input will be available in $HTTP_POST_VARS[&#39;username&#39;]. If the register_globals configuration directive is turned on, then the variable will also be available as $username in the global scope. &lt;br /&gt;PHP also understands arrays in the context of form variables. You may, for example, group related variables together, or use this feature to retrieve values from a multiple select input: &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;More complex form variables&lt;br /&gt;&lt;form action=&quot;array.php&quot; method=&quot;post&quot;&gt;&lt;br /&gt;    Name: &lt;input type=&quot;text&quot; name=&quot;personal[name]&quot;&gt;&lt;br&gt;&lt;br /&gt;    Email: &lt;input type=&quot;text&quot; name=&quot;personal[email]&quot;&gt;&lt;br&gt;&lt;br /&gt;    Beer: &lt;br&gt;&lt;br /&gt;    &lt;select multiple name=&quot;beer[]&quot;&gt;&lt;br /&gt;        &lt;option value=&quot;warthog&quot;&gt;Warthog&lt;br /&gt;        &lt;option value=&quot;guinness&quot;&gt;Guinness&lt;br /&gt;        &lt;option value=&quot;stuttgarter&quot;&gt;Stuttgarter Schwabenbräu&lt;br /&gt;        &lt;/select&gt;&lt;br /&gt;    &lt;input type=&quot;submit&quot;&gt;&lt;br /&gt;&lt;/form&gt;&lt;br /&gt;      &lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;In PHP 3, the array form variable usage is limited to single-dimensional arrays. In PHP 4, no such restriction applies. &lt;br /&gt;IMAGE SUBMIT variable names&lt;br /&gt;When submitting a form, it is possible to use an image instead of the standard submit button with a tag like:&lt;br /&gt; &lt;br /&gt;&lt;input type=image src=&quot;image.gif&quot; name=&quot;sub&quot;&gt;&lt;br /&gt;        &lt;br /&gt;When the user clicks somewhere on the image, the accompanying form will be transmitted to the server with two additional variables, sub_x and sub_y. These contain the coordinates of the user click within the image. The experienced may note that the actual variable names sent by the browser contains a period rather than an underscore, but PHP converts the period to an underscore automatically. &lt;br /&gt;HTTP Cookies&lt;br /&gt;PHP transparently supports HTTP cookies as defined by Netscape&#39;s Spec. Cookies are a mechanism for storing data in the remote browser and thus tracking or identifying return users. You can set cookies using the SetCookie() function. Cookies are part of the HTTP header, so the SetCookie function must be called before any output is sent to the browser. This is the same restriction as for the Header() function. Any cookies sent to you from the client will automatically be turned into a PHP variable just like GET and POST method data.&lt;br /&gt;If you wish to assign multiple values to a single cookie, just add [] to the cookie name. For example: &lt;br /&gt; &lt;br /&gt;SetCookie (&quot;MyCookie[]&quot;, &quot;Testing&quot;, time()+3600);&lt;br /&gt;       &lt;br /&gt;Note that a cookie will replace a previous cookie by the same name in your browser unless the path or domain is different. So, for a shopping cart application you may want to keep a counter and pass this along. i.e. &lt;br /&gt; &lt;br /&gt;SetCookie Example&lt;br /&gt;$Count++;&lt;br /&gt;SetCookie (&quot;Count&quot;, $Count, time()+3600);&lt;br /&gt;SetCookie (&quot;Cart[$Count]&quot;, $item, time()+3600);&lt;br /&gt;     &lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;Environment variables&lt;br /&gt;PHP automatically makes environment variables available as normal PHP variables. &lt;br /&gt; &lt;br /&gt;echo $HOME;  /* Shows the HOME environment variable, if set. */&lt;br /&gt;        &lt;br /&gt;Since information coming in via GET, POST and Cookie mechanisms also automatically create PHP variables, it is sometimes best to explicitly read a variable from the environment in order to make sure that you are getting the right version. The getenv() function can be used for this. You can also set an environment variable with the putenv() function. &lt;br /&gt;Dots in incoming variable names&lt;br /&gt;Typically, PHP does not alter the names of variables when they are passed into a script. However, it should be noted that the dot (period, full stop) is not a valid character in a PHP variable name. For the reason, look at it: &lt;br /&gt; &lt;br /&gt;$varname.ext;  /* invalid variable name */&lt;br /&gt;       &lt;br /&gt;Now, what the parser sees is a variable named $varname, followed by the string concatenation operator, followed by the barestring (i.e. unquoted string which doesn&#39;t match any known key or reserved words) &#39;ext&#39;. Obviously, this doesn&#39;t have the intended result. &lt;br /&gt;For this reason, it is important to note that PHP will automatically replace any dots in incoming variable names with underscores. &lt;br /&gt;Determining variable types&lt;br /&gt;Because PHP determines the types of variables and converts them (generally) as needed, it is not always obvious what type a given variable is at any one time. PHP includes several functions which find out what type a variable is. They are gettype(), is_long(), is_double(), is_string(), is_array(), and is_object(). &lt;br /&gt;Declaration and input mechanism PHP 4.2.0&lt;br /&gt; Aplication that created by PHP until version 4.1.0 have a weak security system. The application is easy to penetrated even it can cause the webserver crash because of the user action that not responsible who know about the blind spot of the PHP. This Weak security level is a expensive price that had to be payed by the easy of PHP. The Easy of that PHP bring to user is we didn’t have to declare the variable that we want to use in the script.every input that come from input form or URL string will be done same.&lt;br /&gt;Every variable that will be use in PHP script after PHP version 4.1.0 and newer must be declarated. Variable declaration show the source and the data it keeped. The declaraion can be done with easy way we can use the expresion assignment for the variable that keep data and come from its script &lt;br /&gt;For example&lt;br /&gt;$a=1;&lt;br /&gt;$b=$a*1;&lt;br /&gt; Initialization of a variable can be in form of a result from an expression proses,not always in form of a value filling or constanta.&lt;br /&gt;Read a data from a Form or URL using PHP 4.2.0&lt;br /&gt; In the form definitions used to receive an input from user, we must declare a method with ‘POST’ or ‘GET’.if not definited,default method for the proses is get. Data inputed by user from form or url string will be saved in the variable associatif array, $_GET and $_POST we can access the variable using the expression like a $_GET [var_name] and $_POST [var_name].&lt;br /&gt;Examlple:&lt;br /&gt;$guestname=$_GET[‘guestname’];&lt;br /&gt;$guestname=$_POST[‘guestname’];&lt;br /&gt;Constants&lt;br /&gt;PHP defines several constants and provides a mechanism for defining more at run-time. Constants are much like variables, save for the two facts that constants must be defined using the define() function, and that they cannot later be redefined to another value. &lt;br /&gt;The predefined constants (always available) are: &lt;br /&gt;__FILE__ &lt;br /&gt;The name of the script file presently being parsed. If used within a file which has been included or required, then the name of the included file is given, and not the name of the parent file. &lt;br /&gt;__LINE__ &lt;br /&gt;The number of the line within the current script file which is being parsed. If used within a file which has been included or required, then the position within the included file is given. &lt;br /&gt;PHP_VERSION &lt;br /&gt;The string representation of the version of the PHP parser presently in use; e.g. &#39;3.0.8-dev&#39;. &lt;br /&gt;PHP_OS &lt;br /&gt;The name of the operating system on which the PHP parser is executing; e.g. &#39;Linux&#39;. &lt;br /&gt;TRUE &lt;br /&gt;A true value. &lt;br /&gt;FALSE &lt;br /&gt;A false value. &lt;br /&gt;E_ERROR &lt;br /&gt;Denotes an error other than a parsing error from which recovery is not possible. &lt;br /&gt;E_WARNING &lt;br /&gt;Denotes a condition where PHP knows something is wrong, but will continue anyway; these can be caught by the script itself. An example would be an invalid regexp in ereg(). &lt;br /&gt;E_PARSE &lt;br /&gt;The parser choked on invalid syntax in the script file. Recovery is not possible. &lt;br /&gt;E_NOTICE &lt;br /&gt;Something happened which may or may not be an error. Execution continues. Examples include using an unquoted string as a hash index, or accessing a variable which has not been set. &lt;br /&gt;E_ALL &lt;br /&gt;All of the E_* constants rolled into one. If used with error_reporting(), will cause any and all problems noticed by PHP to be reported. &lt;br /&gt;The E_* constants are typically used with the error_reporting() function for setting the error reporting level. See all these constants at Error handling. &lt;br /&gt;You can define additional constants using the define() function.&lt;br /&gt;Note that these are constants, not C-style macros; only valid scalar data may be represented by a constant. &lt;br /&gt; &lt;br /&gt;Defining Constants&lt;br /&gt;&lt;?php&lt;br /&gt;define(&quot;CONSTANT&quot;, &quot;Hello world.&quot;);&lt;br /&gt;echo CONSTANT; // outputs &quot;Hello world.&quot;&lt;br /&gt;?&gt;&lt;br /&gt;     &lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;Using __FILE__ and __LINE__&lt;br /&gt;&lt;?php&lt;br /&gt;function report_error($file, $line, $message) {&lt;br /&gt;    echo &quot;An error occured in $file on line $line: $message.&quot;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;report_error(__FILE__,__LINE__, &quot;Something went wrong!&quot;);&lt;br /&gt;?&gt;&lt;br /&gt;     &lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;Expressions&lt;br /&gt;Expressions are the most important building stones of PHP. In PHP, almost anything you write is an expression. The simplest yet most accurate way to define an expression is &quot;anything that has a value&quot;.&lt;br /&gt;The most basic forms of expressions are constants and variables. When you type &quot;$a = 5&quot;, you&#39;re assigning &#39;5&#39; into $a. &#39;5&#39;, obviously, has the value 5, or in other words &#39;5&#39; is an expression with the value of 5 (in this case, &#39;5&#39; is an integer constant).&lt;br /&gt;After this assignment, you&#39;d expect $a&#39;s value to be 5 as well, so if you wrote $b = $a, you&#39;d expect it to behave just as if you wrote $b = 5. In other words, $a is an expression with the value of 5 as well. If everything works right, this is exactly what will happen.&lt;br /&gt;Slightly more complex examples for expressions are functions. For instance, consider the following function: &lt;br /&gt; &lt;br /&gt;function foo () {&lt;br /&gt;    return 5;&lt;br /&gt;}&lt;br /&gt;       &lt;br /&gt;Assuming you&#39;re familiar with the concept of functions (if you&#39;re not, take a look at the chapter about functions), you&#39;d assume that typing $c = foo() is essentially just like writing $c = 5, and you&#39;re right. Functions are expressions with the value of their return value. Since foo() returns 5, the value of the expression &#39;foo()&#39; is 5. Usually functions don&#39;t just return a static value but compute something.&lt;br /&gt;Of course, values in PHP don&#39;t have to be integers, and very often they aren&#39;t. PHP supports three scalar value types: integer values, floating point values and string values (scalar values are values that you can&#39;t &#39;break&#39; into smaller pieces, unlike arrays, for instance). PHP also supports two composite (non-scalar) types: arrays and objects. Each of these value types can be assigned into variables or returned from functions.&lt;br /&gt;So far, users of PHP/FI 2 shouldn&#39;t feel any change. However, PHP takes expressions much further, in the same way many other languages do. PHP is an expression-oriented language, in the sense that almost everything is an expression. Consider the example we&#39;ve already dealt with, &#39;$a = 5&#39;. It&#39;s easy to see that there are two values involved here, the value of the integer constant &#39;5&#39;, and the value of $a which is being updated to 5 as well. But the truth is that there&#39;s one additional value involved here, and that&#39;s the value of the assignment itself. The assignment itself evaluates to the assigned value, in this case 5. In practice, it means that &#39;$a = 5&#39;, regardless of what it does, is an expression with the value 5. Thus, writing something like &#39;$b = ($a = 5)&#39; is like writing &#39;$a = 5; $b = 5;&#39; (a semicolon marks the end of a statement). Since assignments are parsed in a right to left order, you can also write &#39;$b = $a = 5&#39;.&lt;br /&gt;Another good example of expression orientation is pre- and post-increment and decrement. Users of PHP/FI 2 and many other languages may be familiar with the notation of variable++ and variable--. These are increment and decrement operators. In PHP/FI 2, the statement &#39;$a++&#39; has no value (is not an expression), and thus you can&#39;t assign it or use it in any way. PHP enhances the increment/decrement capabilities by making these expressions as well, like in C. In PHP, like in C, there are two types of increment - pre-increment and post-increment. Both pre-increment and post-increment essentially increment the variable, and the effect on the variable is idential. The difference is with the value of the increment expression. Pre-increment, which is written &#39;++$variable&#39;, evaluates to the incremented value (PHP increments the variable before reading its value, thus the name &#39;pre-increment&#39;). Post-increment, which is written &#39;$variable++&#39; evaluates to the original value of $variable, before it was incremented (PHP increments the variable after reading its value, thus the name &#39;post-increment&#39;).&lt;br /&gt;A very common type of expressions are comparison expressions. These expressions evaluate to either 0 or 1, meaning FALSE or TRUE (respectively). PHP supports &gt; (bigger than), &gt;= (bigger than or equal to), == (equal), != (not equal), &lt; (smaller than) and &lt;= (smaller than or equal to). These expressions are most commonly used inside conditional execution, such as if statements.&lt;br /&gt;The last example of expressions we&#39;ll deal with here is combined operator-assignment expressions. You already know that if you want to increment $a by 1, you can simply write &#39;$a++&#39; or &#39;++$a&#39;. But what if you want to add more than one to it, for instance 3? You could write &#39;$a++&#39; multiple times, but this is obviously not a very efficient or comfortable way. A much more common practice is to write &#39;$a = $a + 3&#39;. &#39;$a + 3&#39; evaluates to the value of $a plus 3, and is assigned back into $a, which results in incrementing $a by 3. In PHP, as in several other languages like C, you can write this in a shorter way, which with time would become clearer and quicker to understand as well. Adding 3 to the current value of $a can be written &#39;$a += 3&#39;. This means exactly &quot;take the value of $a, add 3 to it, and assign it back into $a&quot;. In addition to being shorter and clearer, this also results in faster execution. The value of &#39;$a += 3&#39;, like the value of a regular assignment, is the assigned value. Notice that it is NOT 3, but the combined value of $a plus 3 (this is the value that&#39;s assigned into $a). Any two-place operator can be used in this operator-assignment mode, for example &#39;$a -= 5&#39; (subtract 5 from the value of $a), &#39;$b *= 7&#39; (multiply the value of $b by 7), etc.&lt;br /&gt;There is one more expression that may seem odd if you haven&#39;t seen it in other languages, the ternary conditional operator: &lt;br /&gt; &lt;br /&gt;$first ? $second : $third  &lt;br /&gt;If the value of the first subexpression is true (non-zero), then it the second subexpression is evaluated, and that is the result of the conditional expression. Otherwise, the third subexpression is evaluated, and that is the value. &lt;br /&gt;The following example should help you understand pre- and post-increment and expressions in general a bit better: &lt;br /&gt; &lt;br /&gt;function double($i) {&lt;br /&gt;    return $i*2;&lt;br /&gt;}&lt;br /&gt;$b = $a = 5;        /* assign the value five into the variable $a and $b */&lt;br /&gt;$c = $a++;          /* post-increment, assign original value of $a &lt;br /&gt;                       (5) to $c */&lt;br /&gt;$e = $d = ++$b;     /* pre-increment, assign the incremented value of &lt;br /&gt;                       $b (6) to $d and $e */&lt;br /&gt;&lt;br /&gt;/* at this point, both $d and $e are equal to 6 */&lt;br /&gt;&lt;br /&gt;$f = double($d++);  /* assign twice the value of $d before &lt;br /&gt;                       the increment, 2*6 = 12 to $f */&lt;br /&gt;$g = double(++$e);  /* assign twice the value of $e after&lt;br /&gt;                       the increment, 2*7 = 14 to $g */&lt;br /&gt;$h = $g += 10;      /* first, $g is incremented by 10 and ends with the &lt;br /&gt;                       value of 24. the value of the assignment (24) is &lt;br /&gt;                       then assigned into $h, and $h ends with the value &lt;br /&gt;                       of 24 as well. */  &lt;br /&gt;In the beginning of the chapter we said that we&#39;ll be describing the various statement types, and as promised, expressions can be statements. However, not every expression is a statement. In this case, a statement has the form of &#39;expr&#39; &#39;;&#39; that is, an expression followed by a semicolon. In &#39;$b=$a=5;&#39;, $a=5 is a valid expression, but it&#39;s not a statement by itself. &#39;$b=$a=5;&#39; however is a valid statement.&lt;br /&gt;One last thing worth mentioning is the truth value of expressions. In many events, mainly in conditional execution and loops, you&#39;re not interested in the specific value of the expression, but only care about whether it means TRUE or FALSE (PHP doesn&#39;t have a dedicated boolean type). The truth value of expressions in PHP is calculated in a similar way to perl. Any numeric non-zero numeric value is TRUE, zero is FALSE. Be sure to note that negative values are non-zero and are thus considered TRUE! The empty string and the string &quot;0&quot; are FALSE; all other strings are TRUE. With non-scalar values (arrays and objects) - if the value contains no elements it&#39;s considered FALSE, otherwise it&#39;s considered TRUE.&lt;br /&gt;PHP provides a full and powerful implementation of expressions, and documenting it entirely goes beyond the scope of this manual. The above examples should give you a good idea about what expressions are and how you can construct useful expressions. Throughout the rest of this manual we&#39;ll write expr to indicate any valid PHP expression.&lt;br /&gt;Maybe just enough for the chapter 3 and I will continue the chapter 4 that will discussed Operators</description><link>http://downloadsfreesoftwares.blogspot.com/2008/02/php-programing-php-basic-chapter-3.html</link><author>noreply@blogger.com (Juni Salman)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7611896947576374183.post-3290609393087030356</guid><pubDate>Wed, 06 Feb 2008 07:14:00 +0000</pubDate><atom:updated>2008-02-05T23:40:37.804-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">php</category><title>PHP Programing | PHP Basic | chapter 2 Language Reference</title><description>&lt;eot my=&quot;&quot; name=&quot;&quot; is=&quot;&quot; i=&quot;&quot; am=&quot;&quot; printing=&quot;&quot; some=&quot;&quot;&gt;&lt;eot my=&quot;&quot; name=&quot;&quot; is=&quot;&quot; i=&quot;&quot; am=&quot;&quot; printing=&quot;&quot; some=&quot;&quot;&gt;&lt;eot my=&quot;&quot; name=&quot;&quot; is=&quot;&quot; i=&quot;&quot; am=&quot;&quot; printing=&quot;&quot; some=&quot;&quot;&gt;After installing and configuring the PHP and webserver we start knowing about PHP language reference.PHP is a scripting language that can embeded in the HTML page same as javascript or vbscript. To insert PHP script there few ways to do for example :&lt;br /&gt;&lt;blockquote&gt;1.  &lt;? echo (&quot;this is the simplest, an SGML processing instruction\n&quot;); ?&gt;&lt;br /&gt;2.  &lt;?php echo(&quot;if you want to serve XHTML or XML documents, do like     this\n&quot;); ?&gt;&lt;br /&gt;&lt;br /&gt;3.  &lt;script language=&quot;php&quot;&gt;&lt;br /&gt;       echo (&quot;some editors (like FrontPage) don&#39;t&lt;br /&gt;             like processing instructions&quot;);&lt;br /&gt;   &lt;/script&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;4.  &lt;% echo (&quot;You may optionally use ASP-style tags&quot;); %&gt;&lt;br /&gt;   &lt;%= $variable; # This is a shortcut for &quot;&lt;%echo ..&quot;&lt;/blockquote&gt;&lt;br /&gt; The first way is only available if short tags have been enabled. This can be done by enabling the short_open_tag configuration setting in the PHP config file, or by compiling PHP with the --enable-short-tags option to configure.&lt;br /&gt; The second way is the generally preferred method, as it allows for the next generation of XHTML to be easily implemented with PHP.&lt;br /&gt;The fourth way is only available if ASP-style tags have been enabled using the asp_tags configuration setting.&lt;br /&gt;PHP supports the following types:&lt;br /&gt;· array&lt;br /&gt;· floating-point numbers&lt;br /&gt;· integer&lt;br /&gt;· object&lt;br /&gt;· string&lt;br /&gt;The type of a variable is usually not set by the programmer; rather, it is decided at runtime by PHP depending on the context in which that variable is used.&lt;br /&gt;If you would like to force a variable to be converted to a certain type, you may either cast the variable or use the settype() function on it. Note that a variable may behave in different manners in certain situations, depending on what type it is at the time.&lt;br /&gt;Integers&lt;br /&gt;Integers can be specified using any of the following syntaxes:&lt;br /&gt;$a = 1234; # decimal number&lt;br /&gt;$a = -123; # a negative number&lt;br /&gt;$a = 0123; # octal number (equivalent to 83 decimal)&lt;br /&gt;$a = 0x12; # hexadecimal number (equivalent to 18 decimal)&lt;br /&gt;The size of an integer is platform-dependent, although a maximum value of about 2 billion is the usual value (that&#39;s 32 bits signed).&lt;br /&gt;Floating point numbers&lt;br /&gt;Floating point numbers (&quot;doubles&quot;) can be specified using any of the following syntaxes:&lt;br /&gt;$a = 1.234; $a = 1.2e3;&lt;br /&gt;The size of a floating point number is platform-dependent, although a maximum of ~1.8e308 with a precision of roughly 14 decimal digits is a common value (that&#39;s 64 bit IEEE format).&lt;br /&gt;Warning &lt;br /&gt;It is quite usual that simple decimal fractions like 0.1 or 0.7 cannot be converted into their internal binary counterparts without a little loss of precision. This can lead to confusing results: for example, floor((0.1+0.7)*10) will usually return 7 instead of the expected 8 as the result of the internal representation really being something like 7.9999999999....&lt;br /&gt;This is related to the fact that it is impossible to exactly express some fractions in decimal notation with a finite number of digits. For instance, 1/3 in decimal form becomes 0.3333333. . ..&lt;br /&gt;So never trust floating number results to the last digit and never compare floating point numbers for equality. If you really need higher precision, you should use the arbitrary precision math functions or gmp functions instead.&lt;br /&gt;Strings&lt;br /&gt;Strings can be specified using one of two sets of delimiters.&lt;br /&gt;If the string is enclosed in double-quotes (&quot;), variables within the string will be expanded (subject to some parsing limitations). As in C and Perl, the backslash (&quot;\&quot;) character can be used in specifying special characters:&lt;br /&gt;Escaped characters&lt;br /&gt;sequence meaning &lt;br /&gt;\n linefeed (LF or 0x0A in ASCII) &lt;br /&gt;\r carriage return (CR or 0x0D in ASCII) &lt;br /&gt;\t horizontal tab (HT or 0x09 in ASCII) &lt;br /&gt;\\ backslash &lt;br /&gt;\$ dollar sign &lt;br /&gt;\&quot; double-quote &lt;br /&gt;\[0-7]{1,3} the sequence of characters matching the regular expression is a character in octal notation&lt;br /&gt;\x[0-9A-Fa-f]{1,2} the sequence of characters matching the regular expression is a character in hexadecimal notation&lt;br /&gt;If you attempt to escape any other character, both the backslash and the character will be output. In PHP 3, a warning will be issued at the E_NOTICE level when this happens. In PHP 4, no warning is generated.&lt;br /&gt;The second way to delimit a string uses the single-quote (&quot;&#39;&quot;) character. When a string is enclosed in single quotes, the only escapes that will be understood are &quot;\\&quot; and &quot;\&#39;&quot;. This is for convenience, so that you can have single-quotes and backslashes in a single-quoted string. Variables will not be expanded inside a single-quoted string.&lt;br /&gt;Another way to delimit strings is by using here doc syntax (&quot;&lt;&lt;&lt;&quot;). One should provide an identifier after &lt;&lt;&lt;, then the string, and then the same identifier to close the quotation.&lt;br /&gt;The closing identifier must begin in the first column of the line. Also, the identifier used must follow the same naming rules as any other label in PHP: it must contain only alphanumeric characters and underscores, and must start with a non-digit character or underscore.&lt;br /&gt;Here doc text behaves just like a double-quoted string, without the double-quotes. This means that you do not need to escape quotes in your here docs, but you can still use the escape codes listed above. Variables are expanded, but the same care must be taken when expressing complex variables inside a here doc as with strings.&lt;br /&gt;Here doc string quoting example&lt;br /&gt;&lt;?php&lt;br /&gt;$str = &lt;&lt;&lt;EOD&lt;br /&gt;Example of string&lt;br /&gt;spanning multiple lines&lt;br /&gt;using heredoc syntax.&lt;br /&gt;EOD;&lt;br /&gt;&lt;br /&gt;/* More complex example, with variables. */&lt;br /&gt;class foo {&lt;br /&gt;   var $foo;&lt;br /&gt;   var $bar;&lt;br /&gt;&lt;br /&gt;   function foo() {&lt;br /&gt;       $this-&gt;foo = &#39;Foo&#39;;&lt;br /&gt;       $this-&gt;bar = array(&#39;Bar1&#39;, &#39;Bar2&#39;, &#39;Bar3&#39;);&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$foo = new foo();&lt;br /&gt;$name = &#39;MyName&#39;;&lt;br /&gt;&lt;br /&gt;echo &lt;&lt;&lt;EOT&lt;br /&gt;My name is &quot;$name&quot;. I am printing some $foo-&gt;foo.&lt;br /&gt;Now, I am printing some {$foo-&gt;bar[1]}.&lt;br /&gt;This should print a capital &#39;A&#39;: \x41&lt;br /&gt;EOT;&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;Note: Here doc support was added in PHP 4.&lt;br /&gt;Strings may be concatenated using the &#39;.&#39; (dot) operator. Note that the &#39;+&#39; (addition) operator will not work for this. Please see String operators for more information.&lt;br /&gt;Characters within strings may be accessed by treating the string as a numerically-indexed array of characters, using C-like syntax. See below for examples.&lt;br /&gt;Some string examples&lt;br /&gt;&lt;?php&lt;br /&gt;/* Assigning a string. */&lt;br /&gt;$str = &quot;This is a string&quot;;&lt;br /&gt;&lt;br /&gt;/* Appending to it. */&lt;br /&gt;$str = $str . &quot; with some more text&quot;;&lt;br /&gt;&lt;br /&gt;/* Another way to append, includes an escaped newline. */&lt;br /&gt;$str .= &quot; and a newline at the end.\n&quot;;&lt;br /&gt;&lt;br /&gt;/* This string will end up being &#39;&lt;p&gt;Number: 9&lt;/p&gt;&#39; */&lt;br /&gt;$num = 9;&lt;br /&gt;$str = &quot;&lt;p&gt;Number: $num&lt;/p&gt;&quot;;&lt;br /&gt;&lt;br /&gt;/* This one will be &#39;&lt;p&gt;Number: $num&lt;/p&gt;&#39; */&lt;br /&gt;$num = 9;&lt;br /&gt;$str = &#39;&lt;p&gt;Number: $num&lt;/p&gt;&#39;;&lt;br /&gt;&lt;br /&gt;/* Get the first character of a string  */&lt;br /&gt;$str = &#39;This is a test.&#39;;&lt;br /&gt;$first = $str[0];&lt;br /&gt;&lt;br /&gt;/* Get the last character of a string. */&lt;br /&gt;$str = &#39;This is still a test.&#39;;&lt;br /&gt;$last = $str[strlen($str)-1];&lt;br /&gt;?&gt; &lt;br /&gt;&lt;br /&gt;String conversion&lt;br /&gt;When a string is evaluated as a numeric value, the resulting value and type are determined as follows.&lt;br /&gt;The string will evaluate as a double if it contains any of the characters &#39;.&#39;, &#39;e&#39;, or &#39;E&#39;. Otherwise, it will evaluate as an integer.&lt;br /&gt;The value is given by the initial portion of the string. If the string starts with valid numeric data, this will be the value used. Otherwise, the value will be 0 (zero). Valid numeric data is an optional sign, followed by one or more digits (optionally containing a decimal point), followed by an optional exponent. The exponent is an &#39;e&#39; or &#39;E&#39; followed by one or more digits.&lt;br /&gt;When the first expression is a string, the type of the variable will depend on the second expression.&lt;br /&gt;$foo = 1 + &quot;10.5&quot;;              // $foo is double (11.5)&lt;br /&gt;$foo = 1 + &quot;-1.3e3&quot;;            // $foo is double (-1299)&lt;br /&gt;$foo = 1 + &quot;bob-1.3e3&quot;;         // $foo is integer (1)&lt;br /&gt;$foo = 1 + &quot;bob3&quot;;              // $foo is integer (1)&lt;br /&gt;$foo = 1 + &quot;10 Small Pigs&quot;;     // $foo is integer (11)&lt;br /&gt;$foo = 1 + &quot;10 Little Piggies&quot;; // $foo is integer (11)&lt;br /&gt;$foo = &quot;10.0 pigs &quot; + 1;        // $foo is integer (11)&lt;br /&gt;$foo = &quot;10.0 pigs &quot; + 1.0;      // $foo is double (11)&lt;br /&gt;If you would like to test any of the examples in this section, you can cut and paste the examples and insert the following line to see for yourself what&#39;s going on:&lt;br /&gt;echo &quot;\$foo==$foo; type is &quot; . gettype ($foo) . &quot;&lt;br /&gt;\n&quot;;&lt;br /&gt;Arrays&lt;br /&gt;Arrays actually act like both hash tables (associative arrays) and indexed arrays (vectors).&lt;br /&gt;Single Dimension Arrays&lt;br /&gt;PHP supports both scalar and associative arrays. In fact, there is no difference between the two. You can create an array using the list() or array() functions, or you can explicitly set each array element value.&lt;br /&gt;$a[0] = &quot;abc&quot;;&lt;br /&gt;$a[1] = &quot;def&quot;;&lt;br /&gt;$b[&quot;foo&quot;] = 13;&lt;br /&gt;You can also create an array by simply adding values to the array. When you assign a value to an array variable using empty brackets, the value will be added onto the end of the array.&lt;br /&gt;$a[] = &quot;hello&quot;; // $a[2] == &quot;hello&quot;&lt;br /&gt;$a[] = &quot;world&quot;; // $a[3] == &quot;world&quot;&lt;br /&gt;Arrays may be sorted using the asort(), arsort(), ksort(), rsort(), sort(), uasort(), usort(), and uksort() functions depending on the type of sort you want.&lt;br /&gt;You can count the number of items in an array using the count() function.&lt;br /&gt;You can traverse an array using next() and prev() functions. Another common way to traverse an array is to use the each() function.&lt;br /&gt;Multi-Dimensional Arrays&lt;br /&gt;Multi-dimensional arrays are actually pretty simple. For each dimension of the array, you add another [key] value to the end:&lt;br /&gt;$a[1]      = $f;               # one dimensional examples&lt;br /&gt;$a[&quot;foo&quot;]  = $f;&lt;br /&gt;&lt;br /&gt;$a[1][0]     = $f;             # two dimensional&lt;br /&gt;$a[&quot;foo&quot;][2] = $f;             # (you can mix numeric and associative indices)&lt;br /&gt;$a[3][&quot;bar&quot;] = $f;             # (you can mix numeric and associative indices)&lt;br /&gt;&lt;br /&gt;$a[&quot;foo&quot;][4][&quot;bar&quot;][0] = $f;   # four dimensional!&lt;br /&gt;In PHP 3 it is not possible to reference multidimensional arrays directly within strings. For instance, the following will not have the desired result:&lt;br /&gt;$a[3][&#39;bar&#39;] = &#39;Bob&#39;;&lt;br /&gt;echo &quot;This won&#39;t work: $a[3][bar]&quot;;&lt;br /&gt;In PHP 3, the above will output This won&#39;t work: Array[bar]. The string concatenation operator, however, can be used to overcome this:&lt;br /&gt;$a[3][&#39;bar&#39;] = &#39;Bob&#39;;&lt;br /&gt;echo &quot;This will work: &quot; . $a[3][bar];&lt;br /&gt;In PHP 4, however, the whole problem may be circumvented by enclosing the array reference (inside the string) in curly braces:&lt;br /&gt;$a[3][&#39;bar&#39;] = &#39;Bob&#39;;&lt;br /&gt;echo &quot;This will work: {$a[3][bar]}&quot;;&lt;br /&gt;You can &quot;fill up&quot; multi-dimensional arrays in many ways, but the trickiest one to understand is how to use the array() command for associative arrays. These two snippets of code fill up the one-dimensional array in the same way:&lt;br /&gt;# Example 1:&lt;br /&gt;&lt;br /&gt;$a[&quot;color&quot;] = &quot;red&quot;;&lt;br /&gt;$a[&quot;taste&quot;] = &quot;sweet&quot;;&lt;br /&gt;$a[&quot;shape&quot;] = &quot;round&quot;;&lt;br /&gt;$a[&quot;name&quot;] = &quot;apple&quot;;&lt;br /&gt;$a[3]  = 4;&lt;br /&gt;&lt;br /&gt;# Example 2:&lt;br /&gt;$a = array(&lt;br /&gt;    &quot;color&quot; =&gt; &quot;red&quot;,&lt;br /&gt;    &quot;taste&quot; =&gt; &quot;sweet&quot;,&lt;br /&gt;    &quot;shape&quot; =&gt; &quot;round&quot;,&lt;br /&gt;    &quot;name&quot;  =&gt; &quot;apple&quot;,&lt;br /&gt;    3       =&gt; 4&lt;br /&gt;);&lt;br /&gt;The array() function can be nested for multi-dimensional arrays:&lt;br /&gt;&lt;?php&lt;br /&gt;$a = array(&lt;br /&gt;    &quot;apple&quot;  =&gt; array(&lt;br /&gt;         &quot;color&quot;  =&gt; &quot;red&quot;,&lt;br /&gt;         &quot;taste&quot;  =&gt; &quot;sweet&quot;,&lt;br /&gt;         &quot;shape&quot;  =&gt; &quot;round&quot;&lt;br /&gt;    ),&lt;br /&gt;    &quot;orange&quot;  =&gt; array(&lt;br /&gt;         &quot;color&quot;  =&gt; &quot;orange&quot;,&lt;br /&gt;         &quot;taste&quot;  =&gt; &quot;tart&quot;,&lt;br /&gt;         &quot;shape&quot;  =&gt; &quot;round&quot;&lt;br /&gt;    ),&lt;br /&gt;    &quot;banana&quot;  =&gt; array(&lt;br /&gt;         &quot;color&quot;  =&gt; &quot;yellow&quot;,&lt;br /&gt;         &quot;taste&quot;  =&gt; &quot;paste-y&quot;,&lt;br /&gt;         &quot;shape&quot;  =&gt; &quot;banana-shaped&quot;&lt;br /&gt;    )&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;echo $a[&quot;apple&quot;][&quot;taste&quot;];    # will output &quot;sweet&quot;&lt;br /&gt;?&gt;&lt;br /&gt;Objects&lt;br /&gt;Object Initialization&lt;br /&gt;To initialize an object, you use the new statement to instantiate the object to a variable.&lt;br /&gt;&lt;?php&lt;br /&gt;class foo {&lt;br /&gt;   function do_foo() {&lt;br /&gt;       echo &quot;Doing foo.&quot;;&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$bar = new foo;&lt;br /&gt;$bar-&gt;do_foo();&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;Type Juggling&lt;br /&gt;PHP does not require (or support) explicit type definition in variable declaration; a variable&#39;s type is determined by the context in which that variable is used. That is to say, if you assign a string value to variable var, var becomes a string. If you then assign an integer value to var, it becomes an integer.&lt;br /&gt;An example of PHP&#39;s automatic type conversion is the addition operator &#39;+&#39;. If any of the operands is a double, then all operands are evaluated as doubles, and the result will be a double. Otherwise, the operands will be interpreted as integers, and the result will also be an integer. Note that this does NOT change the types of the operands themselves; the only change is in how the operands are evaluated.&lt;br /&gt;$foo = &quot;0&quot;;  // $foo is string (ASCII 48)&lt;br /&gt;$foo++;      // $foo is the string &quot;1&quot; (ASCII 49)&lt;br /&gt;$foo += 1;   // $foo is now an integer (2)&lt;br /&gt;$foo = $foo + 1.3;  // $foo is now a double (3.3)&lt;br /&gt;$foo = 5 + &quot;10 Little Piggies&quot;; // $foo is integer (15)&lt;br /&gt;$foo = 5 + &quot;10 Small Pigs&quot;;     // $foo is integer (15)&lt;br /&gt;If the last two examples above seem odd, see String conversion.&lt;br /&gt;If you wish to force a variable to be evaluated as a certain type, see the section on Type casting. If you wish to change the type of a variable, see settype().&lt;br /&gt;If you would like to test any of the examples in this section, you can cut and paste the examples and insert the following line to see for yourself what&#39;s going on:&lt;br /&gt;echo &quot;\$foo==$foo; type is &quot; . gettype ($foo) . &quot;&lt;br /&gt;\n&quot;;&lt;br /&gt;Note: The behaviour of an automatic conversion to array is currently undefined.&lt;br /&gt;$a = 1;       // $a is an integer&lt;br /&gt;$a[0] = &quot;f&quot;;  // $a becomes an array, with $a[0] holding &quot;f&quot;&lt;br /&gt;While the above example may seem like it should clearly result in $a becoming an array, the first element of which is &#39;f&#39;, consider this:&lt;br /&gt;$a = &quot;1&quot;;     // $a is a string&lt;br /&gt;$a[0] = &quot;f&quot;;  // What about string offsets? What happens?&lt;br /&gt;Since PHP supports indexing into strings via offsets using the same syntax as array indexing, the example above leads to a problem: should $a become an array with its first element being &quot;f&quot;, or should &quot;f&quot; become the first character of the string $a?&lt;br /&gt;For this reason, as of PHP 3.0.12 and PHP 4.0b3-RC4, the result of this automatic conversion is considered to be undefined. Fixes are, however, being discussed.&lt;br /&gt;Type Casting&lt;br /&gt;Type casting in PHP works much as it does in C: the name of the desired type is written in parentheses before the variable which is to be cast.&lt;br /&gt;$foo = 10;   // $foo is an integer&lt;br /&gt;$bar = (double) $foo;   // $bar is a double&lt;br /&gt;The casts allowed are:&lt;br /&gt;· (int), (integer) - cast to integer&lt;br /&gt;· (real), (double), (float) - cast to double&lt;br /&gt;· (string) - cast to string&lt;br /&gt;· (array) - cast to array&lt;br /&gt;· (object) - cast to object&lt;br /&gt;Note that tabs and spaces are allowed inside the parentheses, so the following are functionally equivalent:&lt;br /&gt;$foo = (int) $bar;&lt;br /&gt;$foo = ( int ) $bar;&lt;br /&gt;It may not be obvious exactly what will happen when casting between certain types. For instance, the following should be noted.&lt;br /&gt;When casting from a scalar or a string variable to an array, the variable will become the first element of the array:&lt;br /&gt;$var = &#39;ciao&#39;;&lt;br /&gt;$arr = (array) $var;&lt;br /&gt;echo $arr[0];  // outputs &#39;ciao&#39;&lt;br /&gt;When casting from a scalar or a string variable to an object, the variable will become an attribute of the object; the attribute name will be &#39;scalar&#39;:&lt;br /&gt;$var = &#39;ciao&#39;;&lt;br /&gt;$obj = (object) $var;&lt;br /&gt;echo $obj-&gt;scalar;  // outputs &#39;ciao&#39;&lt;br /&gt;Wow its long article a I think, I will finish it for now in the next article we will talk about variable in PHP. See  you</description><link>http://downloadsfreesoftwares.blogspot.com/2008/02/php-programing-php-basic-chapter-2.html</link><author>noreply@blogger.com (Juni Salman)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7611896947576374183.post-1698547276550189541</guid><pubDate>Wed, 06 Feb 2008 06:53:00 +0000</pubDate><atom:updated>2008-02-05T23:10:26.718-08:00</atom:updated><title>PHP Programing | PHP Basic | chapter 1 Introduction and installing PHP</title><description>In this article and the other artile that related to this article a I will discused about PHP programing, I take some of the article from PHP manual that can be redistributed under the terms of the GNU General Public License as published by the Free Software Foundation writen by Stig Sæther Bakken, Alexander Aulbach, Egon Schmid, JimWinstead, Lars Torben Wilson, Rasmus Lerdorf, Zeev Suraski, Andrei Zmievski,Jouni Ahto.thanks a lot to them. Besides the PHP manual above I use the reference from a book “Pemrograman Web Dengan PHP” writen by Betha Sidik, Ir. The book is in the Indonesian language so I translate some oh it into english. Im apologize if the english is teribble because I still learn english and always learning. Thx&lt;br /&gt;&lt;br /&gt;Introduction&lt;br /&gt; PHP was conceived sometime in the fall of 1994 by Rasmus Lerdorf. Early non-released versions were used on his home page to keep track of who was looking at his online resume. The first version used by others was available sometime in early 1995 and was known as the Personal Home Page Tools. It consisted of a very simplistic parser engine that only understood a few special macros and a number of utilities that were in common use on home pages back then. A guestbook, a counter and some other stuff. The parser was rewritten in mid-1995 and named PHP/FI Version 2. The FI came from another package Rasmus had written which interpreted html form data. He combined the Personal Home Page tools scripts with the Form Interpreter and added mSQL support and PHP/FI was born. PHP/FI grew at an amazing pace and people started contributing code to it.&lt;br /&gt;It is difficult to give any hard statistics, but it is estimated that by late 1996 PHP/FI was in use on at least 15,000 web sites around the world. By mid-1997 this number had grown to over 50,000. Mid-1997 also saw a change in the development of PHP. It changed from being Rasmus&#39; own pet project that a handful of people had contributed to, to being a much more organized team effort. The parser was rewritten from scratch by Zeev Suraski and Andi Gutmans and this new parser formed the basis for PHP Version 3. A lot of the utility code from PHP/FI was ported over to PHP 3 and a lot of it was completely rewritten. The latest version (PHP 4) uses the Zend scripting engine to deliver higher performance, supports an even wider array of third-party libraries and extensions, and runs as a native server module with all of the popular web servers.&lt;br /&gt; PHP 4 now ships with a number of commercial products such as Red Hat&#39;s Stronghold web server. A conservative estimate based on an extrapolation from numbers provided by Netcraft (see also Netcraft Web Server Survey) would be that PHP is in use on over 5,100,000 sites around the world. To put that in perspective, that is slightly more sites than run Microsoft&#39;s IIS server on the Internet (5.03 million).&lt;br /&gt; PHP (officially &quot;PHP: Hypertext Preprocessor&quot;) is a server-side HTML-embedded scripting language. Simple answer, but what does that mean? An exampblogger&lt;br /&gt;&lt;br /&gt; Notice how this is different from a CGI script written in other languages like Perl or C -- instead of writing a program with lots of commands to output HTML, you write an HTML script with a some embedded code to do something (in this case, output some text). The PHP code is enclosed in special start and end tags that allow you to jump into and out of PHP mode.&lt;br /&gt;&lt;br /&gt; What distinguishes PHP from something like client-side Javascript is that the code is executed on the server. If you were to have a script similar to the above on your server, the client would receive the results of running that script, with no way of determining what the underlying code may be. You can even configure your web server to process all your HTML files with PHP, and then there&#39;s really no way that users can tell what you have up your sleeve. At the most basic level, PHP can do anything any other CGI program can do, such as collect form data, generate dynamic page content, or send and receive cookies.&lt;br /&gt;Perhaps the strongest and most significant feature in PHP is its support for a wide range of databases. Writing a database-enabled web page is incredibly simple. The following databases are currently supported:&lt;br /&gt;&lt;br /&gt;Adabas D Ingres Oracle (OCI7 and OCI8) &lt;br /&gt;dBase InterBase Ovrimos &lt;br /&gt;Empress FrontBase PostgreSQL &lt;br /&gt;FilePro (read-only) mSQL Solid &lt;br /&gt;Hyperwave Direct MS-SQL Sybase &lt;br /&gt;IBM DB2 MySQL Velocis &lt;br /&gt;Informix ODBC Unix dbm &lt;br /&gt; PHP also has support for talking to other services using protocols such as IMAP, SNMP, NNTP, POP3, HTTP and countless others. You can also open raw network sockets and interact using other protocols.&lt;br /&gt;&lt;br /&gt;PHP Instalation&lt;br /&gt; The source code, and binary distributions for some platforms (including Windows), can be found at http://www.php.net/. We recommend you to choose mirror nearest to you for downloading the distributions.&lt;br /&gt;The Windows PHP installer available from the downloads page at http://www.php.net/, this installs the CGI version of PHP and, for IIS, PWS, and Xitami, configures the web server as well.&lt;br /&gt;Install your selected HTTP server on your system and make sure that it works.&lt;br /&gt;Run the executable installer and follow the instructions provided by the installation wizard. Two types of installation are supported - standard, which provides sensible defaults for all the settings it can, and advanced, which asks questions as it goes along.&lt;br /&gt; The installation wizard gathers enough information to set up the php.ini file and configure the web server to use PHP. For IIS and also PWS on NT Workstation, a list of all the nodes on the server with script map settings is displayed, and you can choose those nodes to which you wish to add the PHP script mappings.&lt;br /&gt; Once the installation has completed the installer will inform you if you need to restart your system, restart the server, or just start using PHP.&lt;br /&gt;After Complete instal the PHP and the webserver we can start using php in the computer.</description><link>http://downloadsfreesoftwares.blogspot.com/2008/02/php-programing-php-basic-chapter-1.html</link><author>noreply@blogger.com (Juni Salman)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7611896947576374183.post-3476392545353113952</guid><pubDate>Mon, 04 Feb 2008 13:15:00 +0000</pubDate><atom:updated>2008-02-04T05:16:08.540-08:00</atom:updated><title>web programing</title><description>web programing is the tehcnic that use to create web page on internet.recently there was a lot of web programing language that similiar to the programing  in desktop application</description><link>http://downloadsfreesoftwares.blogspot.com/2008/02/web-programing.html</link><author>noreply@blogger.com (Juni Salman)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7611896947576374183.post-5320758013230872958</guid><pubDate>Mon, 04 Feb 2008 07:06:00 +0000</pubDate><atom:updated>2008-02-03T23:12:47.651-08:00</atom:updated><title>list of programing language</title><description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;  &lt;table class=&quot;wikitable&quot;&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;b&gt;Predecessor(s)&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;Year&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;Name&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;b&gt;Chief developer&lt;/b&gt;, &lt;b&gt;Company&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;th colspan=&quot;4&quot;&gt;&lt;a name=&quot;Pre_1950&quot; id=&quot;Pre_1950&quot;&gt;&lt;/a&gt; &lt;h3&gt;&lt;span class=&quot;editsection&quot;&gt;[&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Timeline_of_programming_languages&amp;amp;action=edit&amp;amp;section=2&quot; title=&quot;Edit section: Pre 1950&quot;&gt;edit&lt;/a&gt;]&lt;/span&gt; &lt;span class=&quot;mw-headline&quot;&gt;Pre 1950&lt;/span&gt;&lt;/h3&gt; &lt;/th&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Circa&quot; title=&quot;Circa&quot;&gt;~&lt;/a&gt;1837&lt;/td&gt; &lt;td&gt;&lt;i&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Analytical_Engine&quot; title=&quot;Analytical Engine&quot;&gt;Analytical Engine order code&lt;/a&gt;&lt;/i&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Charles_Babbage&quot; title=&quot;Charles Babbage&quot;&gt;Charles Babbage&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Ada_Lovelace&quot; title=&quot;Ada Lovelace&quot;&gt;Ada Lovelace&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1943-5&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Plankalk%C3%BCl&quot; title=&quot;Plankalkül&quot;&gt;Plankalkül&lt;/a&gt;&lt;/b&gt; (concept)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Konrad_Zuse&quot; title=&quot;Konrad Zuse&quot;&gt;Konrad Zuse&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1943-6&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=ENIAC_coding_system&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;ENIAC coding system&quot;&gt;ENIAC coding system&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/John_von_Neumann&quot; title=&quot;John von Neumann&quot;&gt;John von Neumann&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/John_Mauchly&quot; title=&quot;John Mauchly&quot;&gt;John Mauchly&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/J._Presper_Eckert&quot; title=&quot;J. Presper Eckert&quot;&gt;J. Presper Eckert&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Herman_Goldstine&quot; title=&quot;Herman Goldstine&quot;&gt;Herman Goldstine&lt;/a&gt; after &lt;a href=&quot;http://en.wikipedia.org/wiki/Alan_Turing&quot; title=&quot;Alan Turing&quot;&gt;Alan Turing&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ENIAC coding system&lt;/td&gt; &lt;td&gt;1946&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=ENIAC_Short_Code&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;ENIAC Short Code&quot;&gt;ENIAC Short Code&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Richard_Clippinger&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Richard Clippinger&quot;&gt;Richard Clippinger&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/John_von_Neumann&quot; title=&quot;John von Neumann&quot;&gt;John von Neumann&lt;/a&gt; after &lt;a href=&quot;http://en.wikipedia.org/wiki/Alan_Turing&quot; title=&quot;Alan Turing&quot;&gt;Alan Turing&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ENIAC coding system&lt;/td&gt; &lt;td&gt;1946&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Von_Neumann_and_Goldstine_graphing_system&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Von Neumann and Goldstine graphing system&quot;&gt;Von Neumann and Goldstine graphing system&lt;/a&gt;&lt;/b&gt; (Notation)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/John_von_Neumann&quot; title=&quot;John von Neumann&quot;&gt;John von Neumann&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Herman_Goldstine&quot; title=&quot;Herman Goldstine&quot;&gt;Herman Goldstine&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ENIAC coding system&lt;/td&gt; &lt;td&gt;1947&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=ARC_Assembly&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;ARC Assembly&quot;&gt;ARC Assembly&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Kathleen_Booth&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Kathleen Booth&quot;&gt;Kathleen Booth&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Analytical Engine order code&lt;/td&gt; &lt;td&gt;1948&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=CPC_Coding_scheme&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;CPC Coding scheme&quot;&gt;CPC Coding scheme&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Howard_Aiken&quot; title=&quot;Howard Aiken&quot;&gt;Howard Aiken&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ENIAC coding system&lt;/td&gt; &lt;td&gt;1948&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Curry_notation_system&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Curry notation system&quot;&gt;Curry notation system&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Haskell_Curry&quot; title=&quot;Haskell Curry&quot;&gt;Haskell Curry&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ENIAC Short Code&lt;/td&gt; &lt;td&gt;1949&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Brief_Code&quot; title=&quot;Brief Code&quot;&gt;Brief Code&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/John_Mauchly&quot; title=&quot;John Mauchly&quot;&gt;John Mauchly&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=William_F._Schmitt&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;William F. Schmitt&quot;&gt;William F. Schmitt&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ENIAC Short Code&lt;/td&gt; &lt;td&gt;1949&lt;/td&gt; &lt;td&gt;&lt;b&gt;C-10&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Betty_Holberton&quot; title=&quot;Betty Holberton&quot;&gt;Betty Holberton&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;CPC Coding scheme&lt;/td&gt; &lt;td&gt;1949&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Seeber_coding_scheme&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Seeber coding scheme&quot;&gt;Seeber coding scheme&lt;/a&gt;&lt;/b&gt; (concept)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Robert_Seeber&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Robert Seeber&quot;&gt;Robert Seeber&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;th colspan=&quot;4&quot;&gt;&lt;a name=&quot;1950_onward&quot;&gt;&lt;/a&gt; &lt;h2&gt;&lt;span class=&quot;editsection&quot;&gt;[&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Timeline_of_programming_languages&amp;amp;action=edit&amp;amp;section=3&quot; title=&quot;Edit section: 1950 onward&quot;&gt;edit&lt;/a&gt;]&lt;/span&gt; &lt;span class=&quot;mw-headline&quot;&gt;1950 onward&lt;/span&gt;&lt;/h2&gt; &lt;a name=&quot;1950s&quot;&gt;&lt;/a&gt; &lt;h3&gt;&lt;span class=&quot;editsection&quot;&gt;[&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Timeline_of_programming_languages&amp;amp;action=edit&amp;amp;section=4&quot; title=&quot;Edit section: 1950s&quot;&gt;edit&lt;/a&gt;]&lt;/span&gt; &lt;span class=&quot;mw-headline&quot;&gt;1950s&lt;/span&gt;&lt;/h3&gt; &lt;/th&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Brief Code&lt;/td&gt; &lt;td&gt;1950&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Short_Code_%28Computer_language%29&quot; title=&quot;Short Code (Computer language)&quot;&gt;Short Code&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=William_F_Schmidt&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;William F Schmidt&quot;&gt;William F Schmidt&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=A.B._Tonik&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;A.B. Tonik&quot;&gt;A.B. Tonik&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=J.R._Logan&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;J.R. Logan&quot;&gt;J.R. Logan&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ARC&lt;/td&gt; &lt;td&gt;1950&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Birkbeck_Assembler&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Birkbeck Assembler&quot;&gt;Birkbeck Assembler&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Kathleen_Booth&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Kathleen Booth&quot;&gt;Kathleen Booth&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Plankalkül&lt;/td&gt; &lt;td&gt;1951&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Superplan&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Superplan&quot;&gt;Superplan&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Heinz_Rutishauser&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Heinz Rutishauser&quot;&gt;Heinz Rutishauser&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1951&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=ALGAE&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;ALGAE&quot;&gt;ALGAE&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Edward_A_Voorhees&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Edward A Voorhees&quot;&gt;Edward A Voorhees&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Karl_Balke&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Karl Balke&quot;&gt;Karl Balke&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Short Code&lt;/td&gt; &lt;td&gt;1951&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Intermediate_Programming_Language&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Intermediate Programming Language&quot;&gt;Intermediate Programming Language&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Arthur_Burks&quot; title=&quot;Arthur Burks&quot;&gt;Arthur Burks&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;EDSAC&lt;/td&gt; &lt;td&gt;1951&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Regional_Assembly_Language&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Regional Assembly Language&quot;&gt;Regional Assembly Language&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Maurice_Wilkes&quot; title=&quot;Maurice Wilkes&quot;&gt;Maurice Wilkes&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Aiken_CPC_system&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Aiken CPC system&quot;&gt;Aiken CPC system&lt;/a&gt;&lt;/td&gt; &lt;td&gt;1951&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Boehm_unnamed_coding_system&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Boehm unnamed coding system&quot;&gt;Boehm unnamed coding system&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Corrado_Boehm&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Corrado Boehm&quot;&gt;Corrado Boehm&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Plankalkül&lt;/td&gt; &lt;td&gt;1951&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Klammerausdr%C3%BCcke&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Klammerausdrücke&quot;&gt;Klammerausdrücke&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Konrad_Zuse&quot; title=&quot;Konrad Zuse&quot;&gt;Konrad Zuse&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Short Code&lt;/td&gt; &lt;td&gt;1951&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=OMNIBAC_Symbolic_Assembler&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;OMNIBAC Symbolic Assembler&quot;&gt;OMNIBAC Symbolic Assembler&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Charles_Katz&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Charles Katz&quot;&gt;Charles Katz&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1951&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Stanislaus_%28programming_language%29&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Stanislaus (programming language)&quot;&gt;Stanislaus&lt;/a&gt;&lt;/b&gt; (Notation)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Friedrich_L._Bauer&quot; title=&quot;Friedrich L. Bauer&quot;&gt;Fritz Bauer&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;EDSAC&lt;/td&gt; &lt;td&gt;1951&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Whirlwind_assembler&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Whirlwind assembler&quot;&gt;Whirlwind assembler&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Charles_Adams_%28programmer%29&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Charles Adams (programmer)&quot;&gt;Charles Adams&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Jack_Gilmore&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Jack Gilmore&quot;&gt;Jack Gilmore&lt;/a&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/MIT&quot; title=&quot;MIT&quot;&gt;MIT&lt;/a&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Project_Whirlwind&quot; title=&quot;Project Whirlwind&quot;&gt;Project Whirlwind&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;EDSAC&lt;/td&gt; &lt;td&gt;1951&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Rochester_assembler&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Rochester assembler&quot;&gt;Rochester assembler&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Nat_Rochester&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Nat Rochester&quot;&gt;Nat Rochester&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1951&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Sort_Merge_Generator&quot; title=&quot;Sort Merge Generator&quot;&gt;Sort Merge Generator&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Betty_Holberton&quot; title=&quot;Betty Holberton&quot;&gt;Betty Holberton&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;C-10 and Short Code&lt;/td&gt; &lt;td&gt;1952&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/A-0_%28programming_language%29&quot; title=&quot;A-0 (programming language)&quot;&gt;A-0&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Grace_Hopper&quot; title=&quot;Grace Hopper&quot;&gt;Grace Hopper&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Aiken CPC&lt;/td&gt; &lt;td&gt;1952&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Autocode&quot; title=&quot;Autocode&quot;&gt;Autocode&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Alick_Glennie&quot; title=&quot;Alick Glennie&quot;&gt;Alick Glennie&lt;/a&gt; after &lt;a href=&quot;http://en.wikipedia.org/wiki/Alan_Turing&quot; title=&quot;Alan Turing&quot;&gt;Alan Turing&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;SORT/MERGE&lt;/td&gt; &lt;td&gt;1952&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Editing_Generator&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Editing Generator&quot;&gt;Editing Generator&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Milly_Koss&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Milly Koss&quot;&gt;Milly Koss&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1952&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=COMPOOL&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;COMPOOL&quot;&gt;COMPOOL&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=RAND/SDC&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;RAND/SDC&quot;&gt;RAND/SDC&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1953&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Speedcoding&quot; title=&quot;Speedcoding&quot;&gt;Speedcoding&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;John Backus&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1953&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=READ/PRINT&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;READ/PRINT&quot;&gt;READ/PRINT&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Don Harroff, James Fishman, George Ryckman&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1954&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Laning_and_Zierler_system&quot; title=&quot;Laning and Zierler system&quot;&gt;Laning and Zierler system&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Laning, Zierler, Adams at &lt;a href=&quot;http://en.wikipedia.org/wiki/MIT&quot; title=&quot;MIT&quot;&gt;MIT&lt;/a&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Project_Whirlwind&quot; title=&quot;Project Whirlwind&quot;&gt;Project Whirlwind&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Glennie Autocode&lt;/td&gt; &lt;td&gt;1954&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Mark_I_Autocode&quot; title=&quot;Mark I Autocode&quot;&gt;Mark I Autocode&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Tony_Brooker&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Tony Brooker&quot;&gt;Tony Brooker&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Speedcoding&lt;/td&gt; &lt;td&gt;1954-1955&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/FORTRAN&quot; title=&quot;FORTRAN&quot;&gt;FORTRAN &quot;0&quot;&lt;/a&gt;&lt;/b&gt; (concept)&lt;/td&gt; &lt;td&gt;Team led by &lt;a href=&quot;http://en.wikipedia.org/wiki/John_Backus&quot; title=&quot;John Backus&quot;&gt;John W. Backus&lt;/a&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/IBM&quot; title=&quot;IBM&quot;&gt;IBM&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;A-0&lt;/td&gt; &lt;td&gt;1954&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/ARITH-MATIC&quot; title=&quot;ARITH-MATIC&quot;&gt;ARITH-MATIC&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Team led by &lt;a href=&quot;http://en.wikipedia.org/wiki/Grace_Hopper&quot; title=&quot;Grace Hopper&quot;&gt;Grace Hopper&lt;/a&gt; at UNIVAC&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;A-0&lt;/td&gt; &lt;td&gt;1954&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/MATH-MATIC&quot; title=&quot;MATH-MATIC&quot;&gt;MATH-MATIC&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Team led by &lt;a href=&quot;http://en.wikipedia.org/wiki/Grace_Hopper&quot; title=&quot;Grace Hopper&quot;&gt;Grace Hopper&lt;/a&gt; at UNIVAC&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1954&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=MATRIX_MATH&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;MATRIX MATH&quot;&gt;MATRIX MATH&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;H G Kahrimanian&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1954&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Information_Processing_Language&quot; title=&quot;Information Processing Language&quot;&gt;IPL I&lt;/a&gt;&lt;/b&gt; (concept)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Allen_Newell&quot; title=&quot;Allen Newell&quot;&gt;Allen Newell&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Cliff_Shaw&quot; title=&quot;Cliff Shaw&quot;&gt;Cliff Shaw&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Herbert_Simon&quot; title=&quot;Herbert Simon&quot;&gt;Herbert Simon&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;A-0&lt;/td&gt; &lt;td&gt;1955&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/FLOW-MATIC&quot; title=&quot;FLOW-MATIC&quot;&gt;FLOW-MATIC&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Team led by &lt;a href=&quot;http://en.wikipedia.org/wiki/Grace_Hopper&quot; title=&quot;Grace Hopper&quot;&gt;Grace Hopper&lt;/a&gt; at UNIVAC&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;1955&lt;/td&gt; &lt;td&gt;&lt;b&gt;BACAIC&lt;/b&gt;&lt;/td&gt; &lt;td&gt;M. Grems and R. Porter&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;FORTRAN, A-2&lt;/td&gt; &lt;td&gt;1955&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=PACT_I&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;PACT I&quot;&gt;PACT I&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/SHARE&quot; title=&quot;SHARE&quot;&gt;SHARE&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Boehm&lt;/td&gt; &lt;td&gt;1955-6&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Sequentielle_Formel%C3%BCbersetzung&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Sequentielle Formelübersetzung&quot;&gt;Sequentielle Formelübersetzung&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Friedrich_L._Bauer&quot; title=&quot;Friedrich L. Bauer&quot;&gt;Fritz Bauer&lt;/a&gt; and Karl Samelson&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Laning and Zerler&lt;/td&gt; &lt;td&gt;1955-6&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Internal_Translator&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Internal Translator&quot;&gt;IT&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Team led by &lt;a href=&quot;http://en.wikipedia.org/wiki/Alan_Perlis&quot; title=&quot;Alan Perlis&quot;&gt;Alan Perlis&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;1955&lt;/td&gt; &lt;td&gt;&lt;b&gt;PRINT&lt;/b&gt;&lt;/td&gt; &lt;td&gt;IBM&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;IPL I&lt;/td&gt; &lt;td&gt;1958&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Information_Processing_Language&quot; title=&quot;Information Processing Language&quot;&gt;IPL II&lt;/a&gt;&lt;/b&gt; (implementation)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Allen_Newell&quot; title=&quot;Allen Newell&quot;&gt;Allen Newell&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Cliff_Shaw&quot; title=&quot;Cliff Shaw&quot;&gt;Cliff Shaw&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Herbert_Simon&quot; title=&quot;Herbert Simon&quot;&gt;Herbert Simon&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;IPL&lt;/td&gt; &lt;td&gt;1956-1958&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Lisp_%28programming_language%29&quot; title=&quot;Lisp (programming language)&quot;&gt;LISP&lt;/a&gt;&lt;/b&gt; (concept)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/John_McCarthy_%28computer_scientist%29&quot; title=&quot;John McCarthy (computer scientist)&quot;&gt;John McCarthy&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;FLOW-MATIC&lt;/td&gt; &lt;td&gt;1957&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/COMTRAN&quot; title=&quot;COMTRAN&quot;&gt;COMTRAN&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Bob_Bemer&quot; title=&quot;Bob Bemer&quot;&gt;Bob Bemer&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;FORTRAN 0&lt;/td&gt; &lt;td&gt;1957&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/FORTRAN&quot; title=&quot;FORTRAN&quot;&gt;FORTRAN &quot;I&quot;&lt;/a&gt;&lt;/b&gt; (implementation)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/John_Backus&quot; title=&quot;John Backus&quot;&gt;John W. Backus&lt;/a&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/IBM&quot; title=&quot;IBM&quot;&gt;IBM&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;MATH-MATIC&lt;/td&gt; &lt;td&gt;1957-1958&lt;/td&gt; &lt;td&gt;&lt;b&gt;UNICODE&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Remington Rand UNIVAC&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1957&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/COMIT&quot; title=&quot;COMIT&quot;&gt;COMIT&lt;/a&gt;&lt;/b&gt; (concept)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;FORTRAN I&lt;/td&gt; &lt;td&gt;1958&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Fortran#FORTRAN_II&quot; title=&quot;Fortran&quot;&gt;FORTRAN II&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Team led by &lt;a href=&quot;http://en.wikipedia.org/wiki/John_Backus&quot; title=&quot;John Backus&quot;&gt;John W. Backus&lt;/a&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/IBM&quot; title=&quot;IBM&quot;&gt;IBM&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;FORTRAN, IT and Sequentielle Formelübersetzung&lt;/td&gt; &lt;td&gt;1958&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/ALGOL_%28programming_language%29&quot; title=&quot;ALGOL (programming language)&quot;&gt;ALGOL 58&lt;/a&gt;&lt;/b&gt; (&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/IAL&quot; title=&quot;IAL&quot;&gt;IAL&lt;/a&gt;&lt;/b&gt;)&lt;/td&gt; &lt;td&gt;ACM/GAMM&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;IPL II&lt;/td&gt; &lt;td&gt;1958&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Information_Processing_Language&quot; title=&quot;Information Processing Language&quot;&gt;IPL V&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Allen_Newell&quot; title=&quot;Allen Newell&quot;&gt;Allen Newell&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Cliff_Shaw&quot; title=&quot;Cliff Shaw&quot;&gt;Cliff Shaw&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Herbert_Simon&quot; title=&quot;Herbert Simon&quot;&gt;Herbert Simon&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;FLOW-MATIC, COMTRAN&lt;/td&gt; &lt;td&gt;1959&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/COBOL&quot; title=&quot;COBOL&quot;&gt;COBOL&lt;/a&gt;&lt;/b&gt; (concept)&lt;/td&gt; &lt;td&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Codasyl&quot; title=&quot;Codasyl&quot;&gt;Codasyl&lt;/a&gt; Committee&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ALGOL 58&lt;/td&gt; &lt;td&gt;1959&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/JOVIAL&quot; title=&quot;JOVIAL&quot;&gt;JOVIAL&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Jules_Schwartz&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Jules Schwartz&quot;&gt;Jules Schwartz&lt;/a&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/System_Development_Corporation&quot; title=&quot;System Development Corporation&quot;&gt;SDC&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;IPL&lt;/td&gt; &lt;td&gt;1959&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Lisp_%28programming_language%29&quot; title=&quot;Lisp (programming language)&quot;&gt;LISP&lt;/a&gt;&lt;/b&gt; (implementation)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/John_McCarthy_%28computer_scientist%29&quot; title=&quot;John McCarthy (computer scientist)&quot;&gt;John McCarthy&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;1959&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/TRAC_%28programming_language%29&quot; title=&quot;TRAC (programming language)&quot;&gt;TRAC&lt;/a&gt;&lt;/b&gt; (concept)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Calvin_Mooers&quot; title=&quot;Calvin Mooers&quot;&gt;Mooers&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;th colspan=&quot;4&quot;&gt;&lt;a name=&quot;1960s&quot;&gt;&lt;/a&gt; &lt;h3&gt;&lt;span class=&quot;editsection&quot;&gt;[&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Timeline_of_programming_languages&amp;amp;action=edit&amp;amp;section=5&quot; title=&quot;Edit section: 1960s&quot;&gt;edit&lt;/a&gt;]&lt;/span&gt; &lt;span class=&quot;mw-headline&quot;&gt;1960s&lt;/span&gt;&lt;/h3&gt; &lt;/th&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ALGOL 58&lt;/td&gt; &lt;td&gt;1960&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/ALGOL_60&quot; title=&quot;ALGOL 60&quot;&gt;ALGOL 60&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;FLOW-MATIC, COMTRAN&lt;/td&gt; &lt;td&gt;1960&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/COBOL&quot; title=&quot;COBOL&quot;&gt;COBOL 61&lt;/a&gt;&lt;/b&gt; (implementation)&lt;/td&gt; &lt;td&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Codasyl&quot; title=&quot;Codasyl&quot;&gt;Codasyl&lt;/a&gt; Committee&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1961&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/COMIT&quot; title=&quot;COMIT&quot;&gt;COMIT&lt;/a&gt;&lt;/b&gt; (implementation)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;FORTRAN II&lt;/td&gt; &lt;td&gt;1962&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Fortran&quot; title=&quot;Fortran&quot;&gt;FORTRAN IV&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1962&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/APL_%28programming_language%29&quot; title=&quot;APL (programming language)&quot;&gt;APL&lt;/a&gt;&lt;/b&gt; (concept)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Kenneth_E._Iverson&quot; title=&quot;Kenneth E. Iverson&quot;&gt;Iverson&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ALGOL 58&lt;/td&gt; &lt;td&gt;1962&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/MAD_%28programming_language%29&quot; title=&quot;MAD (programming language)&quot;&gt;MAD&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Bruce_Arden&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Bruce Arden&quot;&gt;Arden&lt;/a&gt;, &lt;i&gt;et al.&lt;/i&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ALGOL 60&lt;/td&gt; &lt;td&gt;1962&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/SIMULA&quot; title=&quot;SIMULA&quot;&gt;SIMULA&lt;/a&gt;&lt;/b&gt; (concept)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;FORTRAN II, COMIT&lt;/td&gt; &lt;td&gt;1962&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/SNOBOL&quot; title=&quot;SNOBOL&quot;&gt;SNOBOL&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Ralph_Griswold&quot; title=&quot;Ralph Griswold&quot;&gt;Griswold&lt;/a&gt;, &lt;i&gt;et al.&lt;/i&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ALGOL 60&lt;/td&gt; &lt;td&gt;1963&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/CPL&quot; title=&quot;CPL&quot;&gt;CPL&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Barron, &lt;a href=&quot;http://en.wikipedia.org/wiki/Christopher_Strachey&quot; title=&quot;Christopher Strachey&quot;&gt;Strachey&lt;/a&gt;, &lt;i&gt;et al.&lt;/i&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;SNOBOL&lt;/td&gt; &lt;td&gt;1963&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/SNOBOL&quot; title=&quot;SNOBOL&quot;&gt;SNOBOL3&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Ralph_Griswold&quot; title=&quot;Ralph Griswold&quot;&gt;Griswold&lt;/a&gt;, &lt;i&gt;et al.&lt;/i&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ALGOL 60&lt;/td&gt; &lt;td&gt;1963&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/ALGOL&quot; title=&quot;ALGOL&quot;&gt;ALGOL 68&lt;/a&gt;&lt;/b&gt; (concept)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Adriaan_van_Wijngaarden&quot; title=&quot;Adriaan van Wijngaarden&quot;&gt;van Wijngaarden&lt;/a&gt;, &lt;i&gt;et al.&lt;/i&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ALGOL 58&lt;/td&gt; &lt;td&gt;1963&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/JOSS&quot; title=&quot;JOSS&quot;&gt;JOSS I&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Cliff Shaw, &lt;a href=&quot;http://en.wikipedia.org/wiki/RAND&quot; title=&quot;RAND&quot;&gt;RAND&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;MIDAS&lt;/td&gt; &lt;td&gt;1964&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/MIMIC&quot; title=&quot;MIMIC&quot;&gt;MIMIC&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=H._E._Petersen&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;H. E. Petersen&quot;&gt;H. E. Petersen&lt;/a&gt;, &lt;i&gt;et al.&lt;/i&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;CPL, LISP&lt;/td&gt; &lt;td&gt;1964&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/COWSEL&quot; title=&quot;COWSEL&quot;&gt;COWSEL&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Rod_Burstall&quot; title=&quot;Rod Burstall&quot;&gt;Burstall&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Robin_Popplestone&quot; title=&quot;Robin Popplestone&quot;&gt;Popplestone&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ALGOL 60, COBOL, FORTRAN&lt;/td&gt; &lt;td&gt;1964&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/PL/I&quot; title=&quot;PL/I&quot;&gt;PL/I&lt;/a&gt;&lt;/b&gt; (concept)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/IBM&quot; title=&quot;IBM&quot;&gt;IBM&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;FORTRAN II, JOSS&lt;/td&gt; &lt;td&gt;1964&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/BASIC_%28programming_language%29&quot; title=&quot;BASIC (programming language)&quot;&gt;BASIC&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/John_Kemeny&quot; title=&quot;John Kemeny&quot;&gt;Kemeny&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Thomas_Kurtz&quot; title=&quot;Thomas Kurtz&quot;&gt;Kurtz&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;FARGO&lt;/td&gt; &lt;td&gt;1964&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/IBM_RPG&quot; title=&quot;IBM RPG&quot;&gt;IBM RPG&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/IBM&quot; title=&quot;IBM&quot;&gt;IBM&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;1964&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/MARK-IV_%28Software%29&quot; title=&quot;MARK-IV (Software)&quot;&gt;Mark-IV&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Sterling_Software&quot; title=&quot;Sterling Software&quot;&gt;Informatics&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;1964&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/TRAC_%28programming_language%29&quot; title=&quot;TRAC (programming language)&quot;&gt;TRAC&lt;/a&gt;&lt;/b&gt; (implementation)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Calvin_Mooers&quot; title=&quot;Calvin Mooers&quot;&gt;Mooers&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;1964?&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/IITRAN&quot; title=&quot;IITRAN&quot;&gt;IITRAN&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;JOSS&lt;/td&gt; &lt;td&gt;1965&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/TELCOMP&quot; title=&quot;TELCOMP&quot;&gt;TELCOMP&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Bolt%2C_Beranek_and_Newman&quot; title=&quot;Bolt, Beranek and Newman&quot;&gt;BBN&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;JOSS I&lt;/td&gt; &lt;td&gt;1966&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/JOSS&quot; title=&quot;JOSS&quot;&gt;JOSS II&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Chuck Baker, &lt;a href=&quot;http://en.wikipedia.org/wiki/RAND&quot; title=&quot;RAND&quot;&gt;RAND&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;FORTRAN IV&lt;/td&gt; &lt;td&gt;1966&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Fortran&quot; title=&quot;Fortran&quot;&gt;FORTRAN 66&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;LISP&lt;/td&gt; &lt;td&gt;1966&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/ISWIM&quot; title=&quot;ISWIM&quot;&gt;ISWIM (Concept)&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Peter_J._Landin&quot; title=&quot;Peter J. Landin&quot;&gt;Landin&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ALGOL 60&lt;/td&gt; &lt;td&gt;1966&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/CORAL66&quot; title=&quot;CORAL66&quot;&gt;CORAL66&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;CPL&lt;/td&gt; &lt;td&gt;1967&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/BCPL&quot; title=&quot;BCPL&quot;&gt;BCPL&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Martin_Richards&quot; title=&quot;Martin Richards&quot;&gt;Richards&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;FORTRAN, TELCOMP&lt;/td&gt; &lt;td&gt;1967&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/MUMPS&quot; title=&quot;MUMPS&quot;&gt;MUMPS&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Massachusetts_General_Hospital&quot; title=&quot;Massachusetts General Hospital&quot;&gt;Massachusetts General Hospital&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1967&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/APL_%28programming_language%29&quot; title=&quot;APL (programming language)&quot;&gt;APL&lt;/a&gt;&lt;/b&gt; (implementation)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Kenneth_E._Iverson&quot; title=&quot;Kenneth E. Iverson&quot;&gt;Iverson&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ALGOL 60&lt;/td&gt; &lt;td&gt;1967&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Simula&quot; title=&quot;Simula&quot;&gt;SIMULA 67&lt;/a&gt;&lt;/b&gt; (implementation)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Ole-Johan_Dahl&quot; title=&quot;Ole-Johan Dahl&quot;&gt;Dahl&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Bj%C3%B8rn_Myhrhaug&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Bjørn Myhrhaug&quot;&gt;Myhrhaug&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Kristen_Nygaard&quot; title=&quot;Kristen Nygaard&quot;&gt;Nygaard&lt;/a&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/Norsk_Regnesentral&quot; title=&quot;Norsk Regnesentral&quot;&gt;Norsk Regnesentral&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;SNOBOL3&lt;/td&gt; &lt;td&gt;1967&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/SNOBOL&quot; title=&quot;SNOBOL&quot;&gt;SNOBOL4&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Ralph_Griswold&quot; title=&quot;Ralph Griswold&quot;&gt;Griswold&lt;/a&gt;, &lt;i&gt;et al.&lt;/i&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;PL/I&lt;/td&gt; &lt;td&gt;1967&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/XPL&quot; title=&quot;XPL&quot;&gt;XPL&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=W._M._Mckeeman&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;W. M. Mckeeman&quot;&gt;W. M. Mckeeman&lt;/a&gt;, &lt;i&gt;et al.&lt;/i&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/University_Of_California&quot; title=&quot;University Of California&quot;&gt;University Of California&lt;/a&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Santa_Cruz%2C_California&quot; title=&quot;Santa Cruz, California&quot;&gt;Santa Cruz, California&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=J._J._Horning&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;J. J. Horning&quot;&gt;J. J. Horning&lt;/a&gt;, &lt;i&gt;et al.&lt;/i&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/Stanford_University&quot; title=&quot;Stanford University&quot;&gt;Stanford University&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;DIBOL&lt;/td&gt; &lt;td&gt;1968&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/DIBOL&quot; title=&quot;DIBOL&quot;&gt;DIBOL-8&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Digital_Equipment_Corporation&quot; title=&quot;Digital Equipment Corporation&quot;&gt;DEC&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;COWSEL&lt;/td&gt; &lt;td&gt;1968&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/POP-1&quot; title=&quot;POP-1&quot;&gt;POP-1&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Rod_Burstall&quot; title=&quot;Rod Burstall&quot;&gt;Burstall&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Robin_Popplestone&quot; title=&quot;Robin Popplestone&quot;&gt;Popplestone&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;1968&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Forth_%28programming_language%29&quot; title=&quot;Forth (programming language)&quot;&gt;FORTH&lt;/a&gt;&lt;/b&gt; (concept)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Charles_H._Moore&quot; title=&quot;Charles H. Moore&quot;&gt;Moore&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;LISP&lt;/td&gt; &lt;td&gt;1968&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Logo_%28programming_language%29&quot; title=&quot;Logo (programming language)&quot;&gt;LOGO&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Seymour_Papert&quot; title=&quot;Seymour Papert&quot;&gt;Papert&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;CRT RPS&lt;/td&gt; &lt;td&gt;1968&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/MAPPER_%28Software%29&quot; title=&quot;MAPPER (Software)&quot;&gt;MAPPER&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Unisys&quot; title=&quot;Unisys&quot;&gt;Unisys&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1968&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/REFAL&quot; title=&quot;REFAL&quot;&gt;REFAL&lt;/a&gt;&lt;/b&gt; (implementation)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Valentin_Turchin&quot; title=&quot;Valentin Turchin&quot;&gt;Valentin Turchin&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ALGOL 60&lt;/td&gt; &lt;td&gt;1968&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/ALGOL_W&quot; title=&quot;ALGOL W&quot;&gt;ALGOL W&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Niklaus_Wirth&quot; title=&quot;Niklaus Wirth&quot;&gt;Niklaus Wirth&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/C._A._R._Hoare&quot; title=&quot;C. A. R. Hoare&quot;&gt;C. A. R. Hoare&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ALGOL 60&lt;/td&gt; &lt;td&gt;1969&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/ALGOL_68&quot; title=&quot;ALGOL 68&quot;&gt;ALGOL 68&lt;/a&gt;&lt;/b&gt; (implementation)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Adriaan_van_Wijngaarden&quot; title=&quot;Adriaan van Wijngaarden&quot;&gt;van Wijngaarden&lt;/a&gt;, &lt;i&gt;et al.&lt;/i&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ALGOL 60, COBOL, FORTRAN&lt;/td&gt; &lt;td&gt;1969&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/PL/I&quot; title=&quot;PL/I&quot;&gt;PL/I&lt;/a&gt;&lt;/b&gt; (implementation)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/IBM&quot; title=&quot;IBM&quot;&gt;IBM&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;BCPL&lt;/td&gt; &lt;td&gt;1969&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/B_%28programming_language%29&quot; title=&quot;B (programming language)&quot;&gt;B&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Ken_Thompson_%28computer_programmer%29&quot; title=&quot;Ken Thompson (computer programmer)&quot;&gt;Ken Thompson&lt;/a&gt;, with contributions from &lt;a href=&quot;http://en.wikipedia.org/wiki/Dennis_Ritchie&quot; title=&quot;Dennis Ritchie&quot;&gt;Dennis Ritchie&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;1969&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Polymorphic_Programming_Language&quot; title=&quot;Polymorphic Programming Language&quot;&gt;PPL&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Thomas_A._Standish&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Thomas A. Standish&quot;&gt;Thomas A. Standish&lt;/a&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/Harvard_University&quot; title=&quot;Harvard University&quot;&gt;Harvard University&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;th colspan=&quot;4&quot;&gt;&lt;a name=&quot;1970s&quot;&gt;&lt;/a&gt; &lt;h3&gt;&lt;span class=&quot;editsection&quot;&gt;[&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Timeline_of_programming_languages&amp;amp;action=edit&amp;amp;section=6&quot; title=&quot;Edit section: 1970s&quot;&gt;edit&lt;/a&gt;]&lt;/span&gt; &lt;span class=&quot;mw-headline&quot;&gt;1970s&lt;/span&gt;&lt;/h3&gt; &lt;/th&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;1970?&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Forth_%28programming_language%29&quot; title=&quot;Forth (programming language)&quot;&gt;FORTH&lt;/a&gt;&lt;/b&gt; (implementation)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Charles_H._Moore&quot; title=&quot;Charles H. Moore&quot;&gt;Moore&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;POP-1&lt;/td&gt; &lt;td&gt;1970&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/POP-2&quot; title=&quot;POP-2&quot;&gt;POP-2&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ALGOL 60, ALGOL W&lt;/td&gt; &lt;td&gt;1971&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Pascal_%28programming_language%29&quot; title=&quot;Pascal (programming language)&quot;&gt;Pascal&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Niklaus_Wirth&quot; title=&quot;Niklaus Wirth&quot;&gt;Wirth&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Kathleen_Jensen&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Kathleen Jensen&quot;&gt;Jensen&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Pascal, XPL&lt;/td&gt; &lt;td&gt;1971&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Sue_%28programming_language%29&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Sue (programming language)&quot;&gt;Sue&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Ric_Holt&quot; title=&quot;Ric Holt&quot;&gt;Holt&lt;/a&gt; &lt;i&gt;et al.&lt;/i&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/University_of_Toronto&quot; title=&quot;University of Toronto&quot;&gt;University of Toronto&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;SIMULA 67&lt;/td&gt; &lt;td&gt;1972&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Smalltalk&quot; title=&quot;Smalltalk&quot;&gt;Smalltalk-72&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Xerox_PARC&quot; title=&quot;Xerox PARC&quot;&gt;Xerox PARC&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;PL/I, ALGOL, XPL&lt;/td&gt; &lt;td&gt;1972&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/PL/M&quot; title=&quot;PL/M&quot;&gt;PL/M&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Gary_Kildall&quot; title=&quot;Gary Kildall&quot;&gt;Kildall&lt;/a&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/Digital_Research&quot; title=&quot;Digital Research&quot;&gt;Digital Research&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;B, BCPL, ALGOL 68&lt;/td&gt; &lt;td&gt;1972&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/C_%28programming_language%29&quot; title=&quot;C (programming language)&quot;&gt;C&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Dennis_Ritchie&quot; title=&quot;Dennis Ritchie&quot;&gt;Ritchie&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1972&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/INTERCAL&quot; title=&quot;INTERCAL&quot;&gt;INTERCAL&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;2-level W-Grammar&lt;/td&gt; &lt;td&gt;1972&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Prolog&quot; title=&quot;Prolog&quot;&gt;Prolog&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Alain_Colmerauer&quot; title=&quot;Alain Colmerauer&quot;&gt;Colmerauer&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Pascal, BASIC&lt;/td&gt; &lt;td&gt;1973&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/COMAL&quot; title=&quot;COMAL&quot;&gt;COMAL&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=B%C3%B8rge_Christensen&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Børge Christensen&quot;&gt;Christensen&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Benedict_L%C3%B8fstedt&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Benedict Løfstedt&quot;&gt;Løfstedt&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;1973&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/ML_%28programming_language%29&quot; title=&quot;ML (programming language)&quot;&gt;ML&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Robin_Milner&quot; title=&quot;Robin Milner&quot;&gt;Robin Milner&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Pascal, Sue&lt;/td&gt; &lt;td&gt;1973&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=LIS_%28programming_language%29&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;LIS (programming language)&quot;&gt;LIS&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Jean_Ichbiah&quot; title=&quot;Jean Ichbiah&quot;&gt;Ichbiah&lt;/a&gt; &lt;i&gt;et al.&lt;/i&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/CII_Honeywell_Bull&quot; title=&quot;CII Honeywell Bull&quot;&gt;CII Honeywell Bull&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;BASIC&lt;/td&gt; &lt;td&gt;1974&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/GRASS_%28programming_language%29&quot; title=&quot;GRASS (programming language)&quot;&gt;GRASS&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Tom_DeFanti&quot; title=&quot;Tom DeFanti&quot;&gt;DeFanti&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Business BASIC&lt;/td&gt; &lt;td&gt;1974&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Business_BASIC_Programming_Language&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Business BASIC Programming Language&quot;&gt;BASIC FOUR&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=BASIC_FOUR_CORPORATION&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;BASIC FOUR CORPORATION&quot;&gt;BASIC FOUR CORPORATION&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;LISP&lt;/td&gt; &lt;td&gt;1975&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Scheme_%28programming_language%29&quot; title=&quot;Scheme (programming language)&quot;&gt;Scheme&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Gerald_Jay_Sussman&quot; title=&quot;Gerald Jay Sussman&quot;&gt;Sussman&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Guy_L._Steele%2C_Jr.&quot; title=&quot;Guy L. Steele, Jr.&quot;&gt;Steele&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;BASIC&lt;/td&gt; &lt;td&gt;1975&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Altair_BASIC&quot; title=&quot;Altair BASIC&quot;&gt;Altair BASIC&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Bill_Gates&quot; title=&quot;Bill Gates&quot;&gt;Gates&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Paul_Allen&quot; title=&quot;Paul Allen&quot;&gt;Allen&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ALGOL 68, BLISS, ECL, HAL&lt;/td&gt; &lt;td&gt;1975&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=CS-4&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;CS-4&quot;&gt;CS-4&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Benjamin_M._Brosgol&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Benjamin M. Brosgol&quot;&gt;Brosgol&lt;/a&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/Intermetrics&quot; title=&quot;Intermetrics&quot;&gt;Intermetrics&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Pascal&lt;/td&gt; &lt;td&gt;1975&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Modula&quot; title=&quot;Modula&quot;&gt;Modula&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Niklaus_Wirth&quot; title=&quot;Niklaus Wirth&quot;&gt;Wirth&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Smalltalk-72&lt;/td&gt; &lt;td&gt;1976&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Smalltalk&quot; title=&quot;Smalltalk&quot;&gt;Smalltalk-76&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Xerox_PARC&quot; title=&quot;Xerox PARC&quot;&gt;Xerox PARC&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Speakeasy-2&lt;/td&gt; &lt;td&gt;1976&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Speakeasy_%28computational_environment%29&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Speakeasy (computational environment)&quot;&gt;Speakeasy-3&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Stanley_Cohen&quot; title=&quot;Stanley Cohen&quot;&gt;Stanley Cohen&lt;/a&gt;,&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Stephen_Pieper&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Stephen Pieper&quot;&gt;Stephen Pieper&lt;/a&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/Argonne_National_Laboratory&quot; title=&quot;Argonne National Laboratory&quot;&gt;Argonne National Laboratory&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;C, FORTRAN&lt;/td&gt; &lt;td&gt;1976&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Ratfor&quot; title=&quot;Ratfor&quot;&gt;Ratfor&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Brian_Kernighan&quot; title=&quot;Brian Kernighan&quot;&gt;Kernighan&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;APL, PPL, Scheme&lt;/td&gt; &lt;td&gt;1976&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/S_%28programming_language%29&quot; title=&quot;S (programming language)&quot;&gt;S&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=John_Chambers_%28programmer%29&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;John Chambers (programmer)&quot;&gt;John Chambers&lt;/a&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/Bell_Laboratories&quot; title=&quot;Bell Laboratories&quot;&gt;Bell Laboratories&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1977&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/FP_%28programming_language%29&quot; title=&quot;FP (programming language)&quot;&gt;FP&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/John_Backus&quot; title=&quot;John Backus&quot;&gt;John Backus&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1977&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Bourne_Shell&quot; title=&quot;Bourne Shell&quot;&gt;Bourne Shell&lt;/a&gt;&lt;/b&gt; (&lt;i&gt;sh&lt;/i&gt;)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Stephen_Bourne&quot; title=&quot;Stephen Bourne&quot;&gt;Bourne&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Fortran&lt;/td&gt; &lt;td&gt;1977&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/IDL_%28programming_language%29&quot; title=&quot;IDL (programming language)&quot;&gt;IDL&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;David Stern of Research Systems Inc&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;MUMPS&lt;/td&gt; &lt;td&gt;1977&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/MUMPS&quot; title=&quot;MUMPS&quot;&gt;Standard MUMPS&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;SNOBOL&lt;/td&gt; &lt;td&gt;1977&lt;/td&gt; &lt;td&gt;&#39;&lt;i&gt;ICON&lt;/i&gt; (concept)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Ralph_Griswold&quot; title=&quot;Ralph Griswold&quot;&gt;Griswold&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ALGOL 68, LIS&lt;/td&gt; &lt;td&gt;1977&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Green_%28programming_language%29&quot; title=&quot;Green (programming language)&quot;&gt;Green&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Jean_Ichbiah&quot; title=&quot;Jean Ichbiah&quot;&gt;Ichbiah&lt;/a&gt; &lt;i&gt;et al.&lt;/i&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/CII_Honeywell_Bull&quot; title=&quot;CII Honeywell Bull&quot;&gt;CII Honeywell Bull&lt;/a&gt; for &lt;a href=&quot;http://en.wikipedia.org/wiki/United_States_Department_of_Defense&quot; title=&quot;United States Department of Defense&quot;&gt;US Dept of Defense&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ALGOL 68, CS-4&lt;/td&gt; &lt;td&gt;1977&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Red_programming_language_%28Ada_prototype%29&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Red programming language (Ada prototype)&quot;&gt;Red&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Benjamin_M._Brosgol&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Benjamin M. Brosgol&quot;&gt;Brosgol&lt;/a&gt; &lt;i&gt;et al.&lt;/i&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/Intermetrics&quot; title=&quot;Intermetrics&quot;&gt;Intermetrics&lt;/a&gt; for &lt;a href=&quot;http://en.wikipedia.org/wiki/United_States_Department_of_Defense&quot; title=&quot;United States Department of Defense&quot;&gt;US Dept of Defense&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ALGOL 68,&lt;/td&gt; &lt;td&gt;1977&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Blue_programming_language_%28Ada_prototype%29&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Blue programming language (Ada prototype)&quot;&gt;Blue&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/John_Goodenough&quot; title=&quot;John Goodenough&quot;&gt;Goodenough&lt;/a&gt; &lt;i&gt;et al.&lt;/i&gt; at &lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=SofTech&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;SofTech&quot;&gt;SofTech&lt;/a&gt; for &lt;a href=&quot;http://en.wikipedia.org/wiki/United_States_Department_of_Defense&quot; title=&quot;United States Department of Defense&quot;&gt;US Dept of Defense&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ALGOL 68,&lt;/td&gt; &lt;td&gt;1977&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Yellow_programming_language_%28Ada_prototype%29&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Yellow programming language (Ada prototype)&quot;&gt;Yellow&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Jay_Spitzen&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Jay Spitzen&quot;&gt;Spitzen&lt;/a&gt; &lt;i&gt;et al.&lt;/i&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/SRI_International&quot; title=&quot;SRI International&quot;&gt;SRI International&lt;/a&gt; for &lt;a href=&quot;http://en.wikipedia.org/wiki/United_States_Department_of_Defense&quot; title=&quot;United States Department of Defense&quot;&gt;US Dept of Defense&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;FORTRAN IV&lt;/td&gt; &lt;td&gt;1978&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Fortran&quot; title=&quot;Fortran&quot;&gt;FORTRAN 77&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1978?&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/MATLAB&quot; title=&quot;MATLAB&quot;&gt;MATLAB&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Cleve_Moler&quot; title=&quot;Cleve Moler&quot;&gt;Moler&lt;/a&gt; at the &lt;a href=&quot;http://en.wikipedia.org/wiki/University_of_New_Mexico&quot; title=&quot;University of New Mexico&quot;&gt;University of New Mexico&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Algol60&lt;/td&gt; &lt;td&gt;1978?&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=SMALL_%28programming_language%29&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;SMALL (programming language)&quot;&gt;SMALL&lt;/a&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Dr._Nevil_Brownlee&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Dr. Nevil Brownlee&quot;&gt;Brownlee&lt;/a&gt; at the &lt;a href=&quot;http://en.wikipedia.org/wiki/University_of_Auckland&quot; title=&quot;University of Auckland&quot;&gt;University of Auckland&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Ingres&lt;/td&gt; &lt;td&gt;1978&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/SQL&quot; title=&quot;SQL&quot;&gt;SQL&lt;/a&gt;&lt;/b&gt; aka &lt;i&gt;structured query language&lt;/i&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/IBM&quot; title=&quot;IBM&quot;&gt;IBM&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1978&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/VISICALC&quot; title=&quot;VISICALC&quot;&gt;VISICALC&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Dan_Bricklin&quot; title=&quot;Dan Bricklin&quot;&gt;Bricklin&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Bob_Frankston&quot; title=&quot;Bob Frankston&quot;&gt;Frankston&lt;/a&gt; marketed by &lt;a href=&quot;http://en.wikipedia.org/wiki/VisiCorp&quot; title=&quot;VisiCorp&quot;&gt;VisiCorp&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Modula&lt;/td&gt; &lt;td&gt;1979&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Modula-2&quot; title=&quot;Modula-2&quot;&gt;Modula-2&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Niklaus_Wirth&quot; title=&quot;Niklaus Wirth&quot;&gt;Wirth&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;PL/I, BASIC, EXEC 2&lt;/td&gt; &lt;td&gt;1979&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/REXX&quot; title=&quot;REXX&quot;&gt;REXX&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Mike_Cowlishaw&quot; title=&quot;Mike Cowlishaw&quot;&gt;Cowlishaw&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;C, SNOBOL&lt;/td&gt; &lt;td&gt;1979&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/AWK_%28programming_language%29&quot; title=&quot;AWK (programming language)&quot;&gt;AWK&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Alfred_Aho&quot; title=&quot;Alfred Aho&quot;&gt;Aho&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Peter_J._Weinberger&quot; title=&quot;Peter J. Weinberger&quot;&gt;Weinberger&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Brian_Kernighan&quot; title=&quot;Brian Kernighan&quot;&gt;Kernighan&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;SNOBOL&lt;/td&gt; &lt;td&gt;1979&lt;/td&gt; &lt;td&gt;&lt;b&gt;ICON&lt;/b&gt; (implementation)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Ralph_Griswold&quot; title=&quot;Ralph Griswold&quot;&gt;Griswold&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1979&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/DBASE&quot; title=&quot;DBASE&quot;&gt;Vulcan dBase-II&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Ratliff&quot; title=&quot;Ratliff&quot;&gt;Ratliff&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;th colspan=&quot;4&quot;&gt;&lt;a name=&quot;1980s&quot;&gt;&lt;/a&gt; &lt;h3&gt;&lt;span class=&quot;editsection&quot;&gt;[&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Timeline_of_programming_languages&amp;amp;action=edit&amp;amp;section=7&quot; title=&quot;Edit section: 1980s&quot;&gt;edit&lt;/a&gt;]&lt;/span&gt; &lt;span class=&quot;mw-headline&quot;&gt;1980s&lt;/span&gt;&lt;/h3&gt; &lt;/th&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;C, SIMULA 67&lt;/td&gt; &lt;td&gt;1980&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/C_with_classes&quot; title=&quot;C with classes&quot;&gt;C with classes&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Bjarne_Stroustrup&quot; title=&quot;Bjarne Stroustrup&quot;&gt;Stroustrup&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Smalltalk-76&lt;/td&gt; &lt;td&gt;1980&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Smalltalk&quot; title=&quot;Smalltalk&quot;&gt;Smalltalk-80&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Xerox_PARC&quot; title=&quot;Xerox PARC&quot;&gt;Xerox PARC&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Smalltalk, C&lt;/td&gt; &lt;td&gt;1982&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Objective-C&quot; title=&quot;Objective-C&quot;&gt;Objective-C&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Brad_Cox&quot; title=&quot;Brad Cox&quot;&gt;Brad Cox&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Green&lt;/td&gt; &lt;td&gt;1983&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Ada_%28programming_language%29&quot; title=&quot;Ada (programming language)&quot;&gt;Ada 83&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/CII_Honeywell_Bull&quot; title=&quot;CII Honeywell Bull&quot;&gt;CII Honeywell Bull&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;C with Classes&lt;/td&gt; &lt;td&gt;1983&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/C%2B%2B&quot; title=&quot;C++&quot;&gt;C++&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Bjarne_Stroustrup&quot; title=&quot;Bjarne Stroustrup&quot;&gt;Stroustrup&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;BASIC&lt;/td&gt; &lt;td&gt;1983&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/True_BASIC&quot; title=&quot;True BASIC&quot;&gt;True BASIC&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/John_George_Kemeny&quot; title=&quot;John George Kemeny&quot;&gt;Kemeny&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Thomas_Kurtz&quot; title=&quot;Thomas Kurtz&quot;&gt;Kurtz&lt;/a&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/Dartmouth_College&quot; title=&quot;Dartmouth College&quot;&gt;Dartmouth College&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/COBOL&quot; title=&quot;COBOL&quot;&gt;COBOL&lt;/a&gt;&lt;/td&gt; &lt;td&gt;1983?&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/ABAP&quot; title=&quot;ABAP&quot;&gt;ABAP&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/SAP&quot; title=&quot;SAP&quot;&gt;SAP&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;sh&lt;/td&gt; &lt;td&gt;1984?&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Korn_Shell&quot; title=&quot;Korn Shell&quot;&gt;Korn Shell&lt;/a&gt;&lt;/b&gt; (&lt;i&gt;ksh&lt;/i&gt;)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/David_Korn&quot; title=&quot;David Korn&quot;&gt;David Korn&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Forth_%28programming_language%29&quot; title=&quot;Forth (programming language)&quot;&gt;Forth&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Lisp_%28programming_language%29&quot; title=&quot;Lisp (programming language)&quot;&gt;Lisp&lt;/a&gt;&lt;/td&gt; &lt;td&gt;1984&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/RPL_%28programming_language%29&quot; title=&quot;RPL (programming language)&quot;&gt;RPL&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Hewlett-Packard&quot; title=&quot;Hewlett-Packard&quot;&gt;Hewlett-Packard&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ML&lt;/td&gt; &lt;td&gt;1984&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Standard_ML&quot; title=&quot;Standard ML&quot;&gt;Standard ML&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;dBase&lt;/td&gt; &lt;td&gt;1984&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Clipper_%28programming_language%29&quot; title=&quot;Clipper (programming language)&quot;&gt;CLIPPER&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Nantucket&quot; title=&quot;Nantucket&quot;&gt;Nantucket&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;LISP&lt;/td&gt; &lt;td&gt;1984&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Common_Lisp&quot; title=&quot;Common Lisp&quot;&gt;Common Lisp&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Guy_Steele&quot; title=&quot;Guy Steele&quot;&gt;Guy Steele&lt;/a&gt; and many others&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;1977MUMPS&lt;/td&gt; &lt;td&gt;1985&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/MUMPS&quot; title=&quot;MUMPS&quot;&gt;1984 MUMPS&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Pascal&lt;/td&gt; &lt;td&gt;1985&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Object_Pascal&quot; title=&quot;Object Pascal&quot;&gt;Object Pascal&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Apple_Computer&quot; title=&quot;Apple Computer&quot;&gt;Apple Computer&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;dBase&lt;/td&gt; &lt;td&gt;1985&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Paradox_%28database%29&quot; title=&quot;Paradox (database)&quot;&gt;PARADOX&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Borland&quot; title=&quot;Borland&quot;&gt;Borland&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Interpress&quot; title=&quot;Interpress&quot;&gt;Interpress&lt;/a&gt;&lt;/td&gt; &lt;td&gt;1985&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/PostScript&quot; title=&quot;PostScript&quot;&gt;PostScript&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/John_Warnock&quot; title=&quot;John Warnock&quot;&gt;Warnock&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;BASIC&lt;/td&gt; &lt;td&gt;1985&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/QuickBASIC&quot; title=&quot;QuickBASIC&quot;&gt;QuickBASIC&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Microsoft&quot; title=&quot;Microsoft&quot;&gt;Microsoft&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;1986&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Miranda_%28programming_language%29&quot; title=&quot;Miranda (programming language)&quot;&gt;Miranda&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/David_Turner_%28computer_scientist%29&quot; title=&quot;David Turner (computer scientist)&quot;&gt;David Turner&lt;/a&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/University_of_Kent&quot; title=&quot;University of Kent&quot;&gt;University of Kent&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;1986&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/LabVIEW&quot; title=&quot;LabVIEW&quot;&gt;LabVIEW&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/National_Instruments&quot; title=&quot;National Instruments&quot;&gt;National Instruments&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;SIMULA 67&lt;/td&gt; &lt;td&gt;1986&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Eiffel_%28programming_language%29&quot; title=&quot;Eiffel (programming language)&quot;&gt;Eiffel&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Bertrand_Meyer&quot; title=&quot;Bertrand Meyer&quot;&gt;Meyer&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;1986&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Informix-4GL&quot; title=&quot;Informix-4GL&quot;&gt;Informix-4GL&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Informix&quot; title=&quot;Informix&quot;&gt;Informix&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;C&lt;/td&gt; &lt;td&gt;1986&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/PROMAL&quot; title=&quot;PROMAL&quot;&gt;PROMAL&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;INFORM&lt;/td&gt; &lt;td&gt;1986&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/CorVision&quot; title=&quot;CorVision&quot;&gt;CorVision&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Cortex&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Smalltalk&lt;/td&gt; &lt;td&gt;1987&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Self_%28programming_language%29&quot; title=&quot;Self (programming language)&quot;&gt;Self&lt;/a&gt;&lt;/b&gt; (concept)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Sun_Microsystems&quot; title=&quot;Sun Microsystems&quot;&gt;Sun Microsystems Inc.&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1987&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/HyperTalk&quot; title=&quot;HyperTalk&quot;&gt;HyperTalk&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Apple_Computer&quot; title=&quot;Apple Computer&quot;&gt;Apple&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1987&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/SQL&quot; title=&quot;SQL&quot;&gt;SQL-87&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;C, sed, awk, sh&lt;/td&gt; &lt;td&gt;1987&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Perl&quot; title=&quot;Perl&quot;&gt;Perl&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Larry_Wall&quot; title=&quot;Larry Wall&quot;&gt;Wall&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Modula-2&lt;/td&gt; &lt;td&gt;1987&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Oberon_%28programming_language%29&quot; title=&quot;Oberon (programming language)&quot;&gt;Oberon&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Niklaus_Wirth&quot; title=&quot;Niklaus Wirth&quot;&gt;Wirth&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/MATLAB&quot; title=&quot;MATLAB&quot;&gt;MATLAB&lt;/a&gt;&lt;/td&gt; &lt;td&gt;1988&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/GNU_Octave&quot; title=&quot;GNU Octave&quot;&gt;Octave&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;dBase-III&lt;/td&gt; &lt;td&gt;1988&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/DBase&quot; title=&quot;DBase&quot;&gt;dBase-IV&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Awk, Lisp&lt;/td&gt; &lt;td&gt;1988&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Tcl&quot; title=&quot;Tcl&quot;&gt;Tcl&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/John_Ousterhout&quot; title=&quot;John Ousterhout&quot;&gt;Ousterhout&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;REXX&lt;/td&gt; &lt;td&gt;1988&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/REXX&quot; title=&quot;REXX&quot;&gt;Object REXX&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Simon_C._Nash&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Simon C. Nash&quot;&gt;Simon C. Nash&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Ada&lt;/td&gt; &lt;td&gt;1988&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/SPARK_%28programming_language%29&quot; title=&quot;SPARK (programming language)&quot;&gt;SPARK&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Bernard_A._Carr%C3%A9&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Bernard A. Carré&quot;&gt;Bernard A. Carré&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;APL&lt;/td&gt; &lt;td&gt;1988&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/A_plus&quot; title=&quot;A plus&quot;&gt;A+&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Arthur_Whitney&quot; title=&quot;Arthur Whitney&quot;&gt;Arthur Whitney&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1987&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Mathematica&quot; title=&quot;Mathematica&quot;&gt;Mathematica&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Wolfram_Research&quot; title=&quot;Wolfram Research&quot;&gt;Wolfram Research&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Turbo Pascal, Object Pascal&lt;/td&gt; &lt;td&gt;1989&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Turbo_Pascal#Object_oriented_programming&quot; title=&quot;Turbo Pascal&quot;&gt;Turbo Pascal OOP&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Anders_Hejlsberg&quot; title=&quot;Anders Hejlsberg&quot;&gt;Hejlsberg&lt;/a&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/Borland&quot; title=&quot;Borland&quot;&gt;Borland&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;C&lt;/td&gt; &lt;td&gt;1989&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/C_%28programming_language%29&quot; title=&quot;C (programming language)&quot;&gt;Standard C89/90&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/American_National_Standards_Institute&quot; title=&quot;American National Standards Institute&quot;&gt;ANSI&lt;/a&gt; X3.159-1989 (adopted by ISO in 1990)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Modula-2&lt;/td&gt; &lt;td&gt;1989&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Modula-3&quot; title=&quot;Modula-3&quot;&gt;Modula-3&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Cardeli, et al. &lt;a href=&quot;http://en.wikipedia.org/wiki/Digital_Equipment_Corporation&quot; title=&quot;Digital Equipment Corporation&quot;&gt;DEC&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Olivetti&quot; title=&quot;Olivetti&quot;&gt;Olivetti&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;th colspan=&quot;4&quot;&gt;&lt;a name=&quot;1990s&quot;&gt;&lt;/a&gt; &lt;h3&gt;&lt;span class=&quot;editsection&quot;&gt;[&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Timeline_of_programming_languages&amp;amp;action=edit&amp;amp;section=8&quot; title=&quot;Edit section: 1990s&quot;&gt;edit&lt;/a&gt;]&lt;/span&gt; &lt;span class=&quot;mw-headline&quot;&gt;1990s&lt;/span&gt;&lt;/h3&gt; &lt;/th&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Oberon&lt;/td&gt; &lt;td&gt;1990&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Object_Oberon&quot; title=&quot;Object Oberon&quot;&gt;Object Oberon&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;H Mössenböck, J Templ, R Griesemer&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;APL, FP&lt;/td&gt; &lt;td&gt;1990&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/J_%28programming_language%29&quot; title=&quot;J (programming language)&quot;&gt;J&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Kenneth_Iverson&quot; title=&quot;Kenneth Iverson&quot;&gt;Iverson&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Roger_Hui&quot; title=&quot;Roger Hui&quot;&gt;R. Hui&lt;/a&gt; at Iverson Software&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Miranda&lt;/td&gt; &lt;td&gt;1990&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Haskell_%28programming_language%29&quot; title=&quot;Haskell (programming language)&quot;&gt;Haskell&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;1984 MUMPS&lt;/td&gt; &lt;td&gt;1990&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/MUMPS&quot; title=&quot;MUMPS&quot;&gt;1990 MUMPS&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;SML 84&lt;/td&gt; &lt;td&gt;1990&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Standard_ML&quot; title=&quot;Standard ML&quot;&gt;SML 90&lt;/a&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Robin_Milner&quot; title=&quot;Robin Milner&quot;&gt;Milner&lt;/a&gt;, Tofte and &lt;a href=&quot;http://en.wikipedia.org/wiki/Robert_Harper_%28computer_scientist%29&quot; title=&quot;Robert Harper (computer scientist)&quot;&gt;Harper&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Fortran 77&lt;/td&gt; &lt;td&gt;1991&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Fortran&quot; title=&quot;Fortran&quot;&gt;Fortran 90&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Object Oberon&lt;/td&gt; &lt;td&gt;1991&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Oberon_%28programming_language%29&quot; title=&quot;Oberon (programming language)&quot;&gt;Oberon-2&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Hanspeter Mössenböck, &lt;a href=&quot;http://en.wikipedia.org/wiki/Niklaus_Wirth&quot; title=&quot;Niklaus Wirth&quot;&gt;Wirth&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ABC&lt;/td&gt; &lt;td&gt;1991&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Python_%28programming_language%29&quot; title=&quot;Python (programming language)&quot;&gt;Python&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Guido_van_Rossum&quot; title=&quot;Guido van Rossum&quot;&gt;Van Rossum&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;1991&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Q_%28programming_language%29&quot; title=&quot;Q (programming language)&quot;&gt;Q&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;QuickBASIC&lt;/td&gt; &lt;td&gt;1991&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Visual_Basic&quot; title=&quot;Visual Basic&quot;&gt;Visual Basic&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Alan_Cooper&quot; title=&quot;Alan Cooper&quot;&gt;Alan Cooper&lt;/a&gt;, sold to &lt;a href=&quot;http://en.wikipedia.org/wiki/Microsoft&quot; title=&quot;Microsoft&quot;&gt;Microsoft&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;SQL-87&lt;/td&gt; &lt;td&gt;1992&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/SQL&quot; title=&quot;SQL&quot;&gt;SQL-92&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Turbo Pascal OOP&lt;/td&gt; &lt;td&gt;1992&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Borland_Pascal&quot; title=&quot;Borland Pascal&quot;&gt;Borland Pascal&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ksh&lt;/td&gt; &lt;td&gt;1993?&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Z_Shell&quot; title=&quot;Z Shell&quot;&gt;Z Shell&lt;/a&gt;&lt;/b&gt; (&lt;i&gt;zsh&lt;/i&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Smalltalk&lt;/td&gt; &lt;td&gt;1993?&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Self_%28programming_language%29&quot; title=&quot;Self (programming language)&quot;&gt;Self&lt;/a&gt;&lt;/b&gt; (implementation)&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Sun_Microsystems&quot; title=&quot;Sun Microsystems&quot;&gt;Sun Microsystems Inc.&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Forth&lt;/td&gt; &lt;td&gt;1993&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/FALSE&quot; title=&quot;FALSE&quot;&gt;FALSE&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Wouter_van_Oortmerssen&quot; title=&quot;Wouter van Oortmerssen&quot;&gt;Wouter van Oortmerssen&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;1993&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/WinDev&quot; title=&quot;WinDev&quot;&gt;WinDev&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;PC Soft&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;HyperTalk&lt;/td&gt; &lt;td&gt;1993&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Transcript_%28programming_language%29&quot; title=&quot;Transcript (programming language)&quot;&gt;Revolution Transcript&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;HyperTalk&lt;/td&gt; &lt;td&gt;1993&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/AppleScript&quot; title=&quot;AppleScript&quot;&gt;AppleScript&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Apple_Computer&quot; title=&quot;Apple Computer&quot;&gt;Apple&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;APL, Lisp&lt;/td&gt; &lt;td&gt;1993&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/K_%28programming_language%29&quot; title=&quot;K (programming language)&quot;&gt;K&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Arthur_Whitney&quot; title=&quot;Arthur Whitney&quot;&gt;Arthur Whitney&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Smalltalk, Perl&lt;/td&gt; &lt;td&gt;1993&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Ruby_%28programming_language%29&quot; title=&quot;Ruby (programming language)&quot;&gt;Ruby&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Yukihiro_Matsumoto&quot; title=&quot;Yukihiro Matsumoto&quot;&gt;Yukihiro Matsumoto&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Lua&lt;/td&gt; &lt;td&gt;1993&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Lua_%28programming_language%29&quot; title=&quot;Lua (programming language)&quot;&gt;Lua&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Roberto_Ierusalimschy&quot; title=&quot;Roberto Ierusalimschy&quot;&gt;Roberto Ierusalimschy&lt;/a&gt; &lt;i&gt;et al.&lt;/i&gt; at &lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Tecgraf%2C_PUC-Rio&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Tecgraf, PUC-Rio&quot;&gt;Tecgraf, PUC-Rio&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;C&lt;/td&gt; &lt;td&gt;1993&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/ZPL_%28programming_language%29&quot; title=&quot;ZPL (programming language)&quot;&gt;ZPL&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Chamberlain &lt;i&gt;et al.&lt;/i&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/University_of_Washington&quot; title=&quot;University of Washington&quot;&gt;University of Washington&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Self, Dylan&lt;/td&gt; &lt;td&gt;1993&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/NewtonScript&quot; title=&quot;NewtonScript&quot;&gt;NewtonScript&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Walter Smith&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Common Lisp&lt;/td&gt; &lt;td&gt;1994&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Common_Lisp&quot; title=&quot;Common Lisp&quot;&gt;ANSI Common Lisp&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Lisp&lt;/td&gt; &lt;td&gt;1994&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Dylan_%28programming_language%29&quot; title=&quot;Dylan (programming language)&quot;&gt;Dylan&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;many people at &lt;a href=&quot;http://en.wikipedia.org/wiki/Apple_Computer&quot; title=&quot;Apple Computer&quot;&gt;Apple Computer&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Perl&lt;/td&gt; &lt;td&gt;1994&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/PHP&quot; title=&quot;PHP&quot;&gt;PHP&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Rasmus_Lerdorf&quot; title=&quot;Rasmus Lerdorf&quot;&gt;Rasmus Lerdorf&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Forth&lt;/td&gt; &lt;td&gt;1994&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/ANS_Forth&quot; title=&quot;ANS Forth&quot;&gt;ANS Forth&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Elizabeth_Rather&quot; title=&quot;Elizabeth Rather&quot;&gt;Elizabeth Rather&lt;/a&gt;, et al&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Ada 83&lt;/td&gt; &lt;td&gt;1995&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Ada_%28programming_language%29&quot; title=&quot;Ada (programming language)&quot;&gt;Ada 95&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/International_Organization_for_Standardization&quot; title=&quot;International Organization for Standardization&quot;&gt;ISO&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Borland Pascal&lt;/td&gt; &lt;td&gt;1995&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Borland_Delphi&quot; title=&quot;Borland Delphi&quot;&gt;Borland Delphi&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Anders_Hejlsberg&quot; title=&quot;Anders Hejlsberg&quot;&gt;Anders Hejlsberg&lt;/a&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/Borland&quot; title=&quot;Borland&quot;&gt;Borland&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;1995&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/ColdFusion&quot; title=&quot;ColdFusion&quot;&gt;ColdFusion&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Allaire&quot; title=&quot;Allaire&quot;&gt;Allaire&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;C, SIMULA67 OR C++, Smalltalk, Objective-C&lt;/td&gt; &lt;td&gt;1995&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Java_%28programming_language%29&quot; title=&quot;Java (programming language)&quot;&gt;Java&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/James_Gosling&quot; title=&quot;James Gosling&quot;&gt;James Gosling&lt;/a&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/Sun_Microsystems&quot; title=&quot;Sun Microsystems&quot;&gt;Sun Microsystems&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;1990MUMPS&lt;/td&gt; &lt;td&gt;1995&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/MUMPS&quot; title=&quot;MUMPS&quot;&gt;1995 MUMPS&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Self, Java&lt;/td&gt; &lt;td&gt;1995&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/LiveScript&quot; title=&quot;LiveScript&quot;&gt;LiveScript&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Brendan_Eich&quot; title=&quot;Brendan Eich&quot;&gt;Brendan Eich&lt;/a&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/Netscape_Communications_Corporation&quot; title=&quot;Netscape Communications Corporation&quot;&gt;Netscape&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Lisp, C++, Tcl/Tk, TeX, HTML&lt;/td&gt; &lt;td&gt;1996&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Curl_%28programming_language%29&quot; title=&quot;Curl (programming language)&quot;&gt;Curl&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;David Kranz, Steve Ward, Chris Terman at &lt;a href=&quot;http://en.wikipedia.org/wiki/MIT&quot; title=&quot;MIT&quot;&gt;MIT&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;LiveScript&lt;/td&gt; &lt;td&gt;1996&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/JavaScript&quot; title=&quot;JavaScript&quot;&gt;JavaScript&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Brendan_Eich&quot; title=&quot;Brendan Eich&quot;&gt;Brendan Eich&lt;/a&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/Netscape_Communications_Corporation&quot; title=&quot;Netscape Communications Corporation&quot;&gt;Netscape&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Fortran 90&lt;/td&gt; &lt;td&gt;1996&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Fortran&quot; title=&quot;Fortran&quot;&gt;Fortran 95&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;APL, Perl&lt;/td&gt; &lt;td&gt;1996&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Perl_Data_Language&quot; title=&quot;Perl Data Language&quot;&gt;Perl Data Language&lt;/a&gt; (PDL)&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Karl_Glazebrook&quot; title=&quot;Karl Glazebrook&quot;&gt;Karl Glazebrook&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Jarle_Brinchmann&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Jarle Brinchmann&quot;&gt;Jarle Brinchmann&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Tuomas_Lukka&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Tuomas Lukka&quot;&gt;Tuomas Lukka&lt;/a&gt;, and &lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Christian_Soeller&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Christian Soeller&quot;&gt;Christian Soeller&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;S&lt;/td&gt; &lt;td&gt;1996&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/R_%28programming_language%29&quot; title=&quot;R (programming language)&quot;&gt;R&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Robert_Gentleman&quot; title=&quot;Robert Gentleman&quot;&gt;Robert Gentleman&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Ross_Ihaka&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Ross Ihaka&quot;&gt;Ross Ihaka&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;REXX&lt;/td&gt; &lt;td&gt;1996&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/REXX&quot; title=&quot;REXX&quot;&gt;NetRexx&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Mike_Cowlishaw&quot; title=&quot;Mike Cowlishaw&quot;&gt;Cowlishaw&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;1996&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Lasso_%28programming_language%29&quot; title=&quot;Lasso (programming language)&quot;&gt;Lasso&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Blue_World_Communication&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Blue World Communication&quot;&gt;Blue World Communication&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ksh&lt;/td&gt; &lt;td&gt;1996&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/POSIX&quot; title=&quot;POSIX&quot;&gt;/usr/bin/sh&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;POSIX standard version of Korn shell&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Oberon-2&lt;/td&gt; &lt;td&gt;1997&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Component_Pascal&quot; title=&quot;Component Pascal&quot;&gt;Component Pascal&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Oberon microsystems, Inc&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Joule, Original-E&lt;/td&gt; &lt;td&gt;1997&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/E_%28programming_language%29&quot; title=&quot;E (programming language)&quot;&gt;E&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Mark_S._Miller&quot; title=&quot;Mark S. Miller&quot;&gt;Mark S. Miller&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;SML 90&lt;/td&gt; &lt;td&gt;1997&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Standard_ML&quot; title=&quot;Standard ML&quot;&gt;SML 97&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Robin_Milner&quot; title=&quot;Robin Milner&quot;&gt;Milner&lt;/a&gt;, Tofte, &lt;a href=&quot;http://en.wikipedia.org/wiki/Robert_Harper_%28computer_scientist%29&quot; title=&quot;Robert Harper (computer scientist)&quot;&gt;Harper&lt;/a&gt; and MacQueen&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;PHP&lt;/td&gt; &lt;td&gt;1997&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/PHP&quot; title=&quot;PHP&quot;&gt;PHP&lt;/a&gt; 3&lt;/b&gt;&lt;/td&gt; &lt;td&gt;PHP team&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Scheme&lt;/td&gt; &lt;td&gt;1997&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Pico_%28programming_language%29&quot; title=&quot;Pico (programming language)&quot;&gt;Pico&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Free University of &lt;a href=&quot;http://en.wikipedia.org/wiki/Brussels&quot; title=&quot;Brussels&quot;&gt;Brussels&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Smalltalk-80, Self&lt;/td&gt; &lt;td&gt;1997&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Squeak&quot; title=&quot;Squeak&quot;&gt;Squeak Smalltalk&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Alan_Kay&quot; title=&quot;Alan Kay&quot;&gt;Alan Kay&lt;/a&gt;, &lt;i&gt;et al.&lt;/i&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/Apple_Computer&quot; title=&quot;Apple Computer&quot;&gt;Apple Computer&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;JavaScript&lt;/td&gt; &lt;td&gt;1997&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/ECMAScript&quot; title=&quot;ECMAScript&quot;&gt;ECMAScript&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Ecma_International&quot; title=&quot;Ecma International&quot;&gt;ECMA&lt;/a&gt; TC39-TG1&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Smalltalk, APL, Objective-C&lt;/td&gt; &lt;td&gt;1997&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/F-Script&quot; title=&quot;F-Script&quot;&gt;F-Script&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Philippe_Mougin&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Philippe Mougin&quot;&gt;Philippe Mougin&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;C++, Standard C&lt;/td&gt; &lt;td&gt;1998&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/C%2B%2B&quot; title=&quot;C++&quot;&gt;Standard C++&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;ANSI/ISO Standard C++&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Prolog&lt;/td&gt; &lt;td&gt;1998&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Erlang_%28programming_language%29&quot; title=&quot;Erlang (programming language)&quot;&gt;Erlang&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Open Source Erlang at &lt;a href=&quot;http://en.wikipedia.org/wiki/Ericsson&quot; title=&quot;Ericsson&quot;&gt;Ericsson&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;AWK, Perl, Unix shell&lt;/td&gt; &lt;td&gt;1998&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/PIKT&quot; title=&quot;PIKT&quot;&gt;Pikt&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Robert Osterlund (then at &lt;a href=&quot;http://en.wikipedia.org/wiki/University_of_Chicago&quot; title=&quot;University of Chicago&quot;&gt;University of Chicago&lt;/a&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;JAVA, SQL&lt;/td&gt; &lt;td&gt;1998&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/DASL_-_Distributed_Application_Specification_Language&quot; title=&quot;DASL - Distributed Application Specification Language&quot;&gt;DASL&lt;/a&gt; (BOS)&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Bob Goldberg and Ludovic Champenois at &lt;a href=&quot;http://en.wikipedia.org/wiki/Sun_Microsystems&quot; title=&quot;Sun Microsystems&quot;&gt;Sun Microsystems&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Standard C89/90&lt;/td&gt; &lt;td&gt;1999&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/C_%28programming_language%29&quot; title=&quot;C (programming language)&quot;&gt;Standard C99&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/International_Organization_for_Standardization&quot; title=&quot;International Organization for Standardization&quot;&gt;ISO&lt;/a&gt;/&lt;a href=&quot;http://en.wikipedia.org/wiki/International_Electrotechnical_Commission&quot; title=&quot;International Electrotechnical Commission&quot;&gt;IEC&lt;/a&gt; 9899:1999&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Web 2.0 IDE &amp;amp; ALM&lt;/td&gt; &lt;td&gt;1999&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/WebDev&quot; title=&quot;WebDev&quot;&gt;WebDev&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;PC Soft&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/DSSSL&quot; title=&quot;DSSSL&quot;&gt;DSSSL&lt;/a&gt;&lt;/td&gt; &lt;td&gt;1999&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/XSLT&quot; title=&quot;XSLT&quot;&gt;XSLT&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/W3C&quot; title=&quot;W3C&quot;&gt;W3C&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Game_Maker&quot; title=&quot;Game Maker&quot;&gt;Game Maker&lt;/a&gt;&lt;/td&gt; &lt;td&gt;1999&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Game_Maker_Language&quot; title=&quot;Game Maker Language&quot;&gt;Game Maker Language&lt;/a&gt; (GML)&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Mark_Overmars&quot; title=&quot;Mark Overmars&quot;&gt;Mark Overmars&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;JAVA, HTML&lt;/td&gt; &lt;td&gt;1999&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/DASL_-_Distributed_Application_Specification_Language&quot; title=&quot;DASL - Distributed Application Specification Language&quot;&gt;DASL&lt;/a&gt; (AUS)&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Bob Goldberg, Bruce Daniels, Peter Yared, Yury Kamen, and Syed Ali at &lt;a href=&quot;http://en.wikipedia.org/wiki/Sun_Microsystems&quot; title=&quot;Sun Microsystems&quot;&gt;Sun Microsystems&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;th colspan=&quot;4&quot;&gt;&lt;a name=&quot;2000s&quot;&gt;&lt;/a&gt; &lt;h3&gt;&lt;span class=&quot;editsection&quot;&gt;[&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Timeline_of_programming_languages&amp;amp;action=edit&amp;amp;section=9&quot; title=&quot;Edit section: 2000s&quot;&gt;edit&lt;/a&gt;]&lt;/span&gt; &lt;span class=&quot;mw-headline&quot;&gt;2000s&lt;/span&gt;&lt;/h3&gt; &lt;/th&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Java&lt;/td&gt; &lt;td&gt;2000&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Join_Java&quot; title=&quot;Join Java&quot;&gt;Join Java&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=G_Stewart_von_Itzstein&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;G Stewart von Itzstein&quot;&gt;G Stewart von Itzstein&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;FP, Forth&lt;/td&gt; &lt;td&gt;2000&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Joy_%28programming_language%29&quot; title=&quot;Joy (programming language)&quot;&gt;Joy&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Manfred_von_Thun&quot; title=&quot;Manfred von Thun&quot;&gt;von Thun&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;C, C++, C#, Java&lt;/td&gt; &lt;td&gt;2000&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/D_%28programming_language%29&quot; title=&quot;D (programming language)&quot;&gt;D&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Walter_Bright&quot; title=&quot;Walter Bright&quot;&gt;Walter Bright&lt;/a&gt; at Digital Mars&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Ada, C++, Lisp&lt;/td&gt; &lt;td&gt;2000&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/XL_%28programming_language%29&quot; title=&quot;XL (programming language)&quot;&gt;XL&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Christophe_de_Dinechin&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Christophe de Dinechin&quot;&gt;Christophe de Dinechin&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;C, C++, Java, Delphi&lt;/td&gt; &lt;td&gt;2000&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/C_Sharp_%28programming_language%29&quot; title=&quot;C Sharp (programming language)&quot;&gt;C#&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Anders_Hejlsberg&quot; title=&quot;Anders Hejlsberg&quot;&gt;Anders Hejlsberg&lt;/a&gt; at &lt;a href=&quot;http://en.wikipedia.org/wiki/Microsoft&quot; title=&quot;Microsoft&quot;&gt;Microsoft&lt;/a&gt;(&lt;a href=&quot;http://en.wikipedia.org/wiki/ECMA&quot; title=&quot;ECMA&quot;&gt;ECMA&lt;/a&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Java&lt;/td&gt; &lt;td&gt;2001&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/AspectJ&quot; title=&quot;AspectJ&quot;&gt;AspectJ&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Xerox_PARC&quot; title=&quot;Xerox PARC&quot;&gt;Xerox PARC&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Self, NewtonScript&lt;/td&gt; &lt;td&gt;2002&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Io_%28programming_language%29&quot; title=&quot;Io (programming language)&quot;&gt;Io&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Steve_Dekorte&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Steve Dekorte&quot;&gt;Steve Dekorte&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Perl, C++&lt;/td&gt; &lt;td&gt;2003&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/S2_%28programming_language%29&quot; title=&quot;S2 (programming language)&quot;&gt;S2&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Brad_Fitzpatrick&quot; title=&quot;Brad Fitzpatrick&quot;&gt;Fitzpatrick&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Martin_Atkins&quot; title=&quot;Martin Atkins&quot;&gt;Atkins&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;C#, &lt;a href=&quot;http://en.wikipedia.org/wiki/Standard_ML&quot; title=&quot;Standard ML&quot;&gt;ML&lt;/a&gt;, MetaHaskell&lt;/td&gt; &lt;td&gt;2003&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Nemerle&quot; title=&quot;Nemerle&quot;&gt;Nemerle&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;University of &lt;a href=&quot;http://en.wikipedia.org/wiki/Wroc%C5%82aw&quot; title=&quot;Wrocław&quot;&gt;Wrocław&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Joy, Forth, Lisp&lt;/td&gt; &lt;td&gt;2003&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Factor_%28programming_language%29&quot; title=&quot;Factor (programming language)&quot;&gt;Factor&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Slava Pestov&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Smalltalk, Java, Haskell, Standard ML, OCaml&lt;/td&gt; &lt;td&gt;2003&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Scala_%28programming_language%29&quot; title=&quot;Scala (programming language)&quot;&gt;Scala&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Martin_Odersky&quot; title=&quot;Martin Odersky&quot;&gt;Martin Odersky&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;C, C++&lt;/td&gt; &lt;td&gt;2004&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/EC_%28Programming_language%29&quot; title=&quot;EC (Programming language)&quot;&gt;eC (Ecere C)&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Jérôme Jacovella-St-Louis, &lt;a href=&quot;http://www.ecere.com/&quot; class=&quot;external text&quot; title=&quot;http://www.ecere.com/&quot; rel=&quot;nofollow&quot;&gt;Ecere Corporation&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Fortran 95&lt;/td&gt; &lt;td&gt;2004&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Fortran&quot; title=&quot;Fortran&quot;&gt;Fortran 2003&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Mobile Development&lt;/td&gt; &lt;td&gt;2004&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/WinDev_Mobile&quot; title=&quot;WinDev Mobile&quot;&gt;WinDev Mobile&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;PC Soft&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;2004&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Subtext_%28programming_language%29&quot; title=&quot;Subtext (programming language)&quot;&gt;Subtext&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Jonathan Edwards&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Python, C#, Ruby&lt;/td&gt; &lt;td&gt;2004&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Boo_%28programming_language%29&quot; title=&quot;Boo (programming language)&quot;&gt;Boo&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Rodrigo B. de Oliveira&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Object_Pascal&quot; title=&quot;Object Pascal&quot;&gt;Object Pascal&lt;/a&gt;, C#&lt;/td&gt; &lt;td&gt;2004&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Chrome_programming_language&quot; title=&quot;Chrome programming language&quot;&gt;Chrome programming language&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://www.remobjects.com/&quot; class=&quot;external text&quot; title=&quot;http://www.remobjects.com/&quot; rel=&quot;nofollow&quot;&gt;RemObjects Software&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Java&lt;/td&gt; &lt;td&gt;2004&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Groovy_%28programming_language%29&quot; title=&quot;Groovy (programming language)&quot;&gt;Groovy&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/James_Strachan&quot; title=&quot;James Strachan&quot;&gt;James Strachan&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;*&lt;/td&gt; &lt;td&gt;2005&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Seed7&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;Seed7&quot;&gt;Seed7&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;Thomas Mertes&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Haskell&lt;/td&gt; &lt;td&gt;2006&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Links_%28programming_language%29&quot; title=&quot;Links (programming language)&quot;&gt;Links&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Phil_Wadler&quot; title=&quot;Phil Wadler&quot;&gt;Phil Wadler&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/University_of_Edinburgh&quot; title=&quot;University of Edinburgh&quot;&gt;University of Edinburgh&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;ksh, C#, Ruby, SQL, &lt;a href=&quot;http://en.wikipedia.org/wiki/AS/400_Control_Language&quot; title=&quot;AS/400 Control Language&quot;&gt;CL&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/DIGITAL_Command_Language&quot; title=&quot;DIGITAL Command Language&quot;&gt;DCL&lt;/a&gt;&lt;/td&gt; &lt;td&gt;2006&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Windows_PowerShell&quot; title=&quot;Windows PowerShell&quot;&gt;Windows PowerShell&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Microsoft&quot; title=&quot;Microsoft&quot;&gt;Microsoft&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;C#&lt;/td&gt; &lt;td&gt;2006-07&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/C_omega&quot; title=&quot;C omega&quot;&gt;Cω&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Microsoft_Research&quot; title=&quot;Microsoft Research&quot;&gt;Microsoft Research&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Ada 95&lt;/td&gt; &lt;td&gt;2007&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Ada_%28programming_language%29&quot; title=&quot;Ada (programming language)&quot;&gt;Ada 2005&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/International_Organization_for_Standardization&quot; title=&quot;International Organization for Standardization&quot;&gt;ISO&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;APEX&lt;/td&gt; &lt;td&gt;2007&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=APEX_%28programming_language%29&amp;amp;action=edit&quot; class=&quot;new&quot; title=&quot;APEX (programming language)&quot;&gt;APEX&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Salesforce.com&quot; title=&quot;Salesforce.com&quot;&gt;Salesforce.com&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;C#&lt;/td&gt; &lt;td&gt;2007&lt;/td&gt; &lt;td&gt;&lt;b&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Vala_%28programming_language%29&quot; title=&quot;Vala (programming language)&quot;&gt;Vala&lt;/a&gt;&lt;/b&gt;&lt;/td&gt; &lt;td&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/GNOME&quot; title=&quot;GNOME&quot;&gt;GNOME&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description><link>http://downloadsfreesoftwares.blogspot.com/2008/02/list-of-programing-language.html</link><author>noreply@blogger.com (Juni Salman)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7611896947576374183.post-4032456563272057162</guid><pubDate>Mon, 04 Feb 2008 06:58:00 +0000</pubDate><atom:updated>2008-02-03T23:45:03.487-08:00</atom:updated><title>programing language</title><description>to instruct a computer we need a command that comuter can understand and it call programing language&lt;br /&gt;&lt;br /&gt;Traits often considered important for constituting a programming language:&lt;br /&gt;&lt;br /&gt;   * Function: A programming language is a language used to write computer programs, which involve a computer performing some kind of computation[4] or algorithm and possibly control external devices such as printers, robots[5], and so on.&lt;br /&gt;&lt;br /&gt;   * Target: Programming languages differ from natural languages in that natural languages are only used for interaction between people, while programming languages also allow humans to communicate instructions to machines. Some programming languages are used by one device to control another. For example PostScript programs are frequently created by another program to control a computer printer or display.&lt;br /&gt;&lt;br /&gt;   * Constructs: Programming languages may contain constructs for defining and manipulating data structures or controlling the flow of execution.&lt;br /&gt;&lt;br /&gt;   * Expressive power: The theory of computation classifies languages by the computations they can express (see Chomsky hierarchy). All Turing complete languages can implement the same set of algorithms. ANSI/ISO SQL and Charity are examples of languages that are not Turing complete yet often called programming languages.[6][7]&lt;br /&gt;&lt;br /&gt;Non-computational languages, such as markup languages like HTML or formal grammars like BNF, are usually not considered programming languages. Often a programming language is embedded in the non-computational (host) language.&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;br /&gt;Purpose&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A prominent purpose of programming languages is to provide instructions to a computer. As such, programming languages differ from most other forms of human expression in that they require a greater degree of precision and completeness. When using a natural language to communicate with other people, human authors and speakers can be ambiguous and make small errors, and still expect their intent to be understood. However, computers do exactly what they are told to do, and cannot understand the code the programmer &quot;intended&quot; to write. The combination of the language definition, the program, and the program&#39;s inputs must fully specify the external behavior that occurs when the program is executed.&lt;br /&gt;&lt;br /&gt;Many languages have been designed from scratch, altered to meet new needs, combined with other languages, and eventually fallen into disuse. Although there have been attempts to design one &quot;universal&quot; computer language that serves all purposes, all of them have failed to be accepted in this role.[8] The need for diverse computer languages arises from the diversity of contexts in which languages are used:&lt;br /&gt;&lt;br /&gt;   * Programs range from tiny scripts written by individual hobbyists to huge systems written by hundreds of programmers.&lt;br /&gt;   * Programmers range in expertise from novices who need simplicity above all else, to experts who may be comfortable with considerable complexity.&lt;br /&gt;   * Programs must balance speed, size, and simplicity on systems ranging from microcontrollers to supercomputers.&lt;br /&gt;   * Programs may be written once and not change for generations, or they may undergo nearly constant modification.&lt;br /&gt;   * Finally, programmers may simply differ in their tastes: they may be accustomed to discussing problems and expressing them in a particular language.&lt;br /&gt;&lt;br /&gt;One common trend in the development of programming languages has been to add more ability to solve problems using a higher level of abstraction. The earliest programming languages were tied very closely to the underlying hardware of the computer. As new programming languages have developed, features have been added that let programmers express ideas that are more removed from simple translation into underlying hardware instructions. Because programmers are less tied to the needs of the computer, their programs can do more computing with less effort from the programmer. This lets them write more programs in the same amount of time.[9]&lt;br /&gt;&lt;br /&gt;Natural language processors have been proposed as a way to eliminate the need for a specialized language for programming. However, this goal remains distant and its benefits are open to debate. Edsger Dijkstra took the position that the use of a formal language is essential to prevent the introduction of meaningless constructs, and dismissed natural language programming as &quot;foolish.&quot;[10] Alan Perlis was similarly dismissive of the idea.[11]&lt;br /&gt;&lt;br /&gt;programming language&#39;s surface form is known as its syntax. Most programming languages are purely textual; they use sequences of text including words, numbers, and punctuation, much like written natural languages. On the other hand, there are some programming languages which are more graphical in nature, using spatial relationships between symbols to specify a program.&lt;br /&gt;&lt;br /&gt;The syntax of a language describes the possible combinations of symbols that form a syntactically correct program. The meaning given to a combination of symbols is handled by semantics. Since most languages are textual, this article discusses textual syntax.&lt;br /&gt;&lt;br /&gt;Programming language syntax is usually defined using a combination of regular expressions (for lexical structure) and Backus-Naur Form (for grammatical structure). Below is a simple grammar, based on Lisp:&lt;br /&gt;&lt;br /&gt;expression ::= atom | list&lt;br /&gt;atom  ::= number | symbol&lt;br /&gt;number  ::= [+-]?[&#39;0&#39;-&#39;9&#39;]+&lt;br /&gt;symbol  ::= [&#39;A&#39;-&#39;Z&#39;&#39;a&#39;-&#39;z&#39;].*&lt;br /&gt;list  ::= &#39;(&#39; expression* &#39;)&#39;&lt;br /&gt;&lt;br /&gt;This grammar specifies the following:&lt;br /&gt;&lt;br /&gt;   * an expression is either an atom or a list;&lt;br /&gt;   * an atom is either a number or a symbol;&lt;br /&gt;   * a number is an unbroken sequence of one or more decimal digits, optionally preceded by a plus or minus sign;&lt;br /&gt;   * a symbol is a letter followed by zero or more of any characters (excluding whitespace); and&lt;br /&gt;   * a list is a matched pair of parentheses, with zero or more expressions inside it.&lt;br /&gt;&lt;br /&gt;The following are examples of well-formed token sequences in this grammar: &#39;12345&#39;, &#39;()&#39;, &#39;(a b c232 (1))&#39;&lt;br /&gt;&lt;br /&gt;Not all syntactically correct programs are semantically correct. Many syntactically correct programs are nonetheless ill-formed, per the language&#39;s rules; and may (depending on the language specification and the soundness of the implementation) result in an error on translation or execution. In some cases, such programs may exhibit undefined behavior. Even when a program is well-defined within a language, it may still have a meaning that is not intended by the person who wrote it.&lt;br /&gt;&lt;br /&gt;Using natural language as an example, it may not be possible to assign a meaning to a grammatically correct sentence or the sentence may be false:&lt;br /&gt;&lt;br /&gt;   * &quot;Colorless green ideas sleep furiously.&quot; is grammatically well-formed but has no generally accepted meaning.&lt;br /&gt;   * &quot;John is a married bachelor.&quot; is grammatically well-formed but expresses a meaning that cannot be true.&lt;br /&gt;&lt;br /&gt;The following C language fragment is syntactically correct, but performs an operation that is not semantically defined (because p is a null pointer, the operations p-&gt;real and p-&gt;im have no meaning):&lt;br /&gt;&lt;br /&gt;complex *p = NULL;&lt;br /&gt;complex abs_p = sqrt (p-&gt;real * p-&gt;real + p-&gt;im * p-&gt;im);&lt;br /&gt;&lt;br /&gt;The grammar needed to specify a programming language can be classified by its position in the Chomsky hierarchy. The syntax of most programming languages can be specified using a Type-2 grammar, i.e., they are context-free grammars.[12]&lt;br /&gt;&lt;br /&gt;A type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. This generally includes a description of the data structures that can be constructed in the language. The design and study of type systems using formal mathematics is known as type theory.&lt;br /&gt;&lt;br /&gt;Internally, all data in modern digital computers are stored simply as zeros or ones (binary).&lt;br /&gt;&lt;br /&gt;A language is typed if operations defined for one data type cannot be performed on values of another data type.[13] For example, &quot;this text between the quotes&quot; is a string. In most programming languages, dividing a number by a string has no meaning. Most modern programming languages will therefore reject any program attempting to perform such an operation. In some languages, the meaningless operation will be detected when the program is compiled (&quot;static&quot; type checking), and rejected by the compiler, while in others, it will be detected when the program is run (&quot;dynamic&quot; type checking), resulting in a runtime exception.&lt;br /&gt;&lt;br /&gt;A special case of typed languages are the single-type languages. These are often scripting or markup languages, such as Rexx or SGML, and have only one data type — most commonly character strings which are used for both symbolic and numeric data.&lt;br /&gt;&lt;br /&gt;In contrast, an untyped language, such as most assembly languages, allows any operation to be performed on any data, which are generally considered to be sequences of bits of various lengths.[13] High-level languages which are untyped include BCPL and some varieties of Forth.&lt;br /&gt;&lt;br /&gt;In practice, while few languages are considered typed from the point of view of type theory (verifying or rejecting all operations), most modern languages offer a degree of typing.[13] Many production languages provide means to bypass or subvert the type system.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In static typing all expressions have their types determined prior to the program being run (typically at compile-time). For example, 1 and (2+2) are integer expressions; they cannot be passed to a function that expects a string, or stored in a variable that is defined to hold dates.[13]&lt;br /&gt;&lt;br /&gt;Statically-typed languages can be manifestly typed or type-inferred. In the first case, the programmer must explicitly write types at certain textual positions (for example, at variable declarations). In the second case, the compiler infers the types of expressions and declarations based on context. Most mainstream statically-typed languages, such as C++ and Java, are manifestly typed. Complete type inference has traditionally been associated with less mainstream languages, such as Haskell and ML. However, many manifestly typed languages support partial type inference; for example, Java and C# both infer types in certain limited cases.[14] Dynamic typing, also called latent typing, determines the type-safety of operations at runtime; in other words, types are associated with runtime values rather than textual expressions.[13] As with type-inferred languages, dynamically typed languages do not require the programmer to write explicit type annotations on expressions. Among other things, this may permit a single variable to refer to values of different types at different points in the program execution. However, type errors cannot be automatically detected until a piece of code is actually executed, making debugging more difficult. Ruby, Lisp, JavaScript, and Python are dynamically typed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Weak typing allows a value of one type to be treated as another, for example treating a string as a number.[13] This can occasionally be useful, but it can also allow some kinds of program faults to go undetected at compile time.&lt;br /&gt;&lt;br /&gt;Strong typing prevents the above. Attempting to mix types raises an error.[13] Strongly-typed languages are often termed type-safe or safe. Type safety can prevent particular kinds of program faults occurring (because constructs containing them are flagged at compile time).&lt;br /&gt;&lt;br /&gt;An alternative definition for &quot;weakly typed&quot; refers to languages, such as Perl, JavaScript, and C++ which permit a large number of implicit type conversions; Perl in particular can be characterized as a dynamically typed programming language in which type checking can take place at runtime. See type system. This capability is often useful, but occasionally dangerous; as it would permit operations whose objects can change type on demand.&lt;br /&gt;&lt;br /&gt;Strong and static are generally considered orthogonal concepts, but usage in the literature differs. Some use the term strongly typed to mean strongly, statically typed, or, even more confusingly, to mean simply statically typed. Thus C has been called both strongly typed and weakly, statically typed.[15][16].&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Execution semantics&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Once data has been specified, the machine must be instructed to perform operations on the data. The execution semantics of a language defines how and when the various constructs of a language should produce a program behavior.&lt;br /&gt;&lt;br /&gt;For example, the semantics may define the strategy by which expressions are evaluated to values, or the manner in which control structures conditionally execute statements.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Core library&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Most programming languages have an associated core library (sometimes known as the &#39;Standard library&#39;, especially if it is included as part of the published language standard), which is conventionally made available by all implementations of the language. Core libraries typically include definitions for commonly used algorithms, data structures, and mechanisms for input and output.&lt;br /&gt;&lt;br /&gt;A language&#39;s core library is often treated as part of the language by its users, although the designers may have treated it as a separate entity. Many language specifications define a core that must be made available in all implementations, and in the case of standardized languages this core library may be required. The line between a language and its core library therefore differs from language to language. Indeed, some languages are designed so that the meanings of certain syntactic constructs cannot even be described without referring to the core library. For example, in Java, a string literal is defined as an instance of the java.lang.String class; similarly, in Smalltalk, an anonymous function expression (a &quot;block&quot;) constructs an instance of the library&#39;s BlockContext class. Conversely, Scheme contains multiple coherent subsets that suffice to construct the rest of the language as library macros, and so the language designers do not even bother to say which portions of the language must be implemented as language constructs, and which must be implemented as parts of a library.&lt;br /&gt;&lt;a href=&quot;http://technorati.com/faves?sub=addfavbtn&amp;amp;add=http://brok3nheart-blog.blogspot.com&quot;&gt;&lt;img src=&quot;http://static.technorati.com/pix/fave/btn-fave2.png&quot; alt=&quot;Add to Technorati Favorites&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;http://tinyurl.com/2b5ojn&quot;&gt;&lt;/script&gt;</description><link>http://downloadsfreesoftwares.blogspot.com/2008/02/programing-language.html</link><author>noreply@blogger.com (Juni Salman)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7611896947576374183.post-5479361108547234745</guid><pubDate>Mon, 04 Feb 2008 06:47:00 +0000</pubDate><atom:updated>2008-02-03T22:50:12.321-08:00</atom:updated><title>how computer works</title><description>A general purpose computer has four main sections: the arithmetic and logic unit (ALU), the control unit, the memory, and the input and output devices (collectively termed I/O). These parts are interconnected by busses, often made of groups of wires.&lt;br /&gt;&lt;br /&gt;The control unit, ALU, registers, and basic I/O (and often other hardware closely linked with these) are collectively known as a central processing unit (CPU). Early CPUs were composed of many separate components but since the mid-1970s CPUs have typically been constructed on a single integrated circuit called a microprocessor.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Control unit&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The control unit (often called a control system or central controller) directs the various components of a computer. It reads and interprets (decodes) instructions in the program one by one. The control system decodes each instruction and turns it into a series of control signals that operate the other parts of the computer.[12] Control systems in advanced computers may change the order of some instructions so as to improve performance.&lt;br /&gt;&lt;br /&gt;A key component common to all CPUs is the program counter, a special memory cell (a register) that keeps track of which location in memory the next instruction is to be read from.[13]&lt;br /&gt;Diagram showing how a particular MIPS architecture instruction would be decoded by the control system.&lt;br /&gt;Diagram showing how a particular MIPS architecture instruction would be decoded by the control system.&lt;br /&gt;&lt;br /&gt;The control system&#39;s function is as follows—note that this is a simplified description, and some of these steps may be performed concurrently or in a different order depending on the type of CPU:&lt;br /&gt;&lt;br /&gt;   1. Read the code for the next instruction from the cell indicated by the program counter.&lt;br /&gt;   2. Decode the numerical code for the instruction into a set of commands or signals for each of the other systems.&lt;br /&gt;   3. Increment the program counter so it points to the next instruction.&lt;br /&gt;   4. Read whatever data the instruction requires from cells in memory (or perhaps from an input device). The location of this required data is typically stored within the instruction code.&lt;br /&gt;   5. Provide the necessary data to an ALU or register.&lt;br /&gt;   6. If the instruction requires an ALU or specialized hardware to complete, instruct the hardware to perform the requested operation.&lt;br /&gt;   7. Write the result from the ALU back to a memory location or to a register or perhaps an output device.&lt;br /&gt;   8. Jump back to step (1).&lt;br /&gt;&lt;br /&gt;Since the program counter is (conceptually) just another set of memory cells, it can be changed by calculations done in the ALU. Adding 100 to the program counter would cause the next instruction to be read from a place 100 locations further down the program. Instructions that modify the program counter are often known as &quot;jumps&quot; and allow for loops (instructions that are repeated by the computer) and often conditional instruction execution (both examples of control flow).&lt;br /&gt;&lt;br /&gt;It is noticeable that the sequence of operations that the control unit goes through to process an instruction is in itself like a short computer program - and indeed, in some more complex CPU designs, there is another yet smaller computer called a microsequencer that runs a microcode program that causes all of these events to happen.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Arithmetic/logic unit (ALU)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The ALU is capable of performing two classes of operations: arithmetic and logic.&lt;br /&gt;The set of arithmetic operations that a particular ALU supports may be limited to adding and subtracting or might include multiplying or dividing, trigonometry functions (sine, cosine, etc) and square roots. Some can only operate on whole numbers (integers) whilst others use floating point to represent real numbers—albeit with limited precision. However, any computer that is capable of performing just the simplest operations can be programmed to break down the more complex operations into simple steps that it can perform. Therefore, any computer can be programmed to perform any arithmetic operation—although it will take more time to do so if its ALU does not directly support the operation. An ALU may also compare numbers and return boolean truth values (true or false) depending on whether one is equal to, greater than or less than the other (&quot;is 64 greater than 65?&quot;).&lt;br /&gt;&lt;br /&gt;Logic operations involve Boolean logic: AND, OR, XOR and NOT. These can be useful both for creating complicated conditional statements and processing boolean logic.&lt;br /&gt;&lt;br /&gt;Superscalar computers contain multiple ALUs so that they can process several instructions at the same time. Graphics processors and computers with SIMD and MIMD features often provide ALUs that can perform arithmetic on vectors and matrices.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Memory&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A computer&#39;s memory can be viewed as a list of cells into which numbers can be placed or read. Each cell has a numbered &quot;address&quot; and can store a single number. The computer can be instructed to &quot;put the number 123 into the cell numbered 1357&quot; or to &quot;add the number that is in cell 1357 to the number that is in cell 2468 and put the answer into cell 1595&quot;. The information stored in memory may represent practically anything. Letters, numbers, even computer instructions can be placed into memory with equal ease. Since the CPU does not differentiate between different types of information, it is up to the software to give significance to what the memory sees as nothing but a series of numbers.&lt;br /&gt;&lt;br /&gt;In almost all modern computers, each memory cell is set up to store binary numbers in groups of eight bits (called a byte). Each byte is able to represent 256 different numbers; either from 0 to 255 or -128 to +127. To store larger numbers, several consecutive bytes may be used (typically, two, four or eight). When negative numbers are required, they are usually stored in two&#39;s complement notation. Other arrangements are possible, but are usually not seen outside of specialized applications or historical contexts. A computer can store any kind of information in memory as long as it can be somehow represented in numerical form. Modern computers have billions or even trillions of bytes of memory.&lt;br /&gt;&lt;br /&gt;The CPU contains a special set of memory cells called registers that can be read and written to much more rapidly than the main memory area. There are typically between two and one hundred registers depending on the type of CPU. Registers are used for the most frequently needed data items to avoid having to access main memory every time data is needed. Since data is constantly being worked on, reducing the need to access main memory (which is often slow compared to the ALU and control units) greatly increases the computer&#39;s speed.&lt;br /&gt;&lt;br /&gt;Computer main memory comes in two principal varieties: random access memory or RAM and read-only memory or ROM. RAM can be read and written to anytime the CPU commands it, but ROM is pre-loaded with data and software that never changes, so the CPU can only read from it. ROM is typically used to store the computer&#39;s initial start-up instructions. In general, the contents of RAM is erased when the power to the computer is turned off while ROM retains its data indefinitely. In a PC, the ROM contains a specialized program called the BIOS that orchestrates loading the computer&#39;s operating system from the hard disk drive into RAM whenever the computer is turned on or reset. In embedded computers, which frequently do not have disk drives, all of the software required to perform the task may be stored in ROM. Software that is stored in ROM is often called firmware because it is notionally more like hardware than software. Flash memory blurs the distinction between ROM and RAM by retaining data when turned off but being rewritable like RAM. However, flash memory is typically much slower than conventional ROM and RAM so its use is restricted to applications where high speeds are not required.[14]&lt;br /&gt;&lt;br /&gt;In more sophisticated computers there may be one or more RAM cache memories which are slower than registers but faster than main memory. Generally computers with this sort of cache are designed to move frequently needed data into the cache automatically, often without the need for any intervention on the programmer&#39;s part.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Input/output (I/O)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I/O is the means by which a computer receives information from the outside world and sends results back. Devices that provide input or output to the computer are called peripherals. On a typical personal computer, peripherals include input devices like the keyboard and mouse, and output devices such as the display and printer. Hard disk drives, floppy disk drives and optical disc drives serve as both input and output devices. Computer networking is another form of I/O.&lt;br /&gt;&lt;br /&gt;Often, I/O devices are complex computers in their own right with their own CPU and memory. A graphics processing unit might contain fifty or more tiny computers that perform the calculations necessary to display 3D graphics[citation needed]. Modern desktop computers contain many smaller computers that assist the main CPU in performing I/O.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Multitasking&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;While a computer may be viewed as running one gigantic program stored in its main memory, in some systems it is necessary to give the appearance of running several programs simultaneously. This is achieved by having the computer switch rapidly between running each program in turn. One means by which this is done is with a special signal called an interrupt which can periodically cause the computer to stop executing instructions where it was and do something else instead. By remembering where it was executing prior to the interrupt, the computer can return to that task later. If several programs are running &quot;at the same time&quot;, then the interrupt generator might be causing several hundred interrupts per second, causing a program switch each time. Since modern computers typically execute instructions several orders of magnitude faster than human perception, it may appear that many programs are running at the same time even though only one is ever executing in any given instant. This method of multitasking is sometimes termed &quot;time-sharing&quot; since each program is allocated a &quot;slice&quot; of time in turn.&lt;br /&gt;&lt;br /&gt;Before the era of cheap computers, the principle use for multitasking was to allow many people to share the same computer.&lt;br /&gt;&lt;br /&gt;Seemingly, multitasking would cause a computer that is switching between several programs to run more slowly - in direct proportion to the number of programs it is running. However, most programs spend much of their time waiting for slow input/output devices to complete their tasks. If a program is waiting for the user to click on the mouse or press a key on the keyboard, then it will not take a &quot;time slice&quot; until the event it is waiting for has occurred. This frees up time for other programs to execute so that many programs may be run at the same time without unacceptable speed loss.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Multiprocessing&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Some computers may divide their work between one or more separate CPUs, creating a multiprocessing configuration. Traditionally, this technique was utilized only in large and powerful computers such as supercomputers, mainframe computers and servers. However, multiprocessor and multi-core (multiple CPUs on a single integrated circuit) personal and laptop computers have become widely available and are beginning to see increased usage in lower-end markets as a result.&lt;br /&gt;&lt;br /&gt;Supercomputers in particular often have highly unique architectures that differ significantly from the basic stored-program architecture and from general purpose computers.[15] They often feature thousands of CPUs, customized high-speed interconnects, and specialized computing hardware. Such designs tend to be useful only for specialized tasks due to the large scale of program organization required to successfully utilize most of a the available resources at once. Supercomputers usually see usage in large-scale simulation, graphics rendering, and cryptography applications, as well as with other so-called &quot;embarrassingly parallel&quot; tasks.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Networking and the Internet&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Computers have been used to coordinate information in multiple locations since the 1950s. The U.S. military&#39;s SAGE system was the first large-scale example of such a system, which led to a number of special-purpose commercial systems like Sabre.&lt;br /&gt;&lt;br /&gt;In the 1970s, computer engineers at research institutions throughout the United States began to link their computers together using telecommunications technology. This effort was funded by ARPA (now DARPA), and the computer network that it produced was called the ARPANET. The technologies that made the Arpanet possible spread and evolved. In time, the network spread beyond academic and military institutions and became known as the Internet. The emergence of networking involved a redefinition of the nature and boundaries of the computer. Computer operating systems and applications were modified to include the ability to define and access the resources of other computers on the network, such as peripheral devices, stored information, and the like, as extensions of the resources of an individual computer. Initially these facilities were available primarily to people working in high-tech environments, but in the 1990s the spread of applications like e-mail and the World Wide Web, combined with the development of cheap, fast networking technologies like Ethernet and ADSL saw computer networking become almost ubiquitous. In fact, the number of computers that are networked is growing phenomenally. A very large proportion of personal computers regularly connect to the Internet to communicate and receive information. &quot;Wireless&quot; networking, often utilizing mobile phone networks, has meant networking is becoming increasingly ubiquitous even in mobile computing environments.</description><link>http://downloadsfreesoftwares.blogspot.com/2008/02/how-computer-works.html</link><author>noreply@blogger.com (Juni Salman)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7611896947576374183.post-7810918513155074959</guid><pubDate>Mon, 04 Feb 2008 06:43:00 +0000</pubDate><atom:updated>2008-02-03T22:47:33.596-08:00</atom:updated><title>opening</title><description>Before we talk more about computer at least we must know what computer is it...&lt;br /&gt;A computer is a machine that manipulates data according to a list of instructions.&lt;br /&gt;&lt;br /&gt;Computers take numerous physical forms. The first devices that resemble modern computers date to the mid-20th century (around 1940 - 1945), although the computer concept and various machines similar to computers existed earlier. Early electronic computers were the size of a large room, consuming as much power as several hundred modern personal computers.[1] Modern computers are based on comparatively tiny integrated circuits and are millions to billions of times more capable while occupying a fraction of the space.[2] Today, simple computers may be made small enough to fit into a wristwatch and be powered from a watch battery. Personal computers in various forms are icons of the Information Age and are what most people think of as &quot;a computer&quot;; however, the most common form of computer in use today is the embedded computer. Embedded computers are small, simple devices that are used to control other devices — for example, they may be found in machines ranging from fighter aircraft to industrial robots, digital cameras, and children&#39;s toys.&lt;br /&gt;&lt;br /&gt;The ability to store and execute lists of instructions called programs makes computers extremely versatile and distinguishes them from calculators. The Church–Turing thesis is a mathematical statement of this versatility: any computer with a certain minimum capability is, in principle, capable of performing the same tasks that any other computer can perform. Therefore, computers with capability and complexity ranging from that of a personal digital assistant to a supercomputer are all able to perform the same computational tasks given enough time and storage capacity&lt;br /&gt;(wikipedia.com)</description><link>http://downloadsfreesoftwares.blogspot.com/2008/02/opening.html</link><author>noreply@blogger.com (Juni Salman)</author><thr:total>0</thr:total></item></channel></rss>