Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Android Programming Stats

Kotlin Keeps Climbing TIOBE's Programming Language Popularity Index (infoworld.com) 52

An anonymous reader shared this report from InfoWorld: JetBrains' Kotlin language, a Java rival endorsed by Google for Android mobile development, continues to scale up Tiobe's index of language popularity, reaching the 15th spot in the November 2023 rankings...

Software quality services company Tiobe cites Kotlin advantages including interoperability with Java and unrivaled Android accommodations as reasons for the language's rise. Kotlin, Tiobe CEO Paul Jansen said, also fits in with a modern programming culture of expressive languages that have a strong type system and avoid null pointer exceptions by design. "Based on my experience, I am pretty sure Kotlin can reach a top 10 position," Jansen said. It remains to be seen if it can ever scale as high as a top four slot, he added...

In the rival Pypl Popularity of Programming languages index this month, Kotlin was ranked 13th with a 1.76% share, having slipped slightly year-over-year.

Kotlin's rank on the TIOBE index rose three positions in the last month — after rising two positions the month before. TIOBE's CEO says the language has now achieved its highest ranking ever on the index, surpassing 2017's "first wave of Kotlin popularity...when Google announced first class support for Kotlin on Android."

Rust now ranks #20 on the index, behind Delphi/Object Pascal, Swift, Ruby, and R.

Here's TIOBE November rankings for top-20 most popular programming languages:
  1. Python
  2. C
  3. C++
  4. Java
  5. C#
  6. JavaScript
  7. PHP
  8. Visual Basic
  9. SQL
  10. Assembly Language
  11. Scratch
  12. Fortran
  13. Go
  14. MATLAB
  15. Kotlin
  16. Delphi/Object Pascal
  17. Swift
  18. Ruby
  19. R
  20. Rust

This discussion has been archived. No new comments can be posted.

Kotlin Keeps Climbing TIOBE's Programming Language Popularity Index

Comments Filter:
  • IMO Kotlin deserves that. It fixes almost everything wrong with Java while still being completely interoperable. I'd even prefer something like that came to .net, which IMO also deserves to replace JRE, and replace C#.

    • by ls671 ( 1122017 )

      Replace the JRE? Well I don't know much about Kotlin but wikipedia page says:

      Kotlin (/ktln/)[2] is a cross-platform, statically typed, general-purpose high-level programming language with type inference. Kotlin is designed to interoperate fully with Java, and the JVM version of Kotlin's standard library depends on the Java Class Library,[3][failed verification] but type inference allows its syntax to be more concise. Kotlin mainly targets the JVM, but also compiles to JavaScript (e.g., for frontend web applications using React)[4] or native code via LLVM (e.g., for native iOS apps sharing business logic with Android apps).[5] Language development costs are borne by JetBrains, while the Kotlin Foundation protects the Kotlin trademark.[6]

      Please explain how it should replace the JRE (Runtime Environment) in such a context? The JRE can run a bunch of programs written in other languages than Java. You want it to bypass the JRE and use LLVM? Javascript? Is that even possible in order to compile to LLVM or Javascript? An inquiring mind would like to know...

      • Here's what I said:

        .net, which IMO also deserves to replace JRE

        In other words, what I'm saying .net is better than JRE.

        • by ls671 ( 1122017 )

          So, you say the copy almost point for point of java and especially the JRE after Microsoft got mad because J++ got problems for introducing non-compatible stuff is better than the original? Interesting! IMHO, the copy is pretty much equivalent to the original.

          • I'd say more like a successor. If you've used both for any meaningful amount of time, you'll know exactly what I'm talking about. Also today what's referred to as .net is based on .net core, which was first released in 2016 and is an entirely different code base from .net framework. It's also MIT licensed, and among other things you can download the official release without having to create an account or get sued by Oracle.

            • by ls671 ( 1122017 )

              you can download the official release without having to create an account or get sued by Oracle.

              Thanks to Sun Microsystems, who designed the Java licensing correctly back then, open-jdk is doing fine nowadays and you have nothing to fear from Oracle for using it as far as I understand it.
              https://openjdk.org/ [openjdk.org]

              • That's all good and well until some derp downloads the wrong runtime and clicks through the license agreements thinking they're benign. And mind you, this isn't about Oracle producing shitty software, or even Oracle purchasing other software companies and then turning the software they made into shit (like they did with Sun) rather it's the sinister way that Oracle does business. Oracle deliberately does not put their products behind paywalls, and configures default settings that make it incredibly likely t

                • Remember this is the extortion racket pretending to be a software company that sued Google over a clean-room reimplementation of its APIs.

                  I don't want any part of anything it makes or touches, even if it is allegedly open source, and even if most of the other choices are problematic, though to a far lesser degree.

        • And objectively women are better than men.

          I mean: I prefer women for everything.

          Perhaps because I'm a straight man? But then it would not be objective, right? I prefer to tell everyone that I objectively prefer women over man.

          What has that to do with .Net's VM being "better" than the JVM? Nothing of course.

          But it should point out how idiotic your previous post was.

          To be better at something, you need a measure to measure it ...

          Considering that at the moment there is no wide stream available Java to .NET CLR

          • What has that to do with .Net's VM being "better" than the JVM? Nothing of course.

            Why is it that literally every time you ask this, I provide proof of exactly why you're wrong, with links and code examples, you suddenly go quiet for a few weeks and then do it again?

            You're just a deutsche and you need to get over you endless cycles of final solutions followed by denials.

            • by nadass ( 3963991 )
              Oh gosh, ArmoredDragon! If we're all ganging up on you it's probably because you're wrong -- unless, of course, all of us with experience with programming and code execution "runtime" environments and whatnot for the last 30+ years (oh god I'm getting old) are somehow clueless to how .NET and JRE are not even comparable.

              And WTF is with "replace C#"? It's totally OK that you're anti-.NET/C#, but there's no point in making ludicrous statements about it needing to be replaced. Why would it be? Because it's
              • Oh gosh, ArmoredDragon! If we're all ganging up on you it's probably because you're wrong -- unless, of course, all of us with experience with programming and code execution "runtime" environments and whatnot for the last 30+ years (oh god I'm getting old) are somehow clueless to how .NET and JRE are not even comparable.

                Are you seriously telling me you've been doing this 10 times longer than I have and you still haven't figured out that .net is a direct competitor to jre?

                • by nadass ( 3963991 )

                  Are you seriously telling me you've been doing this 10 times longer than I have and you still haven't figured out that .net is a direct competitor to jre?

                  The expression ".NET" is an umbrella term with various meanings and components. The JRE is a very specific component to the entire Java ecosystem. And neither are directly compatible with each other -- they each serve a specific purpose with their respective tooling layers.

                  So, they are NOT "direct competitors" due to their by-design incompatibility. And by not being direct competitors, any further comparisons are akin to comparing two neighbors' backyards and garages -- how much stuff do they have, who pa

                  • The expression ".NET" is an umbrella term with various meanings and components. The JRE is a very specific component to the entire Java ecosystem. And neither are directly compatible with each other -- they each serve a specific purpose with their respective tooling layers.

                    Cheese how long did you spend splitting those hairs all because you owned yourself earlier? While we're splitting hairs, this is wrong by the way, the JRE contains two major components: the JVM (for the specific platform) and the Class libraries. Any non-moron will know what I'm talking about, a group you seem to have excluded yourself from.

                    Further, JRE wasn't compatible with the Windows Phone 8 environment, so obviously .NET is better.

                    Make sure you tell both people who owned a windows phone that.

                    Equally, .NET-based applications aren't compatible with iOS

                    https://learn.microsoft.com/en... [microsoft.com]

                    (and most Android-based) environments, so obviously "JRE" is better.

                    https://learn.microsoft.com/en... [microsoft.com]

                    And you're splitting hairs over JRE wi

                    • by nadass ( 3963991 )
                      They are both runtime libraries designed to fulfill an execution environment need of their respective developer ecosystems. That does NOT make them "competitors."

                      Perceiving every instance where there is more than a single monopoly does not imply competition -- like have 2 methods for case capitalization on a keyboard. (You might not like that analogy, but it's not about making you feel all smart and accomplished; it's about pointing out how you are not correct.)

                      The entire Xamarin project (have you eve
                    • You didn't answer my question.

            • You never provided any proof.

              You provided your opinion.

              Because you can not proof your bullshit opinion. You are factually wrong.
              Lolz, you never gave a code example. And .Net versus JVM has nothing to do with C# versus Java code examples.

              But to undedicated to realize it.

              I explained to you the differences:
              a) The .Net VM supports signed and unsigned integer types, the JVM does not
              b) .Net supports templates, but calls them generics. Java Generics are generics and use type erasure.

              Beyond that: they are completel

              • You never provided any proof.

                You provided your opinion.

                Let's take a trip down memory lane then:

                https://slashdot.org/comments.... [slashdot.org]

                So which part of that do you think is only my opinion? The bits about .net tooling not being a clone of java's? The bits about type erasure? The bits about garbage collection?

                Let's hear it. Or just quietly scurry back into your croton bug hole like you did last time, deutsch.

                • Your bits about garbage collection were wrong, as you see in my answers to your old post.
                  How cloning Javas tools to .Net makes .Net better than Java escapes me. It should equalize them, or not. And if you pull up .Net to the level of the Java ecosystem buy cloning Java tools: obviously Java was/is better, or not?

                  Anyway. You seem not to be able to read and comprehend what you wrote yourself a few months ago.
                  And you never explained why you have a problem with type erasure. In the real world no one has a probl

                  • Your bits about garbage collection were wrong, as you see in my answers to your old post.

                    You said, and I quote, "it is completely the same". So put up or shut up time: Where's the java equivalent for this?

                    https://learn.microsoft.com/en... [microsoft.com]

                    How cloning Javas tools to .Net makes .Net better than Java escapes me. It should equalize them, or not. And if you pull up .Net to the level of the Java ecosystem buy cloning Java tools: obviously Java was/is better, or not?

                    Do you even know what I'm talking about when I say tooling? Give me an example.

                    And you never explained why you have a problem with type erasure. In the real world no one has a problem with it. Its problems are academical, and my impression is: you do not grasp them.

                    Actually the very first time I ran into it was very similar to this:

                    https://stackoverflow.com/ques... [stackoverflow.com]

                    How is that something an average programmer would not run into? This was within my first 6 months or so of using Java, doing some very basic shit.

    • by Kisai ( 213879 )

      But it's still Java, which is still Horrible and has the albatross of Oracle hanging around it.

      Nothing is going to dethrone C other than maybe Rust, and even then, that might something 20 years out

      Python is only on top right now due to all AI cruft being developed against it and libraries that are native to Python like Pytorch/Numpy and so forth.

      The problem is the Python "language" is basically impossible to use on devices that aren't Linux. Yes you can make it work on MacOS and Windows, but they will be fu

      • Nothing can dethrone C because C's ABI is defacto standard for inter-language inter-operation and most low level drivers and OS kernels are implemented in it. No matter what language you're using you're always in fact put together various building blocks that are implemented in C, such as syscalls, your language runtime and high performance libs. Replacing C would require reimplementing everything and also supplying a different standard ABI for all platforms.
        • Just because C's ABI is the standard, it doesn't mean that applications need to be developed in C. As you imply, lots of languages support that ABI.
      • But it's still Java, which is still Horrible and has the albatross of Oracle hanging around it.

        Oracle doesn't have a lot to do with it anymore. Most of the community has moved to OpenJDK. Java on Android is based on OpenJDK. Oracle can't do anything about it.

        Kotlin isn't Java. It's a multiplatform language with multiple backends. You can compile it to Java bytecode to get interop with Java libraries, or you can compile it to a native application, or compile it to WebAssembly to run in a browser and get interop with Javascript libraries. It's come a long way from its starting point as just a Jav

    • by Z00L00K ( 682162 )

      I think it's even more interesting that Fortran has increased, seems like it's the language that refuses to die - and it's actually not a bad language either.

    • It fixes almost everything wrong with Java

      Well, aside from the fact that Kotlin's stupid equivalent of a for-next loop instantiates a list of immutable integer objects & iterates through them. Android Kotlin literally had to hack around that language "feature" to be actually *usable* on Android, because Android's garbage collection pre-Lollipop (when Android finally got to have generational GC) & Oreo + Pie (when Google took generational GC away) will absolutely *destroy* you if you try using throw-away ephemeral objects that way.

      And even

      • (ugh, accidentally grazed submit button. Goddamn it, Slashdot, can phone browsers *please* have "preview, then submit 'for real' instead of going straight to fsck'ing submit?")

        To get Kotlin to use its optimized 'for' implementation when iterating integers on Android (so it secretly implements a real mutable counter instead of Kotlin's official insanity that will cause Android garbage-collection to murder your performance), you have to code it one specific way, follow certain rules that aren't particularly e

  • by crunchygranola ( 1954152 ) on Saturday November 18, 2023 @10:39PM (#64015609)

    I thought for awhile that Spark would make Scala a major language, it is still the most fluent way of programming Spark, but Python/Pyspark has eaten its lunch, gone back for seconds, and ordered dinner as well. Scala has a few too many layers of complexity, and a bit too much clever terseness, giving it an excessively steep learning curve. Scala was #26 four years ago.

    • by ls671 ( 1122017 )

      I thought for awhile that Spark would make Scala a major language,

      Yeah, that's what my "newer is always better" thinking friends thought too. I am rather conservative in that regard and I don't get excited easily.

    • Alas, it peaked at #20 back in 2018. Not a good trajectory.

      As a believer in expressive static typing and compile-time checks myself, Scala had much appeal, and Python so little. I really hoped this was going the other way.

  • by Tony Isaac ( 1301187 ) on Saturday November 18, 2023 @11:16PM (#64015643) Homepage

    Of all the languages on the list, why is this one singled out?

    Kotlin is, according to the list, less popular than Fortran, Scratch, Assembly Language, and Visual Basic.

    It's usage went up from 0.9% to 1.15%, 0.25 percentage points. That's nice, but is it noteworthy?

  • by gweihir ( 88907 ) on Sunday November 19, 2023 @03:08AM (#64015805)

    Anything on that index below position 10 is probably just noise.

  • I don't want to throw shade at a language that was ground breaking at the time and some cool applications were made with it but I am doubtful it is in position #8

    • by nadass ( 3963991 )
      It's probably not VB6 but VB.NET (which itself is about 20 years old now).
      • Their methodology is so fuzzy it's including VB6, VB.NET, and VBA. People seem to forget VBA is still in widespread use. All they do [tiobe.com] is count search results for '(language) programming'.
  • Kotlin isn't a Java "rival", it's a Java "successor".

    If Java were cleaned up without regard to backwards source-code level compatibility, you would get something very like Kotlin. Kotlin is Java with a much cleaner, more compact syntax.

    The problem with new languages is the lack of external libraries and the whole ecosystem that comes with widespread usage. Kotlin can use the entire, existing Java ecosystem. It is not only compatible, but because its syntax is so similar to Java, it doesn't even feel wei

    • by Z00L00K ( 682162 )

      Java backwards compatibility is very good compared to the issues between Python 2 and Python 3.

      On Java you'll at least discover the issues at compile time. In Python it's not until runtime, and the worst problems invariably occurs when you have an end of the year execution.

  • V, Pony, Crystal, Nim, and Idris.
  • Time to advise my employer to recode all our MRI proprietary software into Scratch....
    • by bn-7bc ( 909819 )
      And getting it all re certified for medical applications, that'll be cheap, unless you have severe issues getting programmers with the required skillset and domain knowledge with your current lang of choice , here is my non expert advice, bkease don't be surbrised if your biss says (" hell no" dressed up in a lot i corp fluff ofc
  • This type of ranking is akin to ranking roads by how many people travel on them. Some of these "top" languages are awful. Being highly ranked does not indication fitness, goodness, readability, speed, or any other positive quality a language can have. The TIOBE Index is nonsense.

    • by pacinpm ( 631330 )

      Dude, it's POPULARITY index. It's in the name. Of course it has nothing to do with quality etc.

Think of it! With VLSI we can pack 100 ENIACs in 1 sq. cm.!

Working...