I played around with Swift back when I used to use Mac and I have to say… Swift is the most sensible, sane and pleasant language I’ve ever used. Simple for easy beginner things yet gives all the features & efficiency you could want for serious applications. Shame it doesn’t really exist outside of Apple’s ecosystem.
It’s getting there slowly, async/await and other new async features other languages don’t have were just added, as well as better Windows support, so I can see web servers becoming more popular in the next year or two once things catch up
@@adlsfreund waiting for Rust-like ownership, higher kind types and opaque return types with specifiable associated types. And it would be good to get better specialization guarantees for generic types. Oh, and Vapor could really use a complete overhaul inspired by composability patterns seen e.g. in SwiftUI, but swift on the server isn’t really a big thing yet
Caveats: XCode sucks and the compiler sometimes takes minutes to spit out a mysterious segfault without indication what the actual problem was. But it’s not much worse than with other languages. And in return, you get a package manager for which you don’t need to learn another language - it’s swift!
Thank you for covering Swift! If I may add something here, in Swift structs are commonly used in place of classes. They are similar in terms of functionality, but each one has its own strengths and weaknesses. And also, inheritance is not really a common occurrence in Swift, instead people tend to write protocols - Of course, you can still make a class that inherits another, but writing with protocols makes your code more modular and composable! There are a lot of interesting and useful language features that cannot possibly go into a 100 second video, so I hope people will take more interest in Swift 🥳
@@HDSQ i don't know java or c# but protocols allow you to add custom functionality to structs ,classes and other types that conform(implement) to certain specs that you can define in the protocol. If a struct conforms to a protocol it will gain the functionality implemented in the protocol. It is a very powerful tool which lets you extend and "inherit" functionality by simply conforming to a protocol. you can even create protocols for built in types like arrays etc. eg you could add a protocol to arrays to return all indices of a value in the array. and any array will have access to the protocol.... so long as the array conforms to the protocol ( eg. the elements would probably need to be identifiable; which is also a protocol)
@@HDSQ Yep, similar to Java interfaces. In Swift you can declare properties and methods that a conforming class/struct/enum etc must conform to. You can also create default implementations for these properties and methods like in Java.
@@tanaykamath1415 yeah thats stupid. I use linux on my main pc arch btw but use an iPhone as my main mobile device so I cant really develop apps for iOS. Also its really expensive. I guess its just the apple way of doing things
XCode was also developed by Apple. And calling it shit would be a praise. Obj-C is a bloody mess, and it was also made by Apple. I guess you can see my point. Made by Apple doesn't mean good and sane.
@@mad_t Obj-C wasn’t made by Apple, but by Tom Love and Brad Cox. NeXT (founded by Steve Jobs) used it for its operating system NeXTSTEP, and later Apple bought NeXT, this is how it became the main language on their platforms. The syntax looks strange indeed, but if you consider it was released before C++ (in 1984), and inspired by Smalltalk, it's a different story.
Me too, “What should I invest my time in learning while leaving tons of unfinished side projects?”. Swift was one of the options, so I guess Swift it is.
Thank you very much, Jeff! I appreciate your content 🙂 Waiting for: - WebWorkers in 100 seconds - WebStorage (including indexedDB, WebSQL) in 100 seconds - Repaint/Reflow in 100 seconds - Critical Rendering Path in 100 seconds
Swift is amazing! Some more terms to research would be: Protocol Oriented Programming (Protocols), Structs in Swift, If Let syntax. There’s more but those are the first ones I thought of. Also, through the Swift Evolution process, more development is always being done to make the language more powerful and easy to use.
one who has worked with Swift, I really appreciate how approachable yet powerful it is as a language. The syntax is clean and expressive, making it easy to read and write code. And the tight integration with Apple's frameworks allows for efficient development of high-performance apps. Swift has been a game-changer for iOS/macOS app development.
I love Swift: use it daily. I think Swift developers need a Fireship joke-summary of Swift so we can laugh at ourselves. Especially because our once tidy, slick language keeps getting more esoteric than a Murakami novel.
A more fitting ending might have been "..your code is now ready to seek rejection from the App Store" - since we know how particular and arbitrary they can be. Maybe not with code in general, but with app functionality.
I think when only considering the syntax of Swift, it is a much more sophisticated version of TypeScript. On the other hand, being an iOS or a macOS developer using Swift is a totally different story. There are tons of APIs you need to learn, and sometimes you should need to read some C/Objective-C codes. But I find the weakest part of this language is the size of its community. There are not many open source projects in Swift and sometimes you should implement your own or you must find alternative libraries written in C/Objective-C.
I think this is partly due to differing philosophies between JS and iOS communities. In the iOS world we try and limit the number of dependencies in an app to a small number as it can affect app launch times, not to mention library authors need to update them in a timely manner when Apple breaks shit. So we tend to avoid adding dependencies for small things if possible. This is becoming less true though so if Swift gets wider adoption outside of iOS then I can see this “improving”.
Jeff: "Swift is open source so you can create something outside apple platform". Me: That's great Jeff! few seconds later "Congrats for watching till the end, you can now publish your work on apple and hopefully they approve your work." Me: Wait...what?!
I think you missed the point when not talking about POP (Protocol Oriented Programming), that is one of the biggest features in Swift. It's so easy to abstract stuff and decouple your code, SOLID principles are so easy to follow. and everything is testable with low effort.
Indeed, Swift is a very good language, on power with rust and go. Had it been for the language to be loosely coupled with apple, it would have seen better adoption on multiple platforms and environments.
> on power with rust and go Largely depends on the context. Rust and Go are in different leagues of there own, e.g. Go would not be the language to implement a kernel. > loosely coupled with apple,it would have seen better adoption on multiple platforms Not sure I agree. If we look at Kotlin, which is not loosely but **largely** coupled with Android development, Stack Overflow Developer Survey shows Kotlin as more loved than Swift. In the same vein as Swift, Kotlin supports multiple platforms via its Kotlin Native via LLVM, the same compiler toolchain as Swift. I think Swift is a very fine language, but I'm not sure if it innovates more than other languages, hence why it's stagnated in adoption outside of iOS.
Furthermore, Swift is much more Protocol Oriented., It uses protocols (interfaces) to extends the types of a struct/class. It forces the usage of Structs rather than Classes. Mainly because classes are passed by reference. Hello again mutability. You can also easily extends a built-in protocol by using extensions. And if you want to make a backend application, KItura from IBM and Vapor are great tools to get started!
For a intuitive guy like me this sound so interesting better than any other coding language because easy coding language is actually more advanced if you really think about it. Nice, one Steve jobs
As a mobile developer, I like it when big companies accept that their current language is not up to the mark and create something new from scratch instead of just patching the old and creating more drawbacks than benefits. Google did exactly this with Java and Kotlin for Android!
no, they didn't do "exactly" this. Kotlin was created by JetBrajns, not by Google. Google adopted it as an official language for Android, and contributed to its development, but they didn't create it, much less "from scratch".
Hello Sir, I have two questions 1. Can I learn Swift as my first programming language? 2. Can I learn Swift without any Apple device(Macbook, iPhone, iPad)?
You can learn swift as a first language and Apple has an app for iPad for this: Swift Playgrounds. You can still learn without any apple product, but you would have a Linux machine because swift doesn't have a compiler for windows yet. If it doesn't suit you, I would recommend more classical lanugage like C++, C# or Java/Kotlin as a first language
1:50 Functions are first class objects. I hear that term used frequently in your videos. Does that just mean that they can be passed in as an argument? Are they passed in by reference?
The video is very good but Swift has a couple strong points probably personally should get more spotlight on like structs which is a much lightweight approach for representing data, the new concurrency features with async/task, tasks, and actor model, protocol oriented programming allowing seem-less composition with extensions and type constraints. Those are strong points for me personally. Still great video though 👍
I've been considering playing with swift for a while now. This video made it soo incredibly easy to get some grip. You made it seem incredibly similar to JavaScript which greatly helps take off some edge. I love how you explain things. Looking forward to a 'Beyond 100 seconds' with swift :) cheers!
Waiting for that one guy to comment that he feels he's now sooooo much better at programming by watching this 2 min video than from all the courses and practice he's had for the past two months
@@OcnarfPro Unity is a engine that supports the C# language natively. C# is not only Unity. C# is used in web applications, desktop applications, console apps, windows services, etc. C# as a language pre-dates the creation of Unity by 4 years.
Subscribe to my walled garden of content 🍎
I love the kids that say "First reply"
EDIT: They can't do that now :)
Do C# pleaseeee
Swift is love ❤️
Can you make a video on "How to research like a pro"
I appreciate this joke
I played around with Swift back when I used to use Mac and I have to say… Swift is the most sensible, sane and pleasant language I’ve ever used. Simple for easy beginner things yet gives all the features & efficiency you could want for serious applications.
Shame it doesn’t really exist outside of Apple’s ecosystem.
It’s getting there slowly, async/await and other new async features other languages don’t have were just added, as well as better Windows support, so I can see web servers becoming more popular in the next year or two once things catch up
@@randomizednamme even without async await, it's a great language. but the adoption rate tho, low
@@randomizednamme better memory management and generics improvements are on the way now too!
@@adlsfreund waiting for Rust-like ownership, higher kind types and opaque return types with specifiable associated types. And it would be good to get better specialization guarantees for generic types. Oh, and Vapor could really use a complete overhaul inspired by composability patterns seen e.g. in SwiftUI, but swift on the server isn’t really a big thing yet
Caveats: XCode sucks and the compiler sometimes takes minutes to spit out a mysterious segfault without indication what the actual problem was. But it’s not much worse than with other languages. And in return, you get a package manager for which you don’t need to learn another language - it’s swift!
Anyone else wanting to see LLVM in 100 seconds?
Was just going to write this!
Oh yes plz!
absolutely
yes
Comm of support.
Thank you for covering Swift!
If I may add something here, in Swift structs are commonly used in place of classes. They are similar in terms of functionality, but each one has its own strengths and weaknesses. And also, inheritance is not really a common occurrence in Swift, instead people tend to write protocols - Of course, you can still make a class that inherits another, but writing with protocols makes your code more modular and composable! There are a lot of interesting and useful language features that cannot possibly go into a 100 second video, so I hope people will take more interest in Swift 🥳
Are protocols like interfaces in Java and C#? How do they work?
@@HDSQ i don't know java or c# but protocols allow you to add custom functionality to structs ,classes and other types that conform(implement) to certain specs that you can define in the protocol. If a struct conforms to a protocol it will gain the functionality implemented in the protocol. It is a very powerful tool which lets you extend and "inherit" functionality by simply conforming to a protocol. you can even create protocols for built in types like arrays etc. eg you could add a protocol to arrays to return all indices of a value in the array. and any array will have access to the protocol.... so long as the array conforms to the protocol ( eg. the elements would probably need to be identifiable; which is also a protocol)
@@HDSQ Yep, similar to Java interfaces. In Swift you can declare properties and methods that a conforming class/struct/enum etc must conform to. You can also create default implementations for these properties and methods like in Java.
@@UltravioletMind looks like Kotlin extension functions
You have successfully sold me to pick up swift, thank you good person on the internet.
"It uses automatic reference counting to manage memory automatically"
_proceeds to show memory that will never be released_
the best part is you can't tell if he's joking or not
@@lanye2708 I can. He isn't.
@@lanye2708 He likes to throw in these little easter eggs.
Swift is really underappreciated as just being a good and modern programmming language
The issue is that one needs a mac inorder to build native iOS apps
@@tanaykamath1415 yeah thats stupid. I use linux on my main pc arch btw but use an iPhone as my main mobile device so I cant really develop apps for iOS. Also its really expensive. I guess its just the apple way of doing things
@@tanaykamath1415 I installed macOS on roblox
@@aayushtheapple arch users are the vegans of Linux
@@select_from_users5842 damn true
Learning to code swift, from a nodejs, react background, and have to say, it truly feels like a language that Apple developed. It just makes sense.
XCode was also developed by Apple. And calling it shit would be a praise.
Obj-C is a bloody mess, and it was also made by Apple.
I guess you can see my point. Made by Apple doesn't mean good and sane.
@@mad_t lol, have you used android studio?
@@mad_t Obj-C wasn’t made by Apple, but by Tom Love and Brad Cox. NeXT (founded by Steve Jobs) used it for its operating system NeXTSTEP, and later Apple bought NeXT, this is how it became the main language on their platforms. The syntax looks strange indeed, but if you consider it was released before C++ (in 1984), and inspired by Smalltalk, it's a different story.
i know its a series, but this was the perfect opportunity to name the video "Swift, swiftly"
Great video 👍
A small detail is that at 1:25, it should be “colon” instead of “semicolon”
thanks, watched that part five times thinking I was missing it
yeah i too noticed that
Awesome timing, was recently giving Swift some thought, as my next unnecessary play thing 🤓
I would definitely recommend it!
Report
Me too, “What should I invest my time in learning while leaving tons of unfinished side projects?”. Swift was one of the options, so I guess Swift it is.
Same here...
@@WillAmaral29 😂 😂 I thought it was just me that does that- glad I’m not alone ☺️
Thank you very much, Jeff!
I appreciate your content 🙂
Waiting for:
- WebWorkers in 100 seconds
- WebStorage (including indexedDB, WebSQL) in 100 seconds
- Repaint/Reflow in 100 seconds
- Critical Rendering Path in 100 seconds
If your critical rendering path takes 100 seconds, you might have a performance problem!
The day Jeff makes repaint/reflow in 100 seconds is the day newbies will be able to steal my job, so no thanks XD
🤔
Exquisite choice of topics.
Swift is amazing! Some more terms to research would be: Protocol Oriented Programming (Protocols), Structs in Swift, If Let syntax. There’s more but those are the first ones I thought of. Also, through the Swift Evolution process, more development is always being done to make the language more powerful and easy to use.
Great language in overall, thanks for the explanation. It feels like i got more in this 100 seconds than me procrastinating the whole day
@Rafly Tzy report
@@abh1yan roger
That's why I'm here. Now I can complete the day thinking that I've done at least something productive!
Now, back to procrastinating.
@@ssholum bravo
@@ssholum bravo
You know your content is awesome when people thank you for making them spend money.
Just bought lifetime access. Thank you Jeff
Swift is easily one of my favorite programming languages. It being protocol-oriented really helps as well
PLEASE make more videos on Swift! Maybe on the SwiftUI and UIKit frameworks? I love your channel and this has been my favourite video so far!
one who has worked with Swift, I really appreciate how approachable yet powerful it is as a language. The syntax is clean and expressive, making it easy to read and write code. And the tight integration with Apple's frameworks allows for efficient development of high-performance apps. Swift has been a game-changer for iOS/macOS app development.
"Congratulations! Your app is now ready to seek approval on the apple appstore."
The main lesson 😂
There is one jeff who makes awesome content for developers in 100 secs , and then theres the evil jeff who went to space for 100 secs
Underrated comment
This was pretty swift, good job man!
Swift seems like the perfect high-performance version of JS! Amazing vid Fireship!!
It is. And Swift UI is insanely similar to React/React Native.
The syntax is insanely similar to Typescript.
The swift “let” === js “const” definitely trips me up a lot
It's even more similar to kotlin
I was gonna say.
Also like Nim
@@thespacejedi it's rather the other way around, Kotlin is similar to swift
Great video!
Now i a fully fledged IOS swift developer after this tutorial thanks man.
Please do Lua in 100 seconds!
And also Luau! (it was recently open sourced, (its a variant of lua but with types and many other useful functions including much more speed!))
@@artoshia roblox lua
If it weren't for Swift, I would not have even touched iOS development. Objective C is downright unenjoyable to look at
Fireship can never run out of videos
These short videos about languages and other things are golden.
Keep them coming 🤩🤩
Find someone who loves you as much as Jeff loves One Dark theme
Who doesn’t love dark theme?
@@naahh4498 I didn't only say dark theme, I'm specifically talking about One Dark theme from Atom which you can see in all Fireship videos.
One of the best languages out there. I wish it were more popular outside of the Apple eco
I love Swift: use it daily. I think Swift developers need a Fireship joke-summary of Swift so we can laugh at ourselves. Especially because our once tidy, slick language keeps getting more esoteric than a Murakami novel.
A more fitting ending might have been "..your code is now ready to seek rejection from the App Store" - since we know how particular and arbitrary they can be. Maybe not with code in general, but with app functionality.
I'd absolutely love a full tutorial i've wanted to use it for a long time
i love how seriously you say "multi paradigm language" every time :D
Swift is one of my favorite languages to write in, although I've only built like two projects with it and usually am using C++ or Java.
My man makes every language the best
watching this, I learned so much more about swift than in the past two days of trying to learn from tutorials 😨
man macOS truly has some of the best forced rendering options you can instantly tell ur writing code in macos cuz of how smooth the font is.
The best part of Swift is protocol and extensions. It's pity that they're not mentioned in this video.
Swift really is a great language. My favorite to code in.
I think when only considering the syntax of Swift, it is a much more sophisticated version of TypeScript. On the other hand, being an iOS or a macOS developer using Swift is a totally different story. There are tons of APIs you need to learn, and sometimes you should need to read some C/Objective-C codes.
But I find the weakest part of this language is the size of its community. There are not many open source projects in Swift and sometimes you should implement your own or you must find alternative libraries written in C/Objective-C.
I think this is partly due to differing philosophies between JS and iOS communities. In the iOS world we try and limit the number of dependencies in an app to a small number as it can affect app launch times, not to mention library authors need to update them in a timely manner when Apple breaks shit. So we tend to avoid adding dependencies for small things if possible. This is becoming less true though so if Swift gets wider adoption outside of iOS then I can see this “improving”.
Outside of the Apple ecosystem there is a pretty vibrant Swift backend server community (see Vapor)
Jeff: "Swift is open source so you can create something outside apple platform".
Me: That's great Jeff!
few seconds later
"Congrats for watching till the end, you can now publish your work on apple and hopefully they approve your work."
Me: Wait...what?!
Thing you can do != most common use case
Wow! I thought I was watching an overview about the language not an actual comprehensive crash course. I am speechless.
I was waiting for this video!! 🔥
I think you missed the point when not talking about POP (Protocol Oriented Programming), that is one of the biggest features in Swift.
It's so easy to abstract stuff and decouple your code, SOLID principles are so easy to follow. and everything is testable with low effort.
Fireship literally explaining the full basics of any technologies within 100 seconds.💥
Since printing "greeting" has such difficult syntax in Objective-C, I now kind of wonder how a function that iterates through an object looks like.
C# please!
Indeed, Swift is a very good language, on power with rust and go. Had it been for the language to be loosely coupled with apple, it would have seen better adoption on multiple platforms and environments.
> on power with rust and go
Largely depends on the context. Rust and Go are in different leagues of there own, e.g. Go would not be the language to implement a kernel.
> loosely coupled with apple,it would have seen better adoption on multiple platforms
Not sure I agree. If we look at Kotlin, which is not loosely but **largely** coupled with Android development, Stack Overflow Developer Survey shows Kotlin as more loved than Swift. In the same vein as Swift, Kotlin supports multiple platforms via its Kotlin Native via LLVM, the same compiler toolchain as Swift.
I think Swift is a very fine language, but I'm not sure if it innovates more than other languages, hence why it's stagnated in adoption outside of iOS.
@@hi_arav The Swift developers do not prioritise multi-platform support, which is a design goal for Kotlin. That alone explains the difference.
@@hi_arav Why do you think Kotlin is largely coupled with Android development? Kotlin is pretty popular for backends too.
I mastered swift in 100 seconds. Thank you
Furthermore, Swift is much more Protocol Oriented., It uses protocols (interfaces) to extends the types of a struct/class.
It forces the usage of Structs rather than Classes. Mainly because classes are passed by reference. Hello again mutability.
You can also easily extends a built-in protocol by using extensions.
And if you want to make a backend application, KItura from IBM and Vapor are great tools to get started!
protocols = typeclasses
generics = polymorphic types
structs = product type
enums = sum type
Jeff is still my favourite tech youtuber
Thanks for coming Legend 🤤
Like this video a lot. Great work! ❤️
wasn’t expecting this one but i am pleasantly surprised
Clean syntax, very similar to Kotlin. Both mobile platforms (Android/iOS) have nice underlying development languages
Finally, thank you, Jeff!
Report
Switft and Kotlin are so similar, wow!
Ok time to update git and resume ..
-knowledgeable and skilled in swift programming
i learned swift as my first language- now i pick up new ones dead easy
For a intuitive guy like me this sound so interesting better than any other coding language because easy coding language is actually more advanced if you really think about it.
Nice, one Steve jobs
Steve jobs didn't have any involvement in its development. It was introduced way after his passing.
I love these "... in 100 seconds" videos! I would really like to see one on Nim as well!
As a mobile developer, I like it when big companies accept that their current language is not up to the mark and create something new from scratch instead of just patching the old and creating more drawbacks than benefits. Google did exactly this with Java and Kotlin for Android!
no, they didn't do "exactly" this. Kotlin was created by JetBrajns, not by Google. Google adopted it as an official language for Android, and contributed to its development, but they didn't create it, much less "from scratch".
first time saw swift in action. Seems so cool and easy to get started with.
I always watch your video to know about concept of any programming , thank for you making amazing video.
Amazing job as always! Can you do a "R in 100 seconds" video?
here we are 2 years later, I with I could pay you guys.
You lit taught us how to code.. for freeee.
Hello Sir, I have two questions
1. Can I learn Swift as my first programming language?
2. Can I learn Swift without any Apple device(Macbook, iPhone, iPad)?
You can learn swift as a first language and Apple has an app for iPad for this: Swift Playgrounds. You can still learn without any apple product, but you would have a Linux machine because swift doesn't have a compiler for windows yet. If it doesn't suit you, I would recommend more classical lanugage like C++, C# or Java/Kotlin as a first language
Now I can add Swift to my resume
Best programming language for apps.
Swift is like if Typescript and Golang had a baby
1:50 Functions are first class objects. I hear that term used frequently in your videos. Does that just mean that they can be passed in as an argument? Are they passed in by reference?
I will never write if (maybe == nil), but I appreciate you writing like that for those who are from C++.
Thank you! 😊🧡 Your channel and videos are awesome
The video is very good but Swift has a couple strong points probably personally should get more spotlight on like structs which is a much lightweight approach for representing data, the new concurrency features with async/task, tasks, and actor model, protocol oriented programming allowing seem-less composition with extensions and type constraints. Those are strong points for me personally. Still great video though 👍
Swift has a lot of features, hard to fit into 100 seconds ;)
"Seek approval by Apple" amazing 😂
C# next please
employers: at least 10 years swift expirience
swift: _created at 2014_
Programming language design variations across multiple languages (Swift/ES6/Rust/F#): var/const/let/‘let mut(able)’ and fn/fun/func/function
Adding swift to my resume…
yo that's finna woke 🔥🔥🔥
damn good timing i was just thinking about learning swift but now i really want to
Swift in 2 seconds: Obsolete
sorry what
So basically an apple version of Kotlin language. I know there are differences but basic language stuffs feels similar.
what a fantastic series. cheers
fantastic thank you! I'm so tired of sitting through 10 minute videos that try to teach me how to code again
I used to think that swift could only run on Mac. Thank you so much
YOOOO!!! A swift developer here 🙋♀️
please upload a full course of it pleaseeeeee
Thanks for the swift breakdown.
1 million soon
Maybe before 2022 if we're lucky!
I've been considering playing with swift for a while now. This video made it soo incredibly easy to get some grip. You made it seem incredibly similar to JavaScript which greatly helps take off some edge. I love how you explain things. Looking forward to a 'Beyond 100 seconds' with swift :)
cheers!
man , google assistant actions in 100 seconds
Is it a coincidence or he has a ginius brain that drops a video just when you need it and you cant help but clicking it right away
Great video!
Could you do a Quasar in 100 seconds please?
Waiting for that one guy to comment that he feels he's now sooooo much better at programming by watching this 2 min video than from all the courses and practice he's had for the past two months
As always to the point.
Great content.
You should have mentioned procedures! They are pretty cool
C# in 100 seconds, pleaseee 😍
Awesome video! If you do one for C#, please don't tie it down to Unity. It is much more than that. The Unity compiler is extremely outdated.
Please, C# is only Unity
@@OcnarfPro That’s like saying C++ is only for Unreal Engine and Lua is only for Roblox games
@@antibioticaddict it is tho
@@OcnarfPro :|
@@OcnarfPro Unity is a engine that supports the C# language natively. C# is not only Unity. C# is used in web applications, desktop applications, console apps, windows services, etc. C# as a language pre-dates the creation of Unity by 4 years.