526
Microsoft announces Python formulas in Excel... which have to get sent to the cloud
(techcommunity.microsoft.com)
This is a most excellent place for technology news and articles.
A framework in the software development context means an integrated set of software libraries and tools for developing for a platform.
So all the android.* libraries, the build tools, the Android IDE and so on together form a framework for Android application development.
As Kotlin is not a generic language and is only really used for Android, it makes sense to consider it as part of the Android Application Development Framework (a programming language is basically a kind of tool), but for example Java which is generic has its own independent compiler, runtime and core libraries and there are various frameworks (such as I2EE, Spring, Android and so on) that on top of Java and those core elements add a set of libraries and tools to allow development of applications for different platforms (FYI, I2EE and Spring are for server-side application development).
If I'm not mistaken Google themselves refer to the tools and libraries for developing applications for Android as the "Android Application Development Framework".
The android.* libraries are not included with Kotlin. I consider it an independent framework, just like the ones you said. What's your definition of a generic language? AFAIK Kotlin can do everything Java can do. Kotlin also has its own independent compiler and runtime (Native) though it inherits Java's or C's libraries, which also means you can just use Kotlin frameworks with it. Spring even made their own completely Kotlin version, along with Compose. In a 2020 JetBrains survey 47% of surveyed developers were using Kotlin for web backends so Kotlin is definitely not limited to Android. I got that from the Wikipedia page which also has a lot of big names that use it including Amazon, Netflix, and Shazam (Apple?).
I meant it as "general use" language, as in a language that's widelly used for several things.
I'm quite suspicious of the methodology of that JetBrain survey, since 47% would put Kotlin above the likes of Python for web backend development, which is the most ridiculous claim I've read in quite a long time.
Certainly big corporates aren't using Kotlin (with or without Spring) for making middleware (which is not at all the same as web-development) and "big name companies" "using it" doesn't mean much because merely trying it out for 2 weeks with a handful of developers on a side project fits the definition of "using it". If it was that successfull you would be hearing about actual large projects. Frankly it sounds a lot like a certain kind of marketing messaging I've often seen in the past for other kinds of languages or frameworks some large tech company or other was trying to convince developers to use, and such manufactured hype doesn't really mean anything when it comes to the actual usage in the field.
Certainly that idea about Kotlin's "success" isn't something I'm seing in the hiring side and if companies aren't hiring for it they're not using it seriously.
(PS: The idea that Apple would use it is pretty wild as Kotlin was created in response to Apple coming up with their own language for smartphone development - Swift - which replaced Objective-C, and they're pretty similar in terms of the language features they add over the languages they replace, so it's kinda silly that Apple would give up on the developer-lock-in benefits of Swift to adopt the language of its competitor which is also trying to achieve the same kind of developer-lock-in but to benefit Google instead of Apple).
I think you're comparing 47% to the wrong statistic. It's 47% of Kotlin developers do backend, not 47% of backend developers use Kotlin. I haven't seen any reliable backend languages survey yet.
It's not just side projects. Though admittingly most of the sources there are from a "talking kotlin" podcast which I suspect is tied to JetBrains, the projects discussed in the podcasts aren't just side-projects. For example "Allegro" is Poland and Slovenia's Amazon and almost all of their backend is Kotlin apparently. It backends tax collection in Norway and (part of?) Shazam which is owned by Apple which was why I put "Apple?", I'm not saying Apple's using it officially.
"Kotlin created against Swift" is completely speculative. The only things related they have is Swift started in 2010 while JetBrains announced it in 2011, but even then it's a stretch as Swift was only announced in 2014. You can't make something in response to something which doesn't exist yet.
Ah, right.
That makes a lot more sense.
It's interesting that Kotlin is also seriously used for server-side rather than just for frontend work in Android: is was not aware of that.
Indeed Kotlin being created as a response for Swift is speculative. The timings (launched one after the other separated by about 1-2 years) and the launch target platforms (both main smartphone OSes) were peculiar, as are the characteristics of both languages (they roughly added the same things over the languages they replaced, though that was the kind of "need" OO developers had been feeling at around that time and quite a few options came out, both new languages and new features for existing languages), but I'm not privy to whatever behind-closed-doors discussions there were on that so don't really know for sure.
As you say, maybe indeed Kotlin was being developed in parallel and then for launch piggy-backed on Google's need for "it's own language" in the smartphone market in response to Apple having lauched their own with quite some success - as I pointed out, it makes business sense to try as much as possible to lock-in developers to your own platform - since it would make sense for JetBrains to launch with a big partner with a large installed based.
Kotlin was announced in 2011 and Swift was announced in 2014; that's 3 years apart. Like you said, they do look kinda similar but I think that's the result of being designed with 2010s principles.
Kotlin also didn't launch on a smartphone platform, it just kinda released with the build tools without any initial target platform. Since JetBrain already owns IDEA, the most popular Java IDE, they just bundled that with Kotlin to launch the language. I think it's the opposite, Google piggy-backed off JetBrain's fame and install base in response to the Swift thing instead of also developing a new language. It isn't a lock-in either, JetBrains is quite independent of Android though they did kinda lock the language server to IDEA.