<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jan 21, 2019 at 1:13 PM Hernán Morales Durand <<a href="mailto:hernan.morales@gmail.com">hernan.morales@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><br></div><div>Done.</div><div><br></div><div>I have some possible myths, but I'd like to confirm or reject:<br></div><div><br></div><div>- All Smalltalk bytecode sets are stack-based VM. (?)</div></div></blockquote><div><br></div><div>While there might be some implementations that use a register based bytecode set I've never heard of one.  I do know of a few implementations that don't use bytecode at all. </div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr">- Bytecodes are always fixed-size. (?)<br></div></blockquote><div><br></div><div>False.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr">- Most of the time spent by a VM is in the instruction interpreter. (actually it's in the GC right?)<br></div></blockquote><div><br></div><div>Neither.  In a JIT VM most time is spent executing Smalltalk code.  GC overheads vary depending on workload, typically in the range 1% to 50% (typically for specially constructed benchmarks written to stress the GC).</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr">- You cannot serialize objects containing blocks. (IIRC one can use MessageSends)<br></div></blockquote><div><br></div><div>False.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr">- Image cannot be bootstrapped. (This is possible in ST/X and now in Pharo I think).<br></div></blockquote><div><br></div><div>False.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>- All Smalltalks includes UI classes. (GemStone doesn't have AFAIK).</div></div></blockquote><div><br></div><div>False.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>- All implementations uses direct pointers, (GST?)<br></div></div></blockquote><div> </div><div>False.  VisualWorks uses indirection pointers.  Xerox Smalltalk-80 implementations used indirection.  But many modern implementations use direct pointers.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div></div><div>- All implementations uses green threads. (VAST? MT?)<br></div></div></blockquote><div><br></div><div>False.  SmalltalkMT.   But still mostly true.  VAST & VW have green threads and a threaded FFI.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div></div><div><br></div><div>I'm sure people in this list will have a lot more myths heard from Conferences, Forums, Videos, Talks, etc. Like the guy who said Smalltalk was dead. So if you did something which could be ignored publicly, please don't hesitate to reply or ping me to get added as collaborator.</div><div><br></div><div>Cheers,</div><div><br></div><div>Hernán<br></div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail-m_-794285735627141148gmail_attr">El dom., 20 ene. 2019 a las 22:41, Eliot Miranda (<<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>>) escribió:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">Hi Hernán,</div><br><div class="gmail_quote"><div dir="ltr" class="gmail-m_-794285735627141148gmail-m_8573492409851342107gmail_attr">On Sun, Jan 20, 2019 at 2:31 PM Hernán Morales Durand <<a href="mailto:hernan.morales@gmail.com" target="_blank">hernan.morales@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div></div><div>Hi there,</div><div><br></div><div>I just created a GitHub repo to collect myths around Smalltalk-based technologies: Pharo, Squeak, VW, VAST, Smalltalk/X, GNU/ST, etc. in the spirit of the Falsehoods lists [1-4].</div><div><br></div><div>This is just a draft now but please feel free to add falsehoods based on your own experiences. Examples are greatly appreciated.</div></div></blockquote><div><br></div><div>You want pull requests?  If not, would you give me write permission?  I'd love to add to the "Smalltalk is obsolete" section...</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><br></div><div><a href="https://github.com/hernanmd/falsehoods_smalltalk" target="_blank">https://github.com/hernanmd/falsehoods_smalltalk</a></div><div><br></div><div>Cheers,</div><div><br></div><div>Hernán</div><div><br></div><div>[1] <a href="https://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time" target="_blank">https://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time</a><br><div>[2] <a href="https://chiselapp.com/user/ttmrichter/repository/gng/doc/trunk/output/falsehoods.html" target="_blank">https://chiselapp.com/user/ttmrichter/repository/gng/doc/trunk/output/falsehoods.html</a></div><div>[3] <a href="https://github.com/googlei18n/libphonenumber/blob/master/FALSEHOODS.md" target="_blank">https://github.com/googlei18n/libphonenumber/blob/master/FALSEHOODS.md</a><br></div><div>[4] <a href="https://meta-package-manager.readthedocs.io/en/develop/falsehoods.html" target="_blank">https://meta-package-manager.readthedocs.io/en/develop/falsehoods.html</a></div><div><br></div></div></div>
<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail-m_-794285735627141148gmail-m_8573492409851342107gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div></div>
</blockquote></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div></div>