<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:admin="http://webns.net/mvcb/"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
	<channel> 

	<title>Comments on: Help me learn to program simple Windows desktop applications</title>
	<link>http://ask.metafilter.com/42658/Help-me-learn-to-program-simple-Windows-desktop-applications/</link>
	<description>Comments on Ask MetaFilter post Help me learn to program simple Windows desktop applications</description>
	<pubDate>Fri, 21 Jul 2006 12:16:42 -0800</pubDate>
	<lastBuildDate>Fri, 21 Jul 2006 12:16:42 -0800</lastBuildDate>
	<language>en-us</language>
	<docs>http://blogs.law.harvard.edu/tech/rss</docs>
	<ttl>60</ttl>

	<item>
		<title>Question: Help me learn to program simple Windows desktop applications</title>
		<link>http://ask.metafilter.com/42658/Help-me-learn-to-program-simple-Windows-desktop-applications</link>	
		<description>I want to learn to create simple Windows desktop applications for my own personal use. What programming language should I start learning? &lt;br /&gt;&lt;br /&gt; I want to create some simple desktop applications for use on my own computer (Win XP Pro). Stuff like recipe collections or daily journals or a personal organizer. I don&apos;t need to create anything with a bunch of flashy graphics nor do I think I&apos;ll be doing much programming for the web (although maybe I would branch out to experimenting with that one day). This is simply a way for me to solve a few problems and learn something new.&lt;br&gt;
&lt;br&gt;
There are a lot of options available for someone who wants to learn programming but so many of them seem mainly focused on designing for the web. I have little experience with programming (I&apos;ve written a few simple interactive fiction games with Inform 6) but I don&apos;t mind a steep learning curve if I can eventually do what I need to do. Which is why I want to make sure I&apos;m learning the right language from the start.&lt;br&gt;
&lt;br&gt;
What I want to do first is create an application that will allow me to organize a large amount of information on world mythology. I have folders full of articles and stories and studies and images and I basically need to organize them by culture and time period and type and then display them by category. There are a lot of programs I can use for this (I&apos;m using Keynote right now, which I like) but I have always wanted to venture into learning a programming language and I thought since I have a need now would be the right time to dive in.&lt;br&gt;
&lt;br&gt;
Any suggestions?</description>
		<guid isPermaLink="false">post:ask.metafilter.com,2006:site.42658</guid>
		<pubDate>Fri, 21 Jul 2006 12:10:14 -0800</pubDate>
		<dc:creator>LeeJay</dc:creator>
		
			<category>computerprogramming</category>
		
			<category>computers</category>
		
			<category>programming</category>
		
			<category>windows</category>
		
			<category>desktop</category>
		
			<category>applications</category>
		
			<category>resolved</category>
		
	</item> <item>
		<title>By: Hildago</title>
		<link>http://ask.metafilter.com/42658/Help-me-learn-to-program-simple-Windows-desktop-applications#655771</link>	
		<description>I imagine C# would be a good place to start.  I have a teeny, tiny bit of experience with it, and it was pretty easy to make a full-fledged desktop application, even for a non-programmer like myself.  You&apos;ll pretty much need to have a copy of Visual Studio .NET, though those are easily available through the usual channels.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2006:site.42658-655771</guid>
		<pubDate>Fri, 21 Jul 2006 12:16:42 -0800</pubDate>
		<dc:creator>Hildago</dc:creator>
	</item><item>
		<title>By: spaceman_spiff</title>
		<link>http://ask.metafilter.com/42658/Help-me-learn-to-program-simple-Windows-desktop-applications#655776</link>	
		<description>This is actually ideal for web programming.  Install Apache or IIS along with PHP and MySQL, and away you go - you&apos;re looking to write a new CMS.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2006:site.42658-655776</guid>
		<pubDate>Fri, 21 Jul 2006 12:19:32 -0800</pubDate>
		<dc:creator>spaceman_spiff</dc:creator>
	</item><item>
		<title>By: shaun</title>
		<link>http://ask.metafilter.com/42658/Help-me-learn-to-program-simple-Windows-desktop-applications#655777</link>	
		<description>If you&apos;re OK with programming Windows-only applications, I think that &lt;a href=&quot;http://msdn.microsoft.com/vstudio/&quot;&gt;Visual Studio&lt;/a&gt; and either C# or Visual Basic.NET fit the bill. They are nearly the same programming language, but with your choice of syntax.&lt;br&gt;
&lt;br&gt;
If you&apos;re a student you can often get VS for free through your university, and Microsoft apparently now offers an &lt;a href=&quot;http://msdn.microsoft.com/vstudio/express/default.aspx&quot;&gt;Express Edition&lt;/a&gt; for &quot;hobbyists, novices and student developers.&quot;&lt;br&gt;
&lt;br&gt;
My other choice for fun, novice programming languages would be &lt;a href=&quot;http://www.python.org&quot;&gt;Python&lt;/a&gt;, but VS makes it significantly easier to create Windows GUI programs.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2006:site.42658-655777</guid>
		<pubDate>Fri, 21 Jul 2006 12:19:55 -0800</pubDate>
		<dc:creator>shaun</dc:creator>
	</item><item>
		<title>By: Diddly</title>
		<link>http://ask.metafilter.com/42658/Help-me-learn-to-program-simple-Windows-desktop-applications#655781</link>	
		<description>I second the vote for VB or C#, using the Express editions.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2006:site.42658-655781</guid>
		<pubDate>Fri, 21 Jul 2006 12:22:00 -0800</pubDate>
		<dc:creator>Diddly</dc:creator>
	</item><item>
		<title>By: GuyZero</title>
		<link>http://ask.metafilter.com/42658/Help-me-learn-to-program-simple-Windows-desktop-applications#655784</link>	
		<description>A tool like &lt;a href=&quot;http://msdn.microsoft.com/vstudio/express/visualcsharp/&quot;&gt;Visual Studio Express&lt;/a&gt; cuts out a lot of the &quot;enterprise&quot;-grade features and is probably easier for a new programmer to learn. For Windows, I&apos;d second C#.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2006:site.42658-655784</guid>
		<pubDate>Fri, 21 Jul 2006 12:24:06 -0800</pubDate>
		<dc:creator>GuyZero</dc:creator>
	</item><item>
		<title>By: Emanuel</title>
		<link>http://ask.metafilter.com/42658/Help-me-learn-to-program-simple-Windows-desktop-applications#655799</link>	
		<description>I&apos;m going to agree that C# would be a good way to go.  Since your ideas for desktop applications are fairly data-oriented, another way to go might be to use Microsoft Access, which can give you a lot of nice user interface very easily, and provides VBA for programming when you need it.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2006:site.42658-655799</guid>
		<pubDate>Fri, 21 Jul 2006 12:28:40 -0800</pubDate>
		<dc:creator>Emanuel</dc:creator>
	</item><item>
		<title>By: Squid Voltaire</title>
		<link>http://ask.metafilter.com/42658/Help-me-learn-to-program-simple-Windows-desktop-applications#655804</link>	
		<description>There&apos;s also WSH--Window Shell Scripting. If you haven&apos;t done much shell scripting, you might be surprised by how robust it can be. If you haven&apos;t done any shell scripting for Windows, you might be surprised by how irritating it can be.&lt;br&gt;
&lt;br&gt;
Personally, I use Macromedia flash for Windows projects, although you need to get third-party tools (&lt;a href=&quot;http://www.swfkit.com/products.html&quot;&gt;SWKkit&lt;/a&gt; is one--they have a free demo, I think) if you want to do file manipulation.&lt;br&gt;
&lt;br&gt;
Finally, I second Spiff&apos;s notion that you maybe want to do this via a web browser. I like PHP a whole bunch, myself.&lt;br&gt;
&lt;br&gt;
PHP, WSH and MM Flash are all quite a bit less powerful than C, of course, but are correspondingly easier to learn.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2006:site.42658-655804</guid>
		<pubDate>Fri, 21 Jul 2006 12:33:07 -0800</pubDate>
		<dc:creator>Squid Voltaire</dc:creator>
	</item><item>
		<title>By: Steven C. Den Beste</title>
		<link>http://ask.metafilter.com/42658/Help-me-learn-to-program-simple-Windows-desktop-applications#655860</link>	
		<description>I think you should be warned that you need to walk before you can run or fly, and the app you&apos;re talking about developing is &lt;i&gt;not&lt;/i&gt; one for a beginner.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2006:site.42658-655860</guid>
		<pubDate>Fri, 21 Jul 2006 13:14:24 -0800</pubDate>
		<dc:creator>Steven C. Den Beste</dc:creator>
	</item><item>
		<title>By: orthogonality</title>
		<link>http://ask.metafilter.com/42658/Help-me-learn-to-program-simple-Windows-desktop-applications#655863</link>	
		<description>Your goals are unclear to me.&lt;br&gt;
&lt;br&gt;
Is your primary goal  &lt;em&gt;&quot;to venture into learning a programming language&quot;&lt;/em&gt; or is it to &lt;em&gt;&quot;create simple Windows desktop applications&quot;&lt;/em&gt; or &lt;em&gt;&quot;to solve a few problems and learn something new&quot;&lt;/em&gt;?&lt;br&gt;
&lt;br&gt;
I ask because these goals are somewhat in opposition. You can use MS-Access and Windows Scripting to make an app that &quot;just works&quot; -- especially if you, who know your app&apos;s quirks and limitations and are OK with them, are the sole user.&lt;br&gt;
&lt;br&gt;
However, much of what you&apos;d learn this way would be particular to the tools you&apos;d be using, and either not applicable or actually wrong when applied to more general programming questions. To learn other sorts of programming you&apos;d have to unlearn particularism and idioms that may work in a particular tool but are bad habits generally.&lt;br&gt;
&lt;br&gt;
Microsoft tools are particularly prone to this: I won&apos;t go into this at length because you can google &lt;a href=&quot;http://www.google.com/search?hl=en&amp;lr=&amp;q=%22embrace+and+extend%22+-extinguish&amp;btnG=Search&quot;&gt;embrace and extend&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
In general, some tools, frameworks, and even programming languages can obscure what is really happening in the name of convenient &quot;magic&quot;. This is fine so long as the programmer understands this polite function; but too many novice programmers end up believing the fiction is fact. Until and unless they understand what&apos;s behind the magic, their usefulness is limited to the tool or language they &quot;learned&quot;. In the business, we refer to these people as &quot;fools with tools&quot;.&lt;br&gt;
&lt;br&gt;
This is why I warn all new and would-be programmers not start with an IDE; while the IDE simplifies compilation and testing, it obscures all the steps requited to compile and test. The result is that the novice can&apos;t do anything without the IDE -- and worse, he can&apos;t ask useful questions. Only people who use the IDE with exactly the same settings as you will be able to help you if you report &quot;I clicked the green &quot;Go&quot; button which normally starts my program but nothing happened except the bottom window flashed&quot;.&lt;br&gt;
&lt;br&gt;
If you want to learn how to program, I&apos;d advise learning how to program with a general-purpose language, and on concentrating on plain text/teletype style output at first (adding graphics into the mix is platform dependent and a distraction to learning). &lt;br&gt;
&lt;br&gt;
I&apos;d avoid Visual Basic, as it&apos;s become a chimera and not the simple learning language BASIC was intended to be. I&apos;d avoid Perl, because it&apos;s a wonderful text-processing tool, but by optimizing for text processing it can be non-obvious for other uses. I would avoid C#, because it&apos;s proprietary and it looks too much like languages it isn&apos;t -- a deceptive similarity will cause you problems when you need to ask for help.&lt;br&gt;
&lt;br&gt;
So we&apos;re left with PHP,  C, C++, or Java. Java can be a bit cumbersome for a newbie, especially if you follow my advice of eschew an IDE. C is probably lower level than you want. C++ can be difficult to learn (it&apos;s my first language, and by learning it well, most other languages seem easy in comparison, but the initial investment is high). &lt;br&gt;
&lt;br&gt;
With PHP it&apos;s possible to get example and tutorial programs running almost at once, and as it&apos;s interpreted, you don&apos;t have to worry about compilation or linking (as such). It&apos;s also cross platform and not proprietary (although it does not, like C or C++ have an ISO Standard, as far as I know), and is general-purpose.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2006:site.42658-655863</guid>
		<pubDate>Fri, 21 Jul 2006 13:14:45 -0800</pubDate>
		<dc:creator>orthogonality</dc:creator>
	</item><item>
		<title>By: sonofsamiam</title>
		<link>http://ask.metafilter.com/42658/Help-me-learn-to-program-simple-Windows-desktop-applications#655936</link>	
		<description>Python is an excellent language with a lot of nice libraries. I use &lt;a href=&quot;http://www.autoitscript.com/&quot;&gt;AutoIt Script&lt;/a&gt; to make small Windows programs.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2006:site.42658-655936</guid>
		<pubDate>Fri, 21 Jul 2006 13:54:24 -0800</pubDate>
		<dc:creator>sonofsamiam</dc:creator>
	</item><item>
		<title>By: fleacircus</title>
		<link>http://ask.metafilter.com/42658/Help-me-learn-to-program-simple-Windows-desktop-applications#655952</link>	
		<description>Hammer it out in Visual Basic/C#, or Delphi.&lt;br&gt;
&lt;br&gt;
I don&apos;t really understand why all IDEs don&apos;t allow this sort of easy rapid app-making.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2006:site.42658-655952</guid>
		<pubDate>Fri, 21 Jul 2006 14:05:10 -0800</pubDate>
		<dc:creator>fleacircus</dc:creator>
	</item><item>
		<title>By: Songdog</title>
		<link>http://ask.metafilter.com/42658/Help-me-learn-to-program-simple-Windows-desktop-applications#655987</link>	
		<description>I&apos;ve been programming for many years but I only recently got around to learning Ruby, and it&apos;s got a lot going for it in terms of being an intuitive language. Python&apos;s supposed to be good to learn with as well. I don&apos;t know what it would be like using either of them to write graphical Windows applications, though.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2006:site.42658-655987</guid>
		<pubDate>Fri, 21 Jul 2006 14:42:46 -0800</pubDate>
		<dc:creator>Songdog</dc:creator>
	</item><item>
		<title>By: jeff_w_welch</title>
		<link>http://ask.metafilter.com/42658/Help-me-learn-to-program-simple-Windows-desktop-applications#656011</link>	
		<description>You&apos;ll have the least issues and most help if you use C# or VB.NET...and if you get the express additions, it is free!</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2006:site.42658-656011</guid>
		<pubDate>Fri, 21 Jul 2006 15:10:23 -0800</pubDate>
		<dc:creator>jeff_w_welch</dc:creator>
	</item><item>
		<title>By: Paris Hilton</title>
		<link>http://ask.metafilter.com/42658/Help-me-learn-to-program-simple-Windows-desktop-applications#656025</link>	
		<description>C#</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2006:site.42658-656025</guid>
		<pubDate>Fri, 21 Jul 2006 15:21:53 -0800</pubDate>
		<dc:creator>Paris Hilton</dc:creator>
	</item><item>
		<title>By: sbutler</title>
		<link>http://ask.metafilter.com/42658/Help-me-learn-to-program-simple-Windows-desktop-applications#656034</link>	
		<description>Another vote for C# or VB.NET. Programming Windows applications in C/C++ is a pain in the ass. For databases, &lt;a href=&quot;http://sqlite.phxsoftware.com/&quot;&gt;SQLite for ADO.NET&lt;/a&gt; might work well. Would give you some relational DB experience without the overhead of setting up a full SQL server.&lt;br&gt;
&lt;br&gt;
However, if you&apos;re willing to install a webserver on your machine then you probably want PHP. Graphical design in PHP is just HTML, and PHP knowledge will port to more platforms. But if you have a running webserver then you also need to be an administrator. That means evaluating security (public or private access) and installing patches to keep ahead of the exploits.&lt;br&gt;
&lt;br&gt;
Good luck.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2006:site.42658-656034</guid>
		<pubDate>Fri, 21 Jul 2006 16:17:18 -0800</pubDate>
		<dc:creator>sbutler</dc:creator>
	</item><item>
		<title>By: megatherium</title>
		<link>http://ask.metafilter.com/42658/Help-me-learn-to-program-simple-Windows-desktop-applications#656063</link>	
		<description>This might be a task for TCL. Start &lt;a href=&quot;http://mini.net/tcl/&quot;&gt;here&lt;/a&gt; then explore.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2006:site.42658-656063</guid>
		<pubDate>Fri, 21 Jul 2006 17:04:28 -0800</pubDate>
		<dc:creator>megatherium</dc:creator>
	</item><item>
		<title>By: troybob</title>
		<link>http://ask.metafilter.com/42658/Help-me-learn-to-program-simple-Windows-desktop-applications#656092</link>	
		<description>i was into perl and C++ for a while but never stayed dedicated enough to keep up with it and put it to use...i&apos;ve been using access (2000, even) with VBA for quick projects--even one extensive program i developed for the office, and i&apos;ve found that to be fine...the thing with learning full languages is the time you put in covering stuff that you might not necessarily put to use; with access i&apos;ve done pretty well learning something as i come across the need for it...and for me, newsgroups are an amazing resource--pretty much any real problem i&apos;ve come across, someone else has gotten to it first, and the answers are out there..&lt;br&gt;
&lt;br&gt;
...these programming questions are like porn to me, and every time i see orthogonality answer one of them so gracefully, my dreams of rededicating myself to programming resurface...i love the studying and the work itself, but like a lot of people who come around here, i get lost on exactly where and how to start...so i appreciate the insights here as well...&lt;br&gt;
&lt;br&gt;
good luck!</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2006:site.42658-656092</guid>
		<pubDate>Fri, 21 Jul 2006 17:49:13 -0800</pubDate>
		<dc:creator>troybob</dc:creator>
	</item><item>
		<title>By: LeeJay</title>
		<link>http://ask.metafilter.com/42658/Help-me-learn-to-program-simple-Windows-desktop-applications#656171</link>	
		<description>&lt;em&gt;Your goals are unclear to me.&lt;br&gt;
&lt;br&gt;
Is your primary goal &quot;to venture into learning a programming language&quot; or is it to &quot;create simple Windows desktop applications&quot; or &quot;to solve a few problems and learn something new&quot;?&lt;/em&gt;&lt;br&gt;
&lt;br&gt;
My primary goal is to be able to create applications that I can use. I have no real desire to ever go into a career in programming. I don&apos;t think I have the aptitude for it, to be honest. My only goal here is to be able to create a few programs that do what I want them to do on my own machine.  The problems I want to solve stem mainly from the fact that I haven&apos;t found applications that do what I want them to do. I realize that I might be biting off more than I can chew here but I thought I&apos;d give it a shot. My biggest concern is learning the language appropriate to my goal of creating a few simple apps that will likely never see more than my desktop.&lt;br&gt;
&lt;br&gt;
Thinking it over though, I realized that IF I was able to do what I wanted to do and IF I decided that I liked programming enough to maybe look deeper, I wanted to learn a language that I would be able to grow with. So, the goal is, learn how to make a few apps for myself in a language that I could go deeper into down the road if I like what I&apos;m learning.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2006:site.42658-656171</guid>
		<pubDate>Fri, 21 Jul 2006 20:07:14 -0800</pubDate>
		<dc:creator>LeeJay</dc:creator>
	</item><item>
		<title>By: LeeJay</title>
		<link>http://ask.metafilter.com/42658/Help-me-learn-to-program-simple-Windows-desktop-applications#656173</link>	
		<description>I really want to thank everyone for the helpful suggestions. I have decided to look into C# and PHP, read the documentation and look at some examples. You&apos;ve helped me narrow the field considerably and this was exactly what I needed.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2006:site.42658-656173</guid>
		<pubDate>Fri, 21 Jul 2006 20:08:41 -0800</pubDate>
		<dc:creator>LeeJay</dc:creator>
	</item><item>
		<title>By: orthogonality</title>
		<link>http://ask.metafilter.com/42658/Help-me-learn-to-program-simple-Windows-desktop-applications#656310</link>	
		<description>&lt;b&gt;troybob&lt;/b&gt; &lt;a href=&apos;http://ask.metafilter.com/mefi/42658#656092&apos;&gt;writes&lt;/a&gt;  &lt;em&gt;&quot;every time i see orthogonality answer one of them so gracefully, my dreams of rededicating myself to programming resurface.&quot;&lt;/em&gt;&lt;br&gt;
&lt;br&gt;
Hey, thanks. And &lt;a href=&quot;http://cm.bell-labs.com/cm/cs/cbook/&quot;&gt;K&amp;amp;R&lt;/a&gt; is canonical, quite brief at 274 pages, and tutorial in nature.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2006:site.42658-656310</guid>
		<pubDate>Sat, 22 Jul 2006 03:30:04 -0800</pubDate>
		<dc:creator>orthogonality</dc:creator>
	</item><item>
		<title>By: LeeJay</title>
		<link>http://ask.metafilter.com/42658/Help-me-learn-to-program-simple-Windows-desktop-applications#694651</link>	
		<description>So, uh, bit of a strange followup: I got fed up with Windows on my old PC and wiped the whole thing and installed Ubuntu instead. And since it came with a bunch of different programming languages I decided to give one of them a go. Obviously, I&apos;m not going to be doing much of anything for Windows anymore. Now it&apos;s strictly about having fun and learning something new. I chose Python and so far I&apos;m really loving it. I&apos;ve even managed to hack together a few decent scripts. &lt;br&gt;
&lt;br&gt;
I&apos;m also teaching myself how to shell script which is a ton of fun (and very useful).</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2006:site.42658-694651</guid>
		<pubDate>Mon, 28 Aug 2006 17:12:09 -0800</pubDate>
		<dc:creator>LeeJay</dc:creator>
	</item>
	</channel>
</rss>
