Taking the Pain Out of Debugging With Live Programming 254
angry tapir writes "'Everyone knows that debugging is twice as hard as writing a program in the first place,' Brian Kernighan once wrote (adding: 'So if you're as clever as you can be when you write it, how will you ever debug it?') However, Sean McDirmid, a researcher at Microsoft, has been working to remove some of the pain from debugging. McDirmid, based at Microsoft Research Asia, has been studying ways of implementing usable live programming environments: a solution that is less intrusive than classical debuggers. The idea is to essentially provide a programming environment in which editing of code and the execution of code occur simultaneously — and in the same interface as code editing — with tools to track the state of variables in a more or less live manner."
Greenspun's Tenth Rule (Score:3, Insightful)
This will no doubt become an ad hoc, informally-specified, bug-ridden, slow implementation of half of a REPL.
Microsoft Foundation Classes (Score:3, Interesting)
Forget that, will this be reinventing, dunno, "MFC .NET", where software is effortlessly implemented, tested, and documented using a mix of object classes, C++ templates, custom extensions to C++ that break portability, "wizard" (i.e. obscure template) generated code, a virtual machine, and calls between "managed code" on the virtual machine and native code that break security and prompt stern security scoldings when your code is on a virtual drive or "network share"?
Re:Greenspun's Tenth Rule (Score:5, Insightful)
I suspect you haven't seen a Common LISP debugging environment. Yes, they allow breakpoints, as well as live code modification. (And if you were lucky enough to have a LISP machine, you could dive into the code behind your libraries, your operating system, etc. -- updating state on the fly, all the way back to tweaking a driver on a running machine... on the fly, in LISP).
What we have these days (say, Clojure's nrepl) isn't as powerful as that, but it's pretty damned powerful even so. Want to tie into your production system and see what a new version of a function would do against currently live production data, without actually changing the production system's behavior? If you're writing purely functional code, you can do that trivially... and the language strongly encourages pure functional code (as opposed to many "modern" languages where trying to write things to be side-effect-free is working against the grain).
If the best example you can think of is QBasic, you have no idea what a REPL can do.
Re: (Score:2)
If you're writing purely functional code, you can do that trivially...
But if you're writing purely functional code, you can't have any output, because that would be a 'side effect'.
Functional programming is an unnatural act.
Re: (Score:3)
That's why they have monads. But LISP isn't a purely functional language anyway.
Re: (Score:2, Funny)
But if you're writing purely functional code, you can't have any output, because that would be a 'side effect'.
Anyone who claims that deserves a swift kick to the monads.
Re:Greenspun's Tenth Rule (Score:5, Informative)
Re: (Score:2)
I'm thinking more like the Python interpereter, but with your code being stored in your source files automatically. You can then open the files and add breakpoints as you like. If a function isn't defined, it'll request you build it on call.
Note: for particularly lazy programmers, this could add more issues, especially with functions that are only called on rare cases.
It'll be a nice feature I'm sure. I just think the suggestion of the TFS, as if it is something revolutionary... is a few decades out of date
Eclipse (Score:2)
I've been using this amazing technique for a long time now, IDEs like Eclipse make it fairly easy to do that. TFS doesn't explain what is it that he is doing differently.
Re: (Score:3)
Re: (Score:2)
OK, in Eclipse, how do I code & run at the same time.
I can alter things in the debugger and push them back to the live application, but I can do that in VS too. This is reading more like Python/Lisp, where you can edit as you run, and (as with some of their IDEs) the code gets saved to source files for later use.
Re: (Score:2)
OK, in Eclipse, how do I code & run at the same time.
Type and save it?
Re: (Score:2)
Umm... You can do that in Visual Studio also.
My suspicion is it's something slightly more integrated, like you can see with a CLI interpereter in Python or Lisp. Particularly the latter, where you just code, and when you are done, you have have it save the most recent version of ever function into a file.
Re: (Score:3)
What do you mean, everybody knows that's not how you program. You have to create a GUI interface using Visual Basic that's how you track an IP address and incidentally that's how all modern applications are written.
In the past few months I've been watching 24 on Netflix since I missed the original broadcasts. Their mis-application of technology is fantastic.
A drinking game where you take a shot for every time someone uses "port" or "socket" incorrectly would probably get me arrested, I simply can't metabolise alcohol that fast.
Re: (Score:2)
Actually, that gets you dead. Arrested would be the least of your worries.
Based on previous experience, extreme silliness usually manages to disrupt the activity of ingestion.
For the record; It wasn't me. I don't even know the girl. Besides she said she was 18.
Good, but... (Score:4, Insightful)
... this should be in addition to good coding/style standards, proper design, proper source revision control, proper code reviews, and continuous testing/integration. Without any of the former, using this tool does not provide that much information: You first want to know whether your code does what you think it should do, whether it is thread safe, whether it is leaking memory, etc., etc., etc.
Prograph (Score:2)
Prograph did this in the early 1990s. Way to innovate, Microsoft!
1980 called... (Score:2, Funny)
and it wants Smalltalk back.
https://en.wikipedia.org/wiki/Smalltalk#Image-based_persistence [wikipedia.org]
Wow (Score:5, Funny)
Re: (Score:2)
Sounds more like they reinvented the Python console...
Or, you know, bash.
Any shell, reallly.
Re: (Score:2)
If you think debugging in the console has anything to do with debugging, you are missing out.
Connecting a debugger to python and stepping through your code is by far the smartest way to figure out what the freck is going on - no printing xyz all the time to see what happens. You just put a break point and you will have all the juicy goods, including stuff you didn't think of looking at.
Personally I use IntelliJ with the Python plugin (essentially PyCharm), it rocks.
Re: (Score:2)
Yes, that's one way. It can be useful. Another way is just to put a code.interact() in as a breakpoint and then paste or type lines in as you go. That way if you find a bug you can fix it and continue without restarting the program. Which is what I assume the article is talking about, except with a nice GUI plastered on top.
Re:Wow (Score:4, Informative)
Why is the computer industry hell bent on constantly reinventing the wheel?
Because the computer industry (and certainly the louder and more vocal parts of it) has a heavy bias of young excitable developers who are talented enough to create these things from scratch, and not experienced enough to think that others might have done similar things in the past.
Re:Wow (Score:5, Insightful)
Why is the computer industry hell bent on constantly reinventing the wheel?
Why are people in the computer industry hell bent on complaining when people take concepts from well designed software of the past an implement it in more popular development tools? Can you imagine how annoying it would be if architects kept saying "The Romans figured out arches two thousand years ago, why do these new kids keep reinventing the wheel" ?
IMHO, I welcome most attempts to take the good features from Smalltalk and implement in more heavily used languages.
Re: (Score:2)
Can you imagine how annoying it would be if architects kept saying "The Romans figured out arches two thousand years ago, why do these new kids keep reinventing the wheel" ?
Uh, I think you got your analogy a little wrong. What happens in software is more like "Arches suck cause they are old, and suspension bridges are hard to build. Steel is cheap, lets just build a couple stone pillars and layer on steel to span the gap".
Re: (Score:2)
Hm. 90% of the bridges I see are just that.
Re: (Score:2)
I never really 'got' colorFORTH. Good old FIGForth and its descends are still out there chugging away though.
Live Syntax checking. (Score:2)
Though not quite the same I like an IDE (like Eclipse) for Live Syntax Checking. What makes it better than a text editor is that It can check syntax on the fly, and remove some of the edit/compile/broken-compile/swear/re-edit/recompile loop.
No, it's not as cool as potential Live Running, but it helps a lot to keep your mind on code flow rather than language syntax.
Re:Live Syntax checking. (Score:5, Interesting)
Re: (Score:2)
Yeah but then you have to use VB and "dot Net"............ I'll pass
Spreadsheet (Score:2)
Re: (Score:3)
Reminds me of batch files, personally. As long as the script runs in a loop of some sort, you can have Notepad open to edit the script while it's still running. I think shell scripts are the same way, although I haven't done much with shell scripts in years.
1990s style version of this (Score:2)
VIM editing Perl code in one window, another for an execution trace, and a third to run the program. Ugly and basic but it gets the job done.
input? (Score:2)
how would it integrate data/network/user input?
how does it know when to start live testing, as pieces of interdependent code are being written?
Re: (Score:2)
I was wondering about this myself. I would have it generate "fake" sample data, much like "previews" work for reporting enviromnents (Tableau and OBIEE for example). A wee bit difficult to implement that for networking, but user input can be easily interpreted (the GUI allows you to set some defaults) and regular data input can be set up through data templates (use this table, use that CSV, etc).
they have a word for this (Score:5, Informative)
"a programming environment in which editing of code and the execution of code occur simultaneously" is commonly called an interpreter, welcome to 1975
Re: (Score:3)
More like "Welcome to 1966": https://en.wikipedia.org/wiki/APL_(programming_language) [wikipedia.org]
Finally, A Silver Bullet (Score:2)
For I have been looking for one, lo, these past 27 years.
Good Testing helps debugging (Score:2)
I do not code or develop code any more, but I'm great for finding bugs in code which irks my developers to no end. But conversely, they really like when I test their code, especially when they want to have bugs found. I know how to recall what I did when creating my bug report. I almost never report something as a bug until I can repeat the issue and then I usually re-create the issue two more times to ensure I recall just how I got to that bugged state. I document step by step instructions and follow i
Re: (Score:2)
The problem is that most corporations reduced UAT and bugtesting to... nothing, really. They just launch the product and then patch it endlessly, basically using their customer base as bug testers.
I've seen bugs in end products that were ridiculously OBVIOUS, e.g. the program wouldn't install on ANY x64 Windows OS (XP, Vista, 7). That's the sad state most software products are in right now...
No silver bullet (Score:2)
Fred Brooks noted this one years ago, and it's still true: The reason programming is complicated is frequently because the real-world problem you're trying to model in software is complicated. The reason debugging is even more complicated is that not only do you need to understand what you're trying to model, you also need to understand exactly how the existing software modeled the real-world problem.
Re: (Score:2)
... you also need to understand exactly how the existing software modeled the real-world problem.
Well... usually how the existing software failed to model the real-world problem. (That and understanding the difference between the code and the comments, never trust the comments.)
Re: (Score:2)
Very true. All this tool does is to suggest to people of even lower skill level that they can be programmers.Writing good code is hard and one way to learn avoiding making mistakes is if mistakes have consequences. With this tool, even more people will start to use an experimental approach to coding, where thinking about what they want to do beforehand is not part of the process anymore. That can only lead to disaster.
Modern projects make it more complex (Score:2)
At first glance, I just want to say, "Hey, Basic Interpreter from the 70's, you're finally getting some respect!"
But there are some deep issues that are, even with these techniques, going to be very hard to debug:
1) Large I/O situations -- real time data collection and display. Weather reporting, gaming, etc. How is debugging on the GPU going to be helped by this, would be one of my first questions.
2) Networked, distributed code -- with clients on multiple platforms (CPU, browser, Java version, etc.), and
Like a Lisp REPL then? (Score:2)
Cool, I knew this would make a comeback from the 60s or something.
Re: (Score:2)
VB6 (Score:2)
Re: (Score:2)
Your memory is a bit off. You could modify variables, call subs, functions, that might change values from immediate while stepping or stopped on a break point. You could not change code; though.
Does not solve the problem, may make it worse (Score:2)
The problem is that so many programmers need debuggers in the first place. That is a sign of low competency levels. I found that using methods from design by contract basically eliminate the need for debuggers as they lead to much, much better code and give you errors that are directly meaningful. Of course, this requires thinking about what you want to program before doing so, as you are actually implementing a check of its implementation before you implement the actual code. And it can be done in any lang
give me the ability to reverse system time (Score:3)
I just want the ability to detect a fault and then run my entire system backwards to figure out where the problem came in. Wind River Simics can do this, but it's expensive and time-consuming to get a model of your hardware unless it happens to be something they already support. It's also slow to run (as you'd expect).
Re: (Score:2)
Wish granted. [youtube.com]
slowpoke (Score:2)
Welcome to smalltalk, circa 1980's... (Score:2)
This looks soooo much like the way smalltalk engines where implemented in the 80's it's boring.
One can always count on MS to bring the latest in software innovation
Re: (Score:2)
I am sure it is not totally useless. (Score:2)
But the most difficult bugs are not the crashes or randomization introduced by the thread completion order. What is difficult is the bug that happens after several hours of computation. Longer it takes for the bug to manifest itself, har
Limitations. (Score:2)
McDirmid notes that there are limitations to his prototype. For example, the approach used by LPX won't work for "interactive programs whose inputs consist of time-ordered events and whose outputs can vary over time
You mean, such as programs which offer a user interface, and which both write to and read from some kind of persistence layer or document storage on the backend?
Well, at least there can't be too many of those....
Apple quote in article (Score:5, Informative)
What's funny about this article is it's focused on a very limited text based debugging system where the author is already apologizing for bugs while demo'ing it.
It mentions a quote from an Apple guy on the same topic. Wait a minute... Apple is working on this too? So you click the link and find a much better article with a similar system that's way more advanced and live connects the graphics with the code.
Just kind of sad, I RTFA and think "Huh, that's interesting, someday" then check out the link inside the article and find a much more informative and interesting story that I'm still reading. Read THAT article instead. Looking forward to seeing this creep into Xcode updates.
WinDbg Help (Score:2)
My first suggestion would be is for them to implement WinDbg in an actual usable way. The cryptic commands and setting up the directories for the source and .pdb files.....sheesh.
Inventing on principle (Score:2)
Not for sure I agree that debugging is harder. (Score:2)
Not for sure I agree that debugging is harder than writing code.
Writing GOOD code is hard. Debugging good code is easy.
I've always enjoyed debugging and assuming the code is
decently written, I usually find it fairly easy to track down and
fix a bug.
REPL? (Score:2)
The idea is to essentially provide a programming environment in which editing of code and the execution of code occur simultaneously — and in the same interface as code editing — with tools to track the state of variables in a more or less live manner."
Not that I'm a Luddite resisting new tools and ideas, but wouldn't a REPL be good enough for most cases? Most of my professional life I worked with separate editing, compiling and debugging sessions, a necessary PITA for the tools at my disposal. But ever since I started using/playing with languages that come with a REPL (Python, Ruby, Scala), it's been like a productivity blessing where one can break portions of the code into (semi)independent, coherent groups of lines that can be tried out again and again
try FORTH (Score:3)
Its 100x better for this than any of the languages you mention, higher performance, generally, and achieves VERY high rates of internal reusability to boot. I literaly wrote 4.5 million lines of fully debugged functioning FORTH code in 5 years. It certainly isn't a FASHIONABLE tool, but its frighteningly effective.
Re: (Score:2)
i totally agree with you wrt the value of a REPL. i've done a fair amount of work in matlab, and i would mock up a method and work in the command line interface while stopped in the debugger until i got something working and then paste it back into the editor
beanshell2 for java isn't bad, but it's not integrated into the debugger so it doesn't help much. i use netbeans as my IDE and the "evaluate expression" debugger tool is decent for java, as is gdb for c. but all 3 pale in comparison to the matlab enviro
LLDB?? (Score:2)
Anybody have an explanation about how this is different than what LLDB and LLVM can do? You can debug running code and modify the executable on the fly already.
Forth (Score:2)
Re: (Score:2)
Yeah, in about 3000 lines of code too. hehe. Most awesome piece of software ever written if you ask me.
Great, more undebuggable scripting language progra (Score:2)
So, now the developer has this great tool that runs on their desktop that helps them debug the program. Now what happens when it fails in the field? Did the developers spend the time to create sufficient tracing/logging functions so that the end user can report the failures?
The largest problem isn't "debugging" during development, its "debugging" post failure analysis of field problems. Its such a large problem that nearly all "software engineering" and related process is focused on moving the debugging asp
FORTH -- .? (Score:2)
So, he's reinvented FORTH 50 years later and using 5000x more lines of code, and FORTH still does it better! ROFLMAO! Ah, Charlie Moore, I doubt you read /. but you will never be dethrowned as the author of the most elegant code ever. Thx!
Re:Visual Studio (Score:4, Interesting)
Re: (Score:2, Insightful)
seriously? Now I admit that Visual Studio is feature rich, only on windows, only with microsoft stacks, and doesn't compile things in a normal fashion (see #pragma) this above comment just oozes microsoft troll...
It's a troll alright, pretending to be over-the-top-Microsoft shill and still getting some Slashdotters riled up, even though this has been going on for a long while and obvious troll is obvious.
Re: (Score:2)
From my understanding, I thought that was exactly the purpose of #pragma - nonstandard stuff.
As for windows-only stacks... That's BS, at least for .NET.
However, yeah, the compiler is stuck to Windows, and their C++ interpretation (not including pragmas, which are for non-standards), is... at best "wonky"
Re: (Score:2)
yeah, the oogling is obviously a troll. I was more commenting on some of the other things.
As for it being a ported Windows stack - I don't care too much about that, as long as it's done in an efficient manner (and I have to give hats off to the Mono team on that one). If it runs, and runs well on Windows, FreeBSD, Linux and Mac, that's all I care about.
Re: (Score:2)
Now I admit that Visual Studio is feature rich
It's like a gulp of water after crawling through a desert for a few day. Meanwhile, though, the Lispers and Smalltalkers with their fully introspective, ridiculously extensible environments are watching you from a neighboring oasis, sipping their palm wine and grinning from ear to ear.
Re:Visual Studio (Score:5, Funny)
Re:Visual Studio (Score:4, Insightful)
You must have closed your eyes and plugged your ears at the shotgun. I admit it was pretty gruesome. However, after wards they brought out the chainsaw, boiling acid and a couple of fighter jets for good measure... It was horrible.
The sad thing is... They already did that once before to get to the UI that was in 2010... The UI does seem to be getting worse and worse... Just like with their OS and Office products (and it seems, many others to a lesser degree).
Re: (Score:2)
The only innovation is the taking money from "training partners" for so profoundly changing everything Micro$oft every few years that every office worker in the world, who uses M$ products, has to go in for training every few years. The training places were going down the tubes because everyone learned windows and office and stuff, and nobody needed training anymore. Anything you didn't use very often you could just Google. (since M$ help is useless)
Now that they've changed everything (twice? three times?)
Re: (Score:2)
I will give credit where it's due. Microsoft are very good at IDEs and they make decent peripherals.
Re: (Score:2)
It's called innovation. Or so I'm told.
You've been told wrong. Innovation had reputedly been seen for the last time in the wild in the region of Palo Alto, with last sightings sometime around 1980, and then it's been thought to be extinct, until it resurfaced a few years ago at the Viewpoints Research Institute.
Re:Visual Studio (Score:5, Interesting)
Apparently you're a troll? A weird one, because I kind of agree with you (except about Express: yes, it's free, but it's also so limited as to be basically crap.) VS *is* really the greatest IDE I've ever used. It's not perfect, but it is the best I've used. I obviously have not used every IDE ever, and I will also admit that it's much better at debugging .net code than unmanaged c++ code, but still. Microsoft has pushed a lot of crappy, worthless software, but VS 2008 was quality, and 2010 even better (apart from a couple minor UI mistakes, easily fixable with free extensions). Notably, at least far as the summary went, it's done everything this guy is claiming he invented, since basically forever. (Though I personally leave the "recompile on the fly" option turned off; I think it's more trouble than it's worth.)
Re: (Score:3)
OK. I've yet to find a better overall environment (though Eclipse + Java beats VS in some aspects of debugging, neither seems better at every aspect). However, I don't see the point of your post. In reality "care" would have been implementing this YEARS ago. I mean, I've used Python for a long time, and all I can think is "I have this in Python. WTF is novel or research about this? Just %$#@ing do it.
Re: Visual Studio (Score:2)
Lisp has been supporting this for over 3 decades.
Re: (Score:2)
Even if you, for some reason, want to use C, I remember Apple demonstrating live debugging years ago at a WWDC. It was pretty cool to watch then fiddle with the code of a running C program and see the changes as they made them. But I've never heard any more about it so I assume it doesn't really get used much. I don't generally debug Python programs that way either, although it's handy sometimes if a particular program takes a long time to start up.
Re: (Score:2)
All in all, Microsoft Visual Studio keeps getting better!
Yea, but its from Microsoft.
Re:Visual Studio (Score:4, Informative)
You must be very unbiased guy in general. No MS partisanship, whatsoever.
While I agree that the MS Visual Studio is a good IDE over all, there are better alternatives out there. The first real problem with it is that it's single-platform. You can't use it anywhere.
The extensibility is a bitch in VS. It takes too much time and effort to figure out it's API, and it's quirks. Not to mention the support for these retarded languages that VS supports, apart from C++ and C#. That is the only two that worth even to look at.
The debugger is great... except that the whole IDE is based around their own debugger, and you making a debugging interface in VS takes more time than any other IDE out there.
Visual Studio also very rigid on your project structure, and if you don't subscribe to their project file model, you are basically screwed.
Not to mention, that Visual Studio is a resource hog only running on very beefy configuration. Oh, and don't get me started with the useless packages that installs on your system for no apparent reason. Finally, if you want to do refactoring, you have to purchase an external tools, like VAX.
So, while it has some good features for which MS deserves a candy, overall it isn't that good, no need for jumping up and down like a puppy dog.
Re: (Score:2)
What are the better alternatives?
Honest question, I love VS (inc C# and Linq) but I hate Windows.
It would be great to have something as good as VS for Ubuntu.
Re:Visual Studio (Score:5, Interesting)
>What are the better alternatives?
Instrumented code.
Unit testing.
Live testing.
Rapid build - test turnaround.
If you're looking for a better debugger, you're doing it wrong.
You need to instrument your code with the features to make it testable from within the running code base.
Re: (Score:3)
I've personally fallen in love with Visual Studio. It's definitely the planets most feature-rich and capable IDE.
How is not being able to load 64-bit libraries, that it compiled, feature rich? I guess I should consider the fact that I can't edit the UI using the same libraries I will deploy a feature. For those that are unaware, the UI designer is still only 32-bit, even though VS has been able to compile 64-bit for a while now. So when you are working on a 64-bit project and want to use the libraries you've written, you 1st have to compile it all to 32-bit, do your edits in 32-bit and then recompile for release as
Re:Visual Studio (Score:4, Insightful)
Microsoft really cares about programmers and developers and helps all of them write efficient and clean code.
If that were true, they would get a working C99 compiler, one that isn't based on a standard from over 20 years ago. I had to install Cygwin to compile some code over the last few months because it wouldn't compile in Visual Studio.
It's not even that hard, even allowing variables to be declared at any point in the code would be a huge improvement and would be a simple little change. If Microsoft wants to pay me to come do it for them, I'll give them half off.
Re: (Score:2)
You didn't have to install Cygwin for that. You could have just installed the MinGW GCC. You can even set up VS to use the GCC tool suite if you don't want to leave the IDE.
Re: (Score:3)
Compiling these two will lead to synergies.
Obvious troll is obvious.
Do you mean shill? If so I agree.
Re: (Score:2)
Heh. That is most certainly not the product most people would go for. And honestly, I'd just as soon go with Professional or Express & use Mercurial to make up the difference.
Ultimate has features you only need if you are in a huge corporation/project setting
A more normal user might go for this ($500)
http://www.amazon.com/Microsoft-Visual-Studio-Pro-2012/dp/B008RW3XIO/ref=sr_1_1?s=software&ie=UTF8&qid=1366038707&sr=1-1&keywords=Visual+Studio+2012 [amazon.com]
Which, I admit, is a bit high for most, bu
Re: (Score:2)
I used VBA in Excel to put together a small application (basically, some reporting automation with a GUI) for a small company and sold it, with the source code, for $750. Took me about 20 hours of work. Didn't cost me a dime (the Office license was paid for by my employer). Point is: if you can code (not even professionally) and have some sales skills (not even professionally) you can make a pretty good buck off those $500 Visual Studio Pro costs.
Furthermore, there's a pretty large amount of companies who h
Re: (Score:2)
Re: (Score:2)
You're just as trollish as the first guy. 99.9% of people don't need Ultimate with MSDN subscription. But thanks for playing.
Re: (Score:2)
The Ultimate edition also includes 4 support incidents every year, where they will help you with almost any issue. You also get access to unlimited installs of every Microsoft current and past product for testing/development/presentation reasons. You al
Re: (Score:2)
Weird, I get all of that for free when I develop for Linux, the support I mean. I don't think I've ever gone more than a few hours without getting an answer from someone on a forum or mailing list. Plus I get all that incredible community support without being locked into an MS ecosystem.
Whenever I see the insane prices of MS dev tools I cringe. So many people waste so much money on this crap that it isn't even funny. It's not like software on Windows is of some extra great quality surpassing OS X and Linux
Re: (Score:2)
You intentionally don't use the best tools. You must be a top notch developer!
Tools are useless, if they don't happen to do what you need to do at the moment. The point of programming isn't to obtain a debugger and get to use it. The point is to construct correct programs. There are many approaches to this that have nothing to do with debuggers: TDD, QuickCheck-style testing, fuzzing, correct-by-design approach (somehow unpopular these days - when did programmers get so lazy?). A debugger is very narrow-focused tool. Huh, so you can stop the execution of a program at a single point i
Re: (Score:2)
I wonder how would work that code colouring in a multi-thread environment too.
Re: (Score:2)
Re: (Score:2)
If you've got bugs that have effects everywhere in your 1 million LOC 3D game no debugger is going to help you.
One of the biggest advantages of live code editing (otherwise known as an interpreter) is that you don't have to rerun the whole thing after every little change. So if the boss at the end of level 143 glitches you get execution to that point, see what happens, try a fix, see if it works, etc., without having to quit the game, restart, and get back to the boss.