4 ms·
I think every language would be more productive if it were interpreted at development and compiled at production.
by rhapsodyv 12y ago
I think every language would be more productive if it were interpreted at development and compiled at production.
- sklogic 12y agoThat's exactly how CINT was used in ROOT, but now they're moving to Cling instead. Clang compilation is sufficiently fast for an interactive development.
- batbomb 12y agoAfter years of dealing with Graduate student missteps and ROOT->Java interoperability, to me, ROOT will always mean: blown stacks (i.e. double hist_data[1000000];), poor documentation on TTree/TBranch, NPEs, exceptions, the horrible bag of "features" TObject is, terrible debug statements, no logging, GUI hell, pseudo-.C-macro-compilation-that-only-works-with-trivial-cases, code translation, dlopen madness, code interoprability, Mac OSX support, 2+ hour compilations, TList hell because no STL (NO STL!?!?!), etc... Years of physicists time has been wasted on CINT, and many more years on ROOT itself. I'm sure Cling is much better, and it looks cool on it's own, but I know ROOT isn't. Luckily I only have to dig in the source code for ROOT once a year or so (the last time was figuring out they finally got around to adding LZMA compression to ROOT files when things started breaking at work). I used to think PyRoot was the way forward. Eventually, ROOT will be burned at the stake and everyone will over with Julia.
- pjmlp 12y agoFully agree. Just as info for others. This is the model followed by environments for Common Lisp, Eiffel, JVM, ML languages, .NET, Dylan, Erlang. Best of both worlds, JIT/Interpreted for development and JIT/AOT for production.
- luikore 12y agoSadly, for most compiled languages the semantics will be completely different when being interpreted.
- chrisseaton 12y agoWhy would the semantics change if you use an interpreter rather than a compiler?