Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×

Comment Re:Point? (Score 1) 158

Porting to a web platform is something I'd like to see happen. When we started Tao3D, WebGL and even Javascript were not mature enough, and it would have been unreasonable to do so. Today, I don't know. There are still a few things in Tao3D I think Javascript would have a hard time doing. Feel free to try. That's one of the reasons we opened the code.

Comment Re:Where is IF-THEN-ELSE more verbose than that? (Score 3, Informative) 158

The actual definition of if-then-else can be found here. It looks like this:

// If-then-else statement
if true then TrueBody else FalseBody -> do TrueBody
if false then TrueBody else FalseBody -> do FalseBody

if true then TrueBody -> do TrueBody
if false then TrueBody -> false

The definition of the 'for' loop is more convoluted and is actually found in C++ code. It looks like this:


FORM(IntegerForLoop, tree,
          "for Var in Low:integer..High:integer loop Body",
          PARM(Var, tree, "")
          PARM(Low, integer, "")
          PARM(High, integer, "")
          PARM(Body, source, ""),
          return xl_integer_for_loop(context,self, &Var, Low, High, 1, &Body), )
FORM(IntegerForLoopStep, tree,
          "for Var in Low:integer..High:integer by Step:integer loop Body",
          PARM(Var, tree, "")
          PARM(Low, integer, "")
          PARM(High, integer, "")
          PARM(Step, integer, "")
          PARM(Body, source, ""),
          return xl_integer_for_loop(context,self, &Var, Low,High,Step, &Body), )
FORM(RealForLoop, tree,
          "for Var in Low:real..High:real loop Body",
          PARM(Var, tree, "")
          PARM(Low, real, "")
          PARM(High, real, "")
          PARM(Body, source, ""),
          return xl_real_for_loop(context,self, &Var, Low, High, 1.0, &Body), )

Comment Re:Where is IF-THEN-ELSE more verbose than that? (Score 1) 158

I'm curious, when is the definition of a content-free if-then-else statement more than a couple of lines?

The point is that you define the if-then-else control structures. If you wish, if-then-else is a macro in Tao3D, not a built-in.

(though in the sample I linked the indenting doesn't seem to be very consistent at the end)

Can you tell me where you think it's not consistent?

Submission + - Tao3D: a new open-source programming language for real-time 3D animations (sourceforge.net)

descubes writes: Tao3D is a new open-source programming language designed for real-time 3D animations. With it, you can quickly create interactive, data-rich presentations, small applications, proofs of concept, user interface prototypes, and more. The interactivity of the language, combined with its simplicity and graphical aspects, make it ideal to teach programming.

Tao3D also demonstrates a lot of innovation in programming language design. It makes it very easy to create new control structures. Defining if-then-else is literally a couple of lines of code. The syntax to pass pass blocks of code to functions is completely transparent. And it is fully reactive, meaning that it automatically reacts as necessary to external events such as mouse movements or the passage of time.

The source code was just made available under the GNU General Public License v3 on SourceForge, GitHub and Gitorious.

Comment Re:What is the significance here? (Score 1) 106

Well, as the author of the blog post, I did not intend this post to go on Slashdot. It was just a note-to-self about the various commands and build steps involved. Because they are, well, complicated.

In the grand scheme of things, the significance behind this is that I plan to open-source Tao, the 3D document description language invented by Taodyne, with the intent to be able to integrate it into at least one web browser. More details about why Tao would make a difference for the web here: http://www.taodyne.com/shop/de... (and in the follow up article). More details about how it works for a developer here: https://www.youtube.com/watch?....

Comment Software complexity also follows Moore's law (Score 1) 608

Software complexity follows Moore's law, an exponential law. So with a fixed set of tools, you are bound to reach a point where you can't code effectively. That's why we need either new sets of tools on a regular basis (e.g. C -> C++ -> Java -> ...) or tools that evolve over time (e.g. Lisp).

See http://xlr.sourceforge.net/Con... for another take at tools that evolve over time.

Comment Internet confirms my faith (Score 1) 1037

I will go against the crowd here, and say that Internet helps me with my faith. It gives me free access to the life and writings of saints. It gives me access to the original words of people like the pope, and lets me contrast them with the reporting often given in the media. It gives me a connexion to a community of Christian people. And it lets me realise that most of the counter arguments to religion are nothing new, and have been debunked by great minds centuries ago. I recently came across a site dedicated to Fatima that had me entirely revisit the (very low) standards I had for my own faith and life.

Information on the net about religion is a little like information on sex and love. Good luck trying to understand what true love is by going to porn sites! Same thing trying to understand what the true love of God is The first post I see here equates knowledge to the antichrist. It's funny, because it's typical of the derisive "information" you can find on the net, which combines some familiarity with basic concepts and utter ignorance of what's really behind them. Yes, the original sin derived from knowledge of good and evil. No, this does not mean at all that the catholic church condemns knowledge! A good lie has to be believable, and you know who the master of all lies is

I'm really sorry to hear that the original poster became an atheist by reading about religion on the Internet. He was already away from faith, since he said that he would have identified himself as religious without attending service (aka not really religious). If you don't attend service, chances are you did not personally meet God yet. For most christians, faith means a personal encounter of some sort. Trying to use internet arguments against my faith is a bit like trying to use porn as a proof that my wife's love is not real

Comment Intentional Programming and Concept Programming (Score 1) 876

Charles Simonyi, one of the creators of Microsoft Word, went on a crusade to enable "intentional programming", which is to programming what the WYSIWYG word processor was to LaTeX. You can see what he does here. This is a VERY hard problem to solve. Simonyi is a good programmer, has tons of money, yet this is not a battle that he has clearly won yet.

I once received a phone call at work from a Forbes journalist, saying that Simonyi had described my own pet project, XL (http://xlr.sf.net), and the associated "Concept Programming" ideas as one of the only competitors to Intentional Programming. That was interesting, because it shows that Simonyi had "groked" what I wanted to do, despite the total lack of polish of this little project. (As an aside, if you are curious, you can see XL in action in Taodyne's software to create interactive 3D documents)

But what Simonyi saw (I believe) is that the general questioning was similar. How do we transform ideas into code. For Simonyi, this can be done with graphical tools. For XL, this can be done with simple transformations on text (more precisely, on a Lisp-like parse tree generated from the text). For example, with XL, you can implement the "if-then-else" concept using the "->" (transforms into) operator as follows:

if true then X else Y -> X
if false then X else Y -> Y

With this approach, it is possible to use nice notations for arbitrary concepts. In Taodyne's products, for example, a slide is described by something like:

slide "Hello world",
        * "This is a bullet point"
        * "This is another one"

This pseudo-markup language is then rewritten recursively until we reach "primitive" operations, e.g. 3D graphics rendering or basic computations.

XL is based on text because a) it's easier to do than Simonyi's approach, and b) I think it is generally easier to read and write "globally". If you have a "picture" in a document, of course showing the picture tells you more than just its name. But knowing that there is a picture in a document is easy with something like image "Woman.jpg" or (in HTML) a img tag.

As the experience with HTML or Postscript demonstrated, text or graphical does not matter much anyway. It's possible to have a text-based representation of the code that most people manipulate graphically and never need to be aware of. You can generate your HTML with Word, never need to know anything about it. It's likely the same thing is slowly happening with code as well: IDEs tend to give you more and more meta-data which is "behind" the text and helps you navigate it or code faster.

Slashdot Top Deals

I program, therefore I am.

Working...