HackSandbox / hacksandbox-online-editor

Web IDE for HackSandbox
http://hacksandbox.com
4 stars 0 forks source link

HackSandbox Module System #3

Open junzhengca opened 7 years ago

junzhengca commented 7 years ago

I believe a module system will help us to create better customized programs. For example, we could expose handle for our compiling process, identity system, rendering engine etc.

Some teachers said that they prefer Python syntax over Java for beginners. We may be able to make our compiler a module, and let teachers choose which one to use.

TommyX12 commented 7 years ago

Can we try p5.js? It is javascript, so better than Java for beginners.

junzhengca commented 7 years ago

However, I have heard that teachers hate JavaScript. It has a weird non-blocking IO, which you cannot find in almost all other languages, and the language is overall poorly designed. We would have to do significant changes to JavaScript in-order for this to work. Consider python, if you wish to read a file contains a key, and check it with a web service, you might do:

f = open(blabla)
key = f.read()
result = web.get("api.hacksandbox.com/v1/check/" + key) #I'm sure there is a library in python that does something like this

But now JavaScript

var file = open("file", function(data){
    ajax({
        url:"api.hacksandbox.com/v1/check" + data,
        success:function(data){
            // Process the result here
            // And good for you if you can still keep track of your scope
        }
    })
}, function(){
     // Read failed
});
TommyX12 commented 7 years ago

Yea it kinda had asynchronous design in mind with all the handlers and shit. There is this thing called pyprocessing. It is not for web, and I am not sure if it produce a translated version of java processing code. I ll look into it when I'm free.