Julia in 100 Seconds

  Рет қаралды 721,835

Fireship

Fireship

Күн бұрын

Пікірлер: 1 000
@carlosmspk
@carlosmspk 2 жыл бұрын
I love how you just casually finish with "can run on the GPU natively" like that's not a big deal
@nateF888
@nateF888 2 жыл бұрын
Im new to programmnjing. How is that a big deal
@0xDEAD_Inside
@0xDEAD_Inside 2 жыл бұрын
@@nateF888 it means you don't have to use wierd libraries and syntax to run GPU code. Eg. Cuda
@bastianurbach
@bastianurbach 2 жыл бұрын
@@nateF888 GPUs use a variation of SIMD parallelism, which means that the same code is executed simultaneously on many different sets of data. This is great for graphics because quite often you'll need to run the same code once per pixel or once per vertex of a 3D object or something like that. It does however come with some restrictions. Even a simple if-else requires a bit of trickery and is only efficient in some cases. What GPUs simply cannot do is function pointers. You may not notice it when programming in a high level language but most languages extensively use function pointers, i.e. they pass a reference to executable code around like a value. This makes translating code for the GPU from normal programming languages challenging. Usually you use GPU-specific programming languages like GLSL or HLSL. As for why it's great to run code on the GPU: SIMD parallelism is very efficient for tasks where it works well. An Intel Core i5 12400 can perform 47 billion floating point operations per second (and I think that already includes the little bit of SIMD that even CPUs have nowadays). It also comes with a basic integrated GPU so that it can be used without an actual graphics card. It's not enough for high end gaming but it's ok for most everyday tasks. That Intel UHD Graphics 730 on the same chip can perform 350 billion floating point operations per second.
@balazsh2
@balazsh2 2 жыл бұрын
@@bastianurbach if youtube was anything like reddit you'd have multiple awards right now 🏆
@musashi542
@musashi542 2 жыл бұрын
@@bastianurbach how tf u know all of this
@ShadowDatsas
@ShadowDatsas 2 жыл бұрын
I've changed to Julia from Python early in my scientific career (differential equations, numerical modelling) and it has been the best decision in my life!
@pauljones9150
@pauljones9150 2 жыл бұрын
Go on. Tell me more
@prashanthb6521
@prashanthb6521 2 жыл бұрын
I am thinking to change over fully next year.
@TheJuliaLanguage
@TheJuliaLanguage 2 жыл бұрын
We love to hear and see it!
@klittlet
@klittlet 2 жыл бұрын
Shh! The python cultists might hear you!
@AlexanderSuraphel
@AlexanderSuraphel 2 жыл бұрын
Using Python due to its vast library. How is availability of libraries in Julia?
@nanotichorizon9644
@nanotichorizon9644 2 жыл бұрын
I've been using Julia in a few of my micro applications and the ecosystem/dev environment is not only very friendly and accommodating, but it is beautiful to write. It's a Love triangle of Ruby and C++ with python at the bottom.
@daleryanaldover6545
@daleryanaldover6545 2 жыл бұрын
so it's a polyamory of programming languages
@MrNallana
@MrNallana 2 жыл бұрын
Python at the bottom or python …. in the middle…. ? hehehe
@TheMR-777
@TheMR-777 2 жыл бұрын
Truly agree.
@ThompsonEdolo
@ThompsonEdolo 2 жыл бұрын
Or Python in the bottom?😁😈
@draugh1r219
@draugh1r219 2 жыл бұрын
i would say c instead of c++
@marendor9087
@marendor9087 2 жыл бұрын
Been asking for Julia in 100 seconds for nearly a year, and finally, here we are. Thank you 😁
@fredrickdenga7552
@fredrickdenga7552 2 жыл бұрын
I actually remember such a comment
@anon9322
@anon9322 2 жыл бұрын
he said he made it for you on twitter
@aurelia8028
@aurelia8028 2 жыл бұрын
You spent a whole year taking 100 seconds to ask a question?
@TheJuliaLanguage
@TheJuliaLanguage 2 жыл бұрын
Thank you for asking and being patient, we are as excited as you are!
@marendor9087
@marendor9087 2 жыл бұрын
@@TheJuliaLanguage Real Julia Programming😳😮🤯
@haloforgeguy453
@haloforgeguy453 2 жыл бұрын
Julia is by far the most under appreciated language, love it
@joeseabreeze
@joeseabreeze 2 жыл бұрын
I definitely don't appreciate the 1-based indexing lol
@TheJuliaLanguage
@TheJuliaLanguage 2 жыл бұрын
You are telling us : )
@02orochi
@02orochi 2 жыл бұрын
U r forgetting about groovy but yes, Julia deserves more attention
@matheusrubens3844
@matheusrubens3844 2 жыл бұрын
Lua: Am I a joke to you?
@isodoubIet
@isodoubIet Жыл бұрын
It's because it's a buggy mess. People try it out because it promises the world, then they see it doesn't live up, vote with their feet and move on. What you end up seeing is the language making huge promises but not having any widespread adoption and think people just aren't paying attention. They are, but they need a language that can actually be used in production and julia's not it.
@ayushvyas3401
@ayushvyas3401 2 жыл бұрын
I Like how at 1:02 you typed .js then corrected yourself showing the love you have for JavaScript or maybe it's because you've covered soo many js frameworks that your muscle memory can't help itself but type .js whenever there's need of an extension
@JBuchmann
@JBuchmann 2 жыл бұрын
@Bruno Nahorny yeah, definitely done on purpose
@xdrap1
@xdrap1 2 жыл бұрын
He was thinking on many Julias, that lil perv…
@ayitinya
@ayitinya 2 жыл бұрын
I do make that mistake often too 🤣
@francis_n
@francis_n 2 жыл бұрын
I came looking for a comment like this 😅
@12px
@12px 2 жыл бұрын
I was looking for this comment xd
@UliTroyo
@UliTroyo 2 жыл бұрын
I love Julia! I hope it gets picked up for elective courses in compsci in universities, and built into graphic calculators. It makes math such a breeze! For one, it handles rational values with the // operator, so you can for example multiply 3//4 * 1//2 (to give you 3//8). It handles vectors and matrices and has SO many built-in math functions. Great language!
@universecode1101
@universecode1101 2 жыл бұрын
It seems amazing
@masterbaitt
@masterbaitt 2 жыл бұрын
Well say no more, in my uni they are teaching algo, linear equations, optimization by implementing it in Julia. And I must say, what a powerful language, blows my mind when compared to python.
@Celastrous
@Celastrous 2 жыл бұрын
@@masterbaitt That sounds like a great class.
@lawrencedoliveiro9104
@lawrencedoliveiro9104 2 жыл бұрын
Python handles its rational Fraction type with the regular “/” operator. E.g. from fractions import \ Fraction as F print(F(3) / 4 * 1 / 2) prints out 3/8
@trejohnson7677
@trejohnson7677 2 жыл бұрын
I’m actually planning on porting Emac’s Calc program as a capstone for my Julia foray. Whats nice about Julia is that as it stands, it nearly IS the graphic calculator.
@spazioLVGA
@spazioLVGA 2 жыл бұрын
Julia is an amazing language. Fast yet concise code, but the true power lies in composability in my opinion. The way you can mix together custom types from many different libraries and make them smoothly work together is almost like magic. The package manager is also
@nghattersley
@nghattersley 2 жыл бұрын
Agree. I always point people to this talk: kzbin.info/www/bejne/oZSceaqprapkhbs
@NoNameAtAll2
@NoNameAtAll2 2 жыл бұрын
I also wish it was available on mobile
@itzhexen0
@itzhexen0 2 жыл бұрын
Maybe you should stop talking about how beautiful programming languages are and actually do something useful with them that makes the world better. The world is a big shithole and keeps getting worse. Programming has been around for a long time which leads me to the conclusion that most people on this planet are worthless.
@TheJuliaLanguage
@TheJuliaLanguage 2 жыл бұрын
Julia as an ecosystem is maturing rapidly, there's exponentially more stability than a few years ago and things will continue to get better!
@spazioLVGA
@spazioLVGA 2 жыл бұрын
@@TheJuliaLanguage absolutely I agree that things are improving fast. It’s great that new features and libraries are being developed, but I feel like it would also be a good idea to coordinate the efforts with the newcomers’ experience in mind. Not blaming anyone, these things take time!
@arduous222
@arduous222 2 жыл бұрын
You forgot one important aspect of Julia: index starts at 1, not 0.
@chri-k
@chri-k 2 жыл бұрын
now I’ve decided that I’m not going to learn it after all.
@Croesquared
@Croesquared 2 жыл бұрын
You can actually change this
@chri-k
@chri-k 2 жыл бұрын
@@Croesquared you can? Does that not make it “incompatible with itself”?
@Croesquared
@Croesquared 2 жыл бұрын
@@chri-k nope, just define an AbstractArray with FirstIndex=0. Julia is intelligent enough to handle it
@chri-k
@chri-k 2 жыл бұрын
@@Croesquared in that case, I misunderstood you, significantly.
@vermashwetank
@vermashwetank 2 жыл бұрын
I think the best part of Julia is the differential equations library and it's amazing integration with Machine learning libraries. Scientific machine learning techniques like PINNs and neural ODEs are so much better in Julia than in pytorch or tensorflow.
@piotr780
@piotr780 2 жыл бұрын
but how they are better?
@markodj99
@markodj99 2 жыл бұрын
prob = ODEProblem(diff_eq!, x0, tspan, params) s = solve(prob) plot(s.t, s.u)
@anon9322
@anon9322 2 жыл бұрын
things nobody uses except mathematicians
@jarrodangove1921
@jarrodangove1921 2 жыл бұрын
@@anon9322 engineers of many disciplines live and breath differential equations. the fact that julia is both faster and easier to write than matlab, and also open source (free), makes it a huge game changer for the industry
@TAP7a
@TAP7a 2 жыл бұрын
@@anon9322 things nobody should say if they don't know what they're talking about
@adityaprasad6743
@adityaprasad6743 Жыл бұрын
By far my favorite programming language. It's such a joy to write in that it almost makes you want to code
@MechMK1
@MechMK1 2 жыл бұрын
Honestly, I love the fact that not every function must be attached to an object. I feel like our worship of OOP has lead us down a road that didn't really pay off. This whole "but OOP makes your code so reusable" promise was never really kept. I want a banana, and end up importing the whole jungle instead. I like that Julia does away with that.
@thecreature7808
@thecreature7808 2 жыл бұрын
This implies that Julia is somehow unique in this regard whereas most functional, imperative, and multiparadigm languages all support first-class functions to some extent. I feel like the OOP=best debate is already outdated and nobody actually thinks this.
@MechMK1
@MechMK1 2 жыл бұрын
@@thecreature7808 Julia isn't unique, I just like it. And where I'm from, the "OOP is King" mentality still exists unfortunately
@lucky-segfault
@lucky-segfault 2 жыл бұрын
Rust, C++, JS, TS, go, and a few others let you do this too. OOP is overrated but it's still useful in some applications. The issue is more about understanding how a piece of code will be used and what paradigm is best for that a given use case
@Celastrous
@Celastrous 2 жыл бұрын
Fuck OOP.
@danielschmider5069
@danielschmider5069 2 жыл бұрын
@@MechMK1 so, Java and C#... ? I can't think of many others that still force you to do that
@theambiencehive9326
@theambiencehive9326 2 жыл бұрын
I've started a course on statistics and machine learning (regression stuff), in there they use scikit learn (python) and R. While i kinda-like python (coming from c-style languages missing curly-braces and all the other stuff is very very strange =D ), R felt outdated and overly complicated, because its syntax feels very very inconsistent, so i searched for a more modern alternative and stumbled upon Julia. It feels so much modern, consistend, well-thought through, it was like an epiphany, while i was fighting with R on many occasions, the Julia syntax just felt right, it was like "if i would be creating a language for maths and stuff, it would be exactly like this" =)
@Milkman-007
@Milkman-007 2 жыл бұрын
I use Julia for anything requiring heavy numeric and symbolic calculations, but still use R when I need to create and mutate a 2d array (dataframe). Don’t use base R though religiously stick to Tidyverse syntax (specifically dylplr).
@DThorn619
@DThorn619 2 жыл бұрын
Really love the speed/optimizations this language has. Had this particular code in MATLAB that took an average of 6 seconds to run, porting it to Julia reduced it down to 0.3 seconds, scale that up to the hundreds of times I usually run that code and the time saving explodes.
@lucky-segfault
@lucky-segfault 2 жыл бұрын
Impressive. Any chance you'd try porting the same code to python with the numba JIT compiler library? I'd love to see how they compare. Some sources put numba's JIT compiler at 1000 times faster than native python execution of equivalent code in math heavy applications of course
@ApiolJoe
@ApiolJoe 2 жыл бұрын
@@lucky-segfault it's "up to" 1000 times faster. 1000x is not the norm.
@DThorn619
@DThorn619 2 жыл бұрын
@@lucky-segfault I don't work in the lab that had those codes anymore. But, I do know who maintains that code now, I'll let them know about your idea and maybe they'll implement it. If they do I'll let you know how it goes. It might work well since our code is for cell simulations and generally just involves thousands upon thousands of coupled diff eqs being solved.
@legesflute
@legesflute 2 жыл бұрын
FYI matlab is jit compiled as well, but with quite a different phylosophy wrt to julia, most probably the 20x speedup comes from memory management / allocations. I would bet numba achieves far less than 1000x wrt to matlab here (note that in general matlab is way faster then pure python).
@anshulpandey1
@anshulpandey1 2 жыл бұрын
I haven't worked with Julia. But have read some articles about it and found the language is perfect for what it was made for like machine learning, data visualization, and mathematics.
@leonf.7893
@leonf.7893 2 жыл бұрын
I'm still trying to figure out why some languages like this are "perfect" for some advanced things, but are somehow not for things I would consider easy, like web development.
@xynyde0
@xynyde0 2 жыл бұрын
@@leonf.7893 Because it's not designed for the backend or frontend. Just for fast computation.
@TheJuliaLanguage
@TheJuliaLanguage 2 жыл бұрын
Yes, these are the common use cases!
@pavelperina7629
@pavelperina7629 2 жыл бұрын
Likely. Depends on what you mean by data visualization, for text analysis, working with tables and plotting graphs, I'd choose Python. For working with large 2D to 4D data and computing them on fly, Python is painfully slow. Still viable if you can prototype it at small resolution and run overnight. But if you are doing some data processing and Python does not have fast library written in C++ for that purpose, maybe Julia is worth trying (C++ might be an option as well)
@Eagle3302PL
@Eagle3302PL 2 жыл бұрын
@@leonf.7893 Honestly, the only differentiators are the core library and the frameworks. You can do any task in any language with equal effectiveness as long as you sufficiently optimize the compiler or the runtime. The thing is that languages are built by communities, so they will prioritize core features and optimizations for specific tasks which in the long term makes them excel at that specific task while everything else is sidelined. Almost every language exists because at some point someone thought "I want feature x in language y with optimizations for z" so they create a chimera that's focused on their specific problem, then people that have a similar problem congregate.
@maxevan9
@maxevan9 2 жыл бұрын
I usually frown a bit when discovering new languages because of the complexity of reading the unknown tokens and syntax in general. Didn't happen with this one. Seems very straightforward and flexible. Deserves an upvote... Or like...
@hugodsa89
@hugodsa89 2 жыл бұрын
Wow this is my favourite in 100 seconds video. Really exciting language, that I even though had heard of it, never took time to read into it and now I feel like I’m missing out. Julia seems really really amazing and different. I’m hoping there is a wider use than stats, data viz and such. Thanks Jeff
@UltravioletMind
@UltravioletMind 2 жыл бұрын
Exactly how I feel . How dvqoes Julia have so many neat features but remain so low key . Feels like I’m missing out
@universecode1101
@universecode1101 2 жыл бұрын
Yeah it seems amazing 😄
@asii_k
@asii_k 2 жыл бұрын
@@UltravioletMind python just has so much developed for it and such wide spread use it's hard to overcome. Maybe in the long run julia will take over for the scientific/math/data/ML type applications (much like python itself has had slow but steady growth for years and years) but it's not likely to happen over night. That said, I do feel like I see it mentioned more than I did 3 or 4 years ago
@elijahbuchanan2368
@elijahbuchanan2368 2 жыл бұрын
The use cases are expanding. Like, there has been work on using it for server side stuff, front end web design, and even some game dev stuff, but the libraries for that arent super developed. atm it is mostly large computing and stats and science stuff
@danielcelisgarza
@danielcelisgarza 2 жыл бұрын
I think the language will properly explode with Julia 2.0. I think that's when they want to have full support for ahead of time compilation. So executables can be small and portable. Currently, you can statically compile your code, but the executables are huge because they include everything exported by dependancies or imported by your code.
@jwcfive7999
@jwcfive7999 2 жыл бұрын
I started learning Julia a few weeks ago, and all I can say is that it is by far my favorite programming language. I will give my opinions on it, but I'm not extremely familiar with computer science, so forgive my vocabulary and lack of other languages for comparison. I will say what I like as I think of it. I love the range operator (:), it makes it very easy to iterate through values, and can also be reversed and modified to include a jump (sorry for the lack of better words). It also works with strings, as it does in python. However, it has a few differences from pythons. First of all, the range operator can actually be used in a for loop. For example, for i=1:10 ... end instead of for i in range(1,10). Another difference is the use of the end operator. In python, strings can be accessed from the last index using something like [-3:]. But in Julia, end must be used, for example as [end-3:end], which is better for visual purposes and avoiding confusion. Speaking of end, Julia avoids any confusing by closing if statements, functions, for/while loops, do statements, let statements, structs, and more using the end keyword, which avoids confusion and removes the picky indentation system that python features. semicolons are also available for use, but are optional Functions can also be declared like f(x) = x + 2, which is very cool in my opinion. I'm not aware of any specific language that does this other than Julia, but there are likely some. Another thing I love in Julia is the unicode implementation. In VSCode, I can input unicode characters that actually are interpreted as certain things. for example, for i in 1:10 is the same as for i ∈ 1:10. There are so many more examples of this, which I find very fun to use. I mentioned earlier do statements, which make iteration and other things very easy. Things like map( num -> num+2, 1:10 ) can be replaced with map(1:10) do num num+2 end, which is very syntactically nice. These are just a few of the things I enjoy, among so many more. If you like simple but powerful languages, check out Julia. I did, and I don't regret it. Programming in Julia is extremely enjoyable. It has its own package manager, great documentation, many amazing packages, so many functions and tools, and much more. Enjoy!
@bismajoyosumarto1237
@bismajoyosumarto1237 Жыл бұрын
Just wanted to let you know, functions that can be declared like f(x) = x + 2 is a feature of a programming paradigm called "functional programming". Pretty much all "functional programming languages" (programming languages that mainly follow the functional programming paradigm, such as Haskell) have that feature. You can also do that in Python using lambda as follows: f = lambda x: x + 2
@samuelwaller4924
@samuelwaller4924 Жыл бұрын
most languages have some kind of keyword or syntax for ending blocks, python is very much the odd one out for using semantic indentation.
@sapito515
@sapito515 2 жыл бұрын
Been using Julia for about 6 months now, it is absolutely awesome, give it a try.
@TheJuliaLanguage
@TheJuliaLanguage 2 жыл бұрын
Great to hear!
@lutzleipold5206
@lutzleipold5206 2 жыл бұрын
By far the best language for academic and scientific purposes. My brother uses it all the time and loves it. It also got me to shut up about how slow his python code used to run, because Julia performed just as well as the random C replacement I would show him could do the job better (obviously it was minutes to sheer seconds faster then the python variant).
@nathanjokeley4102
@nathanjokeley4102 2 жыл бұрын
why not just use a jit compiler for python.
@lutzleipold5206
@lutzleipold5206 2 жыл бұрын
@@nathanjokeley4102 run time. When you do matrix multiplication on large complex numbers on huge scales and for huge dimensions with sparse matrices the difference is absolutely insane. The python variants simply can't keep pace. I originally showed my brother who was doing his PhD on quantum circuits and trying to find optimized algorithems that his then mathematix was running to slow, by doing a simple sample in C++, he ended up rewriting it into python, but that had a 100x uplift compared to his old approach with the right libraries but i then showed him how much faster still it was in my C++, so he talked to some experts at a conference and they all praised Julia for this kind of workload. Sure enough it outperformed my first pass C++ equivalent and when I looked up official run time figures julia was tied with C++, C implimentations for this kind of work scenario. Julia is a rock solid language for calculation, simulation, and other programming purposes.
@encapsulatio
@encapsulatio 2 жыл бұрын
Try Nim out. Compare it with Julia.
@isodoubIet
@isodoubIet Жыл бұрын
@@lutzleipold5206 "Julia is a rock solid language" Julia is incredibly buggy. You can use many positive adjectives to describe it but "rock solid" is definitely not one of them.
@jyggalag_
@jyggalag_ Жыл бұрын
​@@isodoubIetit isnt
@meisteravinderweise4893
@meisteravinderweise4893 2 жыл бұрын
I was so hoping this video would come. Julia is a blessing for any scientific work
@DrKirby-vw9wt
@DrKirby-vw9wt 2 жыл бұрын
Don’t know if this has been suggested before, but I think a PHP for the haters video would be great to watch! It would be entertaining to see how you go about roasting that language.
@shogo-100
@shogo-100 2 жыл бұрын
He's already made one if I'm not mistaken
@daleryanaldover6545
@daleryanaldover6545 2 жыл бұрын
He made Java for the haters, based in my interactions with various communities I thought Ruby would take the crown of most hated language but Jeff introduced a different perspective.
@MaryamMaqdisi
@MaryamMaqdisi 2 жыл бұрын
@@daleryanaldover6545 why do people hate Ruby? I never heard of that but maybe we just know very different people
@the-pink-hacker
@the-pink-hacker 2 жыл бұрын
But it a perfect language, and it has no flaws. /s
@Remeroska
@Remeroska 2 жыл бұрын
PHP has already roasted itself too much in the past. Let it rest hahah
@ominousplatypus380
@ominousplatypus380 2 жыл бұрын
Some optimization classes at my university used Julia and I really liked the language. Unfortunately have never had the chance to use it on the job.
@ThomasTJDavis
@ThomasTJDavis 2 жыл бұрын
I was really hoping you’d cover Julia. I really like it and hope that more people end up using it.
@TheJuliaLanguage
@TheJuliaLanguage 2 жыл бұрын
We hope so too!
@noookii
@noookii 2 жыл бұрын
Really cool language, everyone says they had to use it for comp sci but I had to use it for linear algebra in my uni class. Pretty useful!!
@lucastperez
@lucastperez 2 жыл бұрын
A friend of mine told me about julia almost 10 years ago, it was at the very beginning, and he said it was really good and his favotire language. I have never learned past the ultra basics, and the name never left my mind.
@tomydurazno6243
@tomydurazno6243 2 жыл бұрын
I love the multiple dispatch, the type annotation lets the JIT complier optimize the code to specific machine code for each type, making it super fast (C# its other language that has an amazing JIT), but you a have a first call performance cost, I guess that its some kind of issue unless they also implent some AOT compilation also, other than that this language is really really interesting and for sure will become a top choice in the future
@wallacevieira2243
@wallacevieira2243 Жыл бұрын
0:07 - A slim and tall guy - Indian or arab guy - A blonde/redhead guy who came from northern/eastern europe - A guy with a big belly and whose eyes seems to saw the sunlight only a few times in his life This could be any IT team in any IT firm.
@mrfli24
@mrfli24 3 ай бұрын
They actually, at least the big belly man on the right is MIT professors.
@botstudio.
@botstudio. 2 жыл бұрын
Didn’t know this language existed until now, looks amazing! Suggestion, would be 100 seconds of Haxe, would be pretty cool.
@louieaaa3818
@louieaaa3818 2 жыл бұрын
Woah! I remember suggesting Julia in one of your community posts but I never thought you'd do it. Thank you for this! It puts into perspective just how much is crammed into Julia and all the features it has. You didn't even mention the metaprogramming aspect, one-based indexing, column-major order, REPL workflow, etc., but for a short video like this it sure is jam-packed.
@TheJuliaLanguage
@TheJuliaLanguage 2 жыл бұрын
The REPL workflow is such a great feature!
@boisonratio
@boisonratio 2 жыл бұрын
Using Julia at work now to do some cool things. First time I see one of your videos on something I already knew, made me appreciate your channel even more. Keep up the great work!
@emilolszewski4082
@emilolszewski4082 2 жыл бұрын
I've literally just finished julia assignment for my uni course and this vid came out. Mental
@banalban8149
@banalban8149 2 жыл бұрын
"and run natively on the gpu" what an ending i love it
@Buri8128
@Buri8128 2 жыл бұрын
Thankyou! Do some more about Julia. perhaps compare solution with R, Rust and Python.
@tchan9156
@tchan9156 2 жыл бұрын
and v programing langue, nim lang, dascript lang
@FusionTerror
@FusionTerror 2 жыл бұрын
Keep up the amazing content, Fireship!
@itzhexen0
@itzhexen0 2 жыл бұрын
I like how every person who comments is proficient in every language you post about. Amazing.
@porqpine53
@porqpine53 2 жыл бұрын
I used Julia in my numerical analysis class in undergrad. Amazing for quick matrix manipulation for PCA and image processing
@spirit3648
@spirit3648 2 жыл бұрын
Great, I'm using it in a game engine
@adrianhenle
@adrianhenle 2 жыл бұрын
I taught a class this week on PCA. Blew all the students' minds when I showed them you can do it in just a few lines of base Julia, and have it run faster than ScikitLearn.
@004307ec
@004307ec 2 жыл бұрын
Nice, you have reminded me that I should resume my learning of Julia lang.
@evanbarnes9984
@evanbarnes9984 2 жыл бұрын
I've known about Julia for a few years and find it super intriguing, but I'm just a hobbyist and don't have the use case for learning Julia yet. Same with Rust. Anyone out there using Julia (or Rust) as a hobbyist? If so, what for?
@rakanottrubick1857
@rakanottrubick1857 2 жыл бұрын
usually i use Julia for data visualisation and image rendering, since the language is so fast
@bhaveshbhide
@bhaveshbhide 2 жыл бұрын
Because of your 100 seconds series, I don't have to keep trying all the languages out there by myself and struggle through the docs. Thank you!
@PugMaxer
@PugMaxer 2 жыл бұрын
In my academic work julia has completely replaced python for me. Fast for loops are a game changer!
@TheJuliaLanguage
@TheJuliaLanguage 2 жыл бұрын
Love to hear it, would be interested to hear more about how you are using it!
@PugMaxer
@PugMaxer 2 жыл бұрын
@@TheJuliaLanguage Mainly data analysis, simulations (differential equation library is very useful), and graphing.
@dawizze1
@dawizze1 2 жыл бұрын
Love the show of love for Julia with a 100 seconds vid. Deserves it! You da best!
@wavegreen
@wavegreen 2 жыл бұрын
We had to use Julia in Applied Mathematics at UNI last year when the only docs were the ones from Julia itself. No yt vids, no stackoverflow, no nothing. It was hell.
@uku4171
@uku4171 2 жыл бұрын
What were the difficulties?
@pupfriend
@pupfriend 2 жыл бұрын
LOL - love that you named it .js then corrected it, the subtle humor on this channel is amazing
@capalasker
@capalasker 2 жыл бұрын
Please consider a video on Fortran. Modern Fortran is similar to Julia in some ways, emphasizing performance and used in scientific computing, with good support for multi-dimensional arrays.
@ruther4336
@ruther4336 2 жыл бұрын
We got our Fortran video! And yeah, Modern Fortran is a great language, I'm currently refactoring some hideous codes to modern standards and the difference is enormous
@ayitinya
@ayitinya 2 жыл бұрын
It's been a long time coming. Waited for this for so long
@andresvivallo8695
@andresvivallo8695 2 жыл бұрын
I'd love to watch "Making a 100 second video in 100 seconds"
@jeremygee972
@jeremygee972 2 жыл бұрын
kzbin.info/www/bejne/hGeQgmWanNSXgtU
@NickWindham
@NickWindham Жыл бұрын
Julia is the most under appreciated language in existence.
@eliarece-5996
@eliarece-5996 2 жыл бұрын
1:03 I see what you did there
@jacobusburger
@jacobusburger 2 жыл бұрын
Fireship and code_report are some of my favourite programming language channels.
@vgus
@vgus 2 жыл бұрын
You save a lot of time with these 100s videos, if I want to learn some concept first I review if you made a video. Thanks a lot!! Could you please, make a video about UML and some other methods display process.
@BGroothedde
@BGroothedde 2 жыл бұрын
I've heard of Julia but never had a reason to look into it, now I do. Cool video!
@MrCyanobacterium
@MrCyanobacterium 2 жыл бұрын
In practice, the JIT compile time in Julia is often slower than the entire run time of equivalent Python code. Julia works best as a REPL where it can cache the JIT compiled functions for re-use. Otherwise, don't expect to be impressed by Julia's script performance
@lorenzomonacelli
@lorenzomonacelli Жыл бұрын
That is true only if your script takes few seconds to run and you have to run it only once, that is a case in which you do not need performances so yeah, no big reasons to use julia. But in all other cases, the difference is astonishing
@michaelsarkis6239
@michaelsarkis6239 2 жыл бұрын
Really been waiting for this one!
@goosenp
@goosenp 2 жыл бұрын
I write a comment requesting this video on a previous one. Thank you so much Fireship! 🔥🔥🔥
@leonamer4054
@leonamer4054 2 жыл бұрын
Fun fact: Did you know Julia ships a patched version of LLVM to fix correctness bugs in numerical methods? While at the same time the Julia ecosystem and libraries have reported a big number of correctness bugs...
@guilhermebalog
@guilhermebalog 2 жыл бұрын
This is the first time I see a julia code, and i seems like a very good language! I will learn more about it.
@martapfahl940
@martapfahl940 Жыл бұрын
0:08 I guess one of them had a crush on a girl named Julia
@codeking4585
@codeking4585 5 ай бұрын
Most probably
@thedeathstar420
@thedeathstar420 11 ай бұрын
I also love Julia's meta programming feature
@pedromendozaaristegui5974
@pedromendozaaristegui5974 7 ай бұрын
@
@CodecrafterArtemis
@CodecrafterArtemis 2 жыл бұрын
Wow, this is really interesting. I kinda looked past Julia when I first saw its announcement, but now I'm interested as heck. Could you make a similar video about Nim or D?
@danielcelisgarza
@danielcelisgarza 2 жыл бұрын
I learned about Julia in 2012. Back then they had this claim that it was super fast and generic. I even saw their benchmark, but I never believed it. Wasn't until 2020 that I gave it a go. It's my main language now.
@McSwey
@McSwey Жыл бұрын
1:45 one of the reasons julia is so fast is that the dispatch is done mainly at compile time, escaping to dynamic (run-time) dispatch only when necessary, i.e., when it's not possible to infer type at compile-time
@hidden_engineee
@hidden_engineee 2 жыл бұрын
Found Julia while looking for an alternative to MATLAB, beyond its speed its a highly composable language.
@4crafters597
@4crafters597 Жыл бұрын
Ever since switching to julia, adding functions starts with the fun
@iamtheV0RTEX
@iamtheV0RTEX 2 жыл бұрын
Native GPU support? Oooh, now that is fancy!
@yoyoyoesmeriz
@yoyoyoesmeriz 2 жыл бұрын
Wow I suggested this in another video and you actually did it! Thank you, good stuff as always!
@vergeetmaar
@vergeetmaar 2 жыл бұрын
“Julia's arrays are indexed starting at 1” 🤯
@ayushkumarsingh8020
@ayushkumarsingh8020 2 жыл бұрын
Thats the humans count.Its there for ease, especially if you are more of a science guy than a professional programmer. Python has been my first language, i am using in my phd.Have been exposed to Julia recently and i absolutely love the syntax.I am slowly starting to pick and maybe someday do most of my work in it!!
@isodoubIet
@isodoubIet Жыл бұрын
@@ayushkumarsingh8020 "Thats the humans count" Sure, but it's objectively the wrong choice for programming and for me pretty much a deal breaker when picking a language.
@baneblade__
@baneblade__ 2 жыл бұрын
Finally a new video on a programming language and not on some JavaScript application
@althing7
@althing7 2 жыл бұрын
You should do an "R in 100 Seconds" video! As a more specialized statistical computing language, it would be really interesting to see how its defining features compare to those of Julia.
@mickhhl
@mickhhl 2 жыл бұрын
I love that you typed .js just to replace it by .jl 1:01
@flamakespark
@flamakespark 2 жыл бұрын
NGL, Julia looks very promising. Give it large enough ecosystem of projects, and it will replace Python, and become a new golden standard in ML and Data Science
@InfinityOver0
@InfinityOver0 2 жыл бұрын
Python is used for way more than that. Python cannot be replaced at this point.
@flamakespark
@flamakespark 2 жыл бұрын
@@InfinityOver0 I know, I meant that Python could be possibly replaced in ML/AI
@4cps777
@4cps777 2 жыл бұрын
@@InfinityOver0 At least for me, the only other application for Python is as a cross platform alternative to bash scripting.
@NoahElRhandour
@NoahElRhandour 2 жыл бұрын
julia absofukinlutely will replace python for ml if enough people start using it
@alexandruneag4845
@alexandruneag4845 2 ай бұрын
This programing language has so much potential 🤯
@Pedro-dn3sg
@Pedro-dn3sg 2 жыл бұрын
If I'm not mistaken, Julia isn't JIT. The compiler isn't active during runtime. I've seen people in the Julia community calling it "Just Ahead of Time", instead of "Just in Time".
@caparazo3488
@caparazo3488 2 жыл бұрын
This was really good. I hope you do a video on R one day.
@billkammermeier
@billkammermeier 2 жыл бұрын
looks amazing. wish I had a reason to use it lol
@WTHBrou
@WTHBrou 2 жыл бұрын
LOL. Same. It looks interesting. But I can't think of a possible scenario of why should I learn it.
@umurkaragoz
@umurkaragoz 2 жыл бұрын
How many people if Jeff consist of? I do not shit as often as he creates content, yet a new video is never just a new video, it is a whole iteration. I always catch small improvements here and there. Mad respect.
@abdullahmertozdemir9437
@abdullahmertozdemir9437 2 жыл бұрын
I don't even know a single language fully and now I want to learn Julia, thank you fireship for making me want to learn 3 languages at once and ruining my life by that
@akshaybodla163
@akshaybodla163 2 жыл бұрын
As long as you understand the basic computer science concepts you can learn many languages at once. Especially if you get the hang of C!
@abdullahmertozdemir9437
@abdullahmertozdemir9437 2 жыл бұрын
@@akshaybodla163 Alrigthy then, this gives me some hope!
@igorthelight
@igorthelight 2 жыл бұрын
@@abdullahmertozdemir9437 If you don't have any particular projects in your head, I would suggest to learn C# for Windows Applications OR Kotlin for Android Applications OR Swift for anything Apple related OR JavaScript for Web. Those languages are easy to pick up and write in. After that you could learn whatever you want ;-)
@abdullahmertozdemir9437
@abdullahmertozdemir9437 2 жыл бұрын
@@igorthelight Currently I have C++, JavaScript and Julia in my bucketlist (gotta add Flutter there when I am done with them all for quick mobile apps) but I think I am at that phase where you get into something new and go "and I will do this and that" then realize it is just not that easy. For now I want to learn SFML and OpenGL for C++ and then will jump to javascript course on scrimba. Only then, I believe, I can start talking about learning any other thing
@abdullahmertozdemir9437
@abdullahmertozdemir9437 2 жыл бұрын
@@igorthelight But I think I have a strong foundation though, I got done with data structures etc. and basics of C++ so I believe learning another language won't be as hard after that
@dentjoener
@dentjoener 2 жыл бұрын
Because of the multiple dispatch, Julia has built-in support for solving the Expression Problem. Which is really neat!
@corster8221
@corster8221 2 жыл бұрын
Can you do Zig next? It’s the best in the programming language drag race, but because it’s only 5 ish years old, there’s not a lot of info on KZbin about it
@mikivanousek1030
@mikivanousek1030 2 жыл бұрын
Man, Julia getting some much-needed exposure lately.
@OtesOtesOtes
@OtesOtesOtes 2 жыл бұрын
Compilation: AoT makes sense for releases, while JiT makes sense for real time development and sciencey things. Interpreted makes sense for shells/hacking. Languages should be more ambitious in covering all the bases.
@yes-vy6bn
@yes-vy6bn 2 жыл бұрын
Julia can compile to an executable too
@02orochi
@02orochi 2 жыл бұрын
Wdym with releases Besides lots of langs used in science are interpreted or compiled like python and fortran
@legesflute
@legesflute 2 жыл бұрын
@@02orochi deployment
@TheThunderSpirit
@TheThunderSpirit Жыл бұрын
im starting to learn julia today, but I watch ur video first before even reading any documentation.
@ShaharMS
@ShaharMS 2 жыл бұрын
please do one for Haxe, its a really nice programming language
@RuinousGrace
@RuinousGrace 2 жыл бұрын
Yay! Thank you for covering Julia. :)
@KennethKasajian
@KennethKasajian 2 жыл бұрын
I don't get why multiple-dispatch is necessary to determine which function to call in the case when the switch is based on a static type, such as string or int. The compiler knows at build time which version ought to be called and could mind to that specific version directly, not that different from overloading. Perhaps the example of multiple dispatch here is wrong. Maybe an example where the runtime type is used for dispatching, or possibly another value, such as greater than zero, or equal to zero. I don't know. Never used the language, but if it's statically typed, that design wouldn't make sense.
@halneufmille
@halneufmille 2 жыл бұрын
You can do that by knowing in advance your function may encounter only say string or int64 in the future. But in julia, you can use somebody else's function in your code, invent some new type you need for yourself, write what this function does when it encounters your new type and use it with the whole julia ecosystem without ever modifying the initial code. To learn more, I suggest this nice talk by one of the language creators: kzbin.info/www/bejne/oZSceaqprapkhbs
@Lennyp4
@Lennyp4 Жыл бұрын
it’s pretty common to run into situations in C++ or similar where you’ve got a dozen similar functions for a variable that could be 4 or 5 different types. C++ has templates and overloading, but it doesn’t have any runtime type checking whatsoever leading to a web of if statements and super repetitive code. i think it’s a pretty welcome feature that the language will step in and help me dispatch the appropriate function if i want
@lorenzomonacelli
@lorenzomonacelli Жыл бұрын
The major advantace of multiple dispatch is that you can dispatch functions of libraries you are importing, chainging the internal behaviour of a library without touching the original code. This is what makes it so powerful: you can implement your objects, define basic operations on them, and call any julia library passing them as a argunent and it works! There are amazing interactions between packages in julia thanks to this feature.
@Calslock
@Calslock 2 жыл бұрын
I can't believe you missed the opportunity of putting Charizard for char type .-.
@christopherfujino
@christopherfujino 2 жыл бұрын
"Unlike most high level languages it uses a just-in-time compiler" => "like most high level languages that aren't Python..."
@xerotolerant
@xerotolerant 2 жыл бұрын
What's the difference between dispatching and function overloading?
@jvillemare
@jvillemare 2 жыл бұрын
I looked it up. I can't link the software engineering stack overflow post here w/o being reported as spam, so I'll summarize: dispatching is for dynamic types (types that can change at runtime). Overloading is only for static types (so like Java). this seems like a weird difference to have a whole new confusing term for.
@xerotolerant
@xerotolerant 2 жыл бұрын
​@@jvillemare Ah. Thank you. At least there is a difference. And now we know it's safe to think of them as essentially the same.
@davidf760
@davidf760 2 жыл бұрын
It's not the same, in Java for example yes you can have multiple functions with the same name but different argument types (overloading), but when you invoke such function you explicitly need to say which one you want to use, you can't simple pass generic types, the code will not compile. With multiple dispatch, like in Julia, you don't need to specify, you just pass an object and in runtime the correct function is selected (this is multiple dispatch, which Java doesn't support) .
@RazgrizDuTTA
@RazgrizDuTTA 2 жыл бұрын
I use Julia for my PhD and I LOVE IT :)
@Vladythebest96
@Vladythebest96 2 жыл бұрын
That app.js corrected to .jl. Old habbits die hard eh
@Felipera_
@Felipera_ 2 жыл бұрын
updating CV... adding "100 seconds of experience with the Julia language" done.
@stand355
@stand355 2 жыл бұрын
The Ju in Jupyter stands for Julia.
@connor43057
@connor43057 2 жыл бұрын
This language makes me want to transition from graphics programming to data science!
@universecode1101
@universecode1101 2 жыл бұрын
wow another one, and honest I didn't know it. As a self-taught developer using Js and React, I'm now learning Python and this video is super helpful. Thanks Jeff ✌🏻
@Ahzarail
@Ahzarail Жыл бұрын
Fireship I dare you to make a video on Matalab both video like one for the title "Matlab in 100 seconds" and the second one "Matlab for haters in 100 seconds".
@Recreman
@Recreman 2 жыл бұрын
I actually really like this language for some things, better than python in a lot of ways
@rohitjohn6180
@rohitjohn6180 2 жыл бұрын
I never knew Julia was this powerful
@pmathewizard
@pmathewizard 2 жыл бұрын
I heard R, when R in 100 seconds
@tuxidoyt
@tuxidoyt 2 жыл бұрын
Thanks about that. Finally Introduce that
@TheOriginalJohnDoe
@TheOriginalJohnDoe 2 жыл бұрын
Can you do R in 100 seconds?
@DaveParr
@DaveParr 2 жыл бұрын
Already done ✅
@DaveParr
@DaveParr 2 жыл бұрын
I lied. I saw this video 8 months ago and said the same thing: kzbin.info/www/bejne/hpawnZqdrtatZrs
@Adam_Lyskawa
@Adam_Lyskawa 2 жыл бұрын
Wow, that's some next level stuff, truly futuristic.
LLVM in 100 Seconds
2:36
Fireship
Рет қаралды 887 М.
10 Important Python Concepts In 20 Minutes
18:49
Indently
Рет қаралды 353 М.
Farmer narrowly escapes tiger attack
00:20
CTV News
Рет қаралды 15 МЛН
It’s all not real
00:15
V.A. show / Магика
Рет қаралды 12 МЛН
Интересно, какой он был в молодости
01:00
БЕЗУМНЫЙ СПОРТ
Рет қаралды 3,6 МЛН
10 Math Concepts for Programmers
9:32
Fireship
Рет қаралды 1,9 МЛН
Python vs Julia
7:10
IBM Technology
Рет қаралды 134 М.
Reacting to Controversial Opinions of Software Engineers
9:18
Fireship
Рет қаралды 2,1 МЛН
A Brief Introduction to Julia
26:13
Exercism
Рет қаралды 23 М.
Why I Chose Rust Over Zig
33:18
ThePrimeTime
Рет қаралды 217 М.
zig will change programming forever
9:34
Low Level
Рет қаралды 354 М.
My Brain after 569 Leetcode Problems
7:50
NeetCode
Рет қаралды 2,7 МЛН
How programmers flex on each other
6:20
Fireship
Рет қаралды 2,5 МЛН
Why I’m Switching To Go in 2024
8:10
Awesome
Рет қаралды 94 М.
Farmer narrowly escapes tiger attack
00:20
CTV News
Рет қаралды 15 МЛН