News for hackers. Stuff that matters.
Re:React Native for Android by lispm on Tuesday September 15, 2015 @07:18AM (#10219958)
That's why Common Lisp / CLOS has functionality like

  * CHANGE-CLASS (change the class of an object to a different class),
  * update-instance-for-different-class (updating the object after a class change, one can provide methods which will be lazily called when needed),
  * update-instance-for-redefined-class (updating the object after redefining a class, one can provide methods which will be lazily called when needed),
  * LOAD (load source or machine code),
  * EVAL (eval expressions)
  * COMPILE (compile code in memory to memory), ...
One then always develops with a live application. Classes and objects can be updated in-place...
Re:React Native for Android by ufmace on Tuesday September 15, 2015 @05:12PM (#10223244)
Which can be really cool, but has its downsides:

Hey cool, I can change these classes live!

Let's solve this tricky problem by changing the class at runtime. Cool, it works, now on to the next problem.

2 years later...

What's causing this super-weird bug? It's like the code isn't doing what it says at all.

1 week of debugging and head-banging later...

Oooh, something got screwed up in that runtime class change code. Fixed.

2 years later, repeat...

Re:React Native for Android by lispm on Wednesday September 16, 2015 @01:52AM (#10224900)
Is that something you've experienced?
Re:React Native for Android by ufmace on Wednesday September 16, 2015 @03:21PM (#10229107)
Not directly, mostly because I haven't done that much work in any language where you can do that. But I have had that kind of experience when trying to figure out what Ruby code is actually being run somewhere. I may be heading that way with C#, with the occasional overuse of dynamic and reflection.