Lars Bak (computer scientist)

from Wikipedia, the free encyclopedia

Lars Bak (* around 1965) also Lars Bak Petersen is a Danish computer scientist who specializes in the development of virtual machines . He is employed by Google and developed the JavaScript engine V8 . Bak has filed a number of patents related to virtual machines.

Life

The beginning at Mjølner

Bak enrolled in computer science at Aarhus University in 1982 and graduated in 1988 with a Master of Science degree . He has been working on the Nordic research project Mjølner since 1986 and founded a spin-off called Mjølner Informatics together with his professor Ole Lehrmann Madsen in 1988 after completing his studies . At Mjølner he worked on the implementation of the BETA programming language . The BETA VM was his first virtual machine.

Time in Silicon Valley

In 1991 he moved to the Self Group at Sun Microsystems in San José . There he met Urs Hölzle , among others , who was busy developing new compiler and VM technologies. Bak mainly worked there with the development of the self-VM.

In 1994 Bak, Gilad Bracha , Steffen Grarup, Robert Griesemer , David Griswold and Urs Hölzle left Sun and founded Longview Technologies in Palo Alto , which also operated under the name Animorphic Systems. Above all, the Strongtalk programming language was to be developed there. There Urs Hölzle succeeded in developing a type feedback compiler and in 1995, due to the rapid development of Sun's new programming language Java, the development of the HotSpot VM was started.

1997 bought Sun Longview Technologies for around 23 million US dollars and Bak was chief engineer of the Hotspot VM at Sun. At the time of the takeover, HotSpot was around twice as fast as the JVMs on the market at the time. HotSpot-VM is still the most important Java Virtual Machine today and is now distributed by Oracle .

Back in Aarhus

In 2000 Bak returned to Denmark for family reasons, but was still employed by Sun. In 2001 he started working with Monty, a Java VM for mobile phones that was later renamed CLDC HotSpot Virtual Machine .

In 2002 Bak founded a company called OOVM with Kaspar V. Lund to develop a VM of the same name for embedded systems . OOVM is a Smalltalk - implementation that does not require an underlying operating system and allows to change current on programs in operation.

In 2004 the Swiss company Esmertec bought OOVM and Bak became an employee of Esmertec.

In 2006, Google planned its own web browser, Chrome . A fast JavaScript VM was required for this. After the now Google Vice President for Technology Urs Hölzle Bak made the offer to put together a team in Aarhus according to his wishes, he started developing V8 together with Kasper Lund . After just a few months, the first versions were significantly faster than the JavaScript engines from Internet Explorer , Firefox and Safari used at the time . All major JavaScript engines are now running at least 100 times faster than they were in 2008.

In 2010, Bak began to develop the Dart programming language together with Gilad Bracha and Kaspar Lund . Dart was presented at the Goto conference in Aarhus in 2011 and reached the first stable version on November 14, 2013.

For 2018, Bak was awarded the Dahl Nygaard Prize .

Trivia

During his school days, Lars Bak was hardly interested in computers; It was only at university that he began to deal intensively with it.

In the years in Silicon Valley , he has gained around 20 kg. Back in Denmark he managed to get rid of those extra pounds permanently with the help of an Atkins diet and a lot of exercise. In the Google offices in Aarhus, the “no sugar” rule is supported by the employees.

Bak first began working on V8 in a farm building on his farm that had been converted into an office. As the team grew, he moved development to a Google office building on the Aarhus University campus .

Patents

  • Patent US6415381 : Mixed execution stack and exception handling. Applied on October 6, 1997 , published on July 2, 2002 , Applicant: Sun Microsystems, Inc., Inventors: Lars Bak, Robert Griesemer, Urs Hölzle.
  • Patent US20060294528 : Process and apparatus for sharing inline caches. Registered on December 13, 2000 , published on December 28, 2006 , applicants: Lund Kasper V, Lars Bak, Andersen Jakob R, Steffen Grarup, Beat Heeb, inventors: Kasper Lund, Lars Bak, Jakob Andersen, Steffen Grarup, Beat Heeb.
  • Patent US5970249 : Method and apparatus for performing byte-code optimization during pauses. Filed October 6, 1997 , published October 19, 1999 , applicant: Sun Microsystems, Inc., inventor: Lars Bak, Urs Holzle.
  • Patent WO2006111208 : Process and system for real-time relocation of objects during garbage collection. Registered on April 22, 2005 , published on October 26, 2006 , applicant: Esmertec Ag, Steffen Grarup, Lars Bak, Kasper Lund, Jakob Andersen, inventors: Steffen Grarup, Lars Bak, Kasper Lund, Jakob Andersen.
  • Patent US20040244009 : Inline database for receiver types in object-oriented systems. Filed October 6, 1997 , published December 2, 2004 , Applicant: Sun Microsystems, Inc., Inventor: Lars Bak, Urs Holzle.
  • Patent US6240547 : Method and apparatus for dynamically deoptimizing compiled activations. Applied on October 6, 1997 , published on May 29, 2001 , applicant: Sun Microsystems, Inc., inventor: Urs Hölzle, Lars Bak.
  • Patent US6513156 : Interpreting functions utilizing a hybrid of virtual and native machine instructions. Filed June 30, 1997 , published January 28, 2003 , applicant: Sun Microsystems, Inc., inventor: Lars Bak, Robert Griesemer.
  • Patent WO2006111209 : Process and system for sharing program fragments. Registered on April 22, 2005 , published on October 26, 2006 , applicants: Andersen Jakob R, Lars Bak, Lund Kasper V, Steffen Grarup, inventors: Jakob Andersen, Lars Bak, Kasper Lund, Steffen Grarup.
  • Patent US8392881 : Supporting efficient access to object properties in a dynamic object-oriented programming language. Registered on May 13, 2008 , published on March 5, 2013 , Applicant: Google Inc., Inventors: Kasper Verdich Lund, Lars Bak.
  • Patent US6510437 : Method and apparatus for concurrent thread synchronization. Filed November 4, 1996 , published January 21, 2003 , Applicant: Sun Microsystems, Inc., Inventor: Lars Bak, Timothy G. Lindholm.
  • Patent US6714991 : Method and apparatus for implementing fast subclass and subtype checks. Filed March 23, 1998 , published June 7, 2006 , Applicant: Sun Microsystems, Inc., Inventor: Lars Bak, Srdjan Mitrovic, Urs Holzle.
  • Patent EP0950947 : Static binding of dynamically dispatched calls in the presence of dynamic linking and loading. Applied on March 24, 1998 , published on September 10, 2003 , Applicant: Sun Microsystems, Inc., Inventors: Lars Bak, Srdjan Mitrovic, Urs Holzle.
  • Patent US8578352 : Optimizing object oriented programs using limited customization. Filed March 31, 2011 , published November 13, 2013 , applicant: Google, Inc., inventor: Srdjan Mitrovic, Lars Bak.
  • Patent EP0945791 : Techniques for reducing the cost of dynamic class initialization checks in compiled code. Filed March 22, 1999 , published January 5 , applicant: Sun Microsystems, Inc., inventor: Lars Bak, Srdjan Mitrovic.
  • Patent US7181732 : Method and apparatus for facilitating lazy type tagging for compiled activations. Filed November 14, 2001 , published February 20, 2007 , applicant: Sun Microsystems, Inc., inventor: Lars Bak, Kasper V. Lund.
  • Patent EP1163581 : Monitor conversion in a multi-threaded computer system. Applied on February 25, 1999 , published on December 4, 2002 , Applicant: Sun Microsystems, Inc., Inventor: Lars Bak, Sheng Liang, Hong Zhang.
  • Patent US6134627 : Thread synchronization in a computer controlled by an object-based program. Filed November 4, 1996 , published October 17 , applicant: Sun Microsystems, Inc., inventor: Lars Bak.
  • Patent US6704927 : Static binding of dynamically-dispatched calls in the presence of dynamic linking and loading. Registered on March 24, 1998 , published on March 9, 2004 , Applicant: Sun Microsystems, Inc., Inventors: Lars Bak, Srdjan Mitrovic, Urs Hölzle.
  • Patent WO2003042822 : Method and apparatus for facilitating compact object headers. Filed November 14, 2001 , published May 22, 2003 , Applicant: Sun Microsystems Inc, Inventor: Lars Bak, Steffan Grarup.
  • Patent WO2003042835 : Non-intrusive gathering of code usage information to facilitate removing unused compiled code. Filed November 14, 2001 , published May 22, 2003 , Applicant: Sun Microsystems Inc, Inventor: Lars Bak, Jacob Andersen, Kasper Lund.
  • Patent EP1444574 : Lazy type tagging in compiled activation frames for garbage collection in mixed-mode systems with interpreter and compiler. Filed November 14, 2001 , published August 11, 2004 , applicant: Sun Microsystems, Inc., inventor: Lars Bak, Kasper Lund.
  • Patent WO2003042825 : Method and apparatus for dynamically compiling byte codes into native code. Filed November 14, 2001 , published May 22, 2003 , applicant: Sun Microsystems Inc, inventor: Lars Bak.
  • Patent US6308185 : Methods and apparatus for generational dynamic management of computer memory. Filed March 6, 1998 , published October 28, 2001 , Applicant: Sun Microsystems, Inc., Inventor: Steffen Grarup, Lars Bak.
  • Patent EP0840215 : Method and apparatus for thread synchronization in object-based systems. Filed November 4, 1996 , published September 18, 2002 , Applicant: Sun Microsystems, Inc., Inventor: Lars Bak, Timothy G. Lindholm.
  • Patent US7592930 : Method and apparatus for reducing memory usage by encoding two values ​​in a single field. Registered on May 13, 2008 , published on September 22, 2009 , applicant: Google Inc., inventors: Mads Sig Ager, Lars Bak, Kasper Verdich Lund.
  • Patent US8244775 : Using map objects to access object properties in a dynamic object-oriented programming language. Registered on May 13, 2008 , published on August 14, 2012 , applicant: Google Inc, inventor: Lars Bak, Kasper Verdich Lund.

literature

Web links

Individual evidence

  1. a b Masters produced Computer Science - The following list provides an overview of all Master's produced at the Department of Computer Science ( Memento from March 19, 2014 in the Internet Archive )
  2. Bak Biography
  3. a b Mindre, smarter and faster . ( Memento from March 16, 2014 in the Internet Archive ) In: AUgustus no. 4 - 2009 (PDF) December 2009
  4. 008 JSJ V8 and Dart with Lars Bak and Kasper Lund . ( Memento of the original from March 15, 2014 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. WOODY2SHOES, March 14, 2012. @1@ 2Template: Webachiv / IABot / javascriptjabber.com
  5. Lars Bak, Jørgen Lindskov Knudsen, Ole Lehrman Madsen, Claus Nørgaard, Elmer Sandvad: An overview of the Mjølner BETA system . April 1991.
  6. ^ Dave Griswold: The History of the Strongtalk Project .
  7. Keith Hankin: Sun buys Java compiler technology based upon Self !!! February 18, 1997.
  8. Engineers to make significant contributions to Sun's Javatm Platform ( Memento of April 20, 1999 in the Internet Archive ), Mountain View February 18, 1997.
  9. CASPER THOMSEN: Swiss køber århusiansk software company. In: computerworld.dk. July 28, 2004, accessed March 1, 2015 (Danish).
  10. Debora Tidwell: FOOL CONFERENCE CALL SYNOPSIS - Sun Microsystems, Inc. (No longer available online.) In: The Motley Fool. April 26, 1997, archived from the original on April 2, 2015 ; accessed on March 1, 2015 . Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / www.fool.com
  11. ^ Cade Metz: Google 'Crankshaft' inspired by Sun Java HotSpot - Bak to 'adaptive compilation' . December 9, 2010.
  12. a b c d The genius behind Google's browser . ( Memento of December 31, 2011 on the Internet Archive ) FT Magazine, March 27, 2009.
  13. ^ Resilient: Making Embedded Systems Serviceable .
  14. ^ Kasper V. Lund, Jakob R. Andersen: Revolutionizing Embedded Software . (PDF) Master's Thesis
  15. ^ Andrew Orlowski: Forgotten language enables nonstop gadgets - Smalltalk, in a very small machine . July 27, 2004.
  16. Esmertec Acquires OOVM; OOVM - Developer of Disruptive Technology for Embedded Devices with Minimal Memory. on July 27, 2004.
  17. ^ Dan Mygind: Her er historien bag Chromes danske V8-engine. Her kommer historien om den danske udvikling af javascript-engine V8 i googles nye browser, Chrome . computerworld.dk, September 3, 2008.
  18. ^ Lars Bak: Language Based Virtual Machines ... or why speed matters . ( Memento of the original from September 23, 2015 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. (PDF) @1@ 2Template: Webachiv / IABot / www.aosd.net
  19. Dart 1.0: A stable SDK for structured web apps November 14, 2013.