<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Martijn's C# Programming Blog &#187; Java</title>
	<atom:link href="http://www.dijksterhuis.org/tag/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dijksterhuis.org</link>
	<description>Information, news about programming in C#</description>
	<lastBuildDate>Fri, 07 Aug 2009 21:26:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>C# Trends, big and small</title>
		<link>http://www.dijksterhuis.org/csharp-trends-small-and-big/</link>
		<comments>http://www.dijksterhuis.org/csharp-trends-small-and-big/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 04:28:37 +0000</pubDate>
		<dc:creator>Martijn</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[C# jobs]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.dijksterhuis.org/?p=726</guid>
		<description><![CDATA[
You cannot post to a blog on a regular basis without obtaining somewhat of an (unhealthy) obsession with statistics. There are just too many fascinating tools available. I am a recovering addict which should give me more time to actually write articles and code. But some interesting observations can be made about Visual Basic versus [...]<p>This is a post from <a href="http://www.dijksterhuis.org">Martijn's C# Coding Blog</a>. </p>
]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-732" title="Its a dirty job, but somebody has to do it. " src="http://www.dijksterhuis.org/wp-content/uploads/2009/03/window.jpg" alt="Its a dirty job, but somebody has to do it. " width="500" height="250" /></p>
<p><em>You cannot post to a blog on a regular basis without obtaining somewhat of an (unhealthy) obsession with statistics. There are just too many fascinating tools available. I am a recovering addict which should give me more time to actually write articles and code. But some interesting observations can be made about Visual Basic versus C# and Java, the C# job market and where all these C# developers actually live.</em></p>
<p><span id="more-726"></span></p>
<p><em></em><strong>Visual Basic or C#?</strong><em></em></p>
<p>In Australia C# developers might be tempted <a id="bbu5" title="to look down upon Visual Basic developers" href="http://www.builderau.com.au/program/csharp/soa/Why-do-C-developers-look-down-on-VB-NET-/0,339028385,339294914,00.htm">to look down upon Visual Basic developers</a> , I hold no such prejudice. The right tool for the job, and if that is Visual Basic why not? Visual Basic is however sliding when compared to C# as shown by Google trends. Somewhere in January 2005 C# became more popular when comparing Visual Basic to C#.  But not because of any spectacular growth in interest in C#. Queries about Visual Basic programming have declined and continue to do so.</p>
<div id="h:s:" style="padding: 1em 0pt; text-align: left;"><img class="aligncenter size-medium wp-image-728" title="Visual Basic versus C#" src="http://www.dijksterhuis.org/wp-content/uploads/2009/03/visual-basic-versus-c-499x183.png" alt="Visual Basic versus C#" width="499" height="183" /></div>
<p><strong>Placing it next to an island sized cup of coffee, Java. </strong></p>
<p>Google trends is of course less than accurate when comparing C# to Java. Searches for Java include all those Indonesian holiday bookings and of course, worldwide caffeine addicts looking for their next shot of coffee. There is no simple way to filter those searches out, but overall there is a decrease in the number of searches for Java. So is this good news for those who invested their time in learning C#, or is the world wide coffee market in decline? </p>
<div id="fe_v" style="padding: 1em 0pt; text-align: left;"><img class="aligncenter size-medium wp-image-729" title="C# versus Java" src="http://www.dijksterhuis.org/wp-content/uploads/2009/03/c-versus-java-499x181.png" alt="C# versus Java" width="499" height="181" /></div>
<p>I had a quick look at Monster.COM and to add some more unscientific research to this article: currently there are 90 C#/.NET developer job openings and 197 Java job openings in the San Francisco bay area. I would recommend holding on to that &#8220;Java for Beginners&#8221; handbook for now.</p>
<p><strong>So where do all those C#/.NET coders live? </strong></p>
<p>India, South Africa and Israel are the countries with the most C# searches, the no.1 city for C# searches is Redmond in Washington state (do I wonder why?)  closely followed by Banglore in India. My own home country (Holland) is nowhere to be found so I guess this means that my future job prospects are not looking all that healthy.</p>
<div>
<table class="list zeroBorder" border="0" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<td style="border-left: medium hidden; padding: 5px 3px 5px 10px;" width="1" align="right" valign="center"><span>1.</span></td>
<td style="padding: 5px 3px;" align="left" valign="center"><span><a href="http://www.google.com/trends?q=C%23&amp;date=all&amp;geo=ind&amp;ctab=0&amp;sort=0&amp;sa=N">India</a></span></td>
<td style="border-right: medium hidden; padding: 2px 3px;" valign="center">
<table class="bar zeroBorder" style="height: 4px;" border="0" cellspacing="0" width="100" bgcolor="#4684ee">
<tbody>
<tr>
<td></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style="border-left: medium hidden; padding: 5px 3px 5px 10px;" width="1" align="right" valign="center"><span>2.</span></td>
<td style="padding: 5px 3px;" align="left" valign="center"><span><a href="http://www.google.com/trends?q=C%23&amp;date=all&amp;geo=zaf&amp;ctab=0&amp;sort=0&amp;sa=N">South Africa</a></span></td>
<td style="border-right: medium hidden; padding: 2px 3px;" valign="center">
<table class="bar zeroBorder" style="height: 4px;" border="0" cellspacing="0" width="38" bgcolor="#4684ee">
<tbody>
<tr>
<td></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style="border-left: medium hidden; padding: 5px 3px 5px 10px;" width="1" align="right" valign="center"><span>3.</span></td>
<td style="padding: 5px 3px;" align="left" valign="center"><span><a href="http://www.google.com/trends?q=C%23&amp;date=all&amp;geo=isr&amp;ctab=0&amp;sort=0&amp;sa=N">Israel</a></span></td>
<td style="border-right: medium hidden; padding: 2px 3px;" valign="center">
<table class="bar zeroBorder" style="height: 4px;" border="0" cellspacing="0" width="36" bgcolor="#4684ee">
<tbody>
<tr>
<td></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
<p>Looking at the Google Analytics map for this blog, the No #1 source of visitors is the USA (30%), but it is again followed in second place by India(8%) (you are very welcome everyone!).</p>
<p>To end this post <a id="j_32" title="on a positive note" href="http://econsultancy.com/blog/3232-where-s-the-money-at-veritude-reveals-2009-it-hiring-trends">on a positive note</a> with a prediction for the remainder of 2009:</p>
<div style="margin-left: 40px;"><em>Workers with business intelligence skills (e.g. Oracle, Informatica, Hyperion, etc.) and enterprise skills (SAP, PeopleSoft, etc.) are still in demand. And those with programming skills (e.g. C++, C#, etc.) will actually see increased demand for their skills this year.</em></div>
<p>Image credit: <a rel="nofollow" href="http://www.flickr.com/photos/ezu/277341190/">Ezu</a></p>
<p>This is a post from <a href="http://www.dijksterhuis.org">Martijn's C# Coding Blog</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.dijksterhuis.org/csharp-trends-small-and-big/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>From C to C++, Java and C#</title>
		<link>http://www.dijksterhuis.org/from-c-to-c-java-and-c-sharp/</link>
		<comments>http://www.dijksterhuis.org/from-c-to-c-java-and-c-sharp/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 10:08:33 +0000</pubDate>
		<dc:creator>Martijn</dc:creator>
				<category><![CDATA[Beginner]]></category>
		<category><![CDATA[Learn C#]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.dijksterhuis.org/?p=92</guid>
		<description><![CDATA[
A little trip through memory lane and how programming has changed. Starting with the birth of C through to C#. The software world has become that little more complicated since the time share ASCII teletype systems.  Chinese input, Arabic display, USB devices and gigabytes of memory are standard these days.


Operating systems originally were coded in [...]<p>This is a post from <a href="http://www.dijksterhuis.org">Martijn's C# Coding Blog</a>. </p>
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.dijksterhuis.org/wp-content/uploads/2008/11/coffee.jpg"><img class="alignnone size-full wp-image-95" title="From C, C++ to Java and C#" src="http://www.dijksterhuis.org/wp-content/uploads/2008/11/coffee.jpg" alt="" width="500" height="258" /></a></p>
<p><em>A little trip through memory lane and how programming has changed. Starting with the birth of C through to C#. The software world has become that little more complicated since the time share ASCII teletype systems.  Chinese input, Arabic display, USB devices and gigabytes of memory are standard these days.<br />
</em></p>
<p><span id="more-92"></span></p>
<p>Operating systems originally were coded in pure machine code to enable computers to run at maximum efficiency. With some exceptions that stayed so until C entered the world roughly around 1972. Developed by Dennis Ritchie at Bell Telephone it allowed the UNIX operating system to be rewritten in a &#8220;higher&#8221; level language instead of assembly language.</p>
<p>A good C compiler can generate code that is often as fast as hand coded assembly language, but offers the benefit that its much easier to read. C is still widely used today to write both low level system software and actual applications. C also came with a standard IO library; making it easier to port C programs from one platform to another.</p>
<p><strong>Code Re-Use</strong></p>
<p>Code re-use in C however can be quite hard, and in larger projects code becomes increasingly difficult to maintain.</p>
<p>At the end of 1970&#8217;s  Bjarne Stroustrup while working at AT&amp;T developed a language that would support large software development. He used ideas from one of the first Object Oriented Languages (Simula) dating back to the 1960&#8217;s and combined them with C into a new language <em>C with Classes</em>, later renamed C++.  One of the main features of C++ is the Class, and the ability to derive a class allowing for more extensive code re-use.</p>
<p>C++ was designed to be compatible with C to allow for easy transistion. As the language grew it added its own standard library providing basic sorting algorithms and storage containers (Arrays, Lists) reducing the need to rewrite and debug these frequently used code elements. Because of its C heritage it is fast and efficient, and much system software, device drivers and applications are written in it.</p>
<p><strong>Memory Management </strong></p>
<p>But because of its C heritage memory management is still left to the programmer. This allows for great speed but also creates opportunities for hard to find bugs. Memory that is not properly handled can lead to both crashes and allows software to leak memory over time.</p>
<p>In 1995 Sun Microsystems released Java. Java is a C++ like language that doesn&#8217;t actually run directly on the CPU. It is compiled to an intermediate byte code stage that is interpreted by the Java Virtual Machine 9JVM). That allowed for another older concept to return, the garbage collector. Memory that isn&#8217;t actually being used by any part of the program is automatically released, freeing the programmer from having to worry too much about each allocated block. Access to memory is also restricted to basic types, the programmer no longer just allocates a block of memory and releases it when its no longer necessary. This allows also the JVM to catch any out of bound access, instantly killing the program rather than letting it continue with a corrupted memory map.</p>
<p>One of the major criticisms of Java initially was the speed (slowness) with which each program ran. Great progress was made however here as compilers became smarter, and Just-In-Time compilers converted often used byte-code blocks into actual machine code.</p>
<p><strong>Exceptions</strong></p>
<p>When writing a proper C program, it is important to check for the return value of each function to ensure that some error didn&#8217;t occur. Of course this leads to code that is hard to read, and often the checks were skipped completly to be able to quickly hammer out a piece of code. This leads to programs that hobble on despite being told earlier that a critical resource was not available.</p>
<p>Java and many other interpreted languages added exceptions. Sub routines no longer have to return an error code, if something goes awry they throw an exception. If the program is well written, it will catch it. If not, the virtual machine kills the program.</p>
<p><strong>The world moved on</strong></p>
<p>Much of yesterdays software lived in a simpler world. It often had the run of the machine, and if it had to report something it wrote a line to the terminal. During the 1990&#8217;s graphical user interfaces took off; and computers were networked. A basic computer nowadays has thousands of code libraries installed. Software for such a platform needs to handle everything from memory management, to graphics, networking, sound and a pletora of output and input devices in any of the worlds hundreds of languages.</p>
<p>Microsoft ran into this problem as its platform was becoming increasingly complicated. Its Visual Basic language lacked the expressiveness of C++, but allowed for quick development. At the same time its Visual C++ libraries were becoming overly complex ; and writing code was becoming increasingly hard, and debugging even harder.</p>
<p>Following the Microsoft-Sun Microsystems Java lawsuit (Microsoft licensed Java, but broke the agreement by making Microsofts implementation specific to Windows) Microsoft decided to start developing its own language, originally called Cool, later renamed C# (C-Sharp).  C# principal designer at Microsoft is Anders Hejlsberg, who previously designed Visual J++ (Microsoft&#8217;s Java), Borland Delphi and Borland Turbo Pascal. He has stated that he was inspired by the flaws in C++, Java, Delphi and Smalltalk which led to the design of C#.</p>
<p>Microsoft also started work on its .NET framework, which integrated many of its seperate libraries into a single framework.</p>
<p>Java has collected a huge class library, allowing for platform independent coding and extensive re-use. C# does not have its own libraries, but it shares .NET with the other Microsoft languages. C# is not simply a clone of Java, although it is very similar in features (it used an intermediate stage, offers a garbage collector) &#8212; but as it was developed after Java reached maturity it has taken some things further.</p>
<p>From Assembly, C all the way through C++ to C#, at each step the language has become higher level, taking away responsibilities from the programmer. The price paid is in execution speed.  In return development is speeded up, error checking is much more thorough and it has become possible to build complicated systems with less code because of code reuse.</p>
<p>This is a post from <a href="http://www.dijksterhuis.org">Martijn's C# Coding Blog</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.dijksterhuis.org/from-c-to-c-java-and-c-sharp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
