4 ms·
I also work that way. I use the autoreload feature of ipython so that any code I change in my editor is instantly replicated in my ipython objects. I've really
by aidos 12y ago
I also work that way. I use the autoreload feature of ipython so that any code I change in my editor is instantly replicated in my ipython objects. I've really never been more productive in development in my life.
Contrast with some Java I was doing recently (granted, without a Java IDE) and I found the whole cycle painfully slow. Even things the compiler picked up were a magnitude slower to find than when I was in ipython. And then there were plenty of things the compiler wouldn't get, which could take a good minute for me to discover from the time I made the edit. It's insane to me that people don't work in a REPL.
- sillysaurus3 12y agoWould you mind making a little screencast demo of your workflow? (Or do you know of any?) That sounds so cool.
- aidos 12y agoSure. I'm not near my machine for a couple of days but I'll post something when I get the chance. I see your contact info is in your profile so will ping an email when done.
- agarden 12y agoPing me too, please. Thanks.
- nslamberth 12y agoMe as well, if you're offering. I find iPython interesting but haven't figured out how to integrate it into my current workflow of Sublime/Terminal.
- jeffwidman 12y agoI'd be curious to see this as well
- sillysaurus3 12y agoThank you very much! I look forward to it!
- aidos 12y agoUPDATE: video here https://www.youtube.com/watch?v=k-mAuNY9szI https://www.youtube.com/watch?v=k-mAuNY9szI Sound quality isn't great but hopefully it demonstrates what I'm talking about.
- bhaak 12y ago"without a Java IDE" This was your problem. Programming Java without an IDE that recompiles your changes on the fly is just so arcane and really slows you down as you noticed.
- ajuc 12y agoAlso for J2EE you need jrebel.
- spacemanmatt 12y agoSo true. Java was designed for tooling. Using it without tooling is actual using it against its design.
- aidos 12y agoWhich is great, but that's almost not the main issue. In the ipython REPL I can work with my code and data at the same time. It's a huge disadvantage to not be be able to probe your data to create a working process.
- bhaak 12y agoThe Java VM has hot code swapping builtin (IIRC limited to method bodies but the commercial JRebel drops that limitation). Start your program in your IDE's debugger (or point it to your application server where your program is running) and you can change the code immediately, rerun your methods, change variables, inspect the objects, etc. It's more than a simple REPL, it's a full-blown debugger and it comes really close to what you have in a SmallTalk image where your code, data, and environment is all the same.