[EDUCATION] - Algoid - Learning programming with turtle and smart language !

  • Replies:17
  • Closed
CyaNn
  • Forum posts: 23

Feb 18, 2013, 10:44:57 PM via Website

Everyting is on the title.... lol.
Let me present you my app Algoid.

First, Algoid is a programming language designed to simplify the self apprentiship of programing. (but not at all, it is a multi-paradigm scripting language : imperative, functional (anonymous function, class first function and recursive), OOP (prototype based, multi-inheritance), Meta Object Protocol and nativelly AOP)

Second, Algoid is an IDE to edit the AL Script code with auto-completion, code snippets, formating, DEBUGGER and STEP by STEP execution mode.

Third, Algoid is a set of online documentation / tutorials directly available on the app, with automatic copy of example and exercises source code.

It is a beta version, but nearly become an 1.0 version (06th of marth, to offer to my son, it is his birthday)

Available here:
play.google.com/store/apps/details?id=fr.cyann.algoid

I hope you will enjoy it ! :rolleyes:;)

CyaNn
  • Forum posts: 23

Feb 23, 2013, 8:58:47 AM via Website

Hi everyone,
This is the last beta version before release.
I have to speed up, the birthday of by son is in j-8.... I have 2 or 3 little things to tune yet.

Well so new version with parser example.
Play with it, it demonstrate the power of AL isioms like cascade + functionnel.
The language is able to parse CSV (with delimiter or not) in only one line.... great class (when I think the number of time I have done this in my job).

The ; at the end of line become completly optionel. My backtracking parsing expression grammar is really powerfull, it has no problem this that.

v0.4.5 BETA 23-02-2013 Last beta version before release
- new AL features examples (AOP, ducktyping, parsing, lexical closure)
- the end line semicolon is now totally optional
- array keyword is mandatory for the first one in nested arrays
- menu organisation

Well, for next version, I am working on monetizing the app. But I don't know how to do that without changing user experience.
I anyone has an idea.

So, you can find it here....
play.google.com/store/apps/details?id=fr.cyann.algoid

Have a nice week-end

— modified on Feb 23, 2013, 8:59:08 AM

CyaNn
  • Forum posts: 23

Mar 1, 2013, 6:36:20 PM via Website

Hello everybody,

With great excitement, I announce the official release of v1.0 Algoid.

Algoid become a donateware, free without ads, but donate if you decide that this project is worth and helpfull.
I think it is the better choise for this kind of project. :p:p:p:p

play.google.com/store/apps/details?id=fr.cyann.algoid

Well, I hope you will love it.

CyaNn
  • Forum posts: 23

Mar 9, 2013, 7:36:05 AM via Website

Hi there.
A little up to version 1.0.1 to correct a crash on certain little device (sorry for that)

Peace an code.
CyaNn

CyaNn
  • Forum posts: 23

Mar 9, 2013, 7:42:47 AM via Website

Some screenshots

full ide and splitted view


true debugger (at least the only one on Android)


scope explorer


create cool and fun programs


or very fun programs

— modified on Mar 9, 2013, 7:44:37 AM

CyaNn
  • Forum posts: 23

Apr 6, 2013, 7:58:13 PM via Website

Some preliminar benchmarks of AL on MacOS (quad core duo)
- Python is 2.6.1, it is an interpreted language over c++
- JavaScript / Rhino is a java on the fly compiled language (I have put the optimization to maximum)
On Android platform, Javascript should have some worst performances because it cannot generate bycode yet (due to dalvik different nature than JVM)
- AL from Algoid is my pure java interpreted language

As demonstrated, AL has similar performances than python except for object creation. I don't have solution for that yet. Perhaps in a future version.
So I am excited to see what it will done on Algoid with 3d cube ;-)



All these tests was realized by looping each instruction 1'000'000 times. For object creation only the instruction was executed only 10'000 times.
As until does not exists on Python an equivalent was scripted (while (True) : if (cond) break)

Ahmed A.
  • Forum posts: 12

Apr 9, 2013, 1:53:25 AM via Website

Nice app

CyaNn
  • Forum posts: 23

Apr 10, 2013, 4:25:38 PM via Website

Ahmed A.
Nice app

Thanks a lot.
Do not hesitate to post a review on the play store if you like it.

I am actually working hard on optimizing, but as you can see it worth.
I hope de make an update since two weeks..... I hope.....

CyaNn
  • Forum posts: 23

Apr 14, 2013, 6:50:30 PM via Website

This last month was really hard and tedious. But it was for a good cause. I have completely re-write the AL language implementation to improve drastically performances. :D

And what is going on beyond my expectations: 10x to 40x faster than previous version. Faster than Javascript / Rhino (about 2x).
Unfortunately slower than Python and Lua on android only. I think Dalvik VM is not as optimized as JVM is because on my MacOS AL have same performances than Python....

Nevermind ! Try to execute the 3d cube or space invader.... These programs seems to have drank too much coffy !!!! lol.

Further, you have been a lot to vote to game developpment framework !

The developpment of a game edition of this app has started.... To be continued....

— modified on Apr 14, 2013, 6:50:58 PM

CyaNn
  • Forum posts: 23

Apr 20, 2013, 2:23:36 PM via Website

hehe, I return to my weekly update frequency.....
This is the new v1.1.2 release with

- correct several scope bugs in language
- show AL exception in source code instead of unhandle exception
- algo.curve and algo.curvedPoly
- two another 3d example : 3dAlpha and 3dSpline



I hope you will like it
Find it here :

CyaNn
  • Forum posts: 23

Apr 27, 2013, 6:38:22 PM via Website

Yop yop, new release. Essentially bug corrections.

v1.1.3 Release 27-04-2013
- correct function parameter bug when nested call
- correct several minor ide bugs
- add al.combine.sum, al.combine.product and al.combine.concat functional tools to be used with array.join and array.merge
- add math.floor method
- open curves, paths and poly
- function tutorial
- filter map reduce new example
- suppress confusing and useless util.wait

always here

— modified on Apr 27, 2013, 6:40:27 PM

CyaNn
  • Forum posts: 23

May 15, 2013, 6:01:44 PM via Website

Yeah ! Little view to show you Algoid sensor capabilities (actually in develloppment).
A little game was added to (about 200 lines of pure AL code ;-))
http://www.youtube.com/watch?v=115lAyfrirc

ChoozWho
  • Forum posts: 14

May 15, 2013, 6:04:06 PM via Website

Looks good. Great stuff!

CyaNn
  • Forum posts: 23

May 16, 2013, 10:16:08 PM via Website

Thanks a lot, yes it is really cool to play with these possibilities. B):D

CyaNn
  • Forum posts: 23

May 19, 2013, 7:18:40 PM via Website

Yeah ! Algoid v1.1.4 is out !
With following features :
★ device sensors management (onAcceleration, onGravity, onGyroscope, onOrientation etc.) see examples/sensor
★ new breakout game
★ web site hosting changes for www.algoid.net (thanks for donators)



Have fun !

CyaNn
  • Forum posts: 23

Jun 5, 2013, 9:32:33 PM via Website

Yeah ! Algoid v1.1.5 is out ! With :
★★ v1.1.5 Release 04-06-2013 ★★
★ forum bug about % special character
★ correct several little bugs
★ correct return bug (does not work with loops)
★ new algo methods: square() and algo.box()
★ reintroduce algo.setBgColor()
★ new ascii methods: String.encodePoint(), Number.decodePoint(), Array.decodePoint()
★ rename whileTrue and untilFalse by respectivelly whileDo and untilDo
★ new math methods: exp(), log(), E, PI
★ help reference index

Available here:


I hope you will enjoy it ! :rolleyes:;)

CyaNn
  • Forum posts: 23

Jun 17, 2013, 9:24:14 PM via Website

Little game created inside Algoid during train travel.... Comming soon with new IDE interface.

CyaNn
  • Forum posts: 23

Jun 29, 2013, 6:20:28 PM via Website

Version 1.2.0 of Algoid is out.
With a lots of improvements :
★ new navigation concept (sliding menu on the top)
★ Desktop and Applet version
★ correct algo.getHeight bug due to animation
★ isReel renamed to isReal
★ select / copy / past tools
★ Star battle new game
★ Functional decorator new example
★ algo's font and text size
★ new thread methods : util.notice(), util.pullOn(), util.clearTasks()
★ util.pulse new optional parameters
★ array.getFirst() and array.getLast()
★ log viewer performances improvement
★ ide on long click removal (help icon on sliding menu instead)
★ clone code snippet
★ settings will not be override by next update
★ sensors orientation independents

always here :