Python vs Swift | Chris Lattner and Lex Fridman

  Рет қаралды 156,029

Lex Clips

Lex Clips

Күн бұрын

Lex Fridman Podcast full episode: • Chris Lattner: The Fut...
Please support this podcast by checking out our sponsors:
Blinkist: blinkist.com/lex and use code LEX to get a free week of premium
Neuro: www.getneuro.com and use code LEX to get 15% off
MasterClass: masterclass.co... to get 15% off annual sub
Cash App: cash.app/ and use code LexPodcast to get $10
PODCAST INFO:
Podcast website: lexfridman.com...
Apple Podcasts: apple.co/2lwqZIr
Spotify: spoti.fi/2nEwCF8
RSS: lexfridman.com...
Full episodes playlist: • Lex Fridman Podcast
Clips playlist: • Lex Fridman Podcast Clips
CONNECT:
Subscribe to this KZbin channel
Twitter: / lexfridman
LinkedIn: / lexfridman
Facebook: / lexfridmanpage
Instagram: / lexfridman
Medium: / lexfridman
Support on Patreon: / lexfridman

Пікірлер: 303
@lessmoneylessproblems5145
@lessmoneylessproblems5145 4 жыл бұрын
I love that you interrupt the conversation to clarify on statements your guests make. Many of the times the viewer is wondering the same thing.
@botfantasies6229
@botfantasies6229 4 жыл бұрын
it's called normal conversation behavior, not sure why this is blowing your mind
@HaroldVonAnusIII
@HaroldVonAnusIII 3 жыл бұрын
@@botfantasies6229 it’s called “letting someone know that you appreciate them” You should try it sometime, it feels really good
@mayankbhaisora2699
@mayankbhaisora2699 2 жыл бұрын
@@botfantasies6229 no one said it’s blowing their mind. It’s called appreciating someone’s work, not sure why this is making you mad
@budomushin
@budomushin 6 ай бұрын
@@botfantasies6229 probably because it should be normal, but according to the status quo it hardly ever is "normal"
@alfonshomac
@alfonshomac 4 жыл бұрын
coming soon to python: from pyswift import *
@R3negade638
@R3negade638 4 жыл бұрын
😂
@MASBHANOMAN
@MASBHANOMAN 4 жыл бұрын
:D
@chris9352
@chris9352 4 жыл бұрын
here you go gist.github.com/jiaaro/e111f0f64d0cdb8aca38
@tad1706
@tad1706 4 жыл бұрын
@@chris9352 No wayyy!! That's actually hilarious
@jorge1869
@jorge1869 3 жыл бұрын
🤣
@kleetus88
@kleetus88 4 жыл бұрын
love how Chris gets into the details of how value semantics is achieved in a thoughtful and novel way compared to purely functional languages or Java using string immutability. Copy on write has been around for decades of course, but Swift brings it up the stack considerably.
@henrymach
@henrymach 4 жыл бұрын
When I learned C and Pascal, the first thing that I liked is that you can pass practically anything by either value or reference to anything else.
@nieczerwony
@nieczerwony 2 жыл бұрын
Exactly. You have full control over your code, but with great power comes great responsibility 😉
@ivanpavlov2201
@ivanpavlov2201 Жыл бұрын
@@RuslanMasinjila C level* 😁
@hackerculture7391
@hackerculture7391 4 жыл бұрын
Love seeing this pure CS stuff. Please include more pure CS! So interesting. Would be awesome to see people involved in Rust.
@fetalfirefight
@fetalfirefight 4 жыл бұрын
Chris is especially good at it too, easy to see why he's had an awesome career so far
@itsbk6192
@itsbk6192 4 жыл бұрын
Rust was exactly what I was thinking of when he was talking about mutable references and the annoying bugs that could ensue. I really like rust's borrowing and ownership design and its strict compiler
@ConernicusRex
@ConernicusRex 3 жыл бұрын
Why use Rust when you can use Swift? It's like making an action movie and really angling to cast Frank Stallone.
@hackerculture7391
@hackerculture7391 3 жыл бұрын
@@ConernicusRex Swift is not a serious language when it comes to systems programming. It's a good language but the future of systems and the web is WebAssembly and Rust.
@ConernicusRex
@ConernicusRex 3 жыл бұрын
@@hackerculture7391 web and systems are entirely separate fields.
@konrain7299
@konrain7299 4 жыл бұрын
Swift really is an elegant language, its taking everything we've learned in the last 30+ years of programming languages and starting on a clean slate.
@konrain7299
@konrain7299 4 жыл бұрын
@@dixztube 👍
@grapy83
@grapy83 4 жыл бұрын
@@dixztube That's great
@donk8961
@donk8961 4 жыл бұрын
It pains me every time I find out a client’s app is in Objective C and not swift.
@shalokshalom
@shalokshalom 4 жыл бұрын
And is there something like a full HM type system like in OCaml and FSharp? Do I need to specify the types, or can do the compiler do that? Complete type inference and pure function checking? Can I check if a given function is pure or not? And is pattern matching exhaustive?
@evergreen-
@evergreen- 4 жыл бұрын
@@shalokshalom type inference is present in swift, and it’s pretty good. The functional aspect of Swift is lagging, things like function purity aren’t checked. Pattern matching is exhaustive by default. As for the type system, not sure; however, HKT aren’t yet supported
@rudolflovrencic
@rudolflovrencic 4 жыл бұрын
In my humble oppinion, C++ does this the best since value semantics is default, reference semantics is opt-in. Furthermore, you can pass by constant reference to provide a read-only view over the data without copying. Then, there is move semantics which is required if you want to make value semantics efficient.
@R3negade638
@R3negade638 4 жыл бұрын
Exactly, it’s great. Ive never used swift but I think he explains that they took that same concept even further by hiding away things like const, private, reference, etc, but making them available if you know what you’re doing and need them.
@TheBrainDunne
@TheBrainDunne 4 жыл бұрын
I agree C++ does this the best.
4 жыл бұрын
No swift experience here, but worked with tons of C++. C++ does give you utmost control of value/references/constness. The real downside of C++ to me is how convoluted the wording gets. &, * and const can be mixed in various ways and each of these symbols/keyword have different meanings in different contexts. I love the expressiveness of C++ but it could have been worded better I guess
@9SMTM6
@9SMTM6 4 жыл бұрын
Well, you can't really beat Rust here though. Rust has learned from C++ and made it better. Like C(++) Rust is "value semantics by default", but also references are const by default, which means that default is also better used. Rust also is move semantics by default, you have to explicitly copy if you want to continue using a variable. So like C++ a function signature in Rust gives pretty much all the Information, but because of better defaults and the enforcement of certain features by the compiler (I. E. That not two mutable references be active at the same time), the function signatures tend to be even better related to the way the values will be used.
4 жыл бұрын
@@9SMTM6 I believe you, gotta try rust yet, been away from low level stuff for quite a while. If I may ask, would Rust be a good option for coding the low level AI/ML code, like the heavy math? I see it being mentioned a lot for system programming but I am not sure how good it is for SIMD/GPU
@TheVincent0268
@TheVincent0268 4 жыл бұрын
C# knows both value and reference types and has an implicit operation called (un)boxing to switch between value and reference type when needed.
@wholenutsanddonuts5741
@wholenutsanddonuts5741 4 жыл бұрын
Man I can’t tell you the number of times I’ve gotten stuck by that reference semantic thing with Python. It is super annoying and very confusing especially when you’re using someone else’s Library. Thank you for mentioning that.
@fishfire_2999
@fishfire_2999 4 жыл бұрын
Exactly
@Julia-zi9cl
@Julia-zi9cl 4 жыл бұрын
What is references semantic
@magnushoklandhegdahl1218
@magnushoklandhegdahl1218 4 жыл бұрын
@@Julia-zi9cl a = [1,2,3] b = a a[1] = 4 print(b) # will print [1, 4, 3]
@wow5heyy
@wow5heyy 3 жыл бұрын
@@magnushoklandhegdahl1218 is this because when assigning a to b, b gets a pointer to the location in memory of the original array a? so when you change the values at that location in memory, it effects the value assigned to b? whereas if you were to pass by value a copy would be made, and changing the values at location a would no longer effect the value of b?
@magnushoklandhegdahl1218
@magnushoklandhegdahl1218 3 жыл бұрын
@@wow5heyy in python there is no pass by value. every assignment is a reference. you can however make an explicit copy by doing b = list(a) instead
@coke2679
@coke2679 4 жыл бұрын
Started Swift about 2 years, it almost immediately became my favourite language. Going from Swift to Dart felt like such a downgrade.
@isaac80745
@isaac80745 Жыл бұрын
Same here swift is awesome. Apple poured everything to make swift do everything we want so we can use it in ios development.
@honestmicky
@honestmicky 4 жыл бұрын
Excellent clip Lex, thanks for posting, much appreciated. Your channel is one of the best in the world. Thanks for interviewing remarkable brilliant guests and sharing them with the world. A+
@asdqwe4427
@asdqwe4427 3 жыл бұрын
You don't have to copy lists in functional languages. Generally speaking of you add something to a list in FP, you create list that points to the old one and your new value. Typically they are implemented as a tree to achieve this
@PhilStein721
@PhilStein721 6 ай бұрын
If you learn Java as your first language, it may be a nightmare at the start, but you will understand a lot of concepts for other OOP languages.
@vivekvarma3079
@vivekvarma3079 4 жыл бұрын
Java maintains String objects as immutable, but they use String objects pool to reduce consumption of Heap memory while runtime. So the concern guest is saying is very minimal in real world performance and memory consumption.
@ronensuperexplainer
@ronensuperexplainer 2 жыл бұрын
Java is a monster of memory consumption. A "hello world" Java program takes 1 gigabyte of RAM. Swift chooses reference counting instead of Java-style garbage collection. That means that Swift apps use more memory, but Java apps are faster. In fact, Java memory allocation is faster than C++ memory allocation.
@ycombine1053
@ycombine1053 4 жыл бұрын
I've never heard these topics discussed in these terms. In functional programming, it's immutability and lazy evaluation. Nice to hear that swift took some inspiration from FP. I tried it when it first came out, but it to me it just felt like another OO language with a nicer, more convenient syntax. Maybe I should take another look at it.
@TrippSaaS
@TrippSaaS Жыл бұрын
"Actually good design is something you can feel" totally agreed. I bought a google phone and miss apple design
@stueygewy
@stueygewy 3 жыл бұрын
Chris Lattner has the mannerisms to be one of those Thermian aliens from the movie Galaxy Quest.
@blenderpanzi
@blenderpanzi 4 жыл бұрын
Swift sounds great, but if I understood everything correctly something to some degree similar is done in Rust. There is no copy on write, if you own a string you can just manipulate it. But once you give out a borrow you can't manipulate it anymore. And the receiver can't store away a reference that can change, but if you pass ownership to someone else that one can of course store and change it, if they want to. So you get pretty much the same advantages as with Swift, but you don't need any runtime checks (as you would need with copy on write - there you need to check if you need to make a copy on every write operation). You can do some of that with C++ (e.g. Qt's QString is copy on write internally), but it doesn't track ownership the way Rust does.
@Art-is-craft
@Art-is-craft Жыл бұрын
The main difference is that Swift can be used as a complete software engineering language which Rust cannot.
@blenderpanzi
@blenderpanzi Жыл бұрын
@@Art-is-craft What does that even mean? How do you define a "software engineering language"? Can you create UML diagrams in Swift?
@Art-is-craft
@Art-is-craft Жыл бұрын
@@blenderpanzi Software is a computer program that run a single machine.
@blenderpanzi
@blenderpanzi Жыл бұрын
@@Art-is-craft Ah, ok, you're a bot.
@Art-is-craft
@Art-is-craft Жыл бұрын
@@blenderpanzi You said you did not know what I was talking about. I now defined what software is so next I can describe what software engineering is and try to relate it to my original comment. There are very few languages at commercial scale that can build a complete software program Rust and Python are not that. Even C does not get used as a compete package and C++ is starting to fade.
@stevenabbott7508
@stevenabbott7508 4 жыл бұрын
This is functional programming pilled
@vincentweber1359
@vincentweber1359 4 жыл бұрын
Really reminds me of the Borrow Checker of the language Rust.
@andreasnulein782
@andreasnulein782 2 жыл бұрын
Lex's face change when Chris says "copy on write" and the question that was piling up in his head is answered. :)
@johnngo9690
@johnngo9690 3 жыл бұрын
That cauliflower ear is getting noticable
@FENTANYLJET
@FENTANYLJET 7 ай бұрын
Thumbs up for value semantics
@DeadtomGCthe2nd
@DeadtomGCthe2nd 4 жыл бұрын
Wow, this is a smart programmer who talks sense.
@R3negade638
@R3negade638 4 жыл бұрын
He’s a legend in the programming world.
@thuggfrogg
@thuggfrogg 4 жыл бұрын
He invented Swift (coded the POC himself), but maybe more importantly, he invented (and created the POC) of LLVM, the compiler framework that Go, Swift, Rust, Julia (and more) are all built on top of. He enabled the current generation of programming languages. His knowledge of LLVM is invaluable.
@logusgraphics
@logusgraphics 4 жыл бұрын
“Actually good design is something we can feel”. And that’s why Steve Jobs was right since the beginning and Apple is most valuable. Developer experience is of most importance. When it feels good, you build better products.
@chiboreache
@chiboreache 4 жыл бұрын
oh that's why iOS is the worsets platform for developers..
@jamesnankervis8029
@jamesnankervis8029 4 жыл бұрын
Both Swift and F# have value semantics, unlike languages such as C# and Java. He's wrong in saying that immutability means lots of copying. That's not how immutability is implemented in most functional programming languages. His description of what Swift does to implement value semantics is essentially what most functional programming languages do to to get efficient immutability and value semantics. For instance immutable lists and maps in F# are NOT copied when passed as parameters to other functions. Same goes for other data structures.
@Art-is-craft
@Art-is-craft Жыл бұрын
Most functional languages are simply not suitable for general software engineering.
@josuegisber8150
@josuegisber8150 4 жыл бұрын
I like to listen to Chris cause the way he explain things is fairly easy to understand
@wholenutsanddonuts5741
@wholenutsanddonuts5741 4 жыл бұрын
Ooo. I love both of these languages. Thanks for doing a comparison!
@fishfire_2999
@fishfire_2999 4 жыл бұрын
I prefer python .
@konrain7299
@konrain7299 4 жыл бұрын
@@fishfire_2999 why?
@nobody12316
@nobody12316 4 жыл бұрын
Should try to get Rich Hickey on the show!
@skewty
@skewty 4 жыл бұрын
So basically Swift neither passes by value, nor passes by reference; it passes by proxy. The proxy is smart enough to keep track of who should get the new value and who should get the old value when mutation occurs. Is this correct?
@tupierorosa723
@tupierorosa723 3 жыл бұрын
"Good design is something you can feel" That's called subjectivity lll
@RM-di6oe
@RM-di6oe 4 жыл бұрын
Swift Rocks
@Havsnsnd
@Havsnsnd Жыл бұрын
Five seconds in, “pythons not great at building libraries because C” 😂😂😂
@Art-is-craft
@Art-is-craft Жыл бұрын
It is the main reason why Python is not an industry standard for software engineering.
@sharinganuser1539
@sharinganuser1539 4 жыл бұрын
Not particularly a fan of python...but also not convinced by functionality of swift....it certainly is elegant...very clear...as language.....So if u can get things done by using one set of tools...why do u switch to new tools...for doing same task...unless....there is huge performance difference...or some added abilities....
@adsick_ua
@adsick_ua 4 жыл бұрын
You're god damn right
@__hannibaalbarca__
@__hannibaalbarca__ 9 ай бұрын
I start programming in swift not because is good language, only because i want to make something in iOS and MacOS, but __there nothing like C and C++__
@jerryplayz101
@jerryplayz101 4 жыл бұрын
I prefer python for its both pass by value and reference. For the game I’m making in python, I use the fact that I can have multiple pointers to objects to help pass values dynamically between classes without global variables.
@TrevorANNEDENISE
@TrevorANNEDENISE 3 жыл бұрын
You can also do this in Swift though, it's just that it encourages the use of value types where it makes sense, but when you actually need shared values you still have solutions for it (for example classes and actors are reference types).
@deerlow1851
@deerlow1851 3 жыл бұрын
I think that this is actually a bad thing, i prefer Java because it forces you to work around this, making your code cleaner, more readable, and faster. Harder though but not really, because it's actually easier in the long run
@neiltropolis
@neiltropolis 4 жыл бұрын
I remember this dude from Galaxy Quest.
@ChrisBrowncaptainchris45
@ChrisBrowncaptainchris45 4 жыл бұрын
DUDE!!!
@BenGras
@BenGras 4 жыл бұрын
You are our only hope!?
@infernofia
@infernofia 4 жыл бұрын
Holy crap I was thinking that in my head and thought of posting a comment but here it is
@arianvc8239
@arianvc8239 4 жыл бұрын
Coming from a C and Linux background, Python feels like a natural evolution. Swift feels weird, kind of like JS does.
@arianvc8239
@arianvc8239 3 жыл бұрын
@Balaji Thiruvengadasamy I don't mean to troll but I'm guessing you are using Python wrong. If you want numerical performance you can embed C/CUDA code or use related libs. If you make applications learn to scale.
@fishfire_2999
@fishfire_2999 4 жыл бұрын
Python and java is all you need to manifest a Lamborghini
@ChadZeluff
@ChadZeluff 3 жыл бұрын
For someone curious about defining these in Swift: define the thing as a ‘struct’ to get value semantics, and a ‘class’ for reference semantics.
@botfantasies6229
@botfantasies6229 4 жыл бұрын
I don't understand why programmers have a hard time choosing between or understanding reference and value semantics. Do you want that object to exist on its own or not?
@slob5041
@slob5041 Жыл бұрын
Thank you Lex... Also thank you for calling out the BS indirectly!! As an engineer they're pretty much like politicians because we're not allowed to say no, just that things could theoretically happen.
@ManthaarJanyaro
@ManthaarJanyaro 4 жыл бұрын
One should consider making a compiler for python; which will compile python code (obviously optimized) to Machine Language to speed it up...
@JaapVersteegh
@JaapVersteegh 4 жыл бұрын
you mean cython?
@ManthaarJanyaro
@ManthaarJanyaro 4 жыл бұрын
@championchap back in days when everything was written in Assembly (or preferably in Machine) language Unix proved it that even an OS can be written in a High Level Language like C. And today after 2~3 decades compilers are so good at compiling that they can produce a much better apps than an average programmer. That's why I think that we should be writing programs in much higher level languages and leave it on compilers to optimize them and with feed back loop improve their capabilities (which is now possible with A.I. and Machine learning).
@ekrem_dincel
@ekrem_dincel 3 жыл бұрын
You need a runtime for the python to make it work.
@GigaMarou
@GigaMarou 2 жыл бұрын
Good Design!!!
@CristiNeagu
@CristiNeagu 4 жыл бұрын
The thing that really annoys me about Python is that you can't really compile it.
@buddyguy7175
@buddyguy7175 4 жыл бұрын
Isn't this the same idea as pass by value or pass by reference in C? I think thsts what im hearing explained here. Do you pass the memory address of what you give to a function or a copy with the same value. Its hard to wrap your head around sometimes because you can pass a variable to a function in C, increment it, but the original variable has not changed because C is a pass by value default language. If you want the function to modify the original variable you pass a pointer to the variable. The pointer is then passed by value and now you have access to the original variable inside the function. I think this is the concept hes talking about.
@alexxx4434
@alexxx4434 4 жыл бұрын
There is an additon in Swift apparently, which is "copy-on-write". That is, objects are passed by reference, but if a function tries to change an object, the copy is created with those changes instead.
@billguschwan4112
@billguschwan4112 2 ай бұрын
8:50 “ There are Tradeoffs with everything.”: it is not computer science it is computer design. Design is about tradeoffs so there is no one answer as in science.
@frikkied2638
@frikkied2638 3 жыл бұрын
Such a nice bloke
@PierLim
@PierLim 4 жыл бұрын
Has swift gone out of the Apple ecosystem yet? I think the real problem for swift adoption outside of Apple is their priorities
@ucmasshankar
@ucmasshankar 4 жыл бұрын
I love swift
@alexshaykevich509
@alexshaykevich509 4 жыл бұрын
I know it's his baby but does he know what Apple is actually doing with/to it? Let's put to bed the idea that anyone outside of iOS is actually using it seriously, that's a non-starter. In the iOS environment, it's turning into a monstrosity with a new paradigm introduced every other week, MVC, MVVM, SwiftUI. There is no sign that Swift can or will outgrow the very limited iOS ecosystem and even that will be cannibalised by Flutter as a reaction to the overstuffed verbosity of the other mobile languages. It's also strange that in the same train of thought that he suggests C has to do the heavy lifting for Python, he goes on a big tear about the need to pass by value. One of the major reasons everyone always ultimately reverts back to C/C++ for performance is the ability to engineer efficient memory use and speed through proper management of references, specifically opposite of the paradigm Swift is pushing. Jeremy Howard was on a little while ago namedropping Swift as a poor language for computation which is why he was sticking with Python. Even in iOS, most of the heavy lifting is still managed at the C/assembly layer.
@alexshaykevich509
@alexshaykevich509 4 жыл бұрын
What about it do you find great?
@alexshaykevich509
@alexshaykevich509 4 жыл бұрын
@@playea123 Ok. But it just sounds like it's a language with support for a framework you need. Frankly, I think people make far too big a deal of languages when in fact, it's the environment (mobile, web, etc...) or frameworks they are actually interested in. As you eluded, you could likely do just as well in Java, and some of us prefer more verbose, often clearer code. But then Java doesn't have as natural a bridge to M/L, so Python or Swift are better choices for that use case.
@farrellraafi1301
@farrellraafi1301 4 жыл бұрын
@@alexshaykevich509 if someone considers Swift slow for computation why would they choose a gazillion times slower language named python as a better alternative??
@alexshaykevich509
@alexshaykevich509 4 жыл бұрын
@@playea123 You're assuming all else being equal. If you prefer Java, but have to write an iOS app, you won't be writing Java.
@alexshaykevich509
@alexshaykevich509 4 жыл бұрын
@@farrellraafi1301 Simple, because for heavy lifting tasks, as the video points out, the heavy lifting has been abstracted out to C/C++ and CUDA. So FRAMEWORKS, have made Python a good choice for computationally intensive tasks.
@TheCsupertramp
@TheCsupertramp Жыл бұрын
Increíble podcast, gracias.
@EdsonMedina
@EdsonMedina 4 жыл бұрын
PHP arrays also do copy on write.
@jerry8405
@jerry8405 9 ай бұрын
Was just wondering how swift handles this and KZbin algo came up with this video. I didn’t know the exact terms to search for lol
@anata.one.1967
@anata.one.1967 9 ай бұрын
From my experience, Swift has both value and reference semantics, value for `struct` and reference for `class`? Am I wrong or is Chris talking about non-custom data types?
@sedawk
@sedawk 5 ай бұрын
Swift has both but the recommended course of action is to use structs for everything unless there is some odd reason that won't work. Struct protocols and extensions replace class inheritance. Even SWIFTUI is built with structs - not classes.
@anata.one.1967
@anata.one.1967 5 ай бұрын
@@sedawk I basically use struct types to declare custom data types in my research project, and had an awesome time getting almost all bugs in compile time. I love this language man.
@steelyburt
@steelyburt 3 жыл бұрын
Total beginner here. Former Art Student. Craving rules and objectivity. Angry at subjectivity. Starting my coding journey, upon recommendation from a friend, with Swift Playgrounds. Pretty much everything in this video going over my head 🤷‍♂️
@clivefernandes5435
@clivefernandes5435 4 жыл бұрын
So when are we getting swiftpy
@alpineflauge909
@alpineflauge909 4 жыл бұрын
awesome, thanks
@techobsessed1
@techobsessed1 4 жыл бұрын
Who is choosing Swift for things that they'd choose Python + C for if Swift didn't exist?
@thuggfrogg
@thuggfrogg 4 жыл бұрын
Thanks Lex, thanks Chris :) .
@sacredgeometry
@sacredgeometry 3 жыл бұрын
also 3:59 if people are doing work and havent learned about value/ reference types or pointers which is day 1 programming 101 basic stuff then they should probably not be.
@johnjoyce
@johnjoyce 4 жыл бұрын
Chris is ever the indefatigable pragmatist!
@MrWobling
@MrWobling 4 жыл бұрын
Great video! Could a whiteboard or blackboard aid communication and discussion?
@cssensei610
@cssensei610 4 жыл бұрын
true that
@nickskywalker2568
@nickskywalker2568 4 жыл бұрын
Swift vs Julia?
@Ureallydontknow
@Ureallydontknow 3 жыл бұрын
No comparison. Julia is extremely domain specific for linear algebra.
@sacredgeometry
@sacredgeometry 3 жыл бұрын
Chris is so likeable and although I mostly agree with him so that might be bias.
@souslicer
@souslicer 4 жыл бұрын
Just use const. Value semantics are inefficient
@RoboticusMusic
@RoboticusMusic 4 жыл бұрын
This is why "learning to code" is not meant to be taken literally. You should learn how to bypass having to use code as much as possible hahah
@catcherboy96
@catcherboy96 4 жыл бұрын
I’m a mechanical engineering student just getting introduced to programming languages Like matlab, python, and I think C or something used for arduino. Swift sounds interesting; should I get familiar with for my field or should I focus on what I’m learning rn?
@hunggarchristian
@hunggarchristian 4 жыл бұрын
As someone who switched from mech to cs. Focus on what you are learning now, as those are the most imperative to what you’ll do in the real world. Swift is basically only used for platform software development most of which you won’t be ever using. Fluids and control systems operate in the strong typed.
@PixelPhobiac
@PixelPhobiac 4 жыл бұрын
Very interesting
@erickbarbosa5476
@erickbarbosa5476 4 жыл бұрын
Swift fan boy here
@a0um
@a0um 2 жыл бұрын
Clojure is another language with value semantics.
@madsteeez
@madsteeez 4 жыл бұрын
Whenever I hear about these fancy features of some fancy language, I think: matlab can do that..
@catcherboy96
@catcherboy96 4 жыл бұрын
Mat lab is the best calculator
@JethroYSCao
@JethroYSCao 4 жыл бұрын
If the tensors (and other objects in general) are being passed by value and cloned in Swift, isn't that inefficient? That's the whole point of using references for objects, arrays, maps, etc. is it not?
@evergreen-
@evergreen- 4 жыл бұрын
No, he explains that no unnecessary copying is made in Swift.
@wow5heyy
@wow5heyy 3 жыл бұрын
I am superrr new to programming. Are they talking about "pass by reference" vs "pass by value" ?
@dr.hunter1092
@dr.hunter1092 Жыл бұрын
Hey Lex, new programmer here. One mistake I can easily point out in this conversation is you both have an Aquafina water. Please fix in the next update
@nerd_abroad
@nerd_abroad 3 жыл бұрын
Didn’t realise graham stephan knew so much about programming
@birendrakathariya3517
@birendrakathariya3517 4 жыл бұрын
Julia may be a better choice!!
@adsick_ua
@adsick_ua 4 жыл бұрын
Finally found Julia comment)
@igordemetriusalencar5861
@igordemetriusalencar5861 4 жыл бұрын
Julia is better than both.
@Art-is-craft
@Art-is-craft Жыл бұрын
Julia will never be a software engineering language and will just be an academic tool.
@JkyLi
@JkyLi 3 жыл бұрын
The thing that swift really bothers me is the discouragement of using pointer. It is so often that something can be done easily with some usage of pointers at the very low level of the structure. But in swift, not only do you have to declare it as UnsafePointer, the usage is pretty disconnecting from the other swift codes. So I would rather go back to objc for some really low-level staffs.
@ConernicusRex
@ConernicusRex 3 жыл бұрын
So you're trying to write code for 1980 in a language written in 2013. Gotcha.
@losthighway4840
@losthighway4840 Жыл бұрын
Not sure there’s much difference really. You need to decide in both languages whether you’re using value/reference semantics. In python this is just done his clone().
@stabkauaiPALAMA
@stabkauaiPALAMA 4 жыл бұрын
Andrew Madsen is the Swift God.
@sergiobost4891
@sergiobost4891 2 жыл бұрын
4:10 Enter Rust
@yashwanth.k5545
@yashwanth.k5545 4 жыл бұрын
hat kirkirii 🔥🔥
@fishfire_2999
@fishfire_2999 4 жыл бұрын
2:50 i know exactly what they r talking about.
@chuddywarrior7996
@chuddywarrior7996 4 жыл бұрын
probably a retain cycle
@TheRealDrWho
@TheRealDrWho 4 жыл бұрын
Lex's IQ is so high, love watching this guy
@prashkd7684
@prashkd7684 4 жыл бұрын
The entire language performance discussion is in reference to current CPU technology but if Intel manages to perfect quantum processors and someone like Microsoft manages to build home computers out of it, will performance still be of any concern at all? Wouldn't it make sense for all programmers to build on C and Python rather then learning 10 different languages for different applications in the market?
@adsick_ua
@adsick_ua 4 жыл бұрын
Julia is better for ML and data science
@Zaddy_Woods
@Zaddy_Woods Жыл бұрын
Looks like a young Bill Belichick
@devnekoboi7812
@devnekoboi7812 4 жыл бұрын
Two words: Functional Programming ;)
@zeeeeeeeeeavs
@zeeeeeeeeeavs 4 жыл бұрын
Love Swift!
@Alex-xf8pl
@Alex-xf8pl 4 жыл бұрын
Scala
@FENTANYLJET
@FENTANYLJET 7 ай бұрын
I’m with the 145K people who care I’m glad to be here.. one day I will be among these shabba ranks
@wlcrutch
@wlcrutch Жыл бұрын
is Lex High??
@Art-is-craft
@Art-is-craft Жыл бұрын
Nope he is trying to balance several very complex ideas so as to make the subject manageable for the audience to grasp.
@Donatellangelo
@Donatellangelo 4 жыл бұрын
I like python. Swift belongs to apple. If I have to use something like swift, I'd use java or go.
@konrain7299
@konrain7299 4 жыл бұрын
Thats like saying Go belongs to Google. Swift is open source, it runs on Linux and now Windows.
@feydrautha191
@feydrautha191 4 жыл бұрын
​@@konrain7299 Generally people are using Swift because they want to use Cocoa/CocoaTouch. Unless you're doing some real hacky bullshit you're not porting those frameworks to linux or NT.
@konrain7299
@konrain7299 4 жыл бұрын
@@feydrautha191 Swift on server is getting big, theres literally everything from static site generators to serverless framworks
@TestTest-tj9io
@TestTest-tj9io 4 жыл бұрын
I never understood phyton popularity in intense projects, and i would never indulge in apple stuff.
@mattizzle81
@mattizzle81 2 жыл бұрын
I used to be very anti-Apple but recently have gone over to the dark side. Their stuff is really good and I really enjoy programming on their platform. Their tight software/hardware integration has advantages. Apple doesn’t half ass things, they get it done right. Google etc have had so many half-hearted or abandoned projects like ARCore as their “response” to Apple’s ARKit. It’s half baked and now almost abandoned while Apple did it right.
@Art-is-craft
@Art-is-craft Жыл бұрын
@@mattizzle81 The biggest problem google has it is a back end company that has its hands in to many pies.
@MegaMeco2
@MegaMeco2 8 ай бұрын
I understood nothing
@SevenDeMagnus
@SevenDeMagnus 2 жыл бұрын
Coolness, Apple I think should be the one so the best is Swift coz' they will support it and Apple product is the future (also Tesla if Elon makes smartphones and computers). God bles..
@ketuscorpion3717
@ketuscorpion3717 4 жыл бұрын
#Lex is a drug, I am getting addicted bro👍
@Ryan-xq3kl
@Ryan-xq3kl 4 жыл бұрын
you may want to check yourself into rehab
@Ureallydontknow
@Ureallydontknow 3 жыл бұрын
I am surprised lex doesn't already know this coming from MIT specializing in python AI.
@Art-is-craft
@Art-is-craft Жыл бұрын
Lex is trying to keep the topic manageable and to not get too technical.
@mcoon1987
@mcoon1987 9 ай бұрын
This is like nerd wars lol.
Swift Concurrency Manifesto | Chris Lattner and Lex Fridman
10:59
The Star Language that will outshine Rust? Gleam
10:33
Code to the Moon
Рет қаралды 41 М.
風船をキャッチしろ!🎈 Balloon catch Challenges
00:57
はじめしゃちょー(hajime)
Рет қаралды 97 МЛН
А я думаю что за звук такой знакомый? 😂😂😂
00:15
Денис Кукояка
Рет қаралды 4,1 МЛН
Python vs Swift | Prime Reacts
19:44
ThePrimeTime
Рет қаралды 81 М.
Swift 5.9 Released | Prime Reacts
14:36
ThePrimeTime
Рет қаралды 72 М.
I Didn’t Believe that AI is the Future of Coding. I Was Right.
6:55
Sabine Hossenfelder
Рет қаралды 591 М.
zig will change programming forever
9:34
Low Level
Рет қаралды 348 М.
An introduction to Mojo (for Python developers)
15:21
Underfitted
Рет қаралды 10 М.
Where is Rust being used?
11:46
Let's Get Rusty
Рет қаралды 125 М.
Replace Is Number Saves 440GB A WEEK
9:54
ThePrimeagenClips
Рет қаралды 307 М.
風船をキャッチしろ!🎈 Balloon catch Challenges
00:57
はじめしゃちょー(hajime)
Рет қаралды 97 МЛН