• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

[FREE][Education] Algoid - Learning programming it's simple and Funny !

CyaNn

Newbie
Nov 7, 2012
36
3
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) 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 documentations directly available on the app, with automatic copy of example and exercises source code.

This is some screen shots of the app:
Ok, all apologies for the bug.
App is now officially on Google play Store for Beta testing.

Play Store











It is a beta version, but nearly become an 1.0 version

v0.3.0 BETA 15-12-2012
- cache help and tutorials to run off-line
- help loading management
- language scope optimization (3d cube is faster)
- correct ide blocking after execution
- prevent undo / redo crashes
- clear log correction
- correct startup crash before the 2.3.6 Android version

Available here:


I hope you will enjoy it ! :rolleyes:;)
 
  • Like
Reactions: Rxpert83
Hi folks....

Currently I am writing an Idiom from Smalltalk : cascade.
Every entity in AL become like an object with methods (not real objects to obtimize).
I have coupled this concept with some Python functional approach and now it is possible to write :

PHP:
{1, 2, 3, 4}.each (function (item) {
    util.log ("- The item is : " .. item);
});

/*
Create an anonymous array and write sentence for each item :
- The item is : 1
- The item is : 2
- The item is : 3
- The item is : 4
*/

So a lots of improvement will be done for this 0.4.0 future version.
I am impatient to publish it and to have some feed-backs.......

Do not hesitate to give your ideas on this forum or on play store comments.
Thanks in advance.
 
  • Like
Reactions: Rxpert83
Upvote 0
Wohhhh,

There is no activity on this thread.... :(:(:(:(
Never mind, I continue my way !

So, greate today is a day, I have published the v0.4.0 of beta version
Find it here :


- "loop (limit) {}" imperative primitive
Example :
Code:
loop (4) { // pretty simpler than for with init and incrementation
	algo.go (100);
	algo.turnLeft (90);
}
- tutorials introduce "loop" on behalf "for" (because "for" is too complicated to learn first)
- if, else, else if tutorial
- some language optimizations (still not perfect)
- cascade idiom (smalltalk80, python) every value have its own methods
It is now possible to write some pretty functional beauties like :
Code:
// find all string in the list with length <= 4 and print them
{"Rod", "Carlos", "Chris"}.filter (function (it) {
	return (it.length() <= 4);
}).each (function (item, i) {
	util.log ("Item " .. i .. " is " .. item);
});
Every methodes can be chained togather and every type of the language has its own set of method.

- lots of functional capabilities
- associative array (dictionary)
Code:
set aa = {"monday" : "lundi", "tuesday" : "mardi", "wednesday" : "mercredi" ....};
text.output (aa ["tuesday"]); // print mardi
text.output (aa [1]); // print mardi too

- sort files in explorer
- suppress adMod for beta only. It will be back on v1.0
- code inserting from tutorial create a new file.
- simpler scope viewer
- sliding tools automatic retract

That's all at the moment, but it is no so bad !!!! ;-)
 
  • Like
Reactions: Rxpert83
Upvote 0
Hello folks !

New version of Algoid this week


v0.4.1 BETA 01-02-2013
- correct function.clone cascade method
- add function.decorate method needed for smarter AOP implementation than functional concatenation
- add function.setParameter and function.setParameters to set parameters before execution to enable lexicale closure.
- space invader optimizing
- french translations for documentation
- partially french translations for tutorials
- correct step-by-step and starting bugs

I hope you will like it !:smokingsomb:
 
Upvote 0
Hi all....
Another version.... one by week.... cool.
With several modifications.... it is my son's birthday and I want to offer him a tablet and my soft.... class :cool:.
So great improvements with : MOP (meta object protocol), sprite become true object stamp and type checking philosopie.

v0.4.3 BETA 16-02-2013
- correct multi-thread and debug
- correct several IDE bugs
- start / stop menu
- string \n \t \\ special characters
- sprite is replaced by true object stamp
- auto-complete framework introspection
- MOP meta object protocol : meta-function parameters manipulation, meta-object attributes manipulation
- String.trim, String.concat magic methods
- replace type checking by *.getType() and *.is() methods. See al.types package on help

I hope you like it
Always here for man who don't know it. (lol)

:D:D:D:D
 
Upvote 0
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....


Have a nice week-end
 
Upvote 0
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



Well, I hope you will love it.
 
Upvote 0
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 ;-)

Benchmarks.png


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)&#65279;
 
Upvote 0
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....

 
Upvote 0
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

11.png


I hope you will like it
Find it here :
 
Upvote 0
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
 
Upvote 0
Yeah ! Algoid v1.1.5 is out ! With :
&#9733;&#9733; v1.1.5 Release 04-06-2013 &#9733;&#9733;
&#9733; forum bug about % special character
&#9733; correct several little bugs
&#9733; correct return bug (does not work with loops)
&#9733; new algo methods: square() and algo.box()
&#9733; reintroduce algo.setBgColor()
&#9733; new ascii methods: String.encodePoint(), Number.decodePoint(), Array.decodePoint()
&#9733; rename whileTrue and untilFalse by respectivelly whileDo and untilDo
&#9733; new math methods: exp(), log(), E, PI
&#9733; help reference index

Available here:


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

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones