Welcome, Guest: Register On Nairaland / LOGIN! / Trending / Recent / New
Stats: 3,152,507 members, 7,816,227 topics. Date: Friday, 03 May 2024 at 07:56 AM

Astro Programming Language 0.2 (indefinite release) - Programming (3) - Nairaland

Nairaland Forum / Science/Technology / Programming / Astro Programming Language 0.2 (indefinite release) (36862 Views)

Hurray....a Yoruba Programming Language Is Here / Is It Advisable To Learn Java As My First Programming Language? / Which Programming Language Is Used In Programming Sim Cards? (2) (3) (4)

(1) (2) (3) (Reply) (Go Down)

Re: Astro Programming Language 0.2 (indefinite release) by whales7(m): 1:52am On Oct 01, 2017
If i may ask what IDE you are using for the building of ASTRO? i Am an intermediate Java developer and would like to contribute to ASTRO if permitted.
Re: Astro Programming Language 0.2 (indefinite release) by appcypher: 12:45pm On Oct 01, 2017
whales7:
If i may ask what IDE you are using for the building of ASTRO? i Am an intermediate Java developer and would like to contribute to ASTRO if permitted.
Hi Whales,
I'm not using an IDE. I'm comfortable with any code editor, but I've gotten to like VSCode so it's my daily driver now.

I've tried implementing Astro in several languages. I started writing an interpreter in C++ then reimplented it in Java with ANTLR. But they were not flexible enough so I decided to write another parser from scratch in Python, then Typescript and now Javascript. undecided
I've settled with javascript and currently focused on making Astro source code compile down to WebAssembly so it can run in-browser. And that's where the current progress is at. I started the javascript implementation last week. I'm using Pegjs. It's a useful tool but has its problems which I tend to find hacky workarounds to.

As for contributing to the project, I don't know how much you know compiler and language development. If you don't already know much about it, I will be frank with you. It's a daunting task and I've been at it for 2 years. It's even more daunting when there aren't proper infrastructures available to support you.

But if you think u can take on the task, then I'm ready to share what I've learnt so far, even though you may have to learn some javascript to contribute to the source code. And if you are curious why I designed Astro the way it is, I can share my reasons behind those choices.

I'm seriously motivated by the language and I can't quit on it now or ever. Astro is my passion. Even if the language doesn't become mainstream or popular at all, I'll still be happy I did something for the continent. A programming language that came from Africa. That's not sth you hear a lot about in the tech media.

1 Like

Re: Astro Programming Language 0.2 (indefinite release) by asalimpo(m): 1:44pm On Oct 01, 2017
i feel you bro. Common writing an algebraic parser for a calculator can be very daunting depending on ur level of skill. For most professionals, languages are black boxes. It's mystical.
There's another opportunity that opens up with language design though, that i find to be unresolved.
It's in writing a cross language compiler that takes away the need for programmers to learn another language.
Just use your favorite language and convert it to another lang. e.g python guys can take their old code and convert it to php,ruby etc. There's huge labour savings to be made here. Just thinking about it.
I know it will be very very hard and they're nuances but i think it's a gaping problem.
Re: Astro Programming Language 0.2 (indefinite release) by Nmeri17: 5:31pm On Oct 01, 2017
asalimpo:

There's another opportunity that opens up with language design though, that i find to be unresolved.
It's in writing a cross language compiler that takes away the need for programmers to learn another language.
Just use your favorite language and convert it to another lang. e.g python guys can take their old code and convert it to php,ruby etc. There's huge labour savings to be made here. Just thinking about it.
I know it will be very very hard and they're nuances but i think it's a gaping problem.

Something like that has long been in existence. Although thankfully, no "huge labour savings was made". Amen smiley . You want your colleagues to lose their jobs abi? Back to sender. wink

Nothing to contribute @OP. You won't be the first to try. Definitely won't be the last neither. If you can't deal with it, please you're at liberty to keep increasing Nairaland's posts count unnecessarily. kiss

1 Like

Re: Astro Programming Language 0.2 (indefinite release) by whales7(m): 6:53pm On Oct 01, 2017
appcypher:

Hi Whales,
I'm not using an IDE. I'm comfortable with any code editor, but I've gotten to like VSCode so it's my daily driver now.

I've tried implementing Astro in several languages. I started writing an interpreter in C++ then reimplented it in Java with ANTLR. But they were not flexible enough so I decided to write another parser from scratch in Python, then Typescript and now Javascript. undecided
I've settled with javascript and currently focused on making Astro source code compile down to WebAssembly so it can run in-browser. And that's where the current progress is at. I started the javascript implementation last week. I'm using Pegjs. It's a useful tool but has its problems which I tend to find hacky workarounds to.

As for contributing to the project, I don't know how much you know compiler and language development. If you don't already know much about it, I will be frank with you. It's a daunting task and I've been at it for 2 years. It's even more daunting when there aren't proper infrastructures available to support you.

But if you think u can take on the task, then I'm ready to share what I've learnt so far, even though you may have to learn some javascript to contribute to the source code. And if you are curious why I designed Astro the way it is, I can share my reasons behind those choices.

I'm seriously motivated by the language and I can't quit on it now or ever. Astro is my passion. Even if the language doesn't become mainstream or popular at all, I'll still be happy I did something for the continent. A programming language that came from Africa. That's not sth you hear a lot about in the tech media.

I know little of javascript and it will not be a challenge for me to pickup quickly, nevertheless i will appreciate the idea of you sharing what you've known that i might need in other to contribute to the project ASTRO, i am also into Fortran programming which i dive into not quite long, i believe this is a good reason for me to participate in your project. thank you, tvterryboy1@gmail.com is my mail, kindly share anything with me through it. and back to the project, i will create a branch with name Syntax in other for you to have a proper review of my contributions before merging. Thanks.
Re: Astro Programming Language 0.2 (indefinite release) by appcypher: 9:35pm On Oct 01, 2017
asalimpo:
i feel you bro. Common writing an algebraic parser for a calculator can be very daunting depending on ur level of skill. For most professionals, languages are black boxes. It's mystical.
There's another opportunity that opens up with language design though, that i find to be unresolved.
It's in writing a cross language compiler that takes away the need for programmers to learn another language.
Just use your favorite language and convert it to another lang. e.g python guys can take their old code and convert it to php,ruby etc. There's huge labour savings to be made here. Just thinking about it.
I know it will be very very hard and they're nuances but i think it's a gaping problem.
I suspect that will be near impossible to accomplish. You'd have to understand each language semantics very deeply to create a cross-compiler like that.
I think a better solution would be having a common intermediate representation all languages can compile to. That's what I see with WebAssembly (wasm for short).

Wasm is a new bytecode format for the web and some folks are already compiling different languages to it.
With this universal format, all languages can compile and communicate with each other at the intermediate level. There will be true portability. Your browsers will run wasm. NodeJs will run wasm. And anywhere js is, wasm is.

There's more to wasm and I'm excited about it.

1 Like 1 Share

Re: Astro Programming Language 0.2 (indefinite release) by appcypher: 9:37pm On Oct 01, 2017
Nmeri17:


Something like that has long been in existence. Although thankfully, no "huge labour savings was made". Amen smiley . You want your colleagues to lose their jobs abi? Back to sender. wink

Nothing to contribute @OP. You won't be the first to try. Definitely won't be the last neither. If you can't deal with it, please you're at liberty to keep increasing Nairaland's posts count unnecessarily. kiss
I definitely won't be the first or the last. I've done my own little research and there is no widely known production-ready language from Africa. That's why I started work on Astro, and that's why I have to finish it.
I don't expect it to be done any time soon, at least not in this kind of environment but I keep working on it nonetheless.
Yeah, that means I'll keep increasing NL post count, though not unnecessarily.
Re: Astro Programming Language 0.2 (indefinite release) by appcypher: 10:07pm On Oct 01, 2017
whales7:

I know little of javascript and it will not be a challenge for me to pickup quickly, nevertheless i will appreciate the idea of you sharing what you've known that i might need in other to contribute to the project ASTRO, i am also into Fortran programming which i dive into not quite long, i believe this is a good reason for me to participate in your project. thank you, tvterryboy1@gmail.com is my mail, kindly share anything with me through it. and back to the project, i will create a branch with name Syntax in other for you to have a proper review of my contributions before merging. Thanks.
Cool. You have a lot to read then.

• First, think of how you can write an interpreter for simple maths expressions.
- Your intepreter will take a string as input and return a string as output.
- It will take expressions such as:
5 + 6
- and returns the answer
11
- how do u think you can resolve precedence rules between math symbols?
5 + 6 * 2 / 4
- should equal
8
- You can solve these problems as u learn the tutorials below.

• Start with these Compiler Tutorials
You may need to repeat them a couple more times to finally digest them.
https://www.tutorialspoint.com/compiler_design
https://www.youtube.com/playlist?list=PLEbnTDJUr_IcPtUXFy2b1sGRPsLFMghhS

• Learn about parser generators, use ANTLR4 as your case study. Rewrite the Maths Expression Interpreter using ANTLR4

You can reach me at appcypher@outlook.com.
Re: Astro Programming Language 0.2 (indefinite release) by asalimpo(m): 1:39am On Oct 02, 2017
appcypher:

I definitely won't be the first or the last. I've done my own little research and there is no widely known production-ready language from Africa. That's why I started work on Astro, and that's why I have to finish it.
I don't expect it to be done any time soon, at least not in this kind of environment but I keep working on it nonetheless.
Yeah, that means I'll keep increasing NL post count, though not unnecessarily.
Actually, philosophically speaking, the justification for doing a thing, isnt valid reason for doing it.
What i mean, is,if some1 could start a project to recreate nairaland or facebook, simply because he wants to.
He may add no new feature, nothing at all. Maybe a name change to avoid lawsuits- host it and hope to get
users , against hope!!! Does it make sense? No.Is It possible? Yes. Does it make financial or economic sense - No. Does it make moral sense - it's debatable. So, Intent alone and capability and receptivity maybe the only objective factors at the end of the day.
Again, this is just a philosophical look at the issue,cuz too many times, ppl find themselves having to justify Y they did /didnt do a thing!! Sometimes, getting the justification right, narrows, the scope of expression of practitioners in the field, blighting them with tunnel vision. Brainfvck is a language, that has no 'sensible' basis to it. It will never be used in production - yet some1 created it! He had the intent, the capability and the resources. He did it, the world received it and reacted to it. That's all.
Re: Astro Programming Language 0.2 (indefinite release) by asalimpo(m): 4:51am On Oct 02, 2017
appcypher:

I suspect that will be near impossible to accomplish. You'd have to understand each language samantics very deeply to create a cross-compiler like that.
I think a better solution would be having a common intermediate representation all languages can compile to. That's what I see with WebAssembly (wasm for short).

Wasm is a new bytecode format for the web and some folks are already compiling different languages to it.
With this universal format, all languages can compile and communicate with each other at the intermediate level. There will be true portability. Your browsers will run wasm. NodeJs will run wasm. And anywhere js is, wasm is.

There's more to wasm and I'm excited about it.
It's possible, maybe it isnt . But since all languages are saying the same thing, how be it with different syntax, i think,theoretically it can be done. Infact it should be easy, but tedious. if the source language is converted to an intermediate form, then the intermediate form is converted to the output/target form, objective has been achieved. Labour saved. No more learning more than one language, just be lazy and the transpiler will do your work for you. The problem will however be in dealing with non standard widgets nd toolkits. By easy,i dont mean simple. I mean there's a direct mapping conceptually of the problem. If one puts in say 5 000 hrs maybe a working prototype can be ready. But it's very tedious-and labour intensive. 5 000hrs is like 5years of fulltime work. or 10, the work will require more than that, circa 10 yrs.
Re: Astro Programming Language 0.2 (indefinite release) by orimion(m): 10:36pm On Oct 02, 2017
appcypher:

But they were not flexible enough so I decided to write another parser from scratch in Python, then Typescript and now Javascript. undecided.
parser? did you ever look into Haskell?
Re: Astro Programming Language 0.2 (indefinite release) by appcypher: 10:41pm On Oct 02, 2017
orimion:
parser? did you ever look into Haskell?
Nope. It's not so much the languages but the parser generators I was using. I find pegjs very flexible to use and I'm probably going to stick with that.
Re: Astro Programming Language 0.2 (indefinite release) by crunchyDope(m): 9:11am On Oct 04, 2017
i dnt dig, whr is d link to ur site
appcypher:
astro
Re: Astro Programming Language 0.2 (indefinite release) by tatoxiza: 12:24pm On Oct 04, 2017
We build powerful and scalable web apps that are custom made using agile development processes leveraging the latest web technologies.

Re: Astro Programming Language 0.2 (indefinite release) by appcypher: 3:27pm On Oct 04, 2017
crunchyDope:
i dnt dig, whr is d link to ur site
There is no site yet. Astro is a work-in-progress.

But there is repo where you can see the progress.
https://github.com/AppCypher/Astro

I've not been able to work fully on it yet. Just the little free time I have.
Re: Astro Programming Language 0.2 (indefinite release) by asalimpo(m): 3:37pm On Feb 01, 2019
appcypher:

There is no site yet. Astro is a work-in-progress.

But there is repo where you can see the progress.
https://github.com/AppCypher/Astro

I've not been able to work fully on it yet. Just the little free time I have.
i've been off NL for a while,wanted to know about the status of this project. Whatsup? Shelved?

1 Like

Re: Astro Programming Language 0.2 (indefinite release) by appcypher: 3:38am On Feb 02, 2019
asalimpo:

i've been off NL for a while,wanted to know about the status of this project. Whatsup? Shelved?
It's not entirely off the radar, I've not been opportuned to work on it like before. As usual the syntax has changed a lot, most notable one being the transition from an indentation style to a braces style. I also stripped a lot of fancy ideas that made finishing it difficult.

I can't promise I will finish this project any longer, but given enough free time, I can get it done. The catch is there is no free time.
Re: Astro Programming Language 0.2 (indefinite release) by asalimpo(m): 9:14am On Feb 02, 2019
appcypher:

It's not entirely off the radar, I've not been opportuned to work on it like before. As usual the syntax has changed a lot, most notable one being the transition from an indentation style to a braces style. I also stripped a lot of fancy ideas that made finishing it difficult.

I can't promise I will finish this project any longer, but given enough free time, I can get it done. The catch is there is no free time.
obviously,you dont hav a team. A team would have reduced the workload for you. But then, PL design is an esoteric skill. You wont find many skilled hands in a place where the market just wants websites and mobile apps.

1 Like

(1) (2) (3) (Reply)

Should I Take This Job?(photo) / Why Leaving Nigeria Must Be Your Utmost Priority As A Programmer / Project Topics Tips For Computer Science Undergraduates

(Go Up)

Sections: politics (1) business autos (1) jobs (1) career education (1) romance computers phones travel sports fashion health
religion celebs tv-movies music-radio literature webmasters programming techmarket

Links: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)

Nairaland - Copyright © 2005 - 2024 Oluwaseun Osewa. All rights reserved. See How To Advertise. 54
Disclaimer: Every Nairaland member is solely responsible for anything that he/she posts or uploads on Nairaland.