Today, I was in need to implement simple algorithm (small analytic grammar parser, in case you take an interest) having in my disposal only almost-standard office workstation (Microsoft Office, AutoCAD etc) with limited access to the 'Net (so downloading and installing Ruby or Python was not an option). At first, I pondered the possibility of writing it in Visual Basic for Application, but the manual scared me off. And then I remembered about JS. So, using nothing other than old *sarcasm* trusty Notepad, Google Chrome (and I am sure I could pull this through even with only IE - but Chrome was already installed) and my wits (and couple of web-based manuals for those cases where said wits let some memories slip), I wrote it. And then I thought: this or similiar combination - simple yet functional text editor, javascript-enabled browser, and, useful, but not obligatory, at least rudimentary web acces - can be found on almost every modern PC (excluding consoles, but including some handhelds). So, almost every modern PC contain necessary software for coding. Sure, Javascript is somewhat quirky language, compared to our favourite ^_^, but it has its power and elegance. Worse, in-browser environment is necessarily restricted (so I cannot think of easy way to port bloopsaphone into it), and, as _why pointed out when he considered that language in Hackety Manifesto, you cannot program solely in javascript: you should know also at least basics of html (yet, for some applications, involvement of html can be truly minimal: for instance, in my today's application, I used <html><head><script src="p.js" type="text/javascript"></script></head><body><form><input type="text" id="i"><input type="button" value="Run!" onclick="process();"></form><div id="o"></div></body></html>, almost verbatim). So, it is not the best language for absolute beginners, and most probably other limitations arose from these. It is surely not *the* language - the language of choice, little everyday utilites, free experimentation, and favourite projects - for most programmers. But I feel that omnipresence of js is very apt to goals of Hackety Project. And it will most probably not fade, at least in support if not in popularity, until infrastructure of the 'Net change dramatically. So, I propose to think about how it can be used. Should it be teached as a second/third language? (I feel that being omniglot is very useful when you're a programmer :)
> > (I feel that being omniglot is very useful when > you're a programmer :) > Absolutely. you cannot program solely in javascript: This is the biggest problem I have with teaching javascript as an early programming language. I think that you can certainly do worse, but I think this limitation makes it incredibly more difficult to teach early on. When you're starting out, everything is new, complicated, and unwieldy. Throwing the concept of markup in at the same time as learning javascript isn't the optimal situation... However, just running Javascript scripts themselves would be kind of cool. A REPL or other environment where you can get rid of the HTML component would make it great. Basically, an environment just like Hackety.
On Fri, May 7, 2010 at 3:15 AM, Steve Klabnik <steve@steveklabnik.com> wrote: > However, just running Javascript scripts themselves would be kind of cool. A > REPL or other environment where you can get rid of the HTML component would > make it great. > Basically, an environment just like Hackety. Yes!!! That's it. And various web-developer tools — Firebug and its analogues in other browsers — already do that. Maybe they're too complicated for beginners? And what (hh) do beyond being neat, minimalistic, no-clutter IDE? It has great library. P.S. Code attached here <http://code.google.com/p/chromium/issues/detail?id=39713> radically changed my mind about feasibility of pure-js in-browser Bloopsaphone-analogue :D
Something really minimalist that runs in the browser would be great for learning from. Like HH, but online. Use another language though (implement one if you have to): JavaScript is too quirky for beginners, I think. It's the type of language that would scare them off. On Thu, May 6, 2010 at 6:26 PM, Данил Хармсыч <mantycore@gmail.com> wrote: > On Fri, May 7, 2010 at 3:15 AM, Steve Klabnik <steve@steveklabnik.com> > wrote: > > However, just running Javascript scripts themselves would be kind of > cool. A > > REPL or other environment where you can get rid of the HTML component > would > > make it great. > > Basically, an environment just like Hackety. > > Yes!!! That's it. And various web-developer tools — Firebug and its > analogues in other browsers — already do that. Maybe they're too > complicated for beginners? > > And what (hh) do beyond being neat, minimalistic, no-clutter IDE? It > has great library. > > P.S. Code attached here > <http://code.google.com/p/chromium/issues/detail?id=39713> radically > changed my mind about feasibility of pure-js in-browser > Bloopsaphone-analogue :D > -- ~devyn
Well, we can "just" run HacketyHack online... edit code in browser form, execute on server (in a cloud?), send results back to browser asynchronously. Alternatively, write Ruby interpreter in JS/as browser plugin :) But online-ness is not my focus in this thread. What faschinates me about javascript right now is what you can code in it today, out of the box, on most PCs and some other popular devices. That's useful when you cannot setup environment to your liking: working of friend's computer, at internet cafe, etc. Of course, such floodability is not the first priority for absolute beginner, but I think what it fits well to the theme of exploratory, experimental programming. Anyhow, right now I am not sure what that means on practice. Maybe someday javascript should be added to the languages you can tinker with in HacketyHack, but that's just one option. On Sat, May 8, 2010 at 3:33 AM, Devyn Cairns <devyn.cairns@gmail.com> wrote: > Something really minimalist that runs in the browser would be great for > learning from. Like HH, but online. Use another language though (implement > one if you have to): JavaScript is too quirky for beginners, I think. It's > the type of language that would scare them off. > > On Thu, May 6, 2010 at 6:26 PM, Данил Хармсыч <mantycore@gmail.com> wrote: >> >> On Fri, May 7, 2010 at 3:15 AM, Steve Klabnik <steve@steveklabnik.com> >> wrote: >> > However, just running Javascript scripts themselves would be kind of >> > cool. A >> > REPL or other environment where you can get rid of the HTML component >> > would >> > make it great. >> > Basically, an environment just like Hackety. >> >> Yes!!! That's it. And various web-developer tools — Firebug and its >> analogues in other browsers — already do that. Maybe they're too >> complicated for beginners? >> >> And what (hh) do beyond being neat, minimalistic, no-clutter IDE? It >> has great library. >> >> P.S. Code attached here >> <http://code.google.com/p/chromium/issues/detail?id=39713> radically >> changed my mind about feasibility of pure-js in-browser >> Bloopsaphone-analogue :D > > > > -- > ~devyn >
You mean tryruby.org?
On May 7, 2010 8:16 PM, "Данил Хармсыч" <mantycore@gmail.com> wrote:
Well, we can "just" run HacketyHack online... edit code in browser
form, execute on server (in a cloud?), send results back to browser
asynchronously. Alternatively, write Ruby interpreter in JS/as browser
plugin :)
But online-ness is not my focus in this thread. What faschinates me
about javascript right now is what you can code in it today, out of
the box, on most PCs and some other popular devices. That's useful
when you cannot setup environment to your liking: working of friend's
computer, at internet cafe, etc. Of course, such floodability is not
the first priority for absolute beginner, but I think what it fits
well to the theme of exploratory, experimental programming.
Anyhow, right now I am not sure what that means on practice. Maybe
someday javascript should be added to the languages you can tinker
with in HacketyHack, but that's just one option.
On Sat, May 8, 2010 at 3:33 AM, Devyn Cairns <devyn.cairns@gmail.com> wrote:
> Something really min...
That too. But tryruby sandbox is (one can argue: necessarily) very restrictive, and, as opposed to the HacketyHack, it lacks ability to persistently save and restore session/programs/code snippets and data. The goal of tryruby, in my opinion, is to allow newcomer to taste the language, and provide very basic tutorial. It is unsuitable for any real experimentation. On Sat, May 8, 2010 at 4:18 AM, Steve Klabnik <steve@steveklabnik.com> wrote: > You mean tryruby.org? > > On May 7, 2010 8:16 PM, "Данил Хармсыч" <mantycore@gmail.com> wrote: > > Well, we can "just" run HacketyHack online... edit code in browser > form, execute on server (in a cloud?), send results back to browser > asynchronously. Alternatively, write Ruby interpreter in JS/as browser > plugin :) > > But online-ness is not my focus in this thread. What faschinates me > about javascript right now is what you can code in it today, out of > the box, on most PCs and some other popular devices. That's useful > when you cannot setup environment to your liking: working of friend's > computer, at internet cafe, etc. Of course, such floodability is not > the first priority for absolute beginner, but I think what it fits > well to the theme of exploratory, experimental programming. > > Anyhow, right now I am not sure what that means on practice. Maybe > someday javascript should be added to the languages you can tinker > with in HacketyHack, but that's just one option. > > On Sat, May 8, 2010 at 3:33 AM, Devyn Cairns <devyn.cairns@gmail.com> wrote: >> Something really min...
Well, we couldn't lift the IO restrictions, but what we could do is create temporary chroots for each session. And have accounts and all that, so you can check out your friends' scripts, save your own, etc. Perhaps, even provide a GUI interface with <canvas> so you could make little GUI browser scripts with it, in Ruby. On Fri, May 7, 2010 at 5:29 PM, Данил Хармсыч <mantycore@gmail.com> wrote: > That too. But tryruby sandbox is (one can argue: necessarily) very > restrictive, and, as opposed to the HacketyHack, it lacks ability to > persistently save and restore session/programs/code snippets and data. > > The goal of tryruby, in my opinion, is to allow newcomer to taste the > language, and provide very basic tutorial. It is unsuitable for any > real experimentation. > > On Sat, May 8, 2010 at 4:18 AM, Steve Klabnik <steve@steveklabnik.com> > wrote: > > You mean tryruby.org? > > > > On May 7, 2010 8:16 PM, "Данил Хармсыч" <mantycore@gmail.com> wrote: > > > > Well, we can "just" run HacketyHack online... edit code in browser > > form, execute on server (in a cloud?), send results back to browser > > asynchronously. Alternatively, write Ruby interpreter in JS/as browser > > plugin :) > > > > But online-ness is not my focus in this thread. What faschinates me > > about javascript right now is what you can code in it today, out of > > the box, on most PCs and some other popular devices. That's useful > > when you cannot setup environment to your liking: working of friend's > > computer, at internet cafe, etc. Of course, such floodability is not > > the first priority for absolute beginner, but I think what it fits > > well to the theme of exploratory, experimental programming. > > > > Anyhow, right now I am not sure what that means on practice. Maybe > > someday javascript should be added to the languages you can tinker > > with in HacketyHack, but that's just one option. > > > > On Sat, May 8, 2010 at 3:33 AM, Devyn Cairns <devyn.cairns@gmail.com> > wrote: > >> Something really min... > -- ~devyn