11 comments
Comment actions Permalink

I'm sceptical whether a full domain language debugger ever will possible.

For example, a line in DSL can create scattered code in the whole system. If

the target language is Java, it could create portions of code in different

classes, which will executed at different times. How this should map back to

the DSL? Maybe a mixed DSL/target language debugger could work.

Tom

0
Comment actions Permalink

Hello Thomas,

TS> I'm sceptical whether a full domain language debugger ever will

TS> possible. For example, a line in DSL can create scattered code in

TS> the whole system. If the target language is Java, it could create

TS> portions of code in different classes, which will executed at

TS> different times. How this should map back to the DSL? Maybe a mixed

TS> DSL/target language debugger could work.

DSL is debuger itself. Since, MPS will not evaluate runtime code - all that

you coding in MPS editor - is already in "debug" mode. In other words, concept

is tested by editor. Editor is like unit test, while Editor works.

Generated Java code may be debuged anyway in IDEA and without MPS.

Thanks!

--

Alexey Efimov, Java Developer

Tops BI

0
Comment actions Permalink

Thomas Singer wrote:

I'm sceptical whether a full domain language debugger ever will

possible. For example, a line in DSL can create scattered code in the

whole system. If the target language is Java, it could create portions

of code in different classes, which will executed at different times.

How this should map back to the DSL? Maybe a mixed DSL/target language

debugger could work.

Tom

The problem of debugging will be a big one, I think. If you look at

debugging today vs. debugging of 30-40 years ago, not much has changed.

Certainly the evolution of debugging tools has not been as fast as other

tools. In my opinion, tools like MPS will free debugging to evolve and

be explored beyond what is possible today. But it's hard to see what's

in the future.

The 'step-wise' semantics of the hardware are difficult to separate from

declarative style programs. However, consider that a lot of what goes on

in today's OOP structured languages doesn't directly map to machine

instructions either. E.g. method dispatch, thread synchronization, etc.

We will probably have to invent many new debugging techniques to handle LOP.

--

Rob Harwood

Software Developer

JetBrains Inc.

http://www.jetbrains.com

"Develop with pleasure!"

0
Comment actions Permalink

In other words, we cannot expect a simple debugger in near future, right? ;-)

Tom

0
Comment actions Permalink

In other words, we cannot expect a simple debugger in near future,

right? ;-)

Well, I wasn't expecting something very complicated :). Only what was

done for Eclipse, to be done for IDEA too (see the provided URL).

Ahmed.

0
Comment actions Permalink

Thomas Singer wrote:

In other words, we cannot expect a simple debugger in near future,

right? ;-)

Tom

I think only the MPS dev team can answer that. I hadn't considered the

possibility of just a simple debugger.

--

Rob Harwood

Software Developer

JetBrains Inc.

http://www.jetbrains.com

"Develop with pleasure!"

0
Comment actions Permalink

In other words, we cannot expect a simple debugger in

near future, right? ;-)

In my view, full-blown debugger is a far future but navigation from java code back to sources in DSL is not a big problem.

It will still be java debugger but the execution of code would be traced and even animated in mps.

Igor

0
Comment actions Permalink

but navigation from java code back to sources in DSL is not a big problem.

It will still be java debugger but the execution of code would be traced and even animated in mps.

Now this would be a very big step forward :).

If this 'navigation' is done in transparent way to the user, and (at

least some) DSL variables are also mapped so that the user 'only debugs

at DSL level', than this debugger would be more than enough :).

Ahmed.

0
Comment actions Permalink

This sounds good-enough for the first step. So MPS' purpose is to convert

"any language" to Java and not "any language" to "any other language" (e.g. C#)?

Tom

0
Comment actions Permalink

Thomas Singer wrote:

This sounds good-enough for the first step. So MPS' purpose is to

convert "any language" to Java and not "any language" to "any other

language" (e.g. C#)?

Tom

MPS's baseLanguage contains only common features of Java and

BaseLanguage, so MPS can easily translate to C#, if translator from

baseLanguage to plain text will be defined.

0
Comment actions Permalink

So MPS'

purpose is to convert

"any language" to Java and not "any language" to "any

other language" (e.g. C#)?

Of course not. In theory: from "any semantically richer language" to "any semantically poorer language".

But in practice, MPS is stuck to IDEA services.

Fortunately, IDEA is quite versatile IDE. Apart from regular java it supports JSP debugging and, in latest, J2ME (Run/Debug mobile phone emulators).

Igor

0

Please sign in to leave a comment.