<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wikidot="http://www.wikidot.com/rss-namespace">

	<channel>
		<title>Simple Language project - new forum posts</title>
		<link>http://simplelanguage.wikidot.com/forum/start</link>
		<description>Posts in forums of the site &quot;Simple Language project&quot;</description>
				<copyright></copyright>
		<lastBuildDate></lastBuildDate>
		
					<item>
				<guid>http://simplelanguage.wikidot.com/forum/t-162394#post-507499</guid>
				<title>Further discussion</title>
				<link>http://simplelanguage.wikidot.com/forum/t-162394/further-discussion#post-507499</link>
				<description></description>
				<pubDate>Fri, 12 Jun 2009 21:32:42 +0000</pubDate>
				<wikidot:authorName>TarmoPikaro</wikidot:authorName>				<wikidot:authorUserId>66968</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>This wiki page is closed for time being.</p> <p>I've started cooperation with one guy from Oulu, and we are continuing direct chat about language construction.</p> <p>There is also an idea of protecting our ideas.</p> <p>If you want to participate in that mail thread - send mail to <span class="wiki-email">moc.oohay|akipat#moc.oohay|akipat</span>.</p> <br/>Forum category: <a href="http://simplelanguage.wikidot.com/forum/c-86229">Further discussion / Further discussion</a><br/>Forum thread: <a href="http://simplelanguage.wikidot.com/forum/t-162394/further-discussion">Further discussion</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://simplelanguage.wikidot.com/forum/t-42300#post-109992</guid>
				<title>Language text parser...</title>
				<link>http://simplelanguage.wikidot.com/forum/t-42300/language-text-parser#post-109992</link>
				<description></description>
				<pubDate>Tue, 19 Feb 2008 21:24:59 +0000</pubDate>
				<wikidot:authorName>TarmoPikaro</wikidot:authorName>				<wikidot:authorUserId>66968</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>One of the main questions is what kind of text parser we will need and for what purpose.<br /> One of alternatives could be to use C/C++/C# textual parsers and make intermediate language (IL)<br /> or something similar.</p> <p>The main problem itself is text parser itself - how to make it happen. And how often language syntax itself needs<br /> to be changed ?</p> <p>If you have ever considered a perl programming language - it's syntax is evolving so fast that you can find<br /> picture like this on internet: <a href="http://www.axis-of-aevil.net/archives/img/2003_08/p6_cover.jpg">http://www.axis-of-aevil.net/archives/img/2003_08/p6_cover.jpg</a></p> <p>As for text parsers there are quite many different alternatives, like</p> <p>1. old school tools / define/C based - tools like lex, yacc, bison.<br /> Really complex to use. (You will put every single gadget into rocket itself)</p> <p>2. new school tools - boost::Spirit / C++.<br /> Suffers from over heavy templates. Complex to use because of mysterious template errors.</p> <p>3. <a href="http://www.antlr.org/article/list">http://www.antlr.org/article/list</a><br /> ANother Tool for Language Recognition v3.<br /> Recently updated - needs to be studied.</p> <p>P.S. Must study alternative 3.</p> <p>However we're not only intrested in parsing custom languages, we are intrested in<br /> generating / printing language back from trees (Abstract syntax trees) - as well<br /> as being easily to change language structure itself, which would trigger language<br /> files (E.g. source codes) could be changed at the same time.</p> <br/>Forum category: <a href="http://simplelanguage.wikidot.com/forum/c-31408">Execution in computer / Languages and text parsing</a><br/>Forum thread: <a href="http://simplelanguage.wikidot.com/forum/t-42300/language-text-parser">Language text parser...</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://simplelanguage.wikidot.com/forum/t-39140#post-108609</guid>
				<title>Re: How to compile mono project...</title>
				<link>http://simplelanguage.wikidot.com/forum/t-39140/intermediate-language-and-mono-project#post-108609</link>
				<description></description>
				<pubDate>Sun, 17 Feb 2008 11:46:28 +0000</pubDate>
				<wikidot:authorName>TarmoPikaro</wikidot:authorName>				<wikidot:authorUserId>66968</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hi !</p> <p>Keeping a list of what I have already analyzed on mono project.<br /> In order to compile mono you will need to follow instructions from here:<br /> <a href="http://shana.iidbbs.com/en/mono_cygwin_tutorial.html">http://shana.iidbbs.com/en/mono_cygwin_tutorial.html</a></p> <p>Try to follow instructions in exactly the same order as written there.</p> <p>When configuring cygwin - always use "Default Text File Type" as "Unix / binary".</p> <p>For windows XP you will need to modify home folder, by setting HOME environment variable, like mentioned in here:<br /> <a href="http://www.joomlawebserver.com/freebsd/remote-access/03.-creating-a-cygwin-home-drive.html">http://www.joomlawebserver.com/freebsd/remote-access/03.-creating-a-cygwin-home-drive.html</a><br /> (See Setting the HOME environment variable in Windows)</p> <p>I by myself installed mono binaries into C:\Program Files\Mono-1.2.6, after that .bashrc will contain followin set up:</p> <p>PATH=.:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/cygdrive/c/Program\ Files/Mono-1.2.6/bin<br /> PKG_CONFIG_PATH=.:/lib/pkgconfig:/cygdrive/c/Program\ Files/Mono-1.2.6/lib/pkgconfig<br /> LD_LIBRARY_PATH=.:/usr/local/lib:/usr/lib:/lib:/cygdrive/c/Program\ Files/Mono-1.2.6/lib<br /> export PATH PKG_CONFIG_PATH LD_LIBRARY_PATH</p> <p>Additionally to that I had installed glib2-devel package (with cygwin) - that one needs to ne UNINSTALLED - otherwise<br /> mono cannot be even configured.</p> <p>"./autogen.sh " command works only with sources obtained over svn, I by myself took mono-package from mono website, and then<br /> you need to run ./configure and make.<br /> When extracting .tar.gz files it is recommended to use unix utilities -<br /> gunzip &lt;.gz file&gt;<br /> tar -xvf &lt;.tar file&gt;<br /> instead of windows winzip - I have noticed that it processes unix linefeeds incorrectly causing that ./configure cannot be executed<br /> after .tar.gz extraction.</p> <p>Apparently compilation can last for quite long time (45 minutes to 2 hours) - so I'm awaiting for it to complete currently.</p> <br/>Forum category: <a href="http://simplelanguage.wikidot.com/forum/c-29116">Execution in computer / Code generation</a><br/>Forum thread: <a href="http://simplelanguage.wikidot.com/forum/t-39140/intermediate-language-and-mono-project">Intermediate language and mono project...</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://simplelanguage.wikidot.com/forum/t-39140#post-101373</guid>
				<title>Intermediate language and mono project...</title>
				<link>http://simplelanguage.wikidot.com/forum/t-39140/intermediate-language-and-mono-project#post-101373</link>
				<description></description>
				<pubDate>Sat, 02 Feb 2008 20:27:53 +0000</pubDate>
				<wikidot:authorName>TarmoPikaro</wikidot:authorName>				<wikidot:authorUserId>66968</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Mono project itself:<br /> <a href="http://www.mono-project.com/Main_Page">http://www.mono-project.com/Main_Page</a></p> <p>Mono definition:<br /> <a href="http://en.wikipedia.org/wiki/Mono_%28software%29">http://en.wikipedia.org/wiki/Mono_%28software%29</a></p> <p>Intermediate language is one thing which always facinated me - it tries to abstract all existing assembly languages and create<br /> cpu/machine neutral intermediate / "assembly" language. Intresting thing about it is that it support quite many operating systems,<br /> except symbian os. But PC's x86 and mobile devices armv5 cpu architectures are supported at least.</p> <p>Advantages of IL as I see is that you don't need to have virtual machine - similar in java, where java byte code is interpretted,<br /> causing java VM to become slow down factor in java development. (Java classes are quite slow in execution)<br /> But IL can be interpretted by virtual machine as well - I remember seeing some IL language execution support made by some company<br /> for symbian os. So IL can be both - interpretted by virtual machine, or native - code generated on fly. (And faster because of it)</p> <p>I finally have reliazed how correct approach to reuse (ideas/design/source code/libraries) needs to be done.<br /> Quite often people discuss about white box reuse - copy pasting source codes lines from one place to another, or<br /> black box reuse - attaching whole libraries / source code to your project. With black box reuse you can achieve much more,<br /> since you don't have to rewrite same thing twice, but disadvantage of it is that if underlaying code is badly implemented<br /> or have weaknesses in design or testing, reuse will cause problems to appear.</p> <p>I think the correct approach should be always "grey box" reuse. Meaning that you try to apply black box reuse, but looking in more details<br /> what you have underneath. Underlaying (reused) project/library must be 1. replacable 2. have highest code standards / testing coverage in use.<br /> If it's not - then you can fine tune it on your own, or make your own modifications so it would become better than previous attempt.</p> <p>Ok… Where I'm heading with this one - is to mono project.<br /> I've downloaded it, and it looks quite huge project by itself. Which is a first indication of it's weaknesses.<br /> Some source codes contain up to 12'000 lines of code. Image to be a responsible of this nightmare… :)</p> <p>Anyway - code quality of mono itself is quite high, but the whole mono infrastructure is made by mono project itself<br /> (mono's allocation methods, mono's assetions.) It might be so, that for cross platform project there is no other way.</p> <p>Quite large project anyway… A lot of digging will be needed.</p> <br/>Forum category: <a href="http://simplelanguage.wikidot.com/forum/c-29116">Execution in computer / Code generation</a><br/>Forum thread: <a href="http://simplelanguage.wikidot.com/forum/t-39140/intermediate-language-and-mono-project">Intermediate language and mono project...</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://simplelanguage.wikidot.com/forum/t-36044#post-101339</guid>
				<title>Re: More links...</title>
				<link>http://simplelanguage.wikidot.com/forum/t-36044/more-links#post-101339</link>
				<description></description>
				<pubDate>Sat, 02 Feb 2008 18:11:32 +0000</pubDate>
				<wikidot:authorName>Aare</wikidot:authorName>				<wikidot:authorUserId>67529</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Agree with the idea of combining calls like Send and Receive, and Write and Read. Also found it useful in one project.</p> <p>Another idea I'm currently testing is automated modification of hand-written source code. It's like code generation, but with human writing the code, and algorithm upkeeping it. For example imagine a ball bouncing around in a box. Source code contains starting coordinate of this ball, but we can also update this coordinate in runtime. Just press "save" and next time code compiled and executed ball will start bouncing from different location.</p> <p>This approach could lead to some interesting results. Imagine for example copying this bouncing ball - we'll have to clone some code-parts, recompile and reexecute whole program just to process "ctrl+v" keystroke. :) Just love the complexity and "hackness" of this approach.</p> <br/>Forum category: <a href="http://simplelanguage.wikidot.com/forum/c-26339">Execution in computer / General</a><br/>Forum thread: <a href="http://simplelanguage.wikidot.com/forum/t-36044/more-links">More links...</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://simplelanguage.wikidot.com/forum/t-37648#post-97695</guid>
				<title>http://simplelanguage.org/</title>
				<link>http://simplelanguage.wikidot.com/forum/t-37648/http:simplelanguage-org#post-97695</link>
				<description></description>
				<pubDate>Sat, 26 Jan 2008 23:09:05 +0000</pubDate>
				<wikidot:authorName>TarmoPikaro</wikidot:authorName>				<wikidot:authorUserId>66968</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p><a href="http://simplelanguage.org/">http://simplelanguage.org/</a></p> <p>Some similar ideas to this project - simplification of language.</p> <br/>Forum category: <a href="http://simplelanguage.wikidot.com/forum/c-28193">Simple language / Links</a><br/>Forum thread: <a href="http://simplelanguage.wikidot.com/forum/t-37648/http:simplelanguage-org">http://simplelanguage.org/</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://simplelanguage.wikidot.com/forum/t-36607#post-95057</guid>
				<title>Binary data encode/decode</title>
				<link>http://simplelanguage.wikidot.com/forum/t-36607/binary-data-encode-decode#post-95057</link>
				<description></description>
				<pubDate>Mon, 21 Jan 2008 21:30:08 +0000</pubDate>
				<wikidot:authorName>TarmoPikaro</wikidot:authorName>				<wikidot:authorUserId>66968</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hi !</p> <p>Before 'Simple language' I have made some code for binary data generation and parsing.<br /> First approach was to generate code which performs generate/parse.<br /> Second approach I've took more advanced approach - trying to make type reflection / data type reflection technique.<br /> (Not using .NET because working in such environment where it's not available)</p> <p>First was much more simpler than second one, however second approach had more superior features, like<br /> printing complex data types, estimating encoded data size, tracing decode/encode operations.</p> <p>Library can handle dynamic data types, e.g.<br /> typedef struct<br /> {<br /> uint8 length;<br /> char s[length];<br /> }c_string;</p> <p>But then I've hit accross the need to use syntax like 'length +1' or 'length - 1', etc…<br /> After that I've ended up of writing "simple calculator" which tried to calculate<br /> simple formulas.</p> <p>But then I've realized that instead of writing calculator I've could generate a code<br /> for calculator. And this would be next approach, which needs to be tried out..</p> <p>Most intresting idea why I've came into the need of new language is because<br /> I have found plenty of internet examples, which performed something similar<br /> to encode/decode library, however they used different names, like "Serialization",<br /> "marshalling" (microsoft), data type reflection.</p> <p>What I've learned from this - is that<br /> you can have synonyms whichs only disturb software development work -<br /> it's difficult if not impossible to find out analogue solution if it were ever developed.</p> <p>In Microsoft documentation I've came accross 'class' and 'struct' code examples where<br /> in both there were functions - meaning that there is basically no difference between those<br /> two. If there is no difference - why do we need them both ?</p> <p>Same problem applies not only to software development, but to other areas as well.</p> <p>One of the hell where this problem is unleached is microsoft development network documentation<br /> (MSDN) - it's size already measured in Giga bytes (over 2&nbsp;Gb last time I've checked).<br /> Even if I would like to read it fully at some point<br /> of time, it would take a lot of time. And you can find at least 4 different implementations of string class<br /> there. Intresting - isn't ?</p> <p>The main problem here is not about the productivity - it's really easy to make documentation,<br /> the problem is with how it differs compared to other implementations (what is common, what is uncommon,<br /> reusability "level"), and what advantages / disadvantages it brings along.</p> <p>Internet is having currently the same problem - it's "exploding".</p> <br/>Forum category: <a href="http://simplelanguage.wikidot.com/forum/c-26339">Execution in computer / General</a><br/>Forum thread: <a href="http://simplelanguage.wikidot.com/forum/t-36607/binary-data-encode-decode">Binary data encode/decode</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://simplelanguage.wikidot.com/forum/t-36044#post-95049</guid>
				<title>Re: More links...</title>
				<link>http://simplelanguage.wikidot.com/forum/t-36044/more-links#post-95049</link>
				<description></description>
				<pubDate>Mon, 21 Jan 2008 21:05:16 +0000</pubDate>
				<wikidot:authorName>TarmoPikaro</wikidot:authorName>				<wikidot:authorUserId>66968</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>So far my main idea was to be able to translate from 'Simple language' to C/C++ - but the main problem with that one is<br /> that source code requires separate compilation.</p> <p>I by myself have done some code generation as well as project files generation - one problem against which I hit right away -<br /> is that autogenerated code modifies the timestamp of file, and after that synergy (similar system to cvs - coherent versioning system)<br /> thinks that code were updated, even through no changes appeared in the file. I've walked around this problem by making<br /> read-compare-modify_if_needed generation technique.</p> <p>Previously I've made some generation code, as well as parsing. Now I think that these two cases must never be separated - since<br /> they are performing almost the same thing. Where in one function you have encode_uint8, encode_uint32, on second you have<br /> decode_ same data types.</p> <p>In programming there exists quite many cases when similar functionality is combined into the same function call / or interface<br /> - e.g. SendReceive. I think the same approach must be used for generation of code / parsing.</p> <p>One example is how currently most of code generation works - they don't care about code parsing afterwards.<br /> Meanwhile in GDB (debugger) I have found a mention that they require to know stack depth of each function call, what needs<br /> assembly code parsing. This is example use case that could potentially reside in the same code.</p> <p>About macro's approach - I'm not going deeper in C++ syntax, I'm currently intrested in code generation techniques (Either IL or assembly).<br /> Btw - I think you are going into too much details. We could start from simpler case/example.</p> <br/>Forum category: <a href="http://simplelanguage.wikidot.com/forum/c-26339">Execution in computer / General</a><br/>Forum thread: <a href="http://simplelanguage.wikidot.com/forum/t-36044/more-links">More links...</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://simplelanguage.wikidot.com/forum/t-36044#post-93960</guid>
				<title>Re: More links...</title>
				<link>http://simplelanguage.wikidot.com/forum/t-36044/more-links#post-93960</link>
				<description></description>
				<pubDate>Sat, 19 Jan 2008 13:33:00 +0000</pubDate>
				<wikidot:authorName>Aare</wikidot:authorName>				<wikidot:authorUserId>67529</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Not sure, but this looks like a good example of the code-generation-concept:<br /> <a href="https://www.codegeneration.net/tiki-read_article.php?articleId=7">https://www.codegeneration.net/tiki-read_article.php?articleId=7</a></p> <p>Must say I'm confused. For years all the "experts" were saying that copy-pasting is bad, macros are evil, and that we need scripting languages to get rid of compilation step.<br /> And now they feel so satisfied and proud of adding additional complexity of using multiple syntaxes (xml and some base language) and adding additional step to program execution (code generation step), and introducing copy/paste-automatization where code can no longer be changed directly (but only through some code-generating algorithm).</p> <p>So, here come my few short observations on this subject:<br /> 1. In the link above implementation would be much shorter to use c++ macros like "DEFINE_MAP(IDOK, 1)".<br /> 2. Paul Graham is one of the few people who where praising macros, because of their ability to generate code. He was talking about Lisp's language-extensions.<br /> 3. It's easier to use Search-and-replace to change multiple instances of copy-pasted code. Automatization is always the root of all evil. Same goes for code-generation-automatization.<br /> 4. Compilation step can be made just as invisible as virtual-machine-based execution. By optimizing things needed to be compiled (for example by using dll-files) and using program-state-serialization code-changes to a running c++ program can be made really fast. And by fast I mean real-time fast.</p> <br/>Forum category: <a href="http://simplelanguage.wikidot.com/forum/c-26339">Execution in computer / General</a><br/>Forum thread: <a href="http://simplelanguage.wikidot.com/forum/t-36044/more-links">More links...</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://simplelanguage.wikidot.com/forum/t-35085#post-93930</guid>
				<title>Re: a question</title>
				<link>http://simplelanguage.wikidot.com/forum/t-35085/a-question#post-93930</link>
				<description></description>
				<pubDate>Sat, 19 Jan 2008 11:39:17 +0000</pubDate>
				<wikidot:authorName>Aare</wikidot:authorName>				<wikidot:authorUserId>67529</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <blockquote> <p>Proponents claim a particular language makes it easier to express and understand concepts in one area, and more difficult in others (the various computer languages may be seen as this kind of constructed language).</p> </blockquote> <p>It's true that when you first start to use new technology, you tend to think in concepts it defines. But I would argue that this is not a good thing, and in fact should be Learned to be avoided. There doesn't really exist a technology that would be worth "thinking" in. :)</p> <p>For example php-language allows you to generate html code, but should this concept really affect your thinking? Here's a good way to go around this html-code-generating "feature":</p> <div class="code"> <pre> <code>$title_variations = 1*($person_id!="") + 2*($email!=""); { if($title_variations==0)print" &lt;b&gt;$name&lt;/b&gt; ";if($title_variations==1)print" &lt;b&gt;$name ($person_id)&lt;/b&gt; ";if($title_variations==2)print" &lt;b&gt;&lt;a link=mailto:$email&gt;$name&lt;/a&gt;&lt;/b&gt; ";if($title_variations==3)print" &lt;b&gt;&lt;a link=mailto:$email&gt;$name ($person_id)&lt;/a&gt;&lt;/b&gt; "; // Note: Idea of this example is in the alignment of previous if-checks. It's hard to ensure that with stupid browsers, but all if-checks should align to the same indentation. }</code> </pre></div> <p>So, does that mean that programming languages are more like unavoidable evil, that suppresses programmer's expressiveness and imagination?<br /> Ok, that's of course an exhaduration, but what I'm trying to say is that it wouldn't probably be enough to just change syntax of a program definition for new programming language be useful. Language should be designed to solve some small but really complex problem in such a way that somehow circumvents all the pitfalls of object-oriented, functional and other programming paradigms. Then this new programming language would be trully great.</p> <br/>Forum category: <a href="http://simplelanguage.wikidot.com/forum/c-26079">Hidden / Introduction</a><br/>Forum thread: <a href="http://simplelanguage.wikidot.com/forum/t-35085/a-question">a question</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://simplelanguage.wikidot.com/forum/t-36044#post-93744</guid>
				<title>Re: More links...</title>
				<link>http://simplelanguage.wikidot.com/forum/t-36044/more-links#post-93744</link>
				<description></description>
				<pubDate>Fri, 18 Jan 2008 23:19:09 +0000</pubDate>
				<wikidot:authorName>TarmoPikaro</wikidot:authorName>				<wikidot:authorUserId>66968</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p><a href="https://www.codegeneration.net/">https://www.codegeneration.net/</a></p> <p>Code Generation Network</p> <br/>Forum category: <a href="http://simplelanguage.wikidot.com/forum/c-26339">Execution in computer / General</a><br/>Forum thread: <a href="http://simplelanguage.wikidot.com/forum/t-36044/more-links">More links...</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://simplelanguage.wikidot.com/forum/t-36044#post-93716</guid>
				<title>Re: More links...</title>
				<link>http://simplelanguage.wikidot.com/forum/t-36044/more-links#post-93716</link>
				<description></description>
				<pubDate>Fri, 18 Jan 2008 22:42:20 +0000</pubDate>
				<wikidot:authorName>TarmoPikaro</wikidot:authorName>				<wikidot:authorUserId>66968</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>The LLVM Compiler Infrastructure</p> <p><a href="http://llvm.org/">http://llvm.org/</a></p> <p>Needs to be checked out…</p> <br/>Forum category: <a href="http://simplelanguage.wikidot.com/forum/c-26339">Execution in computer / General</a><br/>Forum thread: <a href="http://simplelanguage.wikidot.com/forum/t-36044/more-links">More links...</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://simplelanguage.wikidot.com/forum/t-35519#post-91963</guid>
				<title>Re: Questions and answers</title>
				<link>http://simplelanguage.wikidot.com/forum/t-35519/questions-and-answers#post-91963</link>
				<description></description>
				<pubDate>Tue, 15 Jan 2008 20:33:03 +0000</pubDate>
				<wikidot:authorName>TarmoPikaro</wikidot:authorName>				<wikidot:authorUserId>66968</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p><strong>Answer:</strong><br /> 1. Simple language does not yet exists, so it's too early to use word 'Author'.</p> <p>2. Yes, concrete examples does not exists, because language itself does not exists.</p> <p>If you look for example Lojban language: <a href="http://lojban.org/publications/level0/brochure/pref.html">http://lojban.org/publications/level0/brochure/pref.html</a><br /> then you can find out that Lojban language was developed within 1966 - 2001 years.<br /> There exists large list of people involved in language creation.</p> <p>However dispite of cooperation / development - there is less than 2 tousands people<br /> <a href="http://www.lojban.org/tiki/tiki-index.php?page=Frequently+Asked+Questions+About+Lojban&amp;bl#G4">http://www.lojban.org/tiki/tiki-index.php?page=Frequently+Asked+Questions+About+Lojban&amp;bl#G4</a><br /> which are using Lojban. I by myself did not know anything about Lojban until started to analyze<br /> constructed languages.</p> <p>What we can learn from this ?</p> <p>1. Language creation might take long time (we are talking about years)<br /> (Do I want to spend x years of making something unusable, weird or unknown ?)</p> <p>2. Language must be done with cooperation with other people.<br /> One person cannot construct new popular language on it's own.</p> <p>3. In Lojban word 'mi' could mean 'I/me/my'. What I'm intrested in here<br /> is not only why it is done so, but also a background ideas behind it.<br /> It would be quite helpful if someone who made this Lojban word originally<br /> would tell why it is done so, and compare how it's done in other languages.</p> <br/>Forum category: <a href="http://simplelanguage.wikidot.com/forum/c-26338">Simple language / General</a><br/>Forum thread: <a href="http://simplelanguage.wikidot.com/forum/t-35519/questions-and-answers">Questions and answers</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://simplelanguage.wikidot.com/forum/t-35519#post-91949</guid>
				<title>Questions and answers</title>
				<link>http://simplelanguage.wikidot.com/forum/t-35519/questions-and-answers#post-91949</link>
				<description></description>
				<pubDate>Tue, 15 Jan 2008 20:15:19 +0000</pubDate>
				<wikidot:authorName>TarmoPikaro</wikidot:authorName>				<wikidot:authorUserId>66968</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I will post some questions, which came from other people to this forum -<br /> just to make sure that other people don't ask the same questions twice.<br /> Also if someone have further comments - they can "Reply" in this post thread<br /> as well.</p> <p><strong>Question:</strong> Author of Simple language did not gave any concrete example on 'Simple language' ?!</p> <br/>Forum category: <a href="http://simplelanguage.wikidot.com/forum/c-26338">Simple language / General</a><br/>Forum thread: <a href="http://simplelanguage.wikidot.com/forum/t-35519/questions-and-answers">Questions and answers</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://simplelanguage.wikidot.com/forum/t-35515#post-91942</guid>
				<title>Introduction power point slides...</title>
				<link>http://simplelanguage.wikidot.com/forum/t-35515/introduction-power-point-slides#post-91942</link>
				<description></description>
				<pubDate>Tue, 15 Jan 2008 20:03:57 +0000</pubDate>
				<wikidot:authorName>TarmoPikaro</wikidot:authorName>				<wikidot:authorUserId>66968</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>In case if someone missed 'Simple language' introduction, it's located at URL:</p> <p><a href="http://simplelanguage.wikidot.com/local--files/forum:start/NewLanguage_v0_2.ppt">http://simplelanguage.wikidot.com/local--files/forum:start/NewLanguage_v0_2.ppt</a></p> <br/>Forum category: <a href="http://simplelanguage.wikidot.com/forum/c-26338">Simple language / General</a><br/>Forum thread: <a href="http://simplelanguage.wikidot.com/forum/t-35515/introduction-power-point-slides">Introduction power point slides...</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://simplelanguage.wikidot.com/forum/t-35346#post-91423</guid>
				<title>Lojban...</title>
				<link>http://simplelanguage.wikidot.com/forum/t-35346/lojban#post-91423</link>
				<description></description>
				<pubDate>Mon, 14 Jan 2008 20:50:34 +0000</pubDate>
				<wikidot:authorName>TarmoPikaro</wikidot:authorName>				<wikidot:authorUserId>66968</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Lojban<br /> <a href="http://en.wikipedia.org/wiki/Lojban">http://en.wikipedia.org/wiki/Lojban</a></p> <p><strong>Disadvantages:</strong><br /> - Cryptic language name.<br /> - Less popular than Esperanto: The current number of Lojban speakers, although indeterminable, is much lower than for Esperanto.<br /> - Does not alter existing meaning of terms, only renames them. (Missing refining / resorting in vocabulary / terminology which I would like<br /> to achieve with Simple language)<br /> - Cannot be executed as computer code. (And might be not designed for that purpose as well)</p> <p><strong>Advantages:</strong><br /> - Language is designed to be easily parsable by computer.</p> <br/>Forum category: <a href="http://simplelanguage.wikidot.com/forum/c-26543">Simple language / Compare to other languages</a><br/>Forum thread: <a href="http://simplelanguage.wikidot.com/forum/t-35346/lojban">Lojban...</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://simplelanguage.wikidot.com/forum/t-35085#post-90656</guid>
				<title>Re: a question</title>
				<link>http://simplelanguage.wikidot.com/forum/t-35085/a-question#post-90656</link>
				<description></description>
				<pubDate>Sun, 13 Jan 2008 11:28:07 +0000</pubDate>
				<wikidot:authorName>TarmoPikaro</wikidot:authorName>				<wikidot:authorUserId>66968</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Currently 'simple language' does not exist. I'm planning to create it, however I would like to apply bottom-up<br /> architecture approach - also called as "Focus on the infrastructural aspects of the system prior to designing for application functionality"</p> <p>Software Product Line Practice - Architecture Definition:<br /> <a href="http://www.sei.cmu.edu/productlines/frame_report/arch_def.htm">http://www.sei.cmu.edu/productlines/frame_report/arch_def.htm</a></p> <p>Meaning that we try to identify lower layer first (E.g. how pc code generation could be done) and then try to map against<br /> higher layers (How simple language will look like).</p> <p>I have already hit accross sentence like -</p> <p><a href="http://en.wikipedia.org/wiki/Constructed_language">http://en.wikipedia.org/wiki/Constructed_language</a><br /> Proponents claim a particular language makes it easier to express and understand concepts<br /> in one area, and more difficult in others (the various computer languages may be seen as this kind of constructed language).</p> <p>This means that if we take english for example and modify it slightly and get new language - will it be simpler or more difficult to use ?<br /> It could go in both directions actually. In order to make it easier, we need to try different expressions / phrases / programming approaches<br /> in order to find out which would be most suitable one for us to use.</p> <p>My primary goal is to start from english - (Simple language = english) and then iterate in right direction. (Simplify, structurize)<br /> There exists hundred different languages - what will make simple language better than other?<br /> So the correct approach would be to "design" or clearly write why we used this approach or that approach.</p> <p>In following book - "The Peopleware Papers – Notes on the human side of software"<br /> (Author: Larry L.Constantine ISBN: 0-13-060123-3) - you can find following text:</p> <hr /> <p>This view tends to lose sight of vital information. In general, when only the work product is preserved, we know what we got in the end but not how we got it. How the software was generated, the decisions along the way, are essential part of process. Do we want to trust to memory? Do we care only about our mistakes or do we also want to learn from them?</p> <p>A particular problem with groups that keep only the end product of software development is that they do not preserve a record of what they didn’t do. Often it can be as important to know what approaches were rejected and for what reasons as to know which were selected. This is vital information to have when it comes to future versions or systems or to preserve for when the current system goes down the tubes. (page 18)</p> <hr /> <p>I want to apply the same approach - we log/ keep history of everything what we do, because important is not only "Simple language", but<br /> it's history - how it was made.</p> <br/>Forum category: <a href="http://simplelanguage.wikidot.com/forum/c-26079">Hidden / Introduction</a><br/>Forum thread: <a href="http://simplelanguage.wikidot.com/forum/t-35085/a-question">a question</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://simplelanguage.wikidot.com/forum/t-35088#post-90489</guid>
				<title>From where to start ?</title>
				<link>http://simplelanguage.wikidot.com/forum/t-35088/from-where-to-start#post-90489</link>
				<description></description>
				<pubDate>Sat, 12 Jan 2008 21:52:18 +0000</pubDate>
				<wikidot:authorName>TarmoPikaro</wikidot:authorName>				<wikidot:authorUserId>66968</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>One question - from where to start ?</p> <p>I believe that general discussion must be kept in parallel, as well as some practical approach<br /> could be applied as well. Previously I had one forum - and it's main problem - it was too<br /> "political" - nothing practical born from it. We should avoid of being too abstract.</p> <p>But from where to start ? I believe that in order to build egypt pyramid, you need first to master<br /> basics (=stones). Without stones there is not way you can build large system.</p> <p>I had an idea to start from some "hello world" application for pc, and compare how the same operation<br /> looks in real life - person coming into room and saying "hello world". :-)<br /> After that we need to extract basic elements in this action - that's person, application,<br /> action: saying.<br /> We could adapt some words from "Toki Pona" language:<br /> <a href="http://www.tokipona.org/">http://www.tokipona.org/</a><br /> (I like Toki Pona because of it's simplicify, but this is again my preference, you may like something else)</p> <p>how person is defined there, and refine what we mean under person or application - what is common<br /> and what is uncommon.</p> <p>After refining whole problem - we could construct hello world in "Simple language".</p> <p>And this kind of "analysis - sort - refine - understand" rounds needs to be done for all words or<br /> operands in programming language.</p> <p>Always start from really simple cases, and complex cases are built from simple cases.<br /> It's important to return back to simple case in case complex case starts to become too complex -<br /> it often refers that redesign is needed.</p> <br/>Forum category: <a href="http://simplelanguage.wikidot.com/forum/c-26339">Execution in computer / General</a><br/>Forum thread: <a href="http://simplelanguage.wikidot.com/forum/t-35088/from-where-to-start">From where to start ?</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://simplelanguage.wikidot.com/forum/t-35086#post-90486</guid>
				<title>Execution in pc side...</title>
				<link>http://simplelanguage.wikidot.com/forum/t-35086/execution-in-pc-side#post-90486</link>
				<description></description>
				<pubDate>Sat, 12 Jan 2008 21:35:09 +0000</pubDate>
				<wikidot:authorName>TarmoPikaro</wikidot:authorName>				<wikidot:authorUserId>66968</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>New language itself should not be complex to invent (there are plenty of programming languages<br /> as well as natural languages) - the most complex thing is to execute it in pc,<br /> since it will require some code to be written. And will require some development effort.</p> <p>One thing which I'm currently trying to think through - generating C/C++ code does not allow<br /> automatic execution of that code, but I would prefer to execute it right away after code (C/C++)<br /> would be created. In that sence microsoft IL or assembly would be better alternative from where to start.</p> <p>Mono project is dealing currently with being able to translate microsoft IL into assembly code (pc side)</p> <p><a href="http://en.wikipedia.org/wiki/Mono_(software">http://en.wikipedia.org/wiki/Mono_(software</a>)<br /> <a href="http://www.mono-project.com/Main_Page">http://www.mono-project.com/Main_Page</a></p> <p>but what I have checked from there - there still exists some unresolved issues.<br /> Also I haven't seen mono-project being widely in use yet.</p> <p>Gnu compiler collection (Gcc) project has also something related to common<br /> language infrastructure:<br /> <a href="http://gcc.gnu.org/projects/cli.html">http://gcc.gnu.org/projects/cli.html</a> ,<br /> where front end basically refers to fact that gcc parses IL,<br /> and backend means that gcc can produce IL from source codes.</p> <p>If you have ever analyzed gcc v4, it's architecture and so on - it<br /> it really complex - however complexity mostly comes from<br /> what gcc needs to support (different languages).</p> <p>If you have ever analyzed microsoft common language<br /> infrastructure - you can find the same complexity there as well.</p> <p>I believe both projects are going in a wrong direction, right direction<br /> is simple language. Merely because simple language could simplify<br /> complexity (on both - natural and programming languages) and<br /> bring people closer to computer world and vice versa, and people<br /> closer to people (improoved communication, it's efficiency)</p> <br/>Forum category: <a href="http://simplelanguage.wikidot.com/forum/c-26339">Execution in computer / General</a><br/>Forum thread: <a href="http://simplelanguage.wikidot.com/forum/t-35086/execution-in-pc-side">Execution in pc side...</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://simplelanguage.wikidot.com/forum/t-35085#post-90481</guid>
				<title>a question</title>
				<link>http://simplelanguage.wikidot.com/forum/t-35085/a-question#post-90481</link>
				<description></description>
				<pubDate>Sat, 12 Jan 2008 21:15:05 +0000</pubDate>
				<wikidot:authorName>johncamp</wikidot:authorName>				<wikidot:authorUserId>67801</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I've read the ppt from the list, but can you give me some basic keywords to start off with? You know, just some examples of the language?</p> <br/>Forum category: <a href="http://simplelanguage.wikidot.com/forum/c-26079">Hidden / Introduction</a><br/>Forum thread: <a href="http://simplelanguage.wikidot.com/forum/t-35085/a-question">a question</a>
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://simplelanguage.wikidot.com/forum/t-34790#post-89762</guid>
				<title>Welcome</title>
				<link>http://simplelanguage.wikidot.com/forum/t-34790/welcome#post-89762</link>
				<description></description>
				<pubDate>Thu, 10 Jan 2008 22:28:24 +0000</pubDate>
				<wikidot:authorName>TarmoPikaro</wikidot:authorName>				<wikidot:authorUserId>66968</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>This forum was created to held multiple discussions as necessary about different subjects.</p> <br/>Forum category: <a href="http://simplelanguage.wikidot.com/forum/c-26079">Hidden / Introduction</a><br/>Forum thread: <a href="http://simplelanguage.wikidot.com/forum/t-34790/welcome">Welcome</a>
				 	]]>
				</content:encoded>							</item>
				</channel>
</rss>