← Back
Scott Hanselman November 14, 2024 30m

Kotlin from Scratch with Faisal Islam

Read full transcript 20 segments
  1. hi I'm Scott Hanselman this is another hi I'm Scott Hanselman this is another episode of Hansel minutes today I'm episode of Hansel minutes today I'm episode of Hansel minutes today I'm chatting with Dr bezel Islam he's a chatting with Dr bezel Islam he's a chatting with Dr bezel Islam he's a manager an educator a developer and the manager an educator a developer and the manager an educator a developer and the author of both fiction and non-fiction author of both fiction and non-fiction author of both fiction and non-fiction books and we're going to be chatting books and we're going to be chatting books and we're going to be chatting today about his new book cotlin from today about his new book cotlin from today about his new book cotlin from scratch it's a project-based scratch it's a project-based scratch it's a project-based introduction for programmers how are you introduction for programmers how are you introduction for programmers how are you sir I'm doing great and thank you for sir I'm doing great and thank you for sir I'm doing great and thank you for having me yeah this is uh going to be having me yeah this is uh going to be having me yeah this is uh going to be interesting because I was a uh a my my interesting because I was a uh a my my interesting because I was a uh a my my experience in the Java virtual machine experience in the Java virtual machine experience in the Java virtual machine world started in about world started in about world started in about 1996 1996 1996 1997 uh and I was doing you know early 1997 uh and I was doing you know early 1997 uh and I was doing you know early Java 11 there was a machine called the Java 11 there was a machine called the Java 11 there was a machine called the Java the hot Java machine from Sun and Java the hot Java machine from Sun and Java the hot Java machine from Sun and you know we thought this was the future you know we thought this was the future you know we thought this was the future and it seems like the Java virtual and it seems like the Java virtual and it seems like the Java virtual machine became the future of java more machine became the future of java more machine became the future of java more interestingly than the language itself interestingly than the language itself interestingly than the language itself how did you find your way to cotland and how did you find your way to cotland and how did you find your way to cotland and did you also start in the early days in did you also start in the early days in did you also start in the early days in Java oh for sure um I started my Java oh for sure um I started my Java oh for sure um I started my programming journey in Fortran if I programming journey in Fortran if I programming journey in Fortran if I don't know if you're familiar with that don't know if you're familiar with that don't know if you're familiar with that but because of my engineering background but because of my engineering background but because of my engineering background uh Engineers back then did a lot of uh Engineers back then did a lot of uh Engineers back then did a lot of programming in fortron even nowadays programming in fortron even nowadays programming in fortron even nowadays many of the you know computationally many of the you know computationally many of the you know computationally demanding tools are still written in in demanding tools are still written in in demanding tools are still written in in foron but eventually when I was a grad foron but eventually when I was a grad foron but eventually when I was a grad student I I had to do quite a bit of student I I had to do quite a bit of student I I had to do quite a bit of work in C because that allowed me to work in C because that allowed me to work in C because that allowed me to manage memory back then laptops or manage memory back then laptops or manage memory back then laptops or computers had very little memory so you

  2. computers had very little memory so you computers had very little memory so you had to do everything very had to do everything very had to do everything very efficiently uh and I did uh eventually efficiently uh and I did uh eventually efficiently uh and I did uh eventually ventured into Java into Python and so ventured into Java into Python and so ventured into Java into Python and so forth uh I found out about cotlin only forth uh I found out about cotlin only forth uh I found out about cotlin only in 2018 not too long ago in 2018 not too long ago in 2018 not too long ago and I must say that cotlin is literally and I must say that cotlin is literally and I must say that cotlin is literally the nuc in the block if you look at all the nuc in the block if you look at all the nuc in the block if you look at all the major programming languages the major programming languages the major programming languages chronologically the top ones like python chronologically the top ones like python chronologically the top ones like python Java or JavaScript or C++ they're all Java or JavaScript or C++ they're all Java or JavaScript or C++ they're all from the late 80s early 90s you know from the late 80s early 90s you know from the late 80s early 90s you know more or less 30 or so year old even the more or less 30 or so year old even the more or less 30 or so year old even the new ones like go or Julia or rust they new ones like go or Julia or rust they new ones like go or Julia or rust they are about 14 15 years old are about 14 15 years old are about 14 15 years old and the first official version of polin and the first official version of polin and the first official version of polin was released in 2016 I believe so it is was released in 2016 I believe so it is was released in 2016 I believe so it is um the newest language in this long um the newest language in this long um the newest language in this long series of you know evolution of uh series of you know evolution of uh series of you know evolution of uh programming programming programming languages uh the developers of cotlin languages uh the developers of cotlin languages uh the developers of cotlin when I looked into it and spent some when I looked into it and spent some when I looked into it and spent some time with cotlin I realized that the time with cotlin I realized that the time with cotlin I realized that the developers had the benefit of hindsight developers had the benefit of hindsight developers had the benefit of hindsight and so they PID picked all the best and so they PID picked all the best and so they PID picked all the best pieces from cin pieces from cin pieces from cin pressors and avoided some of the the pressors and avoided some of the the pressors and avoided some of the the pitfalls or complaints about you know pitfalls or complaints about you know pitfalls or complaints about you know languages like Java which requires languages like Java which requires languages like Java which requires typically used to require a lot of wet typically used to require a lot of wet typically used to require a lot of wet plate type coding it was very verbose

  3. plate type coding it was very verbose plate type coding it was very verbose right so cotlin has I would say the best right so cotlin has I would say the best right so cotlin has I would say the best of the best features of all the existing of the best features of all the existing of the best features of all the existing programs programming programs programming programs programming languages and yet it has a very clean languages and yet it has a very clean languages and yet it has a very clean syntax it has is very powerful for is syntax it has is very powerful for is syntax it has is very powerful for is type safe uh it handles you know null type safe uh it handles you know null type safe uh it handles you know null pointers or null values quite elegantly pointers or null values quite elegantly pointers or null values quite elegantly so and it's multiplatform right and it so and it's multiplatform right and it so and it's multiplatform right and it runs on Java virtual machine as you runs on Java virtual machine as you runs on Java virtual machine as you mentioned so it has so many mentioned so it has so many mentioned so it has so many pluses um and to me the biggest um sell pluses um and to me the biggest um sell pluses um and to me the biggest um sell selling point is that it's not married selling point is that it's not married selling point is that it's not married to a particular programming Paradigm so to a particular programming Paradigm so to a particular programming Paradigm so you can if you like functional you can if you like functional you can if you like functional programming you can do fun programming programming you can do fun programming programming you can do fun programming if you are objectoriented person you can if you are objectoriented person you can if you are objectoriented person you can do pure objectoriented Style just like do pure objectoriented Style just like do pure objectoriented Style just like Java or C or you can mix and match right Java or C or you can mix and match right Java or C or you can mix and match right and and the functions are first first and and the functions are first first and and the functions are first first class citizens in cin so all of those class citizens in cin so all of those class citizens in cin so all of those things together uh and I immediately things together uh and I immediately things together uh and I immediately fell in love with this fell in love with this fell in love with this language had you spent any other time language had you spent any other time language had you spent any other time with other languages that sit on top of with other languages that sit on top of with other languages that sit on top of the Java virtual machine because I know the Java virtual machine because I know the Java virtual machine because I know that the development lead for cotlin uh that the development lead for cotlin uh that the development lead for cotlin uh borrowed greatly from Scala uh and of borrowed greatly from Scala uh and of borrowed greatly from Scala uh and of course you mentioned the the benefit of course you mentioned the the benefit of course you mentioned the the benefit of hindsight indeed but like how much hindsight indeed but like how much hindsight indeed but like how much borrowing does one do until it becomes borrowing does one do until it becomes borrowing does one do until it becomes more than just more than just more than just borrowing I'm not familiar with Scala I borrowing I'm not familiar with Scala I borrowing I'm not familiar with Scala I know that it also runs from the know that it also runs from the know that it also runs from the jvm uh but cotlin is fully interoperable

  4. jvm uh but cotlin is fully interoperable jvm uh but cotlin is fully interoperable with Java so you can actually run Java with Java so you can actually run Java with Java so you can actually run Java code mix and match or you can um code mix and match or you can um code mix and match or you can um automatically get the Java code automatically get the Java code automatically get the Java code translated into cotlin which is a big translated into cotlin which is a big translated into cotlin which is a big plus um for developers it saves a lot of plus um for developers it saves a lot of plus um for developers it saves a lot of time and you can directly import uh Java time and you can directly import uh Java time and you can directly import uh Java libraries right libraries right libraries right so I I believe that there is no point in so I I believe that there is no point in so I I believe that there is no point in Reinventing the wheels so uh you can get Reinventing the wheels so uh you can get Reinventing the wheels so uh you can get productive very quickly uh obviously uh productive very quickly uh obviously uh productive very quickly uh obviously uh the Java ecosystem is huge because you the Java ecosystem is huge because you the Java ecosystem is huge because you know it had 30 years of evolution and know it had 30 years of evolution and know it had 30 years of evolution and cotlin is just catch up um and and it is cotlin is just catch up um and and it is cotlin is just catch up um and and it is the the packages the libraries that are the the packages the libraries that are the the packages the libraries that are available are becoming richer more available are becoming richer more available are becoming richer more diverse over time um but it is obviously diverse over time um but it is obviously diverse over time um but it is obviously not as as resourceful know as Java but not as as resourceful know as Java but not as as resourceful know as Java but you can always you know rely on Java but you can always you know rely on Java but you can always you know rely on Java but cod in cotlin and that's that's one of cod in cotlin and that's that's one of cod in cotlin and that's that's one of the the benefits of uh the way cotlin the the benefits of uh the way cotlin the the benefits of uh the way cotlin has been created you know yeah the that has been created you know yeah the that has been created you know yeah the that interact interact uh interoperability interact interact uh interoperability interact interact uh interoperability that multi kind of multiplatform that multi kind of multiplatform that multi kind of multiplatform programming sharing also between jvm and programming sharing also between jvm and programming sharing also between jvm and JavaScript is really interesting I think JavaScript is really interesting I think JavaScript is really interesting I think it's surprising and worth noting that it's surprising and worth noting that it's surprising and worth noting that even though like the the first commit to even though like the the first commit to even though like the the first commit to cotlin was in 2010 the first staple cotlin was in 2010 the first staple cotlin was in 2010 the first staple release as your to your point was in release as your to your point was in release as your to your point was in 2016 it only took three years less than 2016 it only took three years less than 2016 it only took three years less than three years before Google says this is

  5. three years before Google says this is three years before Google says this is now the preferred language for for now the preferred language for for now the preferred language for for Android you want to do Android cotlands Android you want to do Android cotlands Android you want to do Android cotlands the language that's a that's quite a the language that's a that's quite a the language that's a that's quite a rise in just three years it impressed rise in just three years it impressed rise in just three years it impressed the right people people I would think so the right people people I would think so the right people people I would think so and that continues to be the case I and that continues to be the case I and that continues to be the case I believe kotlin's um Patron like jet believe kotlin's um Patron like jet believe kotlin's um Patron like jet Prince right and they um they are the Prince right and they um they are the Prince right and they um they are the owners of intelligy idea which is owners of intelligy idea which is owners of intelligy idea which is probably the most popular integrated probably the most popular integrated probably the most popular integrated development environment MH and it comes development environment MH and it comes development environment MH and it comes built in with cotlin you don't even have built in with cotlin you don't even have built in with cotlin you don't even have to download it separately and install it to download it separately and install it to download it separately and install it or configure it so it's how that easy it or configure it so it's how that easy it or configure it so it's how that easy it is you know to get started with klin and is you know to get started with klin and is you know to get started with klin and um they are trying um they are trying um they are trying to stay uh on top of things as far as to stay uh on top of things as far as to stay uh on top of things as far as Android development is Android development is Android development is concerned um and one of the uh concerned um and one of the uh concerned um and one of the uh limitations initially was uh a lack of a limitations initially was uh a lack of a limitations initially was uh a lack of a good uh framework for developing user good uh framework for developing user good uh framework for developing user interface the front end part of any web interface the front end part of any web interface the front end part of any web application or mobile you know application or mobile you know application or mobile you know or desktop application and initially um or desktop application and initially um or desktop application and initially um compose uh desktop was introduced as a compose uh desktop was introduced as a compose uh desktop was introduced as a as a tool for that and now it is uh as a tool for that and now it is uh as a tool for that and now it is uh morphing into uh what they call compose morphing into uh what they call compose morphing into uh what they call compose multiplatform so that uh you just end up multiplatform so that uh you just end up multiplatform so that uh you just end up you write your quod on it once but then you write your quod on it once but then you write your quod on it once but then you can run it on any platform you want

  6. you can run it on any platform you want you can run it on any platform you want and and it will be uh portable uh you and and it will be uh portable uh you and and it will be uh portable uh you know for that you were running your app know for that you were running your app know for that you were running your app on Windows or Linux or iOS on Windows or Linux or iOS on Windows or Linux or iOS uh so that's a big plus and as far as I uh so that's a big plus and as far as I uh so that's a big plus and as far as I know there is no comparable tool um know there is no comparable tool um know there is no comparable tool um which simplifies this uh technology which simplifies this uh technology which simplifies this uh technology stack for developing multiplatform app stack for developing multiplatform app stack for developing multiplatform app um that easily uh compos multiplatform um that easily uh compos multiplatform um that easily uh compos multiplatform is still evolving um is is pretty good is still evolving um is is pretty good is still evolving um is is pretty good for Android development or desktop for Android development or desktop for Android development or desktop development and there are production development and there are production development and there are production ready codes uh for those platforms for ready codes uh for those platforms for ready codes uh for those platforms for sure um they're also trying to I guess F sure um they're also trying to I guess F sure um they're also trying to I guess F tune for other platforms and add more tune for other platforms and add more tune for other platforms and add more functionalities as we as we go but functionalities as we as we go but functionalities as we as we go but Google's endorsement for Cene Still Google's endorsement for Cene Still Google's endorsement for Cene Still Remains and and and I think that will Remains and and and I think that will Remains and and and I think that will continue to drive uh is uh adoption continue to drive uh is uh adoption continue to drive uh is uh adoption among more and more you know developers among more and more you know developers among more and more you know developers uh I I looked up some stats and know uh I I looked up some stats and know uh I I looked up some stats and know just for the for information of the just for the for information of the just for the for information of the listeners listeners listeners that uh about 60% of the developers that uh about 60% of the developers that uh about 60% of the developers professional developers who work on professional developers who work on professional developers who work on Android type you know Android based apps Android type you know Android based apps Android type you know Android based apps they use cotlin and so we talking about they use cotlin and so we talking about they use cotlin and so we talking about literally thousands and thousands of literally thousands and thousands of literally thousands and thousands of developers here I I saw somewhere that developers here I I saw somewhere that developers here I I saw somewhere that cotlin has been develop um downloaded cotlin has been develop um downloaded cotlin has been develop um downloaded for more than 200,000 times um since his

  7. for more than 200,000 times um since his for more than 200,000 times um since his official release and and obviously that official release and and obviously that official release and and obviously that number is steadily uh increasing number is steadily uh increasing number is steadily uh increasing so it it is of even though it's the so it it is of even though it's the so it it is of even though it's the newest language um it has certainly newest language um it has certainly newest language um it has certainly found its found its found its footing hey friends for the next couple footing hey friends for the next couple footing hey friends for the next couple of episodes as I learn more about AI I'm of episodes as I learn more about AI I'm of episodes as I learn more about AI I'm going to take a moment in the middle of going to take a moment in the middle of going to take a moment in the middle of the show and chat with Lander vanor from the show and chat with Lander vanor from the show and chat with Lander vanor from Qualcomm I thought that Qualcomm was Qualcomm I thought that Qualcomm was Qualcomm I thought that Qualcomm was putting special herbs and spices and putting special herbs and spices and putting special herbs and spices and making things in the Silicon that are making things in the Silicon that are making things in the Silicon that are secret but all the great work that secret but all the great work that secret but all the great work that you're doing is in open- Source software you're doing is in open- Source software you're doing is in open- Source software how do you balance being an IP company how do you balance being an IP company how do you balance being an IP company and doing so much open source oh that's and doing so much open source oh that's and doing so much open source oh that's a great question uh open source isn't a great question uh open source isn't a great question uh open source isn't necessity nowadays right if you look at necessity nowadays right if you look at necessity nowadays right if you look at all these new businesses that were going all these new businesses that were going all these new businesses that were going in XR DC in XR DC in XR DC Auto uh iot right open source is the Auto uh iot right open source is the Auto uh iot right open source is the name of the game there and so we have to name of the game there and so we have to name of the game there and so we have to participate that doesn't mean that we're participate that doesn't mean that we're participate that doesn't mean that we're giving up all our secrets right there is giving up all our secrets right there is giving up all our secrets right there is still a lot of secret saws in how we still a lot of secret saws in how we still a lot of secret saws in how we Implement things but how you use it Implement things but how you use it Implement things but how you use it right how developers can use it that all right how developers can use it that all right how developers can use it that all needs to be open because again needs to be open because again needs to be open because again developers are the ones that make our developers are the ones that make our developers are the ones that make our platform valuable so we want to have platform valuable so we want to have platform valuable so we want to have them we want to give them every them we want to give them every them we want to give them every opportunity to use our platform and to opportunity to use our platform and to opportunity to use our platform and to enable for platform yeah and you all at enable for platform yeah and you all at enable for platform yeah and you all at qualcom are starting to show up in all qualcom are starting to show up in all qualcom are starting to show up in all of the spaces that developers are I see of the spaces that developers are I see of the spaces that developers are I see you in GitHub issues I see you in the

  8. you in GitHub issues I see you in the you in GitHub issues I see you in the discords they're out there the engineers discords they're out there the engineers discords they're out there the engineers from Qualcomm helping uh enable the from Qualcomm helping uh enable the from Qualcomm helping uh enable the these new tools uh on your s so's it's these new tools uh on your s so's it's these new tools uh on your s so's it's so amazing exactly participation is so so amazing exactly participation is so so amazing exactly participation is so important you can learn more about all important you can learn more about all important you can learn more about all the great stuff that's happening at the great stuff that's happening at the great stuff that's happening at Qualcomm at Qualcomm at Qualcomm at qualcomm.com qualcomm.com qualcomm.com developers I want to turn to your book developers I want to turn to your book developers I want to turn to your book because you point out that you know it's because you point out that you know it's because you point out that you know it's become the place that Android developers become the place that Android developers become the place that Android developers code it's most Android developers the code it's most Android developers the code it's most Android developers the plurality of them or majority of them plurality of them or majority of them plurality of them or majority of them are using cotlin it's a young language are using cotlin it's a young language are using cotlin it's a young language but it's become wildly uh successful you but it's become wildly uh successful you but it's become wildly uh successful you have written a near 400 page book on have written a near 400 page book on have written a near 400 page book on cotlin but the word Android only appears cotlin but the word Android only appears cotlin but the word Android only appears in your book maybe seven times and I in your book maybe seven times and I in your book maybe seven times and I think that what I like about your book think that what I like about your book think that what I like about your book uh cotlin from scratch is that you uh cotlin from scratch is that you uh cotlin from scratch is that you didn't go in and say Here's a language didn't go in and say Here's a language didn't go in and say Here's a language you can use to make Android apps it's you can use to make Android apps it's you can use to make Android apps it's it's it's almost it's very professorial it's it's almost it's very professorial it's it's almost it's very professorial because you're saying here is a because you're saying here is a because you're saying here is a legitimate programming language and I legitimate programming language and I legitimate programming language and I want to talk to you about about solving want to talk to you about about solving want to talk to you about about solving interesting Math and Science problems interesting Math and Science problems interesting Math and Science problems with code 400 Pages you mention Android with code 400 Pages you mention Android with code 400 Pages you mention Android a half dozen times was that a conscious a half dozen times was that a conscious a half dozen times was that a conscious decision because you could have just decision because you could have just decision because you could have just said hello world in cotland is an said hello world in cotland is an said hello world in cotland is an Android application and you you did not Android application and you you did not Android application and you you did not do do do that yes I have to perhaps go back to that yes I have to perhaps go back to that yes I have to perhaps go back to the in know notion of how I came up with the in know notion of how I came up with the in know notion of how I came up with the idea you know of writing this book

  9. the idea you know of writing this book the idea you know of writing this book originally I was should I say impr ated originally I was should I say impr ated originally I was should I say impr ated with the idea of writing a book um about with the idea of writing a book um about with the idea of writing a book um about problem solving that was my original problem solving that was my original problem solving that was my original intention perhaps on say computational intention perhaps on say computational intention perhaps on say computational thinking because throughout my career uh thinking because throughout my career uh thinking because throughout my career uh you know being an engineer I I used you know being an engineer I I used you know being an engineer I I used coding to solve real world problems and coding to solve real world problems and coding to solve real world problems and I've learned a lot and I wanted to share I've learned a lot and I wanted to share I've learned a lot and I wanted to share some of my experiences and programming some of my experiences and programming some of my experiences and programming to me is a tool like a programming to me is a tool like a programming to me is a tool like a programming language is a tool and if you are language is a tool and if you are language is a tool and if you are working on the frontier years of of um working on the frontier years of of um working on the frontier years of of um knowledge you know uh sometimes you have knowledge you know uh sometimes you have knowledge you know uh sometimes you have to develop your own tool because you to develop your own tool because you to develop your own tool because you know you're the first one to quote know you're the first one to quote know you're the first one to quote something and and see how it works uh so something and and see how it works uh so something and and see how it works uh so I I I was um decided I decided to write that was um decided I decided to write that was um decided I decided to write that book and I was thinking about which book and I was thinking about which book and I was thinking about which language to choose I was thinking about language to choose I was thinking about language to choose I was thinking about python because uh that's easy to use and python because uh that's easy to use and python because uh that's easy to use and it's quite Universal and so on and so it's quite Universal and so on and so it's quite Universal and so on and so forth it has a rich library and then I forth it has a rich library and then I forth it has a rich library and then I as I me mentioned before I came to learn as I me mentioned before I came to learn as I me mentioned before I came to learn about cly and I thought wow wouldn't it about cly and I thought wow wouldn't it about cly and I thought wow wouldn't it be nice to actually use this brand new be nice to actually use this brand new be nice to actually use this brand new language and show that in addition to language and show that in addition to language and show that in addition to developing Android apps you know it has developing Android apps you know it has developing Android apps you know it has so many great features uh those can be so many great features uh those can be so many great features uh those can be used by anyone you know uh beyond the used by anyone you know uh beyond the used by anyone you know uh beyond the professional developers or computer professional developers or computer professional developers or computer science students there is a large group science students there is a large group science students there is a large group of uh uh individuals who do coding uh

  10. of uh uh individuals who do coding uh of uh uh individuals who do coding uh for other reasons right um academic for other reasons right um academic for other reasons right um academic reason for research and I wanted to and reason for research and I wanted to and reason for research and I wanted to and I belong to that group primarily I'm not I belong to that group primarily I'm not I belong to that group primarily I'm not a professional developer and I wanted to a professional developer and I wanted to a professional developer and I wanted to uh uh convey this this message to them uh uh convey this this message to them uh uh convey this this message to them that if you're thinking about learning a that if you're thinking about learning a that if you're thinking about learning a new language Why not start with cotlin new language Why not start with cotlin new language Why not start with cotlin and it will give you all the all the and it will give you all the all the and it will give you all the all the features you need your learning curve features you need your learning curve features you need your learning curve will be actually probably much more will be actually probably much more will be actually probably much more friendlier than learning Plus+ or friendlier than learning Plus+ or friendlier than learning Plus+ or learning um you know a fully learning um you know a fully learning um you know a fully objectoriented language and and you have objectoriented language and and you have objectoriented language and and you have all the features you need you can do all the features you need you can do all the features you need you can do data visualization you can do you know data visualization you can do you know data visualization you can do you know data data data analysis uh you can do machine learning analysis uh you can do machine learning analysis uh you can do machine learning all of that some of those libraries are all of that some of those libraries are all of that some of those libraries are being ported to cete nowadays so that being ported to cete nowadays so that being ported to cete nowadays so that was the reason to to combine the two and was the reason to to combine the two and was the reason to to combine the two and I clarify this in in the introductory I clarify this in in the introductory I clarify this in in the introductory section of my book that this is not a section of my book that this is not a section of my book that this is not a Tex textbook on on cotlin is not a Tex textbook on on cotlin is not a Tex textbook on on cotlin is not a reference reference manual uh is not reference reference manual uh is not reference reference manual uh is not also uh a textbook on say modeling and also uh a textbook on say modeling and also uh a textbook on say modeling and simulation um but it is essentially simulation um but it is essentially simulation um but it is essentially about how to solve problems about how to solve problems about how to solve problems systematically using coding as a tool systematically using coding as a tool systematically using coding as a tool and that's that's that was my focus and and that's that's that was my focus and and that's that's that was my focus and I chose codin because it's such an I chose codin because it's such an I chose codin because it's such an exciting new exciting new exciting new Lang that's really well said was it Lang that's really well said was it Lang that's really well said was it challenging to find that voice because

  11. challenging to find that voice because challenging to find that voice because like you you know what it's not and and like you you know what it's not and and like you you know what it's not and and you know what you didn't want to do but you know what you didn't want to do but you know what you didn't want to do but there's there is also you know there's there's there is also you know there's there's there is also you know there's there's a the part two goes directly there's a the part two goes directly there's a the part two goes directly into mathematics it it does have an into mathematics it it does have an into mathematics it it does have an academic bent but it doesn't feel academic bent but it doesn't feel academic bent but it doesn't feel inaccessible I would recommend this to a inaccessible I would recommend this to a inaccessible I would recommend this to a beginner I wouldn't feel that this is a beginner I wouldn't feel that this is a beginner I wouldn't feel that this is a 400 level book that must have been hard 400 level book that must have been hard 400 level book that must have been hard to find that balance as an academic and to find that balance as an academic and to find that balance as an academic and a professional definitely definitely I a professional definitely definitely I a professional definitely definitely I mean I tried to because of my mean I tried to because of my mean I tried to because of my educational background you know I I educational background you know I I educational background you know I I tried to uh demystify some of the tried to uh demystify some of the tried to uh demystify some of the concepts that are introduced in this concepts that are introduced in this concepts that are introduced in this book if you go beyond um the the section book if you go beyond um the the section book if you go beyond um the the section on math and science there is a section on math and science there is a section on math and science there is a section on recursion s searching and sorting on recursion s searching and sorting on recursion s searching and sorting which is kind of mainstream computer which is kind of mainstream computer which is kind of mainstream computer science type topic but it also deals science type topic but it also deals science type topic but it also deals with um exciting topics such as with um exciting topics such as with um exciting topics such as fractals um and then I you know go into fractals um and then I you know go into fractals um and then I you know go into optimization heris stics and all of that optimization heris stics and all of that optimization heris stics and all of that but I have tried to do that without but I have tried to do that without but I have tried to do that without using advanced mathematics I mention it using advanced mathematics I mention it using advanced mathematics I mention it that you only need High School level that you only need High School level that you only need High School level math you don't need calculus I explained math you don't need calculus I explained math you don't need calculus I explained the concepts or at least have tried to the concepts or at least have tried to the concepts or at least have tried to explain the concepts in plain language explain the concepts in plain language explain the concepts in plain language and Visually uh when when applicable uh and Visually uh when when applicable uh and Visually uh when when applicable uh but the important part is that when you but the important part is that when you but the important part is that when you solve a problem a real problem not a solve a problem a real problem not a solve a problem a real problem not a fictitious problem you you can see how fictitious problem you you can see how fictitious problem you you can see how the algorithm works and that helps

  12. the algorithm works and that helps the algorithm works and that helps with understanding uh and learning way with understanding uh and learning way with understanding uh and learning way better than just uh solving uh a madeup better than just uh solving uh a madeup better than just uh solving uh a madeup problem for example so that that has problem for example so that that has problem for example so that that has been my approach it was challenging been my approach it was challenging been my approach it was challenging because um you know my publisher no because um you know my publisher no because um you know my publisher no starch uh press they tout their books as starch uh press they tout their books as starch uh press they tout their books as providing the finest in Geek providing the finest in Geek providing the finest in Geek Entertainment so the books have to be Entertainment so the books have to be Entertainment so the books have to be entertaining or intriguing or has to entertaining or intriguing or has to entertaining or intriguing or has to have an to curious minds so that aspect have an to curious minds so that aspect have an to curious minds so that aspect I believe I have been able to I believe I have been able to I believe I have been able to incorporate by uh you know adopting this incorporate by uh you know adopting this incorporate by uh you know adopting this project based approach so once you have project based approach so once you have project based approach so once you have read the first two or three chapters read the first two or three chapters read the first two or three chapters that talk about the core features of the that talk about the core features of the that talk about the core features of the language uh and the examples are still language uh and the examples are still language uh and the examples are still fairly fairly fairly realistic uh beyond realistic uh beyond realistic uh beyond that you can read the book in any order that you can read the book in any order that you can read the book in any order you want because they are fairly you want because they are fairly you want because they are fairly independent even though the complexity independent even though the complexity independent even though the complexity gradually increases uh as you go through gradually increases uh as you go through gradually increases uh as you go through the the the chapters yeah I I appreciate that you chapters yeah I I appreciate that you chapters yeah I I appreciate that you can bounce around between the four major can bounce around between the four major can bounce around between the four major parts in those nine chapters although parts in those nine chapters although parts in those nine chapters although but it it did feel appropriately linear but it it did feel appropriately linear but it it did feel appropriately linear to me and I appreciated that you very to me and I appreciated that you very to me and I appreciated that you very quickly got into visualizations because quickly got into visualizations because quickly got into visualizations because I am finding with the new generation and I am finding with the new generation and I am finding with the new generation and with early in career and younger with early in career and younger with early in career and younger developers uh being entertained at the developers uh being entertained at the developers uh being entertained at the command line only lasts so long so being command line only lasts so long so being command line only lasts so long so being able to paint something all right

  13. able to paint something all right able to paint something all right quickly let's let's visualize with Java quickly let's let's visualize with Java quickly let's let's visualize with Java FX and let's start drawing fractals uh FX and let's start drawing fractals uh FX and let's start drawing fractals uh becomes very fun I also thought it was becomes very fun I also thought it was becomes very fun I also thought it was worth pointing out that there's so many worth pointing out that there's so many worth pointing out that there's so many books where there's a bit of pros and books where there's a bit of pros and books where there's a bit of pros and then three pages of code it seems like then three pages of code it seems like then three pages of code it seems like you consciously tried to make the code you consciously tried to make the code you consciously tried to make the code digestible in chunks so that I never digestible in chunks so that I never digestible in chunks so that I never felt like I was looking at more than a felt like I was looking at more than a felt like I was looking at more than a half half half page where in other books you'll find page where in other books you'll find page where in other books you'll find that you'll be going through two or that you'll be going through two or that you'll be going through two or three pages and I'm expected to Simply three pages and I'm expected to Simply three pages and I'm expected to Simply absorb or ingest two three pages of code absorb or ingest two three pages of code absorb or ingest two three pages of code were were you were were you were were you consciously delivering chunks of code as consciously delivering chunks of code as consciously delivering chunks of code as in as a way of being more uh inclusive in as a way of being more uh inclusive in as a way of being more uh inclusive to your to your to your audience absolutely and it goes back to audience absolutely and it goes back to audience absolutely and it goes back to my original intention of introducing the my original intention of introducing the my original intention of introducing the idea of computational thinking where you idea of computational thinking where you idea of computational thinking where you again you know you're trying to solve a again you know you're trying to solve a again you know you're trying to solve a problem not just coding for the sake of problem not just coding for the sake of problem not just coding for the sake of coding right so how do you solve a coding right so how do you solve a coding right so how do you solve a problem problem first of all you have to problem problem first of all you have to problem problem first of all you have to define the problem very precisely define the problem very precisely define the problem very precisely sometimes you try to solve the wrong sometimes you try to solve the wrong sometimes you try to solve the wrong problem where you jump too fast and then problem where you jump too fast and then problem where you jump too fast and then realize no this is not really what I was realize no this is not really what I was realize no this is not really what I was supposed to do uh you know to find the supposed to do uh you know to find the supposed to do uh you know to find the boundaries but then break it down boundaries but then break it down boundaries but then break it down decompose the problem into smaller decompose the problem into smaller decompose the problem into smaller chunks uh you know into sub problems and chunks uh you know into sub problems and chunks uh you know into sub problems and then think about how to solve each of then think about how to solve each of then think about how to solve each of the small pieces and then put them back the small pieces and then put them back the small pieces and then put them back together to solve the bigger problem together to solve the bigger problem together to solve the bigger problem right so this is how I discuss the code right so this is how I discuss the code right so this is how I discuss the code I I actually solve the problem by

  14. I I actually solve the problem by I I actually solve the problem by breaking it down into smaller junks and breaking it down into smaller junks and breaking it down into smaller junks and then I discuss the the corresponding then I discuss the the corresponding then I discuss the the corresponding code segment and then you see the whole code segment and then you see the whole code segment and then you see the whole picture then you see the output and and picture then you see the output and and picture then you see the output and and the the the visualization yeah that's really cool visualization yeah that's really cool visualization yeah that's really cool and then is it because of your academic and then is it because of your academic and then is it because of your academic background in fact you you you are a background in fact you you you are a background in fact you you you are a doctor your PhD that I appreciate books doctor your PhD that I appreciate books doctor your PhD that I appreciate books that have resources and footnotes at the that have resources and footnotes at the that have resources and footnotes at the end and you you you provided even more end and you you you provided even more end and you you you provided even more books that I can go and read like I'm books that I can go and read like I'm books that I can go and read like I'm looking at some resources and I I looking at some resources and I I looking at some resources and I I recognize names of people like Charles recognize names of people like Charles recognize names of people like Charles petsel you called out his book code petsel you called out his book code petsel you called out his book code which is just a wonderful wonderful which is just a wonderful wonderful which is just a wonderful wonderful example um is that because as an example um is that because as an example um is that because as an academic you were taught to always academic you were taught to always academic you were taught to always include those resources in those include those resources in those include those resources in those footnotes I don't know if that's because footnotes I don't know if that's because footnotes I don't know if that's because of my academic background obviously I'm of my academic background obviously I'm of my academic background obviously I'm not writing you know Journal articles not writing you know Journal articles not writing you know Journal articles which I did when I was a full-time which I did when I was a full-time which I did when I was a full-time academic but uh I tried to provide um academic but uh I tried to provide um academic but uh I tried to provide um references that are of historic references that are of historic references that are of historic importance or that are well recognized importance or that are well recognized importance or that are well recognized you know within a certain uh context so you know within a certain uh context so you know within a certain uh context so if if you're going into coding then you if if you're going into coding then you if if you're going into coding then you need to at some point think about what need to at some point think about what need to at some point think about what does it mean to you know uh Write Clean does it mean to you know uh Write Clean does it mean to you know uh Write Clean code uh and what are some of the dos and code uh and what are some of the dos and code uh and what are some of the dos and don'ts you know um and if you want to be don'ts you know um and if you want to be don'ts you know um and if you want to be a professional coder at some point you a professional coder at some point you a professional coder at some point you have to think about design patterns you have to think about design patterns you have to think about design patterns you have to think about you know data

  15. have to think about you know data have to think about you know data structures and algorithms so I tried to structures and algorithms so I tried to structures and algorithms so I tried to include selectively I'm very selective include selectively I'm very selective include selectively I'm very selective but you know include some references but you know include some references but you know include some references that um I think will be helpful as far that um I think will be helpful as far that um I think will be helpful as far the reading if someone wanted to dive the reading if someone wanted to dive the reading if someone wanted to dive deeper um one other thing I wanted to deeper um one other thing I wanted to deeper um one other thing I wanted to give you a compliment about because I've give you a compliment about because I've give you a compliment about because I've read a million books that are computer read a million books that are computer read a million books that are computer books and they all go about this books and they all go about this books and they all go about this differently but I think you've maybe differently but I think you've maybe differently but I think you've maybe this is a no star thing or maybe this is this is a no star thing or maybe this is this is a no star thing or maybe this is a Dr Islam thing but you would do little a Dr Islam thing but you would do little a Dr Islam thing but you would do little circles with a number that are basically circles with a number that are basically circles with a number that are basically references within a page itself where references within a page itself where references within a page itself where you would label arbitrarily a for Loop you would label arbitrarily a for Loop you would label arbitrarily a for Loop or a function or the beginning of or a function or the beginning of or a function or the beginning of another round within a for Loop and then another round within a for Loop and then another round within a for Loop and then refer to it and it it made it it it's a refer to it and it it made it it it's a refer to it and it it made it it it's a way of reading linearly but thinking way of reading linearly but thinking way of reading linearly but thinking nonlinearly that I found to be very nonlinearly that I found to be very nonlinearly that I found to be very Innovative and I'm curious if that's a Innovative and I'm curious if that's a Innovative and I'm curious if that's a you thing or where you found that and if you thing or where you found that and if you thing or where you found that and if you could talk about that a little bit you could talk about that a little bit you could talk about that a little bit this credit goes to no star I think this this credit goes to no star I think this this credit goes to no star I think this is the convention they use um which is is the convention they use um which is is the convention they use um which is um is quite um helpful reader friendly I um is quite um helpful reader friendly I um is quite um helpful reader friendly I would say I mean I do own quite a few of would say I mean I do own quite a few of would say I mean I do own quite a few of their books that I read um previously their books that I read um previously their books that I read um previously before actually submitting my own before actually submitting my own before actually submitting my own proposal but I am font of their books proposal but I am font of their books proposal but I am font of their books and I when I had the proposal ready and I when I had the proposal ready and I when I had the proposal ready they're the only publisher I approached they're the only publisher I approached they're the only publisher I approached and and they accepted my proposal and and they accepted my proposal and and they accepted my proposal uh but there are various ways of doing uh but there are various ways of doing uh but there are various ways of doing it like there are books where you would it like there are books where you would it like there are books where you would see line numbers right on the left hand

  16. see line numbers right on the left hand see line numbers right on the left hand side and then you can refer to line side and then you can refer to line side and then you can refer to line numbers if you want to explain something numbers if you want to explain something numbers if you want to explain something uh but this way it is easier but it's uh but this way it is easier but it's uh but this way it is easier but it's difficult when you type the book though difficult when you type the book though difficult when you type the book though right you have to actually use certain right you have to actually use certain right you have to actually use certain certain you know macros to insert those certain you know macros to insert those certain you know macros to insert those circles in your in your text so it's a circles in your in your text so it's a circles in your in your text so it's a bit laborious for a writer because at bit laborious for a writer because at bit laborious for a writer because at some point you have to use the template some point you have to use the template some point you have to use the template but for the reason it it helps yeah well but for the reason it it helps yeah well but for the reason it it helps yeah well I I I appreciate that you acknowledged I I I appreciate that you acknowledged I I I appreciate that you acknowledged that it is laborious and it caused you a that it is laborious and it caused you a that it is laborious and it caused you a bit no no small amount of pain but I bit no no small amount of pain but I bit no no small amount of pain but I hope by mentioning it uh to you that you hope by mentioning it uh to you that you hope by mentioning it uh to you that you note that like it is appreciated it is note that like it is appreciated it is note that like it is appreciated it is noticed and it makes for a more a more noticed and it makes for a more a more noticed and it makes for a more a more fluent book and it made the book very fluent book and it made the book very fluent book and it made the book very digestible uh and easier to to make digestible uh and easier to to make digestible uh and easier to to make one's way one's way one's way through where do you see uh cotland through where do you see uh cotland through where do you see uh cotland going in the academic space you've done going in the academic space you've done going in the academic space you've done work in C and Java and pyth python you work in C and Java and pyth python you work in C and Java and pyth python you have discovered it sounds like from your have discovered it sounds like from your have discovered it sounds like from your tone of voice that cotland is now your tone of voice that cotland is now your tone of voice that cotland is now your favorite you found the language that is favorite you found the language that is favorite you found the language that is your language are you going to stick your language are you going to stick your language are you going to stick with it and continue to kind of spread with it and continue to kind of spread with it and continue to kind of spread the word about cotland as a language to the word about cotland as a language to the word about cotland as a language to everyone I certainly hope so you know everyone I certainly hope so you know everyone I certainly hope so you know and it partly depends and it's not about and it partly depends and it's not about and it partly depends and it's not about me adopting cing or continuing to use it me adopting cing or continuing to use it me adopting cing or continuing to use it but how successful cotlin will be among but how successful cotlin will be among but how successful cotlin will be among the uh being adopted by the academic of the uh being adopted by the academic of the uh being adopted by the academic of research Community it partly depends research Community it partly depends research Community it partly depends on uh one or or a couple of factors

  17. on uh one or or a couple of factors on uh one or or a couple of factors first cotlin needs to have its own first cotlin needs to have its own first cotlin needs to have its own visualization tool you know like if you visualization tool you know like if you visualization tool you know like if you know in Python you have M plot leave in know in Python you have M plot leave in know in Python you have M plot leave in Java you have Java FX or other third Java you have Java FX or other third Java you have Java FX or other third party tools uh Kling is compatible with party tools uh Kling is compatible with party tools uh Kling is compatible with Java and that's why I use Java f as a Java and that's why I use Java f as a Java and that's why I use Java f as a mature tool and it allowed me to do mature tool and it allowed me to do mature tool and it allowed me to do everything but Java effect is not everything but Java effect is not everything but Java effect is not necessarily the State ofth art in terms necessarily the State ofth art in terms necessarily the State ofth art in terms of um the visual style for example right of um the visual style for example right of um the visual style for example right some of some of his features may look a some of some of his features may look a some of some of his features may look a bit dated uh and if you I I also tried bit dated uh and if you I I also tried bit dated uh and if you I I also tried Julia for example which has great Julia for example which has great Julia for example which has great integration with some of the visual integration with some of the visual integration with some of the visual tools visual libraries so someone needs tools visual libraries so someone needs tools visual libraries so someone needs to make sure that similar features are to make sure that similar features are to make sure that similar features are available in cotlin I know that cotlin available in cotlin I know that cotlin available in cotlin I know that cotlin uh multiplatform or compose uh multiplatform or compose uh multiplatform or compose multiplatform they have tools for uh web multiplatform they have tools for uh web multiplatform they have tools for uh web applications which can be used uh for applications which can be used uh for applications which can be used uh for graphics as well um I haven't tried that graphics as well um I haven't tried that graphics as well um I haven't tried that so I I I don't know exactly how ready so I I I don't know exactly how ready so I I I don't know exactly how ready they are so that's one thing and the they are so that's one thing and the they are so that's one thing and the other thing is you know uh currently other thing is you know uh currently other thing is you know uh currently there is a lot of whether you call it there is a lot of whether you call it there is a lot of whether you call it hyperin in artificial intelligence and hyperin in artificial intelligence and hyperin in artificial intelligence and machine learning and and cartly needs to machine learning and and cartly needs to machine learning and and cartly needs to make it easy for researchers to do uh make it easy for researchers to do uh make it easy for researchers to do uh large scale Data Mining and you know large scale Data Mining and you know large scale Data Mining and you know data analysis and and machine learning

  18. data analysis and and machine learning data analysis and and machine learning type type type experimentation experimentation experimentation um I understand they have ported tensor um I understand they have ported tensor um I understand they have ported tensor flow for example for for codling but flow for example for for codling but flow for example for for codling but there are lots of other tools that are there are lots of other tools that are there are lots of other tools that are available uh in Java or in Python so available uh in Java or in Python so available uh in Java or in Python so that is to be seen But if you're just a that is to be seen But if you're just a that is to be seen But if you're just a casual programmer and want to play with casual programmer and want to play with casual programmer and want to play with you know your own little you know you know your own little you know you know your own little you know experimental problems or just your own experimental problems or just your own experimental problems or just your own little research project cotlin has more little research project cotlin has more little research project cotlin has more than enough features already so that than enough features already so that than enough features already so that that shouldn't be a concern and you will that shouldn't be a concern and you will that shouldn't be a concern and you will not feel constrained by uh um the not feel constrained by uh um the not feel constrained by uh um the limitations of a strictly objectoriented limitations of a strictly objectoriented limitations of a strictly objectoriented language language language or even python which is very which is uh or even python which is very which is uh or even python which is very which is uh you know very easy to learn but could be you know very easy to learn but could be you know very easy to learn but could be very error prone in some cases uh very error prone in some cases uh very error prone in some cases uh because it's dynamically typed and so on because it's dynamically typed and so on because it's dynamically typed and so on uh so I I see a great potential whether uh so I I see a great potential whether uh so I I see a great potential whether it will materialize or not I don't know it will materialize or not I don't know it will materialize or not I don't know but I am continuing to to answer thir but I am continuing to to answer thir but I am continuing to to answer thir part of question I have the intention to part of question I have the intention to part of question I have the intention to continue to write about Cene and I am continue to write about Cene and I am continue to write about Cene and I am contributing um like articles on medium contributing um like articles on medium contributing um like articles on medium medium.com uh on cotlin and application medium.com uh on cotlin and application medium.com uh on cotlin and application of cotlin and Java FX and you know of cotlin and Java FX and you know of cotlin and Java FX and you know solving other problems uh I have the solving other problems uh I have the solving other problems uh I have the intention to actually solve some of the

  19. intention to actually solve some of the intention to actually solve some of the exercise of practice problems from the exercise of practice problems from the exercise of practice problems from the book and there are 37 projects each of book and there are 37 projects each of book and there are 37 projects each of those have a corresponding exercise and those have a corresponding exercise and those have a corresponding exercise and then there are other independent then there are other independent then there are other independent exercises so if I solve them all it will exercises so if I solve them all it will exercises so if I solve them all it will be another 400 pages so I cannot be another 400 pages so I cannot be another 400 pages so I cannot obviously uh add a solution at the end obviously uh add a solution at the end obviously uh add a solution at the end of the book but some of the solutions of the book but some of the solutions of the book but some of the solutions will be available on medium going will be available on medium going will be available on medium going forward so that way I will continue to forward so that way I will continue to forward so that way I will continue to showcase the the the potential of this showcase the the the potential of this showcase the the the potential of this language or the the beauty of this language or the the beauty of this language or the the beauty of this language yeah that would be very fun to language yeah that would be very fun to language yeah that would be very fun to continue to follow that and also build a continue to follow that and also build a continue to follow that and also build a community around your book yes and it is community around your book yes and it is community around your book yes and it is worth pointing out and hitting that worth pointing out and hitting that worth pointing out and hitting that point again that you've got 37 projects point again that you've got 37 projects point again that you've got 37 projects that are real world projects project that are real world projects project that are real world projects project number 12 as an example is a really fun number 12 as an example is a really fun number 12 as an example is a really fun one where you're calculating Earth's one where you're calculating Earth's one where you're calculating Earth's circumference the r uh you know the circumference the r uh you know the circumference the r uh you know the Ancients did it uh which is an Ancients did it uh which is an Ancients did it uh which is an interesting problem a hard problem but interesting problem a hard problem but interesting problem a hard problem but you know still high school math so it's you know still high school math so it's you know still high school math so it's an accessible problem that's available an accessible problem that's available an accessible problem that's available uh you know for for anyone those kinds uh you know for for anyone those kinds uh you know for for anyone those kinds of things the code is all there some of of things the code is all there some of of things the code is all there some of it left as an exercise to the reader and it left as an exercise to the reader and it left as an exercise to the reader and some of it of course we'll be able to some of it of course we'll be able to some of it of course we'll be able to read on your on your medium so folks can read on your on your medium so folks can read on your on your medium so folks can find you on social media uh when they go find you on social media uh when they go find you on social media uh when they go and uh they can pick this book up at and uh they can pick this book up at and uh they can pick this book up at Amazon it's available for pre-order both Amazon it's available for pre-order both Amazon it's available for pre-order both in paperback and on Kindle and then if in paperback and on Kindle and then if in paperback and on Kindle and then if folks had to no star.com folks had to no star.com folks had to no star.com uh I'm not sure how long this will last uh I'm not sure how long this will last uh I'm not sure how long this will last but there is a coupon code for 25% off but there is a coupon code for 25% off but there is a coupon code for 25% off uh coupon code pre-order that folks can uh coupon code pre-order that folks can uh coupon code pre-order that folks can check out for that uh the printbook and check out for that uh the printbook and check out for that uh the printbook and get Early Access because uh perhaps by get Early Access because uh perhaps by get Early Access because uh perhaps by the time this podcast has come out the

  20. the time this podcast has come out the the time this podcast has come out the book will be available everywhere which book will be available everywhere which book will be available everywhere which is exciting you must be very proud I am is exciting you must be very proud I am is exciting you must be very proud I am I'm relieved also that this has been a I'm relieved also that this has been a I'm relieved also that this has been a project um in the making for the last uh project um in the making for the last uh project um in the making for the last uh two and a half years almost you know two and a half years almost you know two and a half years almost you know writing a book from beginning to end is writing a book from beginning to end is writing a book from beginning to end is the process and and and producing a book the process and and and producing a book the process and and and producing a book is not just writing it but also as you is not just writing it but also as you is not just writing it but also as you know editing and and distribution and know editing and and distribution and know editing and and distribution and marketing I I was not aware of that side marketing I I was not aware of that side marketing I I was not aware of that side of uh this industry uh uh so uh next of uh this industry uh uh so uh next of uh this industry uh uh so uh next time I decide to write a book I will time I decide to write a book I will time I decide to write a book I will definitely uh think twice before definitely uh think twice before definitely uh think twice before committing um but let's see how it goes committing um but let's see how it goes committing um but let's see how it goes yeah well you they always say that if yeah well you they always say that if yeah well you they always say that if you write a computer book uh you won't you write a computer book uh you won't you write a computer book uh you won't get rich uh but you will have fun uh I'm get rich uh but you will have fun uh I'm get rich uh but you will have fun uh I'm sure it comes out to about $4 an hour sure it comes out to about $4 an hour sure it comes out to about $4 an hour for the hard work that you've done over for the hard work that you've done over for the hard work that you've done over the last several years yes obviously the last several years yes obviously the last several years yes obviously money was not the incentive but uh uh it money was not the incentive but uh uh it money was not the incentive but uh uh it it was a great a lot of fun for me for it was a great a lot of fun for me for it was a great a lot of fun for me for sure yeah and it was a lot of fun to sure yeah and it was a lot of fun to sure yeah and it was a lot of fun to read folks can check out cotlin from read folks can check out cotlin from read folks can check out cotlin from scratch a project-based introduction for scratch a project-based introduction for scratch a project-based introduction for the Intrepid programmer by Dr fezal the Intrepid programmer by Dr fezal the Intrepid programmer by Dr fezal Islam we've been chatting with him today Islam we've been chatting with him today Islam we've been chatting with him today on this episode of Hansel minutes and on this episode of Hansel minutes and on this episode of Hansel minutes and we'll see you again next week we'll see you again next week we'll see you again next week a

Summary

This transcript discusses the programming language Kotlin, referencing its origins in the Java Virtual Machine era and its relative newness compared to established languages like Java and Python. The practical takeaway is that Kotlin benefits from hindsight, incorporating the best features of prior languages to offer a modern, efficient programming experience.

View original episode ↗