-
Notifications
You must be signed in to change notification settings - Fork 39
Description
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?