Advertisement
Guest User

Spirited Debate!

a guest
Apr 10th, 2012
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 42.18 KB | None | 0 0
  1. [2012-04-10 19:01:33] <Cervator> yeah, yeah, JS as an option is growing on me :-)
  2. [2012-04-10 19:19:16] <harrison> i'd have a doctor look at that if i were you
  3. [2012-04-10 19:41:56] <RoyAwesome> ironchefpython javascript is the worst langauge for anything
  4. [2012-04-10 19:42:46] <RoyAwesome> and I was referring to HTML/css/javascript/php/mess as the duct tape of programming
  5. [2012-04-10 19:43:00] <RoyAwesome> web programming is 'lets duct-tape another technology onto this gigant heap'
  6. [2012-04-10 19:43:10] <RoyAwesome> and everyone else going 'mmhmm, yeaah, here is a billion dollars to do it'
  7. [2012-04-10 19:46:31] <ironchefpython> I used to hate javascript
  8. [2012-04-10 19:46:37] <ironchefpython> It kinda gew on me.
  9. [2012-04-10 19:47:01] <ironchefpython> what I realized I hated was the shitty api that browsers offered.
  10. [2012-04-10 19:48:43] <ironchefpython> Still... what language would you suggest?
  11. [2012-04-10 19:49:47] <RoyAwesome> as I said much earlier, C++ for the 'engine', embed either mono or lua for game code
  12. [2012-04-10 19:50:05] <RoyAwesome> mono is really starting to grow on me
  13. [2012-04-10 19:50:18] <RoyAwesome> especially with mono 2.8 and the concurrency stuff they have done
  14. [2012-04-10 19:50:28] <ironchefpython> I do all my .Net stuff on the mono runtime... but bear with me a moment.
  15. [2012-04-10 19:50:46] <RoyAwesome> there is a really good talk with miguel de icaza
  16. [2012-04-10 19:50:47] <ironchefpython> Let's say for the sake of argument, that we use Java to write the engine
  17. [2012-04-10 19:51:02] <RoyAwesome> then the use of mono is irrelevent
  18. [2012-04-10 19:51:02] <ironchefpython> would you still want to use a scripting language for modding?
  19. [2012-04-10 19:51:17] <RoyAwesome> using java...use java or a language that runs on the jvm
  20. [2012-04-10 19:51:41] <ironchefpython> but not a dynamic language?
  21. [2012-04-10 19:51:42] <RoyAwesome> the only reason to use mono is to gain the advantages of using 'easy' code
  22. [2012-04-10 19:52:02] <RoyAwesome> you gain too much from it to not atleast consider it
  23. [2012-04-10 19:52:05] <RoyAwesome> write a prototype or two
  24. [2012-04-10 19:52:16] <RoyAwesome> all game engines do this
  25. [2012-04-10 19:52:24] <RoyAwesome> but, that is only if you are using C++ in the back end
  26. [2012-04-10 19:52:44] <RoyAwesome> https://www.youtube.com/watch?v=qOnUog6WeUU
  27. [2012-04-10 19:52:46] <ironchefpython> So if you'd use a dynamic language to script a C++ engine, why not a dynamic language to script a java egine?
  28. [2012-04-10 19:52:55] <RoyAwesome> the first hour of this presentation is miguel's talk on mono for game developers
  29. [2012-04-10 19:53:00] <RoyAwesome> ignore the second half, it's about monotouch
  30. [2012-04-10 19:53:03] <ironchefpython> Do mod developers give a shit what langauge the engine is written in?
  31. [2012-04-10 19:53:20] <RoyAwesome> because you lose in the long run with performance
  32. [2012-04-10 19:53:24] <RoyAwesome> vm on a vm
  33. [2012-04-10 19:53:34] <ironchefpython> no, you don't
  34. [2012-04-10 19:53:44] <ironchefpython> go look at the numbers for jruby and rhino
  35. [2012-04-10 19:53:55] <ironchefpython> jruby runs faster on the jvm than on C
  36. [2012-04-10 19:54:10] <RoyAwesome> I would say that is because the C library is bad
  37. [2012-04-10 19:54:14] <RoyAwesome> rather than that it actually runs faster
  38. [2012-04-10 19:54:20] <ironchefpython> rhino runs faster on the jvm than the old-style pre-V8 javascript engines
  39. [2012-04-10 19:54:28] <Cervator> oh, hey Roy
  40. [2012-04-10 19:54:31] <RoyAwesome> hi
  41. [2012-04-10 19:54:43] <RoyAwesome> you also have to keep in mind
  42. [2012-04-10 19:54:56] <RoyAwesome> that web technologies are vastly different in performance considerations than game engines
  43. [2012-04-10 19:55:03] <RoyAwesome> web...you have to build strings
  44. [2012-04-10 19:55:06] <RoyAwesome> in the fundamental level
  45. [2012-04-10 19:55:13] <ironchefpython> And with JSR 292 support, dynamic languages are going to be significantly faster.
  46. [2012-04-10 19:55:21] <RoyAwesome> games have shift numbers around and compute 3d math
  47. [2012-04-10 19:55:30] <RoyAwesome> and you don't get better than C++
  48. [2012-04-10 19:55:36] <t3hk0d3> node.js
  49. [2012-04-10 19:55:40] <ironchefpython> no, I'd *never* do that in javascript.
  50. [2012-04-10 19:56:01] <Cervator> and hey t3 :-)
  51. [2012-04-10 19:56:05] <RoyAwesome> but you still have to
  52. [2012-04-10 19:56:07] <ironchefpython> the only thing javascript mods will do is handle events and make function calls.
  53. [2012-04-10 19:56:09] <RoyAwesome> even in game code
  54. [2012-04-10 19:56:13] <RoyAwesome> how do you move an object 'forward'
  55. [2012-04-10 19:56:23] <RoyAwesome> that is a very game level calculation
  56. [2012-04-10 19:56:31] <RoyAwesome> and it requires a transformation of a 3d vector by a 3x3 matrix
  57. [2012-04-10 19:56:34] <ironchefpython> player.move(float velocity)
  58. [2012-04-10 19:56:39] <t3hk0d3> Cervator: hi
  59. [2012-04-10 19:56:58] <t3hk0d3> RoyAwesome: speaking about web languages
  60. [2012-04-10 19:57:00] <RoyAwesome> ironchefpython where would you implement move()?
  61. [2012-04-10 19:57:01] <ironchefpython> Seriously, it would be *insane* to do any vector calcuation in javascript.
  62. [2012-04-10 19:57:09] <ironchefpython> In the engine.
  63. [2012-04-10 19:57:11] <RoyAwesome> what if you want move() to behave differently
  64. [2012-04-10 19:57:12] <t3hk0d3> but Java is not game engine language too :D
  65. [2012-04-10 19:57:16] <RoyAwesome> depending on the mod
  66. [2012-04-10 19:57:21] <RoyAwesome> how would i make move() take a vector3?
  67. [2012-04-10 19:57:30] <ironchefpython> add it to the api.
  68. [2012-04-10 19:57:39] <RoyAwesome> then you start adding too much to the engine
  69. [2012-04-10 19:57:44] <RoyAwesome> and you become the Source engine
  70. [2012-04-10 19:57:48] <ironchefpython> maybe
  71. [2012-04-10 19:57:54] <t3hk0d3> redundant api = evil
  72. [2012-04-10 19:58:02] <RoyAwesome> these are fairly critical design decisions
  73. [2012-04-10 19:58:16] <RoyAwesome> game code is not just 'player.move(velocity)'
  74. [2012-04-10 19:58:21] <ironchefpython> Anything that happens "per frame" should be handled in the engine, and not go through a mod event handler.
  75. [2012-04-10 19:58:23] <t3hk0d3> more features => less ability to change things, because of backward compatibility
  76. [2012-04-10 19:58:32] <RoyAwesome> then you gimp your modding api
  77. [2012-04-10 19:58:39] <RoyAwesome> what if I want to implement airships
  78. [2012-04-10 19:58:40] <RoyAwesome> as a mod
  79. [2012-04-10 19:58:49] <RoyAwesome> I need to be able to caclulate airship physics
  80. [2012-04-10 19:58:57] <RoyAwesome> I am not going to put that in the game engine
  81. [2012-04-10 19:59:02] <RoyAwesome> because it's irrelevent to the engine
  82. [2012-04-10 19:59:08] <t3hk0d3> actually it is
  83. [2012-04-10 19:59:13] <ironchefpython> you need to calcualte that once a second, and not 60 times a second.
  84. [2012-04-10 19:59:14] <RoyAwesome> parts of it
  85. [2012-04-10 19:59:25] <RoyAwesome> depending on your archetecture
  86. [2012-04-10 19:59:31] <t3hk0d3> game engine shouldn't simulate airship physics
  87. [2012-04-10 19:59:38] <RoyAwesome> we have a game loop at 20tps
  88. [2012-04-10 19:59:42] <t3hk0d3> but newtonian physics as well
  89. [2012-04-10 19:59:43] <RoyAwesome> and a rendering loop at 60fps
  90. [2012-04-10 19:59:54] <RoyAwesome> gives the game more processing time
  91. [2012-04-10 19:59:58] <RoyAwesome> without sacraficing rendering time
  92. [2012-04-10 20:00:21] <RoyAwesome> but, C# on mono and lua embedded in C++ is fast enough for some of that
  93. [2012-04-10 20:00:23] <ironchefpython> and mods should be able to start a thread that "events" about once a second.
  94. [2012-04-10 20:00:29] <RoyAwesome> I know because I have tested it
  95. [2012-04-10 20:00:45] <RoyAwesome> you can do airship physics in Unity3d
  96. [2012-04-10 20:00:49] <RoyAwesome> and that is C++ with mono
  97. [2012-04-10 20:00:52] <ironchefpython> I'm sure you can.
  98. [2012-04-10 20:01:02] <RoyAwesome> but, a dynamic langauge ontop of a vm'd langauge
  99. [2012-04-10 20:01:06] <RoyAwesome> you are going to have some issues there
  100. [2012-04-10 20:01:16] <RoyAwesome> with doing anything more than simple 'move forward' commands
  101. [2012-04-10 20:01:23] <ironchefpython> you don't understand how fast the jvm is.
  102. [2012-04-10 20:01:37] <RoyAwesome> 70-90% of C++
  103. [2012-04-10 20:01:45] <t3hk0d3> its wrong aproach to simulate physics inside interpretable part of code
  104. [2012-04-10 20:01:49] <ironchefpython> It's only 10-20 times slower than C++
  105. [2012-04-10 20:01:56] <t3hk0d3> but you can provide constants for physics engine
  106. [2012-04-10 20:02:02] <RoyAwesome> ironchefpython that 10-20 times actually matters
  107. [2012-04-10 20:02:05] <ironchefpython> for interpreted dynamic languages, not 1,000 times slower
  108. [2012-04-10 20:02:13] <t3hk0d3> well
  109. [2012-04-10 20:02:16] <t3hk0d3> JIT make sense
  110. [2012-04-10 20:02:45] <ironchefpython> No, that 10-20 times is irrelevant, if you have an API that allows you to do math-heavy stuff outside of your mods.
  111. [2012-04-10 20:02:47] <RoyAwesome> if you use lua, use luajit
  112. [2012-04-10 20:02:59] <RoyAwesome> but you can't predict everything possible
  113. [2012-04-10 20:03:02] <RoyAwesome> for a game to want
  114. [2012-04-10 20:03:11] <RoyAwesome> so you have to give some ground for them to do math heavy code in your API
  115. [2012-04-10 20:03:24] <RoyAwesome> and that is why you back it with C++
  116. [2012-04-10 20:03:26] <harrison> what about D instead of C++ ? I have only read about D, not used it, but it seems less bad than C++ and as fast.
  117. [2012-04-10 20:03:33] <RoyAwesome> that, and rendering is a gajillion times easier in C++
  118. [2012-04-10 20:03:52] <t3hk0d3> but C++ itself is quite awful
  119. [2012-04-10 20:04:00] <RoyAwesome> I do not trust any language that lets you write a complete program without a single operation
  120. [2012-04-10 20:04:03] <RoyAwesome> due to compiletime macros
  121. [2012-04-10 20:04:04] <harrison> RoyAwesome, if you answered my question earlier, i did not see
  122. [2012-04-10 20:04:08] <ironchefpython> Look, you're right, Java is a shitty choice for a 3d voxel game, and that's why minecraft was a complete failure, and nobody wrote mods for it.
  123. [2012-04-10 20:04:16] <RoyAwesome> no
  124. [2012-04-10 20:04:23] <RoyAwesome> noone wrote mods because decompiling code is a gigant pita
  125. [2012-04-10 20:04:32] <ironchefpython> indeed
  126. [2012-04-10 20:04:35] <harrison> do you have films of any of your renderers on youtube?
  127. [2012-04-10 20:04:38] <RoyAwesome> I'm not saying java is a shitty choice
  128. [2012-04-10 20:04:46] <Cervator> there's the community factor
  129. [2012-04-10 20:05:05] <RoyAwesome> harrison no. most of my stuff is engine level
  130. [2012-04-10 20:05:16] <RoyAwesome> I have screenshots
  131. [2012-04-10 20:05:17] <Cervator> efficient code that never gets a following < easy and collaborative if less efficient code :-)
  132. [2012-04-10 20:05:25] <RoyAwesome> https://imgur.com/a/d3BM1#0
  133. [2012-04-10 20:05:28] <t3hk0d3> btw
  134. [2012-04-10 20:05:33] <RoyAwesome> stuff I have done in assorted engines and technologies
  135. [2012-04-10 20:05:41] <t3hk0d3> you can write renderer using JNI
  136. [2012-04-10 20:05:51] <ironchefpython> Look, I'm being snarky, but you're saying that Java+Dynamic language is terrible because it's slow, and I'm saying Java+dynamic language is great because people will find it fun to develop mods with.
  137. [2012-04-10 20:05:53] <t3hk0d3> and game logic using Java
  138. [2012-04-10 20:05:55] <harrison> Any raytracing?
  139. [2012-04-10 20:06:12] <RoyAwesome> I hate ray tracing
  140. [2012-04-10 20:06:14] <t3hk0d3> ironchefpython: both of you right
  141. [2012-04-10 20:06:24] <ironchefpython> If, you're willing to stipulate that decent speed is possible, would you then agree that writing mods in a dynamic langague is a good idea?
  142. [2012-04-10 20:06:27] <RoyAwesome> I'm saying if you are going to do dynamic langauge for modding
  143. [2012-04-10 20:06:27] <Cervator> nice screenie
  144. [2012-04-10 20:06:30] <harrison> You are an enemy.
  145. [2012-04-10 20:06:37] <RoyAwesome> you might as well use a really fast langauge for the back end
  146. [2012-04-10 20:06:40] <RoyAwesome> and not java
  147. [2012-04-10 20:06:55] <ironchefpython> Sorry, what do they say about premature optimization?
  148. [2012-04-10 20:06:59] <harrison> Resolved: C++ is horrible. Discuss.
  149. [2012-04-10 20:07:10] <RoyAwesome> ironchefpython language choice is not premature optimization
  150. [2012-04-10 20:07:28] <RoyAwesome> because you can't just say 'oh, i optimized my game engine by rewriting the entire thing in C++'
  151. [2012-04-10 20:07:52] <harrison> A young man goes to his doctor. Embarrassed, stammering, he admits to a problem with premature optimization
  152. [2012-04-10 20:08:12] <ironchefpython> Acutally, when it comes to developing a modding API, the language choice of the engine is kinda irrelevant. Because if enough people start getting interested in an API, someone will port the engine to a new platform.
  153. [2012-04-10 20:08:23] <t3hk0d3> Cervator: do you know what they are speaking about? i can't understand these dudes :D
  154. [2012-04-10 20:08:24] <RoyAwesome> while yes, you still have to deal with inertia
  155. [2012-04-10 20:08:36] <t3hk0d3> weird discussion
  156. [2012-04-10 20:08:37] <Cervator> engine port? sounds sort of dramatic :-)
  157. [2012-04-10 20:08:42] <RoyAwesome> we are building Spout as a game engine that use java and java plugins
  158. [2012-04-10 20:08:43] <ironchefpython> It's happened in the past.
  159. [2012-04-10 20:08:47] <RoyAwesome> it has
  160. [2012-04-10 20:08:48] <harrison> any port in a storm...
  161. [2012-04-10 20:08:48] <Cervator> yeah, i'm following along okay, we were talking earlier too
  162. [2012-04-10 20:08:51] <RoyAwesome> and it's not pretty
  163. [2012-04-10 20:09:12] <ironchefpython> I think a game engine that used a scripting language for plug ins would be prettier.
  164. [2012-04-10 20:09:13] <Cervator> Roy is building the client renderer IIRC
  165. [2012-04-10 20:09:14] <t3hk0d3> Cervator: btw i got some ideas about magic system
  166. [2012-04-10 20:09:18] <t3hk0d3> if it would have place
  167. [2012-04-10 20:09:20] <RoyAwesome> the reasons we use java + java model is because we are familiar with the plugin loading system
  168. [2012-04-10 20:09:36] <RoyAwesome> and we gain a bit with reflection and class metadata
  169. [2012-04-10 20:09:40] <RoyAwesome> a fair bit
  170. [2012-04-10 20:09:52] <RoyAwesome> however, using a scripting language on top of java is not ideal
  171. [2012-04-10 20:10:01] <RoyAwesome> especially when having to deal with the ammount of work a plugin might have to be doing
  172. [2012-04-10 20:10:06] <ironchefpython> pretend the engine was a black box
  173. [2012-04-10 20:10:07] <Cervator> t3hk0d3 - magic is cool, for down the road, yeah :-)
  174. [2012-04-10 20:10:14] <ironchefpython> would a scripting langauge be ideal?
  175. [2012-04-10 20:10:20] <t3hk0d3> Cervator: each item / spell would have modifier matix
  176. [2012-04-10 20:10:24] <harrison> and yet you can't do reflection in the renderer! a bitter conundrum, is it not?
  177. [2012-04-10 20:10:34] <t3hk0d3> for each element / god (or whatever)
  178. [2012-04-10 20:10:47] <RoyAwesome> you can't black-box an engine completly
  179. [2012-04-10 20:10:55] <t3hk0d3> and it would be kinda transformation matrix for item attrs
  180. [2012-04-10 20:11:05] <t3hk0d3> and spells
  181. [2012-04-10 20:11:17] <RoyAwesome> because, as I said, if given a high level language for the engine (C#, java), I'd do the API in that language
  182. [2012-04-10 20:11:22] <ironchefpython> really? so they had to patch Wae3 to write dota? they decompiled source to write gary's mod?
  183. [2012-04-10 20:11:23] <RoyAwesome> if given C++, I'd use lua or mono
  184. [2012-04-10 20:11:31] <t3hk0d3> also enchanting and spells would be kinda diffucult
  185. [2012-04-10 20:11:40] <t3hk0d3> for example position of moon and time of day
  186. [2012-04-10 20:11:43] <RoyAwesome> ironchefpython you have clearly never written a source mod
  187. [2012-04-10 20:11:45] <Cervator> t3hk0d3: all sounds fine, we just need to get closer to implement :-)
  188. [2012-04-10 20:11:52] <t3hk0d3> would affect power of enchanting / spell
  189. [2012-04-10 20:11:52] <RoyAwesome> and, garry did rewrite parts of the engine for gmod
  190. [2012-04-10 20:12:03] <ironchefpython> true, I looked at the source engine, and ran screaming :-)
  191. [2012-04-10 20:12:04] <harrison> ironchefpython refuses to follow his own argument to its logical conclusion: that the best number of languages is ONE
  192. [2012-04-10 20:12:06] <t3hk0d3> Cervator: its not quite near feature
  193. [2012-04-10 20:12:10] <harrison> (in a project)
  194. [2012-04-10 20:12:14] <RoyAwesome> ironchefpython I was team lead for Empires for 4 years
  195. [2012-04-10 20:12:15] <t3hk0d3> im just curious about your opinion
  196. [2012-04-10 20:12:24] <t3hk0d3> or maybe vision about this
  197. [2012-04-10 20:12:32] <RoyAwesome> http://store.steampowered.com/app/17740/ <- that mod
  198. [2012-04-10 20:12:45] <Cervator> yeah, i've thought of similar things - celestial alignments, i do like it :-)
  199. [2012-04-10 20:12:49] <RoyAwesome> and dota had to decompile alot of the scripting stuff in order to get to what it needed
  200. [2012-04-10 20:13:00] <RoyAwesome> you can't open dota allstars in the blizz editor
  201. [2012-04-10 20:13:06] <RoyAwesome> you have to download the jass editor
  202. [2012-04-10 20:13:08] <ironchefpython> good point
  203. [2012-04-10 20:13:18] <RoyAwesome> the truth is...you cannot black-box the engine
  204. [2012-04-10 20:13:20] <RoyAwesome> you can try
  205. [2012-04-10 20:13:21] <Cervator> shiny, Roy
  206. [2012-04-10 20:13:30] <RoyAwesome> but odds are you doo to much in engine for an api to be relevent
  207. [2012-04-10 20:13:35] <ironchefpython> And the thing is, I think Mono would be a great platform for the engine, but that ship has sailed.
  208. [2012-04-10 20:13:38] <RoyAwesome> (I had this discussion with Grum of Mojang)
  209. [2012-04-10 20:13:57] <t3hk0d3> right
  210. [2012-04-10 20:14:07] <t3hk0d3> this is why Dinnerbone's API sucks
  211. [2012-04-10 20:14:11] <ironchefpython> But I wouldn't rule out using a dynamic language to script mods until you try it.
  212. [2012-04-10 20:14:12] <RoyAwesome> because they want to turn movement into a series of variables you send to the client
  213. [2012-04-10 20:14:15] <RoyAwesome> and they do all the simulation
  214. [2012-04-10 20:14:24] <RoyAwesome> rather than have the mod figure out what it really wants to do
  215. [2012-04-10 20:14:25] <t3hk0d3> he made blackbox out of engine
  216. [2012-04-10 20:14:42] <RoyAwesome> ironchefpython I love lua, so this isn't me bashing it
  217. [2012-04-10 20:14:48] <RoyAwesome> I would only really use lua in a C++ engine
  218. [2012-04-10 20:14:57] <RoyAwesome> I use it in Watertight mearly to test it's performance
  219. [2012-04-10 20:14:59] <ironchefpython> Or a C engine.
  220. [2012-04-10 20:15:00] <RoyAwesome> and frakly, it sucks
  221. [2012-04-10 20:15:01] <harrison> btw that film i have been promising is being rendered out from cinelerra now
  222. [2012-04-10 20:15:09] <Cervator> cool, harrison :-)
  223. [2012-04-10 20:15:10] <RoyAwesome> don't write game code in C you will go crazy
  224. [2012-04-10 20:15:12] <harrison> i shall put it up tonight
  225. [2012-04-10 20:15:16] <RoyAwesome> er
  226. [2012-04-10 20:15:18] <RoyAwesome> game engine code
  227. [2012-04-10 20:15:24] <ironchefpython> But Lua is not well supported on the JVM
  228. [2012-04-10 20:15:26] <harrison> but it is only the first segment
  229. [2012-04-10 20:15:30] <RoyAwesome> you need templating
  230. [2012-04-10 20:15:41] <RoyAwesome> no
  231. [2012-04-10 20:15:50] <harrison> the next one will be better
  232. [2012-04-10 20:15:50] <RoyAwesome> if you are using a high level, vm'd language
  233. [2012-04-10 20:15:55] <RoyAwesome> write the game code in the langauge
  234. [2012-04-10 20:16:01] <RoyAwesome> java loading java plugins
  235. [2012-04-10 20:16:08] <RoyAwesome> (or scala, groovy, or any language on the jvm)
  236. [2012-04-10 20:16:16] <RoyAwesome> if you are writing a .net engine
  237. [2012-04-10 20:16:19] <RoyAwesome> load C# stuff
  238. [2012-04-10 20:16:33] <RoyAwesome> I'm planning on using MEF for WTE in the near future to play around with it
  239. [2012-04-10 20:16:33] <Cervator> oh, you're not counting Groovy/Scala as a dynamic language? i thought you were disqualifying those
  240. [2012-04-10 20:16:35] <t3hk0d3> RoyAwesome: whoh dude, cool down
  241. [2012-04-10 20:16:51] <RoyAwesome> Cervator they compile to java byte code right?
  242. [2012-04-10 20:16:55] <Cervator> yup
  243. [2012-04-10 20:16:58] <RoyAwesome> if so: they are java ;)
  244. [2012-04-10 20:17:05] <Cervator> it is probably just a terminology question on my behalf :-)
  245. [2012-04-10 20:17:07] <ironchefpython> you're throwing away the advantages of dynamisim, REPL, in-game mod editing... becuase you're not willing to accept that dynamic langage performance on the jvm is good enough.
  246. [2012-04-10 20:17:11] <harrison> because C is so horrible a belief has sprung up that statically compiled systems level languages are necessarily difficult to code in
  247. [2012-04-10 20:17:16] <Cervator> as i think of those as dynamic scripting languages, probably falsely
  248. [2012-04-10 20:17:26] <ironchefpython> Scala is not a scripting language.
  249. [2012-04-10 20:17:39] <RoyAwesome> ironchefpython you can hot swap .class files on the jvm
  250. [2012-04-10 20:17:40] <RoyAwesome> at runtime
  251. [2012-04-10 20:17:47] <ironchefpython> Groovy can be compiled or interpreted.
  252. [2012-04-10 20:17:48] <RoyAwesome> as long as you don't change function signatures
  253. [2012-04-10 20:17:55] <RoyAwesome> just JIT your classes
  254. [2012-04-10 20:17:57] <RoyAwesome> and patch them in
  255. [2012-04-10 20:18:05] <ironchefpython> that's not enough.
  256. [2012-04-10 20:18:06] <RoyAwesome> it's a pain in the butt to not memory leak
  257. [2012-04-10 20:18:10] <harrison> ... and for some reason ironchefpython thinks that static compilation and ingame mod coding are incompatible
  258. [2012-04-10 20:18:11] <RoyAwesome> but, it's kinda cute
  259. [2012-04-10 20:18:26] <harrison> but they aren't
  260. [2012-04-10 20:18:28] <Cervator> ah, right, i lost track of the main difference between Groovy and Scala, my mistake :-)
  261. [2012-04-10 20:18:31] <RoyAwesome> and, t3hk0d3, one thing you will find...I type ALOT
  262. [2012-04-10 20:18:41] <harrison> GETPROCEDURE()
  263. [2012-04-10 20:18:41] <ironchefpython> because static compilation and in-game mod coding are incompatible, unless you make a JDK a requirment.
  264. [2012-04-10 20:18:46] <RoyAwesome> needless to say, I do not tweet :P
  265. [2012-04-10 20:18:52] <ironchefpython> and who the hell wants to download a jdk to run an applet?
  266. [2012-04-10 20:18:52] <RoyAwesome> 140 chars not enough ;)
  267. [2012-04-10 20:19:01] <t3hk0d3> RoyAwesome: ;) np
  268. [2012-04-10 20:19:12] <Cervator> hehe, text ftw
  269. [2012-04-10 20:19:13] <t3hk0d3> i just thought you got this conversation too serious
  270. [2012-04-10 20:19:17] <RoyAwesome> nah
  271. [2012-04-10 20:19:30] <RoyAwesome> I type alot
  272. [2012-04-10 20:19:33] <RoyAwesome> it annoys some people
  273. [2012-04-10 20:19:35] <RoyAwesome> but i dont care
  274. [2012-04-10 20:19:36] <ironchefpython> There's a difference between having strong opinions, and being serious about them.
  275. [2012-04-10 20:19:52] <t3hk0d3> RoyAwesome: it love
  276. [2012-04-10 20:19:55] <t3hk0d3> typing
  277. [2012-04-10 20:19:57] <t3hk0d3> enter
  278. [2012-04-10 20:19:59] <t3hk0d3> button
  279. [2012-04-10 20:20:00] <t3hk0d3> too
  280. [2012-04-10 20:20:03] <RoyAwesome> :P
  281. [2012-04-10 20:20:05] <t3hk0d3> :3
  282. [2012-04-10 20:20:06] <ironchefpython> I
  283. [2012-04-10 20:20:07] <ironchefpython> see
  284. [2012-04-10 20:20:08] <ironchefpython> what
  285. [2012-04-10 20:20:09] <ironchefpython> you
  286. [2012-04-10 20:20:10] <RoyAwesome> hey, I atleast have 3 words per line
  287. [2012-04-10 20:20:10] <ironchefpython> did
  288. [2012-04-10 20:20:11] <ironchefpython> there
  289. [2012-04-10 20:20:18] <Cervator> :D
  290. [2012-04-10 20:20:56] <ironchefpython> Anyway, I'm still convinced of the benefit of a dynamic language for mod development, and I still think javascript is the best choice.
  291. [2012-04-10 20:21:13] <RoyAwesome> don't take what I have said to mean dynamic languages suck
  292. [2012-04-10 20:21:17] <t3hk0d3> well there is two points
  293. [2012-04-10 20:21:19] <RoyAwesome> I would take lua any day to write games
  294. [2012-04-10 20:21:20] <ironchefpython> If it's too slow to write 95% of mods, I'll eat my hat.
  295. [2012-04-10 20:21:24] <RoyAwesome> but, not on a vm'd language
  296. [2012-04-10 20:21:27] <t3hk0d3> 1) dynamic language is good
  297. [2012-04-10 20:21:29] <RoyAwesome> C++ engine, lua scripting
  298. [2012-04-10 20:21:33] <t3hk0d3> but have own cons
  299. [2012-04-10 20:21:34] <RoyAwesome> java engine, java plugins
  300. [2012-04-10 20:21:41] <RoyAwesome> play to your strengths
  301. [2012-04-10 20:21:42] <t3hk0d3> like security issues
  302. [2012-04-10 20:21:48] <t3hk0d3> for example
  303. [2012-04-10 20:21:51] <t3hk0d3> code injection
  304. [2012-04-10 20:21:54] <RoyAwesome> all modding apis have security issues
  305. [2012-04-10 20:21:57] <RoyAwesome> learn to sandbox
  306. [2012-04-10 20:21:57] <t3hk0d3> right
  307. [2012-04-10 20:21:59] <ironchefpython> It's not that simple. Hotspot is faster than you think.
  308. [2012-04-10 20:22:12] <ironchefpython> Rhino is faster than you think
  309. [2012-04-10 20:22:28] <t3hk0d3> if Rhino would have JIT
  310. [2012-04-10 20:22:30] <t3hk0d3> it would FTW
  311. [2012-04-10 20:22:36] <ironchefpython> Rhino does have jit.
  312. [2012-04-10 20:22:41] <t3hk0d3> than it FTW :D
  313. [2012-04-10 20:22:43] <RoyAwesome> I would say the compound issues of running a VM on a VM are more than you think
  314. [2012-04-10 20:22:44] <ironchefpython> because it runs on the jvm, silly.
  315. [2012-04-10 20:22:50] <RoyAwesome> java is 10x slower than C++ at best
  316. [2012-04-10 20:22:55] <t3hk0d3> RoyAwesome: nope
  317. [2012-04-10 20:22:58] <RoyAwesome> lua is 100x slower than C++ at bext
  318. [2012-04-10 20:23:06] <RoyAwesome> lua on java is 10 * 100 slower
  319. [2012-04-10 20:23:09] <ironchefpython> You're not running a VM on the VM.
  320. [2012-04-10 20:23:21] <t3hk0d3> in pure math java is only a bit slower than native code
  321. [2012-04-10 20:23:26] <t3hk0d3> because of JIT
  322. [2012-04-10 20:23:30] <t3hk0d3> but
  323. [2012-04-10 20:23:35] <t3hk0d3> Java memory consumption
  324. [2012-04-10 20:23:36] <t3hk0d3> ...
  325. [2012-04-10 20:23:39] <RoyAwesome> then you have to deal with managed => unmanged =>managed memory transitions for every operation in and out of the api
  326. [2012-04-10 20:23:47] <t3hk0d3> RoyAwesome: nope
  327. [2012-04-10 20:23:48] <RoyAwesome> that's 3 memcpys per call
  328. [2012-04-10 20:23:50] <ironchefpython> you're turning javascript into bytecodes.
  329. [2012-04-10 20:24:00] <RoyAwesome> if you JIT it, then you run it on the jvm
  330. [2012-04-10 20:24:09] <RoyAwesome> and that is no different than writing java code and hot-patching it
  331. [2012-04-10 20:24:19] <t3hk0d3> RoyAwesome: jvm itself JIT bytecode
  332. [2012-04-10 20:24:32] <t3hk0d3> bytecode => machine code
  333. [2012-04-10 20:24:38] <ironchefpython> except you can't write java code and hot patch it with a java toolchain
  334. [2012-04-10 20:24:48] <RoyAwesome> yeah you can
  335. [2012-04-10 20:25:01] <RoyAwesome> eclipse does it with debugging options
  336. [2012-04-10 20:25:03] <RoyAwesome> it's really easy
  337. [2012-04-10 20:25:03] <harrison> http://pastebin.com/ERy4ZaL7 This is a code fragment. How would you change it to load the file "goatse.png" as a texture?
  338. [2012-04-10 20:25:05] <ironchefpython> I've got a JRE.
  339. [2012-04-10 20:25:07] <ironchefpython> No JDK
  340. [2012-04-10 20:25:11] <ironchefpython> how do I do it?
  341. [2012-04-10 20:25:23] <harrison> Simple, is it not?
  342. [2012-04-10 20:25:26] <RoyAwesome> ok, yeah, you need the jdk
  343. [2012-04-10 20:25:30] <RoyAwesome> but you would to JIT anyway
  344. [2012-04-10 20:25:34] <ironchefpython> so I can't do it in an applet?
  345. [2012-04-10 20:25:35] <RoyAwesome> unless you run another process to do it
  346. [2012-04-10 20:25:46] <RoyAwesome> you would need it for JIT*
  347. [2012-04-10 20:25:47] <ironchefpython> No, hotspot is the standard vm now.
  348. [2012-04-10 20:25:58] <ironchefpython> Look at 6.... 21?
  349. [2012-04-10 20:26:07] <ironchefpython> I'd have to look it up
  350. [2012-04-10 20:26:13] <RoyAwesome> er, and you can't get that to compile java code like you compile any other jvm JIT language?
  351. [2012-04-10 20:26:19] <harrison> Now, if you could edit that fragment INWORLD and compile it and run it and get a new block type
  352. [2012-04-10 20:26:19] <ironchefpython> nope
  353. [2012-04-10 20:26:24] <RoyAwesome> I highly doubt that
  354. [2012-04-10 20:26:32] <ironchefpython> not without a specialized library.
  355. [2012-04-10 20:26:34] <harrison> that would be dynamic
  356. [2012-04-10 20:26:39] <harrison> right?
  357. [2012-04-10 20:27:03] <Cervator> so stepping into a gunfight with a knife - that's what you could do with Groovy?
  358. [2012-04-10 20:27:05] <ironchefpython> there's an apache library that is bascially a assembly-like DSL to bytecode compiler.
  359. [2012-04-10 20:27:15] <harrison> knife - gun -- apache
  360. [2012-04-10 20:27:22] <harrison> i see what yyou did there
  361. [2012-04-10 20:28:04] <RoyAwesome> ironchefpython i task you with this
  362. [2012-04-10 20:28:05] <ironchefpython> But rhino (and jruby) use a special "inokedynamic" api that's not available to "normal" java classes.
  363. [2012-04-10 20:28:07] <RoyAwesome> write a renderer in java
  364. [2012-04-10 20:28:10] <ironchefpython> no
  365. [2012-04-10 20:28:11] <RoyAwesome> and then port it to C++
  366. [2012-04-10 20:28:13] <ironchefpython> no
  367. [2012-04-10 20:28:23] <harrison> the ..horror...
  368. [2012-04-10 20:28:34] <ironchefpython> I have zero interest in renderers.
  369. [2012-04-10 20:28:35] <t3hk0d3> btw
  370. [2012-04-10 20:28:36] <RoyAwesome> and you will see why I say that engine code is better in C++
  371. [2012-04-10 20:28:49] <t3hk0d3> what do you think about Python as scripting language?
  372. [2012-04-10 20:28:54] <t3hk0d3> :3
  373. [2012-04-10 20:28:56] <RoyAwesome> it's fine
  374. [2012-04-10 20:28:58] <harrison> here we go again
  375. [2012-04-10 20:29:02] <RoyAwesome> it's a scripting language
  376. [2012-04-10 20:29:02] <ironchefpython> I *agree* with you that the engine could be (and proably would be) better in C++
  377. [2012-04-10 20:29:04] <t3hk0d3> for game engine
  378. [2012-04-10 20:29:05] <t3hk0d3> i mean
  379. [2012-04-10 20:29:09] <Cervator> i don't doubt that C++ would do the engine better, tho the community social angle might differ :-)
  380. [2012-04-10 20:29:13] <harrison> How about D?
  381. [2012-04-10 20:29:19] <t3hk0d3> :D
  382. [2012-04-10 20:29:22] <RoyAwesome> C++ for renderer/gameloop
  383. [2012-04-10 20:29:25] <RoyAwesome> and fileystem access
  384. [2012-04-10 20:29:32] <RoyAwesome> and hosting the scripting langauge
  385. [2012-04-10 20:29:33] <ironchefpython> and network code
  386. [2012-04-10 20:29:36] <RoyAwesome> yeah
  387. [2012-04-10 20:29:44] <ironchefpython> Look, I don't disagree about that.
  388. [2012-04-10 20:29:55] <RoyAwesome> after that, Lua, python, embed mono if you can take that
  389. [2012-04-10 20:30:05] <harrison> Me! Me! Call on me rs. Smithers! I disagree!
  390. [2012-04-10 20:30:06] <RoyAwesome> that, imo, is the best process
  391. [2012-04-10 20:30:14] <RoyAwesome> because you play to strengths
  392. [2012-04-10 20:30:18] <RoyAwesome> C++ strength is speed
  393. [2012-04-10 20:30:22] <ironchefpython> But regardless of the engine technology, a scripting language is the best thing to give to modders.
  394. [2012-04-10 20:30:31] <RoyAwesome> the dynamic scripting langauge doesn't care about rendering, doesn't care about that
  395. [2012-04-10 20:30:41] <ironchefpython> Because 99% modders don't care what the engine is written in
  396. [2012-04-10 20:30:53] <RoyAwesome> 99% of modders deal with C++ engines
  397. [2012-04-10 20:30:54] <RoyAwesome> that is why
  398. [2012-04-10 20:31:02] <harrison> snap
  399. [2012-04-10 20:31:02] <RoyAwesome> find me a game engine in use that isn't C++
  400. [2012-04-10 20:31:12] <RoyAwesome> that isn't jmonkey
  401. [2012-04-10 20:31:21] <RoyAwesome> because that is the only counter example i can find
  402. [2012-04-10 20:31:24] <harrison> emacs
  403. [2012-04-10 20:31:25] <harrison> \\\ ( \
  404. [2012-04-10 20:31:25] <harrison> \ \ ^.^.___X__
  405. [2012-04-10 20:31:25] <harrison> \\______/__M-x irc )
  406. [2012-04-10 20:31:25] <harrison> / / \ \
  407. [2012-04-10 20:31:25] <harrison> \_\_ \ \
  408. [2012-04-10 20:31:27] <ironchefpython> 99% of modders make dragon's age mods where you walk around naked with a giant dong.
  409. [2012-04-10 20:31:35] <RoyAwesome> nah
  410. [2012-04-10 20:31:53] <RoyAwesome> they are on skyrim now
  411. [2012-04-10 20:31:55] <RoyAwesome> :)
  412. [2012-04-10 20:31:59] <ironchefpython> indeed
  413. [2012-04-10 20:32:04] <RoyAwesome> which is still C++
  414. [2012-04-10 20:32:08] <RoyAwesome> with 'lightscript'
  415. [2012-04-10 20:32:12] <RoyAwesome> or whatever they call it
  416. [2012-04-10 20:32:14] <RoyAwesome> radiantscript
  417. [2012-04-10 20:32:16] <RoyAwesome> something like that
  418. [2012-04-10 20:32:21] <ironchefpython> and the modders still don't care if it's c+= or java under the covers.
  419. [2012-04-10 20:32:30] <RoyAwesome> yeah, but engine developers do
  420. [2012-04-10 20:32:48] <RoyAwesome> again, play to your strengths
  421. [2012-04-10 20:32:57] <ironchefpython> and... that ship has sailed for minecraft and terasology.
  422. [2012-04-10 20:33:01] <RoyAwesome> yeah
  423. [2012-04-10 20:33:04] <RoyAwesome> so play to the strengths
  424. [2012-04-10 20:33:07] <RoyAwesome> if you are doing java
  425. [2012-04-10 20:33:11] <ironchefpython> no
  426. [2012-04-10 20:33:12] <RoyAwesome> write game code in java or a jvm langauge
  427. [2012-04-10 20:33:32] <ironchefpython> You realize that javascript is a jvm language. jruby is a jvm language.
  428. [2012-04-10 20:33:53] <ironchefpython> it's as much a jvm language as it is a c language.
  429. [2012-04-10 20:34:12] <harrison> not
  430. [2012-04-10 20:34:12] <harrison> \\\ ( \
  431. [2012-04-10 20:34:12] <harrison> \ \ ^.^.___X__
  432. [2012-04-10 20:34:12] <harrison> \\______/__ a brox )
  433. [2012-04-10 20:34:12] <harrison> / / \ \
  434. [2012-04-10 20:34:13] <harrison> \_\_ \ \
  435. [2012-04-10 20:34:18] <RoyAwesome> how do you interact with an already running jar with jruby?
  436. [2012-04-10 20:34:19] <RoyAwesome> can you?
  437. [2012-04-10 20:34:30] <ironchefpython> you can.
  438. [2012-04-10 20:34:41] <ironchefpython> I can tell you how to do it with Rhino
  439. [2012-04-10 20:34:49] <RoyAwesome> better question
  440. [2012-04-10 20:34:51] <ironchefpython> As I've used that and jython more recently.
  441. [2012-04-10 20:34:55] <RoyAwesome> how do you make your java engine run the jruby code
  442. [2012-04-10 20:35:04] <RoyAwesome> because the engine is actually the controller
  443. [2012-04-10 20:35:08] <RoyAwesome> not the other way around
  444. [2012-04-10 20:35:22] <ironchefpython> JSR 223
  445. [2012-04-10 20:35:40] <ironchefpython> there's a standard api to create a dynamic javascript scope object.
  446. [2012-04-10 20:35:48] <ironchefpython> or jruby or whatever
  447. [2012-04-10 20:35:59] <RoyAwesome> interesting
  448. [2012-04-10 20:36:14] <ironchefpython> here, look at this gist
  449. [2012-04-10 20:36:21] <ironchefpython> https://gist.github.com/2292944
  450. [2012-04-10 20:36:34] <ironchefpython> cx = Context.enter(); scope = cx.initStandardObjects();
  451. [2012-04-10 20:36:37] <harrison> in the late middle ages the ptolemaic system was choking on its own epicycles
  452. [2012-04-10 20:36:52] <RoyAwesome> ok
  453. [2012-04-10 20:36:53] <RoyAwesome> so
  454. [2012-04-10 20:36:54] <ironchefpython> you now have a javascript engine ready to run javascript commands.
  455. [2012-04-10 20:36:57] <RoyAwesome> you have to run a vm on the jvm
  456. [2012-04-10 20:37:00] <RoyAwesome> for jruby
  457. [2012-04-10 20:37:04] <Cervator> i remember that snippet, essentially the same concept as dynamically executing Groovy within Java
  458. [2012-04-10 20:37:05] <ironchefpython> no
  459. [2012-04-10 20:37:14] <ironchefpython> the jvm is the vm for jruby
  460. [2012-04-10 20:37:29] <RoyAwesome> or is it a context switch
  461. [2012-04-10 20:37:48] <RoyAwesome> okay, yah, with jrhino it's a context switch
  462. [2012-04-10 20:38:05] <RoyAwesome> jruby is an vm on top of the jvm
  463. [2012-04-10 20:38:07] <ironchefpython> it's also a context switch. JSR223 makes dynamic langauges sandboxed in their own context
  464. [2012-04-10 20:38:10] <ironchefpython> no
  465. [2012-04-10 20:38:19] * Cervator is still here, enjoying popcorn, mostly understanding
  466. [2012-04-10 20:38:25] <ironchefpython> in theory, you could do the same with java
  467. [2012-04-10 20:38:26] <RoyAwesome> I'm reading jruby's docs
  468. [2012-04-10 20:38:30] <ironchefpython> create a new context for it.
  469. [2012-04-10 20:38:39] <ironchefpython> execute it in a seperate context
  470. [2012-04-10 20:38:42] <RoyAwesome> https://github.com/jruby/jruby/wiki/RedBridge#wiki-Getting_Started
  471. [2012-04-10 20:38:47] <RoyAwesome> that is not a context switch
  472. [2012-04-10 20:39:05] |<-- zproc has left freenode (Quit: zproc)
  473. [2012-04-10 20:39:09] <RoyAwesome> but you can use JSR223
  474. [2012-04-10 20:39:12] <RoyAwesome> if you want
  475. [2012-04-10 20:39:19] <RoyAwesome> imma have to look into this more
  476. [2012-04-10 20:39:24] <RoyAwesome> this might be what we are looking for
  477. [2012-04-10 20:39:36] <harrison>
  478. [2012-04-10 20:39:36] <harrison> internet _ insect
  479. [2012-04-10 20:39:36] <harrison> _ __ ___ _ __ ___| |_ ___ _ __ _ __ ___ _ _ TM
  480. [2012-04-10 20:39:36] <harrison> | ' \/ -_) ' \/ -_) ' \/ _ \ '_ \ '_ \/ -_) '_|
  481. [2012-04-10 20:39:36] <harrison> |_|_|_\___|_|_|_\___|_||_\___/ .__/ .__/\___|_|
  482. [2012-04-10 20:39:38] <harrison> |_| |_|
  483. [2012-04-10 20:39:40] <Cervator> what's with the evil hex in those examples
  484. [2012-04-10 20:39:47] <RoyAwesome> i have no idea
  485. [2012-04-10 20:40:34] <ironchefpython> JRuby compiles Ruby code to Java bytecode. Once complete, there's no interpretation done, except for eval calls. Evaluated code never gets compiled; however, if the eval defines a method that's called enough, it will also eventually get JIT compiled to bytecode. JRuby is a mixed-mode engine.
  486. [2012-04-10 20:40:52] <RoyAwesome> ok
  487. [2012-04-10 20:40:58] <RoyAwesome> Im going to look into this more
  488. [2012-04-10 20:41:00] <ironchefpython> 9read down to compiler design)
  489. [2012-04-10 20:41:13] <ironchefpython> https://github.com/jruby/jruby/wiki/JRubyCompiler
  490. [2012-04-10 20:41:30] <ironchefpython> I'm telling you, Jruby is faster than Ruby
  491. [2012-04-10 20:41:36] <RoyAwesome> I don't doubt that
  492. [2012-04-10 20:41:38] <RoyAwesome> Ruby is slow
  493. [2012-04-10 20:41:50] <RoyAwesome> I'm mostly wondering how they make it run on the jvm
  494. [2012-04-10 20:41:52] <ironchefpython> the standard ruby never got into jit
  495. [2012-04-10 20:42:04] <ironchefpython> not like pypy
  496. [2012-04-10 20:42:18] <harrison> is there an intercal for the jvm?
  497. [2012-04-10 20:42:26] <RoyAwesome> i gotta run again
  498. [2012-04-10 20:42:28] <ironchefpython> harrison, I believe so.
  499. [2012-04-10 20:42:31] <RoyAwesome> some errands to run
  500. [2012-04-10 20:42:37] <Cervator> thanks for all the discussion :-)
  501. [2012-04-10 20:42:48] <RoyAwesome> good discussion, yeah
  502. [2012-04-10 20:43:17] <ironchefpython> guess I'm wrong, there's no jvm version of intercal... a shame. Maybe there's a compiler that will emit LLVM code for intercal.
  503. [2012-04-10 20:44:15] <ironchefpython> http://cadie.googlecode.com/svn/trunk/INTERCAL-style-guide.html
  504. [2012-04-10 20:45:09] <Cervator> aaiieee, what is that unholy assembly of symbols
  505. [2012-04-10 20:46:17] <ironchefpython> I love the three line formatting examples.
  506. [2012-04-10 20:46:38] <ironchefpython> although it is kind of obvious.
  507. [2012-04-10 20:46:50] <ironchefpython> I mean whot the fuck line-breaks on rabbit ears?
  508. [2012-04-10 20:46:59] <ironchefpython> that's just stupid.
  509. [2012-04-10 20:47:53] <Cervator> hah, i see now
  510. [2012-04-10 20:48:52] <ironchefpython> So all we need to do is show decent performance for an event handler loop that invokes javascript, and Roy will be onboard... with the one objection in that he hates javascript.
  511. [2012-04-10 20:49:00] <ironchefpython> score.
  512. [2012-04-10 20:53:00] <harrison> onboard? are you sure that he's above board? Let's not go overboard here.
  513. [2012-04-10 20:53:39] <ironchefpython> You just bored me. Wholly
  514. [2012-04-10 20:54:59] <harrison> step 2 me then punk
  515. [2012-04-10 20:55:20] <harrison> if u think u can outirc the master
  516. [2012-04-10 20:55:42] <harrison> yeah, i said it
  517. [2012-04-10 20:57:55] * Cervator chuckles
  518. [2012-04-10 20:58:16] <Cervator> i wasn't quite sure how that whole exchange ended :-)
  519. [2012-04-10 20:58:48] <Cervator> ultimately it was about whether the dynamic languages would be able to take advantage of direct JVM techs like JIT and what not instead of being stuck having to get interpreted on the fly every time?
  520. [2012-04-10 20:59:17] <Cervator> and whether or not you'd be able to stay truly dynamic within a running app?
  521. [2012-04-10 20:59:46] <ironchefpython> I think he's an idiot for rejecting the idea that rhino on the jvm would perform well enough for modding, and he thinks I'm an idiot for considering the idea that rhino on the jvm would perform well enough for modding
  522. [2012-04-10 21:00:06] <ironchefpython> so... pretty much the same way all internet discussions end. :-)
  523. [2012-04-10 21:00:22] <Cervator> hehe
  524. [2012-04-10 21:01:28] <ironchefpython> But if he thinks JSR 223 is interesting, he's gonna get blown away by JSR 292!!!!!
  525. [2012-04-10 21:01:29] <ironchefpython> !!!
  526. [2012-04-10 21:01:30] <ironchefpython> !
  527. [2012-04-10 21:01:32] <Cervator> where'd JRuby come from, anyay?
  528. [2012-04-10 21:01:40] <ironchefpython> From ruby?
  529. [2012-04-10 21:01:42] <Cervator> well, yeah, that's a higher number!
  530. [2012-04-10 21:01:49] <Cervator> rinse repeat with Ruby then
  531. [2012-04-10 21:02:01] <Cervator> but i guess languages were flying all over the place :-)
  532. [2012-04-10 21:02:06] <ironchefpython> some dude in japan
  533. [2012-04-10 21:02:49] <harrison> i am going to have to leave my box running all night
  534. [2012-04-10 21:02:56] <ironchefpython> http://en.wikipedia.org/wiki/Da_Vinci_Machine
  535. [2012-04-10 21:02:57] <harrison> i started uploading to youtube
  536. [2012-04-10 21:03:05] <harrison> 1.6 gb film
  537. [2012-04-10 21:03:10] <Cervator> yikes
  538. [2012-04-10 21:03:14] <harrison> and i have the slowest dsl
  539. [2012-04-10 21:03:47] <harrison> but it will be worth it
  540. [2012-04-10 21:03:50] <Cervator> kudos for the code name on that JSR
  541. [2012-04-10 21:03:55] <harrison> i do it for you guys
  542. [2012-04-10 21:03:57] <ironchefpython> Cerv, the new javascript jit for the jvm (nashorn) will be built on the MLVM
  543. [2012-04-10 21:03:58] <Cervator> :D
  544. [2012-04-10 21:04:01] <harrison> the fan community
  545. [2012-04-10 21:04:13] <harrison> one's public is so demanding
  546. [2012-04-10 21:04:18] <Cervator> how mature is nashorn?
  547. [2012-04-10 21:04:22] <Cervator> if at all?
  548. [2012-04-10 21:04:23] <ironchefpython> vapor
  549. [2012-04-10 21:04:27] <Cervator> aw
  550. [2012-04-10 21:04:32] <ironchefpython> pure utter vapor
  551. [2012-04-10 21:04:48] <Cervator> on the plus side then i'm sure it favors ray tracing.... :-)
  552. [2012-04-10 21:04:54] <Cervator> (i kid!)
  553. [2012-04-10 21:04:58] <ironchefpython> NO RASTERBATING!
  554. [2012-04-10 21:05:48] <harrison> late 2012 availability?
  555. [2012-04-10 21:05:59] <harrison> isn't that coutting it a lttle close?
  556. [2012-04-10 21:06:08] <ironchefpython> close to what?
  557. [2012-04-10 21:06:12] <harrison> given the mayans and all?
  558. [2012-04-10 21:06:17] <Cervator> end of dah world!
  559. [2012-04-10 21:06:29] <ironchefpython> it's a preview release for a feature that will ship with java 8....
  560. [2012-04-10 21:06:31] <ironchefpython> oh
  561. [2012-04-10 21:06:33] <Cervator> by which we can deduce that nashorn will be what brings about skynet
  562. [2012-04-10 21:06:34] <ironchefpython> I see what you did there.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement