I have absolutely no interest in supporting developers who put form before function in the way that was done with Prompt 1.0, talking about a terminal that is "clean, crisp, and cheerful" instead of "fast, functional, and correct", nor do I have any faith that Prompt 2.0 is going to somehow work when Prompt 1.0 never did. I hear a lot about how awesome Panic is, but I just don't see it: they are selling an expensive terminal emulator that doesn't actually emulate a terminal correctly. I mostly use it at this point because so many people rave about Panic or recommend their products (even at XOXO last week) that I want to better understand the phenomenon, but as far as I can tell it mostly comes down to a marketing pattern of presenting an image that people can "buy into": in this case, the hipster-ish Apple-following development company that cares about the design of products in ways their competitors refuse... sufficiently that people buy these products so they can feel like part of that tribe, leading to recommendations that usually talk more about the company or their website than features or performance of their products. Regardless, the fact that Cydia recommended it to our large base of terminal-using developers for a long time by accident (an internal miscommunication) makes me very sad.
(After writing this, I realize you are probably joking, in that Prompt 2.0 will soon exist and thereby the bullet points will be complete, but on the oft chance that you were serious I have left the previous paragraph ;P.)
Someone other than me updated the web pages in Cydia that walk people through how to set up and use OpenSSH on their device (which were sort of required, as MobileTerminal's upstream had jumped the shark), and I didn't really think through while reviewing the updates that we were essentially "recommending" Prompt--more than just acknowledging its existence--by linking to it from our pages. It ended up on the page because I do use Prompt for the aforementioned masochistic reasons, and as a lot of other people do when people ask me about terminal emulators I often do list it, so it he person doing documentation naturally recommended it, but essentially funneling all of our users to go buy that product as part of their device setup, given that Prompt really doesn't do a very good job, and some of the most critical software we use (like Cycript) isn't well supported by it, was a mistake. These pages never included the tracking code I used to have (the tracking code that for a while caused me to have the >2% of all objects stored on S3 that I have talked about on Hacker News before), so I half-sadly and half-thankfully have no clue how many people were referred to go look at Prompt.
I've tried this recently after receiving a Surface Pro as a gift. I find myself gravitating back toward an iPad and a MacBook -- the Surface, despite doing many things right, feels trapped in a worst-of-both-worlds situation.
- It doesn't make a great laptop; the awkward kickstand-and-lightweight-keyboard setup feels unbalanced and doesn't really work on your lap, for example. The keyboard, by virtue of being a cover, is not awesome and the attached trackpad is pretty terrible. The screen is small enough that coding feels cramped.
- It doesn't make a great tablet; the aspect ratio is too tall for reading and the extra weight really does make a difference when holding it for even a few minutes.
I really like drawing with the pressure-sensitive stylus, though.
I've been using it regularly and I think it's ready. I used it some time ago when even basic commands would fail with cryptic error messages, but over the last couple of months, the version that came with Xcode has improved a lot. I find that it can evaluate more C++ expressions that gdb can now and I think the command structure feels more regular. Heartily recommended.
gdb's C++ support leaves much to be desired, in my opinion.
Can you ask LLDB to never stop at certain functions or files? (like gdb's skip command except that unfortunately you cannot put that in your .gdbinit file). Very useful for skipping copy constructors, etc.
Can I use C++ syntax for overloaded operators? I.e., can I use A(1,1) for matrix object access instead of A.operator()(1,1) like gdb requires?
Can you wrap a class with some user defined script to simplify its interface for debugging? E.g., let the user browse and edit the elements of an STL vector without understanding the vector class implementation? (pretty-printing is implemented for gdb but Visual Studio does a much better job here!)
> Can you ask LLDB to never stop at certain functions or files?
LLDB has a setting named target.process.thread.step-avoid-regexp, the value of which is a regular expression defining functions that step-in won't stop in.
> Can you wrap a class with some user defined script to simplify its interface for debugging?
LLDB exposes its entire API to Python, so you can either embed Python scripts in to the LLDB debugger or embed the LLDB debugger in to a Python script. There's an introduction available at http://lldb.llvm.org/python-reference.html, but for more detailed documentation you'll need to use the help functionality within lldb's built-in Python prompt.