Finally..

6 views
Skip to first unread message

mfeathers

unread,
Sep 20, 2009, 2:39:09 AM9/20/09
to noop
I just wanted to say hi and ask if there was any way I could help at
all. I heard about noop a few days ago, and I was very glad. I've
been waiting for language designers to take up the mantle of
testability for years.

Michael Feathers

Ben Rady

unread,
Sep 21, 2009, 10:42:19 PM9/21/09
to no...@googlegroups.com
If I started an Eclipse plugin would anyone be interested in contributing to it?

Ben Rady

unread,
Sep 21, 2009, 10:44:22 PM9/21/09
to no...@googlegroups.com
(Re-reading that post and realizing how lame it sounds)

I should probably mention that I do actually have experience writing eclipse plugins and that I provide some infrastructure as well.

Ben

Christian Edward Gruber

unread,
Sep 21, 2009, 11:54:06 PM9/21/09
to no...@googlegroups.com
I don't think anyone will object to you starting/writing an eclipse
plugin - but Ben, we don't have a compiler yet. We have a partially
functional interpreter that doesn't interpret most of the language,
because we haven't finalized most of the language yet. :)

I'm not trying to discourage you - I just want everyone to be clear
about the order of things. I mean you can always write a plugin that
parses and syntax-colours noop, but it'll be a highly moving target
until we actually get quite a bit further in its development. Think
experimental project, think very early days.

cheers,
Christian.

Christian Edward Gruber
e-mail: christiane...@gmail.com
weblog: http://www.geekinasuit.com/

Ben Rady

unread,
Sep 22, 2009, 1:30:58 AM9/22/09
to no...@googlegroups.com
Ok so I'm going to go off on a rant for a minute.....feel free to just delete this message now if you're not in the mood. Even if you are, feel free to tell me I'm crazy.

<rant>

Java developers need tools. Great tools. Awesome tools. They just do. Java is such a neutered language that without great tools it's nearly unusable. Try writing (or testing) any amount of Java in something like Notepad, and you'll feel it right away. It's like swimming in a pool full of marbles.

So you've got hundreds of thousands of developers out there that, for almost a decade now, have been writing code that is almost totally dependent on good tooling to be maintainable. Tools are an essential part of the process to them. In some cases, there is no distinction between the language and the tool. To them, Java IS Eclipse. Eclipse IS Java. They build from it. They deploy from it. I'm not saying it's right, or good, or fair, but that's the way it is.

I really like Groovy. I haven't used Scala in anger but what I've seen of it looks promising. Both of these languages have horrible tool support (when compared to Java). Neither of them looks to be replacing Java any time soon, and Java seriously needs some replacing.

If you want to save Java developers from their tool addiction, you're going to have to give them some methadone. You're going to have to be able to honestly say to them "The tool support for noop is almost as good as you're used to with Java. Really. It's really good. You can go back and forth between Java an noop in a single project or workspace, and it's seamless and awesome, and you'll like it...we promise. Build tools? Oh yeah we got that too. Refactoring? Absolutely. Test runners? Got it. Code completion? Totally. Yes, Mr. Java developer, all those things you are used to in Java are supported with noop."

"Oh, and we have all of these killer language features too. For when you finally realize that you don't need all that tooling, because the power of noop in the language, not the tools."

But you're never going to get there if you leave tooling as an afterthought. It needs to be baked in. It need to be considered as you design the language. Especially when you discuss proposals about the type system, and the specifics of how type inference works. Otherwise, I fear, Noop will join the ranks of so many other JVM languages that have found little niches and just stayed there. Michael actually planted the seed of a language like this in my head a few years ago. I've been waiting for it too. I would really, really like to see something like this be the mainstream successor to Java. I want a mock-able file system. I want a GUI framework that I can easily test. I want to think of Spring as that thing that we had to use before had noop. And I want to move all of my Java code to it, one class at a time.

I think these tooling considerations will actually improve the language itself. They will definitely improve the developer's experience when working with it. But they have to be considered now. TDD improves the design of your code because you consume it an instant before you create it. I think making the most essential of mainstream developer tools (an Eclipse plugin) as soon as you possibly can will make noop a better language. Even if all version 0.1 does is run the code in the current editor through noop interpreter and spit the result to the console. Even if the syntax highlighting is flaky. Even if we have to change it a ton before it's ever really usable. All of that pain will help inform us about where we want to be when it's all settled out.

So yeah, you'll probably have to finish the compiler before we can release an eclipse plugin :-)

But that doesn't mean than we can't start.

</rant>

Ben

Christian Edward Gruber

unread,
Sep 22, 2009, 10:15:25 AM9/22/09
to no...@googlegroups.com
So, rant understood. I'll take a stab at this, bearing in mind that
these are my opinions and not those of the project, per-se.

Yes.

I'm not suggesting we leave tooling to the end - heck, I'll hopefully
have a maven plugin done in lock-step with the compiler. So your rant
is fairly reasonable - don't leave tooling behind. Please don't take
my caution to mean don't let's do it soon. I'm just saying there's no
language yet to integrate. There's no reason they can't be done in
parallel. Just wanted to make sure people didn't think Noop was
further along than it is, which is, in the words of a friend of mine -
one giant brainstorm (with a little bit of thought in code).

Christian.

T J

unread,
Sep 22, 2009, 10:21:37 AM9/22/09
to no...@googlegroups.com

I have a little experience with plugins and would love to help were I can.

Adios,
Travis Jenkins

On Sep 21, 2009 10:44 PM, "Ben Rady" <ben...@gmail.com> wrote:

(Re-reading that post and realizing how lame it sounds)

I should probably mention that I do actually have experience writing eclipse plugins and that I provide some infrastructure as well.

Ben

On Mon, Sep 21, 2009 at 9:42 PM, Ben Rady <ben...@gmail.com> wrote: > > If I started an Eclipse p...

Ary Borenszweig

unread,
Sep 22, 2009, 11:20:24 AM9/22/09
to no...@googlegroups.com
Me too, I'd love to help. I'm the author of descent, an ide for the d programming language.

Sam Pullara

unread,
Sep 22, 2009, 1:53:46 PM9/22/09
to no...@googlegroups.com
I totally agree with this.  The tooling cannot be an afterthought or it won't get off the ground.  Scala and Groovy are getting the traction they are based on the limited support that Eclipse, IntelliJ and Maven have for developing with them.  I would sim-ship plugins for all three environments with the language itself to ensure it doesn't die on the vine for mainstream developers.  A story for 'undoing' noop from a project would also help for adoption.  If you can output Java code that isn't too ugly and retains things like comments as a way to back out it would give developers an escape valve and not feel trapped.

That is actually a lot of work and language designers often think its out of scope (work on any Java Language JSR and you'll find out), but I think it is critical if you want people to use noop.

Sam

Ben Rady

unread,
Sep 23, 2009, 1:19:54 PM9/23/09
to noop
OK, so the moment that you can write "Hello World" in noop, I'm going
to put a project for this up on GitHub. There's a whole bunch of
eclipse plugin related scaffolding that I can contribute to start
with. I'd also like to get the language SDK bundled in with the plugin
so you can start from a clean copy of eclipse, download the plugin,
write Hello World and run it.

I'd call that v0.1. Thoughts?

In the meantime, I'll take a look at the DeveloperRoadmap (is it up to
date?) and see if there's anything I can do.

Ben
> > On Mon, Sep 21, 2009 at 10:54 PM, Christian Edward Gruber <christianedwardgru...@gmail.com
> > > wrote:
>
> > I don't think anyone will object to you starting/writing an eclipse  
> > plugin - but Ben, we don't have a compiler yet.  We have a partially  
> > functional interpreter that doesn't interpret most of the language,  
> > because we haven't finalized most of the language yet.    :)
>
> > I'm not trying to discourage you - I just want everyone to be clear  
> > about the order of things.  I mean you can always write a plugin  
> > that parses and syntax-colours noop, but it'll be a highly moving  
> > target until we actually get quite a bit further in its  
> > development.  Think experimental project, think very early days.
>
> > cheers,
> > Christian.
>
> > On 2009-09-21, at 19:44 , Ben Rady wrote:
>
> > (Re-reading that post and realizing how lame it sounds)
>
> > I should probably mention that I do actually have experience writing  
> > eclipse
> > plugins and that I provide some infrastructure as well.
>
> > Ben
>
> > On Mon, Sep 21, 2009 at 9:42 PM, Ben Rady <benr...@gmail.com> wrote:
>
> > If I started an Eclipse plugin would anyone be interested in  
> > contributing
> > to it?
>
> > On Sun, Sep 20, 2009 at 1:39 AM, mfeathers  
> > <michael.feath...@gmail.com>wrote:
>
> > I just wanted to say hi and ask if there was any way I could help at
> > all.   I heard about noop a few days ago, and I was very glad.  I've
> > been waiting for language designers to take up the mantle of
> > testability for years.
>
> > Michael Feathers
>
> > Christian Edward Gruber
> > e-mail: christianedwardgru...@gmail.com
> > weblog:http://www.geekinasuit.com/

Alex Eagle

unread,
Sep 23, 2009, 1:35:59 PM9/23/09
to no...@googlegroups.com
Well, you're in luck, because these three examples run correctly right now:

(there's an integration test that runs them, which is a good reference to exactly what is working at present:
)

Starting an eclipse plugin with the features you describe sounds like a nice way to start, and a good v0.1. I also agree that you could start on GitHub so you're independent, then at some point once you're stable we would like to fold you into our repo once we think we have a good build that can handle the lovely eclipse OSGI compiler...

Yes, we just wrote the dev roadmap yesterday. You should join noop-dev and possibly let us know if you start something on the main codebase, just to avoid duplicating work.

-Alex

Christian Gruber

unread,
Sep 23, 2009, 6:53:17 PM9/23/09
to no...@googlegroups.com
I think the only issue is that this is an interpreter, not a compiler, so I don't know how eclipse integration would work for that - just from a practical UI perspective.  Having said that, at least a code-editor / syntax highlighter, etc. would be a good place to start.  We're starting to split the abstract syntax model from the interpretation code more cleanly so you could probably re-use that (it's a scala library, until we can bootstrap noop in noop, so you'd need to import the scala runtime, but otherwise, it should be fine.)  

I'm sure you could also host a "console" mode interpreter shell, which would be awesome, and then start building in compilation as we build that part out.

Christian.
--
-----
Christian Gruber
christiane...@gmail.com

Ben Rady

unread,
Sep 28, 2009, 11:56:46 PM9/28/09
to no...@googlegroups.com
Tried to get this going tonight and I ran into a little problem trying to build noop. I wanted to do it strictly with maven because then I can build the eclipse plugin and noop together, which will make CI a lot easier. Here's what I did:

hg clone https://noop.googlecode.com/hg/ noop
cd noop
sh sync.sh
mvn clean install

The build failed (see attached log). I noticed that the antlr plugin printed an error about not being able to find a token file. Do I have to generate that separately?

Ben
build_log.txt

Christian Edward Gruber

unread,
Sep 29, 2009, 12:00:05 AM9/29/09
to no...@googlegroups.com
Maven's not quite working at the moment. I hope to have it fixed in
the next day or so.

Christian.

> <build_log.txt>

Reply all
Reply to author
Forward
0 new messages