Why Kotlin Is The Best Language (to use with htmx)

  Рет қаралды 119,829

ThePrimeTime

ThePrimeTime

Күн бұрын

Recorded live on twitch, GET IN
/ theprimeagen
Become a backend engineer. Its my favorite site
boot.dev/?prom...
This is also the best way to support me is to support yourself becoming a better backend engineer.
MY MAIN YT CHANNEL: Has well edited engineering videos
/ theprimeagen
Discord
/ discord
Have something for me to read or react to?: / theprimeagenreact
Kinesis Advantage 360: bit.ly/Prime-K...
Hey I am sponsored by Turso, an edge database. I think they are pretty neet. Give them a try for free and if you want you can get a decent amount off (the free tier is the best (better than planetscale or any other))
turso.tech/dee...

Пікірлер: 581
@tom-delalande
@tom-delalande 7 ай бұрын
hey thats me! I'm a huge fan, thank you so much for posting this
@Z4KIUS
@Z4KIUS 7 ай бұрын
you definitely want to put proper hrefs in navigation in case someone middle or ctrl or whatever clicks these links
@Septumsempra8818
@Septumsempra8818 7 ай бұрын
Use a compressor on your vocals and maybe a denoiser. If you use Logic or any DAW it'll do this for you in 2clicks. P.s. the GoLang Goons is coming for you
@vikingthedude
@vikingthedude 7 ай бұрын
So is Levi your evil twin or somethin?
@chigozie123
@chigozie123 7 ай бұрын
​@vikingthedude bro went incognito mode as soon as he got the spotlight. Haha
@KuroKazeZX
@KuroKazeZX 7 ай бұрын
as they often say, tom's a genius-- tbh tho, im happy you got prime to see the joys of kotlin. but once he finds out about the error and throwing situation in kotlin, that you can pretty much ignore errors like js, he might be meh about it
@kyay10
@kyay10 7 ай бұрын
There's no need to write this on your own, but you absolutely can. This is a first-party library from kotlinx-html, but you can easily define custom elements with whatever methods you want and it all works out nicely
@tom-delalande
@tom-delalande 7 ай бұрын
Yea it frustrates me that I didn't make this point clear. It's all included in the library, but you can also build on top of it very easily
@kyay10
@kyay10 7 ай бұрын
@@tom-delalande great video btw man! Watching the second one rn. This is inspiring me to start making content because Kotlin really is slept on
@007arek
@007arek 7 ай бұрын
@@kyay10 kotlinx-html is slow I think htmlFlow is a better alternative, but not native.
@wolfeygamedev1688
@wolfeygamedev1688 7 ай бұрын
@@Microphunktv-jb3kj React andy
@giuliopimenoff
@giuliopimenoff 7 ай бұрын
dudeeee I've always wanted prime to look at kotlin, this feels so good haha I remember you commenting about kotlin on so many vids xD
@ProNoob109
@ProNoob109 7 ай бұрын
kotlin mentioned let's gooooooo
@fuzzy-02
@fuzzy-02 7 ай бұрын
Learning Kotlin and Jetpack Compose after being taught Java and XML in Uni gor movile dev was like entering a cooled Mall in an arid desert
@justinsmith3981
@justinsmith3981 7 ай бұрын
What's SwiftUI then? A hotel on the lunar surface?
@HoussamElbadissi
@HoussamElbadissi 7 ай бұрын
@@justinsmith3981 xD Both are really awesome!
@y00t00b3r
@y00t00b3r 7 ай бұрын
gor movile dev! gor movile dev! gor movile dev!
@ScienceAfterDark
@ScienceAfterDark 7 ай бұрын
Meanwhile, old school Java is like entering a fleabag motel in Beverly Hills.
@CentreMetre
@CentreMetre 7 ай бұрын
100% agree, just started doing the same. Way better than Java awt/swing
@lengors7327
@lengors7327 7 ай бұрын
Also, as someone who was forced into learning kotlin (not for this use case tho), at first I wasn't very enthusiastic about it. But the more you learn the language features and the nice to haves it has, you just end up falling in love imo. The abstraction addiction is a real problem but at the same time it just starts to feel like you are making art 😅
@ceigey-au
@ceigey-au 7 ай бұрын
Even at risk of abstraction hell it also just gives you everything you need too. Like optional properties out of order + when expressions + sealed classes + overloading + a decent way to negate the is operator. Then I go back to TypeScript and I just want to cry. But everything else at work uses TypeScript so at least it’s consistent. But TypeScript makes abstraction hell worse. The type system is too damn powerful for its own good (seriously guys, nominal types and macros with static annotations would help a lot and remove off a lot of anti patterns!) and JS just lacks some basic QoL requirements. I’m writing TypeScript like it’s the early days intentionally to avoid the temptation of some sort of property mapping madness.
@IvanKravarscan
@IvanKravarscan 7 ай бұрын
@@ceigey-au So true! If only Kotlin could magic away type erasure. But to add to your Typescript situation, I go back and forth between Kotlin and Java and it's such a pain. Oh right I have to write ; again, string interpolarion? No? Urgh, what's less of a hassle StringBuilder or plus operator on a string? Why is there no "map" on a Collection? Oh right, stream() first. Can I do "firstOrNull" with a condition? No, "filter" then "first", fine, I hope you like your the red tape.
@ceigey-au
@ceigey-au 7 ай бұрын
@@IvanKravarscan yes haha, Java has a lot of sharp pieces that Kotlin wraps up in a common sense way…
@elheffe2597
@elheffe2597 7 ай бұрын
My problem with Kotlin is the hold that JetBrains has on it. There's z e r o IDE support for it outside of Intellij, and that's by design - which is frustrating.
@igor710
@igor710 7 ай бұрын
I’m nostalgic of my time with C#, so please correct me if I’m wrong, but it feels so much like a better C#.
@Gennys
@Gennys 7 ай бұрын
I did not know that a trailing lambda argument could be broken out as to look like a little function instead. That's actually really nice looking. It's very cool syntactic sugar actually. Honestly any language with lambdas should probably implement this syntactic sugar.
@isodoubIet
@isodoubIet 7 ай бұрын
Great obfuscation technique tbh
@IronLotus15
@IronLotus15 7 ай бұрын
Julia does something similar, but I think the `do` syntax applies to if the lambda is the first argument, not the last.
@lynx0976
@lynx0976 7 ай бұрын
I think Compose Multiplatform can already do all this. It is a Kotlin UI framework. Also breaking things up into components reduces nesting.
@lengors7327
@lengors7327 7 ай бұрын
The issue with }}}} is def a valid point but it's also true for an any tag you may use in html repeatdly (i.e. ), and is also why your IDE should be set up with visual indicators :D
@egor.okhterov
@egor.okhterov 7 ай бұрын
Jetbrains IDE makes this a non issue. The only way to experience problem with it is by reading the code in notepad or 'git diff .'
@AndrewBrownK
@AndrewBrownK 7 ай бұрын
I seriously don't get this complaint, like are you asking for python-like whitespace sensitivity? It's an IDE integrated scope block, it's fantastic, you wouldn't want anything else
@sasonbraha4599
@sasonbraha4599 7 ай бұрын
Kotlin is awesome. I worked with it for 3 years, amazing language.
@Pictor13
@Pictor13 7 ай бұрын
His video was good, but also your additions were spot on and insightful, one of your wisest :)
@nikushaa9
@nikushaa9 7 ай бұрын
kotlin my beloved
@tk1576
@tk1576 7 ай бұрын
kotlin is freaking goated, such a great language without all the java bloat
@beetrootpaul
@beetrootpaul 7 ай бұрын
16:08 several years ago I was using Kotlin (it was my Conference Driven Development moment :D ) and ended up overabstracting and over"simplifying" things in a project, just because I could and was amazed by all the Kotlin's nice features (and, that's the worst, I was in that project alone for some time, so there was noone to stop me). Today… I think I still would like Kotlin, but due to my nature I would have to put an extra effort to NOT use too many lang features :D
@kyay10
@kyay10 7 ай бұрын
That's very fair. You can absolutely write incomprehensible garbage with Kotlin, but I think reaching a level of discipline where you use the features aptly is possible.
@casadogaspar
@casadogaspar 7 ай бұрын
As a mobile developer, I can say Kotlin and Swift are both great languages, and it's sad swift has a limited scope in development, and hope to see it change in the future... even if I don't believe it will.
@mstarOnYT
@mstarOnYT 7 ай бұрын
I think language based abstraction for building html or some ui is really cool. Except for when you want the user to be able to provide custom templates to use
@corlaez
@corlaez 7 ай бұрын
you can just handle those with another tool.
@0xmg
@0xmg 7 ай бұрын
Finally kt getting recognition
@TheCatmorte
@TheCatmorte 7 ай бұрын
+1 to html - few problem: 1) sometimes u may just want to try something before coding it with kotlin/recompiling/redeploying (how angry u will be after 10 tests with all this circle around) -> soon you'll want hot reload and html2code converter 1.1) there might be a huge plain html template that do nothing, but u still will have to convert it to this code struct 1.1.1) if you say - then just cook it differently/save to file and send as raw file -> then u already have 2 options of doing things 2) performance, mem? 3) codestyle/convention - since it's a code nobody will stop u from doing hard things inside template and soon it can become a huge spagetti php/flutter like 4) html is not that hard but kinda native "language", while all this macrosing works in terms of modern langs but its kinda overcomplication for that purp. 5) imagine tomorrow's manager will come to u with a great idea to use some other language for serving html
@Pictor13
@Pictor13 7 ай бұрын
Fair points, but those simply are all the usual advantages and disadvantages of an additional level of abstraction. The Primagen point of "needing to build a thing to do the actual thing". Of course kotlin isn't part of web standards so that's an additional layer of complexity, to the benefit of getting a good DSL. So yes, wouldn't make sense to switch to kotlin only for that; but on the other side it's great because gives you an oo-interface to HTML, like DOM does, but without the need to know HTML inside out. I believe most critics to the video forgot the very premises of the video itself: that the guys sees himself more as a backend developer and so a DSL works best for him. Same reason why he likes HTMX. Apart for that, I totally agree about the hot-reload point 👍
@wdeath
@wdeath 7 ай бұрын
Clojure is the best language to use with HTMX, no templates needed, html is part of Clojure code. HTML has tree syntax, like Clojure can't get more simple.
@eldarshamukhamedov4521
@eldarshamukhamedov4521 7 ай бұрын
"You can use React without JSX" is a pointless take, but "you can use JSX without React" is valid. It's just another DSL for doing the same thing this guy is doing with a different DSL. Scala had HTML support in-language forever. You can dislike HTML/XML syntax, and that's fine, but a lot of people prefer the output (HTML strings) to be generated from code that uses a similar syntax (JSX).
@patodiblasi
@patodiblasi 3 ай бұрын
That looks like a hell to mantain. Remminds me of a system I inherited that used javascript dom functions (like createElement) to build the dom...
@ArthurKhazbs
@ArthurKhazbs 3 ай бұрын
Come to Kotlin, we have everything! That is, if you have the time to wait for the build to finish!
@marcosdly
@marcosdly 7 ай бұрын
Tim cooked that joke so much that I'm about to get burned out. TheJokeagen better take another rare one out of the oven before this turns mid-ium. Keep the commentary hot and fresh.
@TrustTheNarrowPath
@TrustTheNarrowPath 6 ай бұрын
"we let tim cook, and I think an iphone is about to come out" 🤣
@indrajitsarkar3169
@indrajitsarkar3169 7 ай бұрын
13:46 nah man the syntax looked weird, plus each tailwind class as separate string, pain.
@АртемФедоров-ю7б
@АртемФедоров-ю7б 3 ай бұрын
It's really freaking out when you turn on video on youtube and someone just starts screaming "ketchup! ketchup!", it just makes you out think you should go for a hotdog
@renatocustodio1000
@renatocustodio1000 7 ай бұрын
Thr greatest thing about this is strong typing in the template
@egor.okhterov
@egor.okhterov 7 ай бұрын
Smart autocomplete
@lightningx10
@lightningx10 7 ай бұрын
Tom is a genius
@Djolewatchtastife
@Djolewatchtastife 7 ай бұрын
This is like next level Spring MVC
@paprikar
@paprikar 7 ай бұрын
hell yeah, kotlin gang
@xXYourShadowDaniXx
@xXYourShadowDaniXx 7 ай бұрын
Sorry Pam, I also prefer non-html html, like PUG, when you want to prototype fast its out of your way, and when you want to go back and read it, theres no brackets regardless of type in your way UNLESS you have attributes then you get parens.
@noredine
@noredine 7 ай бұрын
Each time I add a dependency I feel like i'm adding a point of failure. And sometimes I also feel like i'm reinventing the wheel
@BrianTakita
@BrianTakita 7 ай бұрын
I like the builder pattern in the host language. Better than a language extension like JSX because more tools & patterns are available.
@TagetesAlkesta
@TagetesAlkesta 7 ай бұрын
Jokes on you, I use Neovim on a Mac to be intentionally confusing
@mintx1720
@mintx1720 7 ай бұрын
Html is the best language to use with htmx.
@tom-delalande
@tom-delalande 7 ай бұрын
You might actually have a point...
@vladimirkraus1438
@vladimirkraus1438 6 ай бұрын
Kotlin is the one language that will "rule the all" some day in the future. It is the best designed language.
@paxcoder
@paxcoder 7 ай бұрын
I'm with Pam - braces make it less readable. The first example is just a nested div with an h1 in it. But more than braces, it's the fact that attributes (notably "classes") are on the same level as children nodes. That's really what makes HTML superior to object notation. To all this, there's an exception: I like Pug. It places attributes on the same line as the tag itself, it's minimal, but it doesn't have mirrored closing tags. In fact, what it uses is (trigger warning for Primeagen fanboys) significant whitespace
@Archheret1c
@Archheret1c 7 ай бұрын
Remember to paste the video in the description. I prefer to put the reacted video in the background with muted sound to give them a deserved view.
@pdougall1
@pdougall1 7 ай бұрын
"Derivative development", good term
@harth1026
@harth1026 Ай бұрын
Learning Kotlin. It's pretty good. Just trying to get used to the IntelliJ IDE.
@mikwit
@mikwit 7 ай бұрын
I needed a basic but specific feature flag service for an internal tool that contractors could use to redirect a service to their PR build and did it in HTMX, dotnet, SQLite and had it working in under and hour. Can’t wait for prime to embrace C# as the best language now that it has AOT compilation.
@maxwebstudio
@maxwebstudio 7 ай бұрын
Prime dropped the blue hair for the rainbow shirt 🌈
@usefulalgorithms659
@usefulalgorithms659 6 ай бұрын
In Amazon there is a huge use of Kotlin
@monad_tcp
@monad_tcp 4 ай бұрын
9:48 Some people that use F# use React with JSX
@makhmudjonjamoldinov3554
@makhmudjonjamoldinov3554 7 ай бұрын
Where is "the name, ....."? I really waited for it. But it didn't come out?
@saiphaneeshk.h.5482
@saiphaneeshk.h.5482 7 ай бұрын
Have just looked into some iOS dev for a small period, but even Swift has that thing.
@TheBadFred
@TheBadFred 2 ай бұрын
Or just Use Spring with Thymeleaf, HTMX, Tailwind and Kotlin
@henson2k
@henson2k 7 ай бұрын
Kotlin is a miracle, Android devs know...
@mrmaniac9905
@mrmaniac9905 7 ай бұрын
PRIME I SENT YOU THIS VIDEO LIKE THREE WEEKS AGO I'm doozyz
@pammota
@pammota 7 ай бұрын
I am Pam. I like HTML. (I'm literally the Pam from the vid)
@shadamethyst1258
@shadamethyst1258 7 ай бұрын
But do you like JS?
@pablovaldes6022
@pablovaldes6022 7 ай бұрын
Who would say kotlin for web would disrupt the JS/TS folks
@jamesm820
@jamesm820 7 ай бұрын
i see tech debt
@dleonardo3238
@dleonardo3238 7 ай бұрын
Have a look at Kotlin Compose
@techwithattila
@techwithattila 2 ай бұрын
Kotlin is life, lets go!!!
@draakisback
@draakisback 7 ай бұрын
I really don't understand HTML zealots. I've been using flutter and other declarative frameworks for years now, and every single one of them gets those people who say but why can't we use HTML or jsx? The biggest problem with HTML is that it's a completely different domain from whatever the programming language is, this means when you are switching between JavaScript and HTML, even in the case of JSX, you are still switching between domains. You're going from an imperative language to a declarative markdown language and at the end of the day it's just more stuff that you need to understand to be able to work with the stack. Something like flutter or in this case like kotlin dsls, just requires that you learn dart or kotlin and that's it.
@ethannr1
@ethannr1 7 ай бұрын
Kotlin is massively underated
@yektadev
@yektadev 7 ай бұрын
Finally... A Kotlin video done by Prime.
@dfjab
@dfjab 7 ай бұрын
"fun" invalidates kotlin as a language. Idk what retard came up with that syntax, but it makes it unusable to me personally. I know its autistic as fuck but what the hell. Given that it does nothing better than swift at all, I see no reason for it to be a thing.
@dfjab
@dfjab 6 ай бұрын
@yektadev I absolutely refuse to use the language, simply coz it uses "fun", like *I know this is not logical but holy fuck does it piss me the fk off*. FN AND FUNC ARE AVAILABLE WHAT THE FFFFFFFFFFFFFFFF
@yektadev
@yektadev 6 ай бұрын
@@dfjab But, isn't that fun? 😃
@maximilianosorich3429
@maximilianosorich3429 6 ай бұрын
@@dfjab go to the psychologist
@ocean3323
@ocean3323 7 ай бұрын
"He probably uses vscode" *Proceeds to open IntelliJ with IdeaVim*
@egor.okhterov
@egor.okhterov 7 ай бұрын
Kotlin is made by Jetbrains, so it makes sense to use their IDE :)
@pinkorcyanbutlong5651
@pinkorcyanbutlong5651 7 ай бұрын
@@egor.okhterov yup, because they refuse to make an LSP to let anyone use anything else
@adanibo
@adanibo 5 ай бұрын
@@egor.okhterov I have a jetbrains license, their IDEs are rly insane, lately they focused on building a suite with the toolbox, the experience is rly getting worth the price. The only argument to not use it is that it isn't free.
@Inuyasha463
@Inuyasha463 7 ай бұрын
Kotlin is a fantastic language. We switched to it for backend development 4 years ago, and haven't looked back since. I'd love to see Prime explore it a bit more and see what he thinks.
@egor.okhterov
@egor.okhterov 7 ай бұрын
Kotlin > Java
@BosonCollider
@BosonCollider 7 ай бұрын
Kotlin is really nice, the main downside imho is having to deal with jvm build systems. After having used go and rust I just do not enjoy the prospect of dealing with Maven and the like (though for a lot of things I am stuck with Python at work which is probably quite a lot worse). But, honestly, Kotlin has had the nicest stackless coroutine experience for some time now. It adopted structured concurrency at the language level and did it really well. So I can see it working well as a backend language. Coroutinescope blocks just look so absolutely amazing even looking at it from go & rust
@egor.okhterov
@egor.okhterov 7 ай бұрын
@@BosonCollider what Maven? Did you want to say Gradle?
@monad_tcp
@monad_tcp 4 ай бұрын
@@BosonCollider That's why you use Scala Build Tools instead
@hba6018
@hba6018 3 ай бұрын
Java 22
@fabioluizalvaresosti7115
@fabioluizalvaresosti7115 6 ай бұрын
npm is free because you pay with your soul
@greenspand
@greenspand 7 ай бұрын
Finally, Prime looking into Kotlin. There is also the Kotlin Multiplatform and LLVM compiler.
@justinsmith3981
@justinsmith3981 7 ай бұрын
Compose Multiplatform and Amber too
@CircuitCoreAI
@CircuitCoreAI 7 ай бұрын
​@@justinsmith3981 please what's amber? Is it a framework?
@lasoloz6972
@lasoloz6972 7 ай бұрын
A thing that wasn't explicitly mentioned, but I think it is kinda cool (and a very substantial part of Kotlin DSLs) is that lambdas can have the type of extension methods.
@corlaez
@corlaez 7 ай бұрын
that feature is called lambdas with receivers
@uzbekistanplaystaion4BIOScrek
@uzbekistanplaystaion4BIOScrek 7 ай бұрын
finally, java 2
@BlazingMagpie
@BlazingMagpie 7 ай бұрын
Watch out, you'll trigger some poor bank programmer's PTSD with words like these
@PRIMARYATIAS
@PRIMARYATIAS 7 ай бұрын
@@BlazingMagpieJava programmers are 2nd generation Cobol programmers and in not so long will turn into dinosaurs just as their Cobol ancestors.
@chpsilva
@chpsilva 7 ай бұрын
​@@PRIMARYATIAS we Javasaurs will keep roaming over Earth long after you're all gone.
@RegisBodnar
@RegisBodnar 7 ай бұрын
Having used a fair bit of Kotlin, this is absolutely true!
@vinterskugge907
@vinterskugge907 7 ай бұрын
Having used Java 21 on a daily basis for several months, I don't see the big draw for Kotlin nowadays. I expect to see a future where all Kotlin codebases are considered legacy, and code hipsters will argue over which newly hyped language they should be converted into.
@lunarlake1
@lunarlake1 7 ай бұрын
Kotlin makes programming fun
@paprikar
@paprikar 7 ай бұрын
especially *private fun* part of it
@rzvxa
@rzvxa 7 ай бұрын
Kotlin's design is so good when it comes to creating domain-specific solutions, It does some controversial things that make a real difference. For example infix functions and how you can pass the last closure argument outside of practices.
@brandongregori995
@brandongregori995 7 ай бұрын
Programming is only fun when you use Kotlin?
@adanibo
@adanibo 5 ай бұрын
@@rzvxa Mixing nullables and scope function is so satisfying
@MrKKPA
@MrKKPA 7 ай бұрын
Kotlin is a great language!
@MingyiZhang
@MingyiZhang 7 ай бұрын
I've been working with Kotlin for backend development for two years, and I've made a DSL for our work area. To avoid making tools just to make other things, the best approach is to do it iteratively and incrementally. Start with a basic version that has only what's really needed, and then add more features step by step when they're needed.
@monad_tcp
@monad_tcp 4 ай бұрын
What most DSL systems miss is the aspect of being able to debug. The way you can do that and actually use the same tools that you use for Kotlin is unique to Kotlin, it is really neat.
@kyay10
@kyay10 7 ай бұрын
OMG NO WAYY primeagen is finally getting Kotlin-pilled i can't believe this! Please man get deeper down this rabbit hole, you won't regret it. I'm a very active member (and moderator) of the Kotlin Slack and would be more than happy to help you with anything on your Kotlin journey
@FourOf92000
@FourOf92000 7 ай бұрын
dare I say you might be biased
@kyay10
@kyay10 7 ай бұрын
@@FourOf92000 I'm very biased, of course, but I'm willing to show why I think this language is nice.
@azmo_
@azmo_ 7 ай бұрын
@@FourOf92000 tf, sherlock holmes?
@just4fun607
@just4fun607 7 ай бұрын
he finally kotlin deez nuts
@erickmoya1401
@erickmoya1401 7 ай бұрын
I mean. This man is right about Kotlin. Is clearly a language that has been done for developers. More so than go. Kotlin makes people happy.
@sfulibarri
@sfulibarri 7 ай бұрын
I do server side typrscript work at my day job but get to spend a lot of time coordinating with ios and android devs supporting the company's mobile apps. Both swift and kotlin seem like really solid languages and I always leave those meetings feeling jealous. Given the chance to rewrite the backend from ts to kotlin I think I'd take it if go wasn't also an option for some reason.
@maxwebstudio
@maxwebstudio 7 ай бұрын
15:08 OMG as a front end developer I must say this is so backend-style HTML. No semantics, 1000 nested divs. 😛
@ky3ow
@ky3ow 7 ай бұрын
to be fair looking at css classes its just layout wrappers, toplevel container is nav, seems good enough :)
@gileee
@gileee 7 ай бұрын
You'd have the same thing if you didn't split your code into 300 component files. Which he could have done here
@corlaez
@corlaez 7 ай бұрын
yeah but you can be semantic with it.
@ceigey-au
@ceigey-au 7 ай бұрын
PicoCSS is a good middle ground if you want something mildly good looking without fighting with things too much, and is much more semantic than Tailwind. Other Tailwind + DaisyUI isn’t bad either for sticking to semantic HTML, plus some Alpine to fill in the gaps.
@georgehelyar
@georgehelyar 7 ай бұрын
The front end developers I know don't know what semantic means. Just look at bootstrap or tailwind or whatever, it's just inline styles in more steps. I've had long arguments with front end devs who want to put "automation ids" in data attributes in their html just for selenium to be able to find things, because their html is meaningless soup.
@captainnoyaux
@captainnoyaux 7 ай бұрын
Kotlin is very good, super pragmatic and you can go very far design wise
@JPilsonSumbo
@JPilsonSumbo 7 ай бұрын
I’ve using Kotlin and Ktor for 2 year on my side projects , and honesty I think it is the best language ever
@captainnoyaux
@captainnoyaux 7 ай бұрын
@@JPilsonSumbo Ktor is awesome, I used Http4k too for a more functional programming paradigm and it was cool too ! The only downside of Kotlin is when you do TDD the JVM is so slow to boot up tests that it hurts me a lot compared to jest in TS. If anyone has tips on how to make the tests launch and run in less than 1 secs I'm all ears ! Never found anything that helped
@AndrewBrownK
@AndrewBrownK 7 ай бұрын
I get very irritated when there are traits/impls I can express in Rust but not Kotlin, but overall Kotlin is a million times better than Java
@captainnoyaux
@captainnoyaux 7 ай бұрын
​@@AndrewBrownKhaha pretty much bro. I don't understand why people still use java actually... As for rust it serves it's own purpose and have it's own trade offs too but it's an amazing language
@sandeshgowdru8869
@sandeshgowdru8869 7 ай бұрын
oh gosh!!! I just realized, I waste more time on creating thing that creates what I want ... moral of the day for me
@lazyh0rse
@lazyh0rse 7 ай бұрын
Kotlin is really nice, but the runtime is jAvA. Which makes it less nice.
@egor.okhterov
@egor.okhterov 7 ай бұрын
Kotlin is a front-end (in compiler terms). You can compile it into whatever you want. You can compile it into jvm bytecode or straight to machine code.
@elagrion
@elagrion 7 ай бұрын
This got me inspired to try HTMX with Swift and result builders.
@pad8941
@pad8941 7 ай бұрын
That should be fun
@deado7282
@deado7282 7 ай бұрын
I wanted to move to kotlin after C#. However the JVM is Kotlins best and worst feature. It didn't make it for me.
@juh9870_projects
@juh9870_projects 7 ай бұрын
Kotlin Multiplatform exists, you can avoid JVM if you want, but, obviously, you lose access to the JVM libraries ecosystem
@deado7282
@deado7282 7 ай бұрын
@@juh9870_projects which is a problem in itself, because the ecosystem is built with dependencies & assumtions that work or apply in X but not in Y. That sucks.
@fracta7
@fracta7 7 ай бұрын
More about Kotlin please, this language is awesome
@molasaheb6082
@molasaheb6082 7 ай бұрын
Kotlin is the best for anything to do with web dev (backend or frontend) 😍
@Mavzu132
@Mavzu132 7 ай бұрын
That honestly looked very good and clean. Im sold.
@corlaez
@corlaez 7 ай бұрын
can recommend. I do prefer Javalin than Ktor but the point stands: HTML DSL + htmx is really nice.
@viniciusataidedealbuquerqu2837
@viniciusataidedealbuquerqu2837 7 ай бұрын
elm/html looks better
@egor.okhterov
@egor.okhterov 7 ай бұрын
Kotlin is a very clean language. I've programed professionally in bash, perl, python, js/ts, java, c#, c++, erlang, golang. Kotlin is just the most pleasant language to write programs especially in Jetbrains IDE.
@PbPomper
@PbPomper 7 ай бұрын
I don't like my language being dependant on a specific IDE.@@egor.okhterov
@addisonrogers9489
@addisonrogers9489 7 ай бұрын
You can literally do this in C# fight me
@_Khrix
@_Khrix 7 ай бұрын
I think kotlin is one of the most well designed programing language on present days
@emptystuff1593
@emptystuff1593 7 ай бұрын
I'm not sure what's the win with a HTML DSL in Kotlin. There's already an HTML DSL, it's called HTML... This Kotlin thing just feels like a layer between you and HTML. Kotlin has static typing etc... But HTML already has that with DTD. And did you notice he used strings to specify his classes ? He can type any garbage class name and the compiler won't care. When I'm editing my HTML files, IDE notices I have a CSS file full of classes, and helps me autocomplete their name in the HTML. Do you think he has that ? I don't.
@007arek
@007arek 7 ай бұрын
With kotlin you have typesafe
@_Khrix
@_Khrix 7 ай бұрын
Kotlin mention let's go
@thingsiplay
@thingsiplay 7 ай бұрын
20:34 ... wait a second. Why can't I open Levi Dawn's channel? Is his channel down? I made to type the exact name and searched the web too.
@tom-delalande
@tom-delalande 7 ай бұрын
I renamed it to be my actual name (sorry for the confusion)
@thingsiplay
@thingsiplay 7 ай бұрын
@@tom-delalande Thanks for clarification!
@Mglunafh
@Mglunafh 7 ай бұрын
I've seen the stream where this reaction was made, and it was so so long ago, almost too much time passed OG even managed to rename the channel us jvm devs seething about this situation ngl 😅
@HDConcussionz
@HDConcussionz 7 ай бұрын
Prime should look at Jetpack Compose
@abdelkaioumbouaicha
@abdelkaioumbouaicha 7 ай бұрын
📝 Summary of Key Points: 📌 The speaker enjoys using HTMX and Tailwind for building websites, especially for side projects, as it allows for building reactive UIs without needing to use React and for creating visually appealing UIs without much effort. 🧐 The speaker discusses the benefits of using Kotlin with HTMX for building reactive and clean UIs, highlighting features like string templating, extension functions, and trailing lambdas that enable the creation of custom HTML components and domain-specific languages. 💡 Additional Insights and Observations: 💬 Quotable Moments: "The less dependencies you can have, the less steps you need to get to the endpoint, which is a joy to work with." 📊 Data and Statistics: The video did not present specific data or statistics but focused on the technical aspects of using HTMX, Tailwind, and Kotlin for web development. 🌐 References and Sources: The speaker demonstrated practical examples and code snippets to illustrate the advantages of using Kotlin with HTMX for web development. 📣 Concluding Remarks: The video provided valuable insights into leveraging HTMX, Tailwind, and Kotlin for building modern and efficient web applications. The speaker's detailed explanations and examples showcased the power of these tools in simplifying the development process and creating elegant user interfaces. Overall, it was an informative and well-presented discussion on enhancing web development workflows. Generated using TalkBud
@vectoralphaSec
@vectoralphaSec 7 ай бұрын
I never heard of HTMX before until a month and a half ago. I tried it and i really, really liked it. For me it works great with Python in Django. I don't know, i just really enjoy not needing to write any JavaScript code.
@SultanRehman
@SultanRehman 7 ай бұрын
Kotlin is beautiful language. Golang is HIDEOUS in comparison. Golang is for devs who have no aesthetic sense for their craft.
@shellderp
@shellderp 7 ай бұрын
I've been devving kotlin for 4 years at work on a big codebase, it's awesome. Extension functions are way too easy to abuse, people love to throw everything at them, but they should be avoided in most cases. DSLs are also usually crap
@luisalejandroquirogagomez1721
@luisalejandroquirogagomez1721 7 ай бұрын
I tried Kotlin a while ago, and I loved most of the things that it offered. Thing that I did not like, and actually made me quit writing it, is the ecosystem; the java thing and the kotlin native thing... I feel that back then, if you did not use the premium version of Intellij, it was quite awful to get a project running and manage dependencies and all of that stuff.
@egor.okhterov
@egor.okhterov 7 ай бұрын
What's wrong with the ecosystem? It literally has everything
@luisalejandroquirogagomez1721
@luisalejandroquirogagomez1721 7 ай бұрын
The ecosystem is great in terms of libraries and tools, because you can use the Java ones, with Kotlin/JVM. But with Kotlin/Native, the libraries are considerably different (I have the docs open rn). As I said, I loved Kotlin and most things it has, but sometimes you need something and find out it's only for JVM or Native, and also the compilation is different sometimes. Last I used it was like 2 years ago, so it might have changed, but, coming from Go, Rust, C#, hell even JavaScript, that it doesn't have a real package manager or project manager, it's really difficult to work with, if you don't like or want to use Jetbrains Software. @@egor.okhterov
@luisalejandroquirogagomez1721
@luisalejandroquirogagomez1721 7 ай бұрын
And also, please take all of what I said with a grain of salt, it might have changed, or maybe I'm not intelligent enough to understand how things with Java/Kotlin work, or maybe I didn't understand the documentation. That how it felt and how I used it
@HoussamElbadissi
@HoussamElbadissi 7 ай бұрын
@@luisalejandroquirogagomez1721 You really don't need the premium version of IntelliJ at all. I mean, after-all, the biggest use-case of Kotlin in Android development, and Android Studio is built on top of the free version of IntelliJ IDEA (it's basically IntelliJ IDEA + Android plugin, nothing more). The only stuff the "Ultimate" version helps with is coverage testing, memory profiling, and other advanced stuff like that. Dependency management, configuration, and everything else you'd expect to be free is, well, free! In Kotlin, Gradle is the recommended build system, and that's where you manage your deps and stuff like that. As for the Java ecosystem, it's awesome to have it (when targeting JVM), but the pure-Kotlin ecosystem is growing very fast and independently of Java-specific stuff, with the rise of Kotlin Multiplatform libraries (the biggest of which is Compose Multiplatform, shared UI code!), which can build to 4 targets: Koltin/JVM (Android, Desktop, Server, 100% Java interop), Kotlin/Native (iOS with Swift/Obj-C interop, Server too), Kotlin/JS (web, with JS interop), and Kotlin/Wasm (web, using WasmGC).
@cah8884
@cah8884 7 ай бұрын
Kotlin mentioned let’s go
@celsopatiri2846
@celsopatiri2846 6 ай бұрын
Would it create a closure for every single html element tho? If you have 100 elements that will be 100 functions for the garbage collector at server side, compared to 1 if using regular html templating
@segganew
@segganew 6 күн бұрын
Kotlin has inline functions, where they are inlined into the call sites and the closures go away
@lawrencejob
@lawrencejob 7 ай бұрын
I didn’t understand HTMX until I realised the advocates are backend developers
@ForCeGR
@ForCeGR 7 ай бұрын
Finally some Kotlin! Pretty curious what would he think about Jetpack Compose
@mikethemonsta15
@mikethemonsta15 7 ай бұрын
I suggested to Prime to do a kotlin video 6 months ago in the discord server... He said "absolutely not". But I'm glad he did!!!!
@awesomedavid2012
@awesomedavid2012 7 ай бұрын
I really like Kotlin. Its biggest problem is its biggest feature: its connection to Java. But the functional utility is so good. When I first used Rust, it felt most like Kotlin to me.
@tom-delalande
@tom-delalande 7 ай бұрын
You may be aware, but you can essentially opt out of the JVM by using Kotlin Native* (Thanks @007arek)
@awesomedavid2012
@awesomedavid2012 7 ай бұрын
​@@tom-delalandeyes. I just mostly mean that the syntax itself was designed with Java in mind. I think it would be a different language if Kotlin been made without Java in mind; personally, I think a better one. But I also cannot deny the versatility of Kotlin's interoperability with Java. I think they did the best they could've given how tied to Java they have to be. 👌
@007arek
@007arek 7 ай бұрын
@@tom-delalande won't native-image be better than Kotlin Multiplatform?
@HoussamElbadissi
@HoussamElbadissi 7 ай бұрын
@@007arek For server-side development, for now I think yes, it would be better in both not losing the benefits of the JVM ecosystem, and I expect it to be faster as Kotlin/Native is still pretty new (speaking of speed, sometimes the JVM is just faster due to runtime optimizations). However, KMP is absolutely awesome for client-side development, especially with Compose Multiplatform. You can build UI that works on Android and Desktop (Kotlin/JVM), iOS (Kotlin/Native), and Web (Kotlin/Wasm). You can also write client-side websites with Kotlin (and something like Kobweb, or Compose HTML), and it'll build to JavaScript (Kotlin/JS).
@Exilum
@Exilum 7 ай бұрын
I expected surprise, but I didn't expect to be that impressed.
@sdstorm
@sdstorm 7 ай бұрын
Learning Kotlin would be a mind expanding experience for Prime. :)
@shenawy04
@shenawy04 7 ай бұрын
Kotlin is the only language that can compete with Java when it comes to the worst tooling for NeoVim
@007arek
@007arek 7 ай бұрын
yes, but there is some reasons with it. IDE is just better for managing larger code base
@shenawy04
@shenawy04 7 ай бұрын
​@@007arek I don't really agree, I've found NeoVim to be more than capable on large codebases, it's just lighter. The issue is Kotlin's treesitter parser and LSP, they're simply not good. LSP shouldn't take seconds to boot up on a single main.kt file, and I shouldn't get lag when I type on the first line in a file.
@shadowxtremo
@shadowxtremo 7 ай бұрын
This is what using Hiccup with Clojure showed me, and because of that React never grew up on me. Knowing that there is a better way makes you wonder how React went that widespread.
@Aguycalledmax
@Aguycalledmax 7 ай бұрын
What I've never understood about HTMX is the amount of iteration that is always required to get a component looking visually perfect. When you're doing any html/css that is even slightly more complex than a rectangle with a bit of padding you will drive yourself insane without instant feedback and HMR. Try debugging a flex overflow issue by waiting 10 minutes to recompile, rebuild and refresh each time you change one class.
@007arek
@007arek 7 ай бұрын
It depends on technology. Sometimes you can have live reload.
@Bliss467
@Bliss467 7 ай бұрын
KOTLIN MENTIONED
@bcpeinhardt
@bcpeinhardt 7 ай бұрын
TLDR on the function based html builders (super common in functional languages): they’re super nice because they’re super testable and you get your languages tooling, but there’s a performance trade off because you have to concatenate all these little strings as opposed joining templates only on dynamic content.
The 9.9 CVE Linux RCE Security Bug!!
1:23:40
ThePrimeTime
Рет қаралды 17 М.
HTMX Sucks
25:16
Theo - t3․gg
Рет қаралды 124 М.
How Strong is Tin Foil? 💪
00:26
Preston
Рет қаралды 125 МЛН
Spongebob ate Patrick 😱 #meme #spongebob #gmod
00:15
Mr. LoLo
Рет қаралды 17 МЛН
Крутой фокус + секрет! #shorts
00:10
Роман Magic
Рет қаралды 20 МЛН
Game Devs Are Drowning In Complication
36:48
ThePrimeTime
Рет қаралды 257 М.
Is HTMX a Joke??
32:15
Syntax
Рет қаралды 22 М.
The BEST Backend Language for You | Prime Reacts
32:57
ThePrimeTime
Рет қаралды 334 М.
Use Java For Everything
38:35
ThePrimeTime
Рет қаралды 390 М.
The Secret Language Scaling WhatsApp and Discord
28:32
Theo - t3․gg
Рет қаралды 157 М.
The Truth About HTMX
12:27
Theo - t3․gg
Рет қаралды 171 М.
Scams In Software Engineering
31:44
ThePrimeTime
Рет қаралды 771 М.
C Is Not A Language Anymore
34:29
ThePrimeTime
Рет қаралды 228 М.
Why I'm learning Go
21:35
Web Dev Cody
Рет қаралды 66 М.
Single Language Productivity Is Fake
41:06
ThePrimeTime
Рет қаралды 208 М.
How Strong is Tin Foil? 💪
00:26
Preston
Рет қаралды 125 МЛН