﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>C# Stuff</title>
    <description>Involves concepts and practice of the C# language.</description>
    <link>http://www.crashdome.net/Weblog/tabid/308/BlogId/5/Default.aspx</link>
    <language>en-US</language>
    <webMaster>crashdome@crashdome.net</webMaster>
    <pubDate>Tue, 07 Feb 2012 17:16:20 GMT</pubDate>
    <lastBuildDate>Tue, 07 Feb 2012 17:16:20 GMT</lastBuildDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>Blog RSS Generator Version 3.4.0.39853</generator>
    <item>
      <title>The IDE concept</title>
      <description>&lt;P&gt;I remember the days of line-by-line programming in BASIC. So for me, the introduction to Visual Studio as an IDE when I started work in C# was like going from horse carriages to spaceships.&lt;/P&gt;
&lt;P&gt;Now, I am tasking myself in creating a full-blown IDE for a game (sim) called Armed Assault. Usually, games only seriously interest me when they have one of two (or both) qualities: A) good editing capability to extend the entertainment beyond the original program's design B) good simulation of real-life problems. Now, the latter sounds very broad and very “realistic”, but that is not my intention. Not many games/simulations properly reflect a decision system which mimics the dynamics of real life. I could dive into a huge pit of discussion about how ineffectual I think realistic strategy games (like chess or modern day computer strategy games) can be, but I won’t! &lt;SPAN style="mso-spacerun: yes"&gt; &lt;/SPAN&gt;;)&lt;/P&gt;
&lt;P&gt;No, the focus was about IDEs. So I am building this IDE based around this game. The game actually is very complex and has many components involved when developing for it. For example, there are two script languages utilizing similar commands but completely different operational capacity. There are special class files utilizing yet a third structure. This does not include the hundreds of types of content one could use when developing. All this adds up to the very reason I am making this IDE: how can we cohesively put everything together into one central program/system for faster productivity?&lt;/P&gt;
&lt;P&gt;During development I have come across a problem which has altered my vision (only slightly) of how this centralized system should operate. For example, most content files are developed using more advanced technology than I could possibly muster (like Photoshop or 3D-Max) or they are developed using proprietary tools which I cannot touch. This makes keeping things “central” very difficult. While I could ignore content files and dive strictly into the source files like scripts and FSM files, I feel I would be short changing my system. I noticed problems among even the mighty Visual Studio when using a large amount of content files. The real work of the IDEs become as manipulation of the mechanics of the development process. Even Microsoft has realized this (go figure) and developed a third product called &lt;I style="mso-bidi-font-style: normal"&gt;Expression &lt;/I&gt;or something like that. The idea is that the designers of the content can manipulate the product without seeing or touching the source code of the mechanics. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Complete separation of form from function.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;I style="mso-bidi-font-style: normal"&gt;SCREEEEEEECH!!!!!…..(this is me applying brakes btw)&lt;o:p&gt;&lt;/o:p&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;Since when did form and function become separate again? I thought that other than a few purists, we were striving to maintain form and function within software to help make it… I don’t know.. more human? …more comforting?&lt;/P&gt;
&lt;P&gt;I am partially confused by this concept but the logic in me is saying “this will work” along with all the others. I can understand from the perspective of development of large applications where a design studio is in London and the programmers are in Utah (or some other odd place where geeks like to congregate). This would only make sense. However, what about lone developers? What about the developers that are both the programmer AND the designer? It seems counter-intuitive in that situation. But I assure you… Microsoft probably doesn’t care about that aspect too much ;)&lt;/P&gt;
&lt;P&gt;Ok, so back to my IDE. Content and source… content and source… how to handle it all?&lt;/P&gt;
&lt;P&gt;I am beginning to wonder about the future of the all-in-one IDE. Sounds more like &lt;I style="mso-bidi-font-style: normal"&gt;the OS should be the IDE&lt;/I&gt;. Several Applications working together to perform many tasks… sounds like an OS to me! So, does this render my IDE application obsolete before it is even completed? Not in the least. In fact, what we need from an IDE is more centralization and less application. A good IDE should have access to any possible application to complete a project. Whether it is Adobe Photoshop or MS Paint… whether it is Notepad or Notepad++… seems like the IDE should simply tie the content and source together and not try and reinvent the wheel in regards to apps.&lt;/P&gt;
&lt;P&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Note:&lt;/B&gt; In many ways IDEs (such as Visual Studio or SharpDevelop in my case) perform duties that no other application can: Intellisense, compilation, and debugging. In that respect, they ARE the application. However, as programming languages are becoming more evolved, I do not see why they cannot evolve into complete GUI related models. If and when that happens, it simply reinforces my construct that IDEs should only be the glue to hold development together – whether it is one or many.&lt;/P&gt;
&lt;P&gt;&lt;o:p&gt;&lt;/o:p&gt; &lt;/P&gt;</description>
      <link>http://www.crashdome.net/Weblog/tabid/308/EntryID/7/Default.aspx</link>
      <comments>http://www.crashdome.net/Weblog/tabid/308/EntryID/7/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.crashdome.net/Default.aspx?tabid=308&amp;EntryID=7</guid>
      <pubDate>Mon, 24 Sep 2007 18:44:22 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.crashdome.net/DesktopModules/Blog/Trackback.aspx?id=7</trackback:ping>
    </item>
  </channel>
</rss>
