Skip to content

Rationale Behind Julia and the Vision | Jeff Bezanson, Stefan Karpinski #147

@KZiemian

Description

@KZiemian

Rationale Behind Julia and the Vision, https://www.youtube.com/watch?v=02U9AJMEWx0

I hope that they are ok.

00:00 Why we created Julia?
00:37 Text processing: from niche languages to general purpose languages
01:58 "Gang of Forty" of "technical computing"
03:04 What people searching for and could it be possible to make general purpose language that satisfy they needs?
03:20 "Technical computing" is still a niche, can we bring it to general programming language?
03:35 Two language problem: people want performance in dynamic language
05:00 Standard compromise force you to break abstraction barrier, it means that abstraction is not the right one
06:18 Example: creating a modular integer type in 11 lines of code
11:19 Example: extending "+" operator to modular integer type
13:47 Comment on adding complex numbers example shown on one of the previous talks
14:40 Example: defining adding general integer type to modular integer type (ModInt)
15:24 Example: now a + 1 works, but not 1 + a (a is modular integer)
16:48 Question: can we add warnings to conversion types code?
17:34 Question: what happens when we have integer overflow?
18:05 Question: can you add new infix operators?
18:51 Example: adding promotion rule
19:39 Something weird is going on
21:04 Everything works fine now, back to example
22:51 Example: we now have more functionality for ModInt that we may think
24:06 Question about problems with REPL
25:54 "+" operator as example of "Julia flavor"
28:12 Built in = User-Defined
28:59 Big goal: to allow users to extend and change Julia in easy way
30:49 Question: defining new infix operator
31:25 Community
32:28 Obligatory performance slide
33:37 Question: is it true that slow code in Julia can be made very fast after few changes?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions