Stefan Karpinski

Last updated

Stefan Karpinski
NationalityAmerican
Alma mater Harvard
Known for Julia (programming language)
Scientific career
Fields Computer science, Mathematics
Institutions NYU
Website http://karpinski.org/

Stefan Karpinski is an American computer scientist known for being a co-creator of the Julia programming language. [1] [2] [3] [4] He is an alumnus of Harvard and works at Julia Computing, which he co-founded with Julia co-creators, Alan Edelman, Jeff Bezanson, Viral B. Shah as well as Keno Fischer and Deepak Vinchhi. [5] [6] [7]

Contents

He received a B.A. in mathematics from Harvard in 2000, [8] and has completed much of the work on a PhD in computer science from UCSB with research on modeling local area network traffic. He is one of the four main authors of core academic papers on Julia. [9] [10] He speaks regularly on Julia at industry events on scientific computing, programming languages, and data science. [7] [11] [12] [13] [14] [15] [16] [17] [18]

In 2006, Karpinski participated in the Subway Challenge, [19] holding for some time the Guinness World Record for the fastest transit stopping at all New York City Subway stations.

Awards

In 2019, Stefan Karpinski was awarded the J. H. Wilkinson Prize for Numerical Software with Jeff Bezanson and Viral B. Shah for their work on the Julia programming language. [20]

See also

Related Research Articles

<span class="mw-page-title-main">MATLAB</span> Numerical computing environment and programming language

MATLAB is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages.

<span class="mw-page-title-main">Numerical analysis</span> Study of algorithms using numerical approximation

Numerical analysis is the study of algorithms that use numerical approximation for the problems of mathematical analysis. It is the study of numerical methods that attempt at finding approximate solutions of problems rather than the exact ones. Numerical analysis finds application in all fields of engineering and the physical sciences, and in the 21st century also the life and social sciences, medicine, business and even the arts. Current growth in computing power has enabled the use of more complex numerical analysis, providing detailed and realistic mathematical models in science and engineering. Examples of numerical analysis include: ordinary differential equations as found in celestial mechanics, numerical linear algebra in data analysis, and stochastic differential equations and Markov chains for simulating living cells in medicine and biology.

Multiple dispatch or multimethods is a feature of some programming languages in which a function or method can be dynamically dispatched based on the run-time (dynamic) type or, in the more general case, some other attribute of more than one of its arguments. This is a generalization of single-dispatch polymorphism where a function or method call is dynamically dispatched based on the derived type of the object on which the method has been called. Multiple dispatch routes the dynamic dispatch to the implementing function or method using the combined characteristics of one or more arguments.

<span class="mw-page-title-main">History of programming languages</span> Aspect of history

The history of programming languages spans from documentation of early mechanical computers to modern tools for software development. Early programming languages were highly specialized, relying on mathematical notation and similarly obscure syntax. Throughout the 20th century, research in compiler theory led to the creation of high-level programming languages, which use a more accessible syntax to communicate instructions.

The GNU Scientific Library is a software library for numerical computations in applied mathematics and science. The GSL is written in C; wrappers are available for other programming languages. The GSL is part of the GNU Project and is distributed under the GNU General Public License.

*Lisp is a programming language, a dialect of the language Lisp. It was conceived of in 1985 by two employees of the Thinking Machines Corporation, Cliff Lasser and Steve Omohundro, as a way to provide an efficient yet high-level language for programming the nascent Connection Machine (CM).

The J. H. Wilkinson Prize for Numerical Software is awarded every four years to honor outstanding contributions in the field of numerical software. The award is named to commemorate the outstanding contributions of James H. Wilkinson in the same field.

Computational particle physics refers to the methods and computing tools developed in and used by particle physics research. Like computational chemistry or computational biology, it is, for particle physics both a specific branch and an interdisciplinary field relying on computer science, theoretical and experimental particle physics and mathematics. The main fields of computational particle physics are: lattice field theory, automatic calculation of particle interaction or decay and event generators.

Probabilistic programming (PP) is a programming paradigm in which probabilistic models are specified and inference for these models is performed automatically. It represents an attempt to unify probabilistic modeling and traditional general purpose programming in order to make the former easier and more widely applicable. It can be used to create systems that help make decisions in the face of uncertainty.

<span class="mw-page-title-main">Julia (programming language)</span> Dynamic programming language

Julia is a high-level, general-purpose dynamic programming language. Its features are well suited for numerical analysis and computational science.

<span class="mw-page-title-main">Alan Edelman</span> American mathematician

Alan Stuart Edelman is an American mathematician and computer scientist. He is a professor of applied mathematics at the Massachusetts Institute of Technology (MIT) and a Principal Investigator at the MIT Computer Science and Artificial Intelligence Laboratory (CSAIL) where he leads a group in applied computing. In 2004, he founded a business called Interactive Supercomputing which was later acquired by Microsoft. Edelman is a fellow of American Mathematical Society (AMS), Society for Industrial and Applied Mathematics (SIAM), Institute of Electrical and Electronics Engineers (IEEE), and Association for Computing Machinery (ACM), for his contributions in numerical linear algebra, computational science, parallel computing, and random matrix theory. He is one of the cocreators of the technical programming language Julia.

<span class="mw-page-title-main">Viral B. Shah</span> Indian computer scientist

Viral B Shah is an Indian computer scientist, best known for being a co-creator of the Julia programming language. He was also actively involved in the initial design of the Aadhaar project in India which provides a 12-digit unique identity number to each Indian resident based on their biometric and demographic data. Based on his experiences implementing Aadhaar and other complex technology projects in government, he co-authored the book Rebooting India with Nandan Nilekani.

Differentiable programming is a programming paradigm in which a numeric computer program can be differentiated throughout via automatic differentiation. This allows for gradient-based optimization of parameters in the program, often via gradient descent, as well as other learning approaches that are based on higher order derivative information. Differentiable programming has found use in a wide variety of areas, particularly scientific computing and artificial intelligence. One of the early proposals to adopt such a framework in a systematic fashion to improve upon learning algorithms was made by the Advanced Concepts Team at the European Space Agency in early 2016.

<span class="mw-page-title-main">Flux (machine-learning framework)</span> Open-source machine-learning software library

Flux is an open-source machine-learning software library and ecosystem written in Julia. Its current stable release is v0.14.5 . It has a layer-stacking-based interface for simpler models, and has a strong support on interoperability with other Julia packages instead of a monolithic design. For example, GPU support is implemented transparently by CuArrays.jl This is in contrast to some other machine learning frameworks which are implemented in other languages with Julia bindings, such as TensorFlow.jl, and thus are more limited by the functionality present in the underlying implementation, which is often in C or C++. Flux joined NumFOCUS as an affiliated project in December of 2021.

Keno Fischer is a German computer scientist known for being a core member implementing the Julia programming language. He is an alumnus of Harvard for both his BA and MA. He works at Julia Computing, which he co-founded with Julia co-creators, Alan Edelman, Jeff Bezanson, Stefan Karpinski, Viral B. Shah and Deepak Vinchhi. He received a B.A. in mathematics and physics from Harvard in 2016, and he completed a Master of Arts in Physics also from Harvard in 2016.

<span class="mw-page-title-main">Jeff Bezanson (programmer)</span> Computer scientist

Jeff Bezanson is a computer scientist best known for co-creating the Julia programming language with Stefan Karpinski, Alan Edelman and Viral B. Shah in 2012. The language spawned Julia Computing Inc. of which Bezanson is the CTO. As a founder of the company and co-creator of the language, Bezanson earned the 2019 J.H. Wilkinson Prize for his work on the Julia programming language alongside Shah and Karpinski. Bezanson is also listed as an author on academic papers regarding the Julia language.

References

  1. Bryant, Avi (October 15, 2012). "Matlab, R, and Julia: Languages for data analysis". O'Reilly Strata. Archived from the original on May 28, 2013.
  2. Krill, Paul (April 18, 2012). "New Julia language seeks to be the C for scientists". InfoWorld.
  3. Finley, Klint (February 3, 2014). "Out in the Open: Man Creates One Programming Language to Rule Them All". Wired.
  4. Gibbs, Mark (January 9, 2013). "Pure and Julia are cool languages worth checking out". Network World (column). Retrieved February 7, 2013.
  5. "Why the creators of the Julia programming language just launched a startup". VentureBeat. May 18, 2015. Retrieved June 20, 2016.
  6. www.ETtech.com. "Julia founders create new startup to take language commercial | ETtech". The Economic Times. Retrieved June 20, 2016.
  7. 1 2 "ODSC East 2016 | Stefan Karpinski - "Solving the Two Language Problem"". www.youtube.com. Open Data Science. May 26, 2016. Retrieved June 20, 2016.
  8. Karpinski, Stefan. "Resume". karpinski.org. Retrieved June 18, 2016.
  9. Bezanson, Jeffrey; Edelman, Alan; Karpinski, Stefan; Shah, Viral (2014). "Julia: A Fresh Approach to Numerical Computing". arXiv: 1411.1607 [cs.MS].
  10. Jeff Bezanson; Stefan Karpinski; Viral Shah; Alan Edelman; et al. "Research". julialang.org. Retrieved December 20, 2020.
  11. "Julia (Channel 9)". Channel 9. Retrieved June 20, 2016.
  12. Erlang Solutions (January 17, 2014), Stefan Karpinski - Julia: Fast Performance, Distributed Computing & Multiple Dispatch , retrieved June 20, 2016
  13. Karpinski, Stefan. "Julia + Python = ♥". Pydate. Retrieved June 27, 2015.
  14. Bezanson, Jeff; Karpinski, Stefan. "Julia and Python: a dynamic duo for scientific computing". YouTube . Retrieved June 27, 2015.
  15. "Julia: to Lisp or not to Lisp?". www.youtube.com. European Lisp Symposium. May 30, 2016. Retrieved June 20, 2016.
  16. "PolyConf 15: Julia a fast dynamic language for technical computing / Stefan Karpinski". www.youtube.com. July 11, 2015. Retrieved June 20, 2016.
  17. "What's New and Exciting in Julia - Stefan Karpinski". Vimeo. November 20, 2015. Retrieved June 20, 2016.
  18. "Jeff Bezanson & Stefan Karpinski - Julia: Numerical Applications Pushing Limits of Language Design". www.youtube.com. Curry On!. August 3, 2015. Retrieved June 20, 2016.
  19. Tomasko, Felicia (January 8, 2007). "UCSB Grad Student Sets NY Subway Record". Santa Barbara Independent. Retrieved June 19, 2016.
  20. "Jeff Bezanson, Stefan Karpinski, and Viral B. Shah - James H. Wilkinson Prize for Numerical Software" . Retrieved September 16, 2019.