| |
| ▲ | clumsysmurf 2 days ago | parent | next [-] | | Kotlin dominates Android development, but Android Studio is free. Google has become more and more hostile towards indie Play Store developers, so in 2025 it is more risky and less lucrative. Kotlin's "home turf" (Android) may be losing developers faster faster than Jetbrains can gain them on other platforms. I assume its will be a polyglot world for some time to come, and devs that decide to retool into another stack could use anything else, leaving Kotlin behind. | | | |
| ▲ | mike_hearn 2 days ago | parent | prev [-] | | Hardly shortsighted. IntelliJ has a business model, Kotlin doesn't. Maximizing Kotlin usage does nothing for Jetbrains directly, just creates costs. And sure it brings people to IntelliJ, more importantly, it keeps them there. It's kinda like describing Apple as short sighted for not giving away the source code to all their frameworks. Doing so would maximise usage but that's not their goal. | | |
| ▲ | wiseowise 2 days ago | parent [-] | | > Maximizing Kotlin usage does nothing for Jetbrains directly, just creates costs. It brings mindshare and brand value. And it brings direct revenue in business contracts (I hope they get a hefty fee for supporting Google with Android Studio). It is also investment in the future. How many student curriculums, courses, tutorials use IntelliJ over VSCode? And how many of them convert to IntelliJ later? IntelliJ is always seen as that heavy industrial combiner for professional workers compared to nimble and hype VSCode. > And sure it brings people to IntelliJ, more importantly, it keeps them there. I might be a vocal minority here, but it keeps nothing but resentment in me. > It's kinda like describing Apple as short sighted for not giving away the source code to all their frameworks. Doing so would maximise usage but that's not their goal. Apple is trillion dollar hardware company with completely locked down ecosystem with millions (billion?) of people using their products. They can do whatever the f*k they want and developers will dance to their tune. The comparison you’re looking for is Borland. Delphi was once far more popular than Kotlin right now, and look how it ended up. | | |
| ▲ | mike_hearn 2 days ago | parent [-] | | Google pay JetBrains nothing for Android Studio. Source: I talked to them at KotlinConf about it. Why would they? Do you see Google taking out huge contracts with Oracle for Java, or Red Hat for Linux? Google hardly even contributes to upstream projects, let alone funds them via fat support contracts. They prefer to develop everything in house, acquire outright or maintain their own forks if that isn't viable. Google are members of the Kotlin Foundation. I guess as part of that they contribute towards the cost of the yearly conference. They've also generously open sourced some of the frameworks they built for Android. But go review the commit logs for IntelliJ or Kotlin and you'll see they're nearly all JB employees. As for the rest, words have meaning. "Brand value" means people are willing to pay for things associated with that brand. "Investment" means something that can potentially yield ROI. Something given away for free with no supporting business model isn't an investment, it's charity. The internet is littered with bitrotting projects that were treated as charity and then abandoned when the authors got tired of it. Apache fills up with more every year. The right comparison is thus not with Delphi (which made Borland a ton of money and is still on sale today via Embarcadero), but with NetBeans and Eclipse, both codebases abandoned by their former sponsors when the novelty value of having lots of users wore off. > I might be a vocal minority here, but it keeps nothing but resentment in me. OK, so don't use it then. Kotlin, at least in the JVM or JS variants, isn't the sort of language that requires a huge level of buy-in. I started using it before Kotlin 1.0 even came out, used it for the next decade after that, and was happy with it at every point. Back in those days the community was tiny but that doesn't matter due to its excellent JVM interop. At no point did I ever have any fear other than JetBrains not making enough money with it and defunding it. Fortunately, being a smart company, they haven't fallen into that trap. | | |
| ▲ | pjmlp 2 days ago | parent [-] | | Eclipse is relevant enough in big corporations that Microsoft has had to change their Java tooling offerings to support it just as well, regardless of the coolness factor in coffee shops coding. |
|
|
|
|
| |
| ▲ | jeroenhd 2 days ago | parent | next [-] | | Kotlin may have been relatively IDE-locked without a proper LSP being available, but C# is cross-platform in terms of both editors and runtimes (assuming you're not targeting Windows' .NET stack). At this point I wouldn't consider it any more or less proprietary than any other Microsoft language, like TypeScript for instance. | | |
| ▲ | exyi 2 days ago | parent | next [-] | | Kotlin did not have open LSP, C# still does not have an open debugger. The C# VSCode extension works in Microsoft's build of VSCode, not when someone else forks it and builds it themselves. | | |
| ▲ | jeroenhd 2 days ago | parent | next [-] | | The debugger is proprietary but still works cross-platform. I don't know how Jetbrains does C# debugging in Rider exactly, but that shows that you don't have to use VS (Code) to do C# development if you don't want to. Thanks to Samsung of all companies, there's an open source C# debugger on GitHub (https://github.com/Samsung/netcoredbg). That seems to be the basis of the open source C# extension's debugging capabilities: https://open-vsx.org/extension/muhammad-sammy/csharp The VSCodium C# community wants Microsoft to open source their debugger instead of having to maintain an open source version themselves, but that doesn't mean you need to use Microsoft's open source version. If anything, this forceful separation makes it so that there never will be only one implementation (like there is for languages like Rust which have always been open and therefore only have one way of doing things). | | |
| ▲ | exyi 18 hours ago | parent [-] | | I know about netcoredbg, but I did not have much success using it. If we count this as the C# debugger, then the tooling quality is not comparable to other mainstream languages like Scala, D or Julia. JetBrains have their own closed debugger, which doesn't really help. Since Rust is native code, you can use pretty much any debugger for it, there is definitely not a single implementation. Yes, Rust has a single compiler, but does C# have any other compiler than Microsoft's Roslyn? (I don't think this is a problem, though) |
| |
| ▲ | martypitt 2 days ago | parent | prev [-] | | Kotlin has had an OSS (MIT) Language Server for years.
It's written and maintained by the community - but isn't that exactly the point of open source? [0]: https://github.com/fwcd/kotlin-language-server |
| |
| ▲ | cess11 2 days ago | parent | prev [-] | | C# is partially cross-platform. Might be fine for web applications, but e.g. GUI frameworks aren't as cross in practice as they make it out to be, which I've wasted tens of hours figuring out before going back to Java and Racket. The nice language on the CLR, F#, also doesn't seem to be very well liked by MICROS~1 anymore. | | |
| ▲ | jeroenhd 2 days ago | parent [-] | | MAUI is cross platform for every platform most businesses care about (mobile+Windows+macOS). For the rest, there's Avalonia (and a bunch of alternatives, but Avalonia comes closest to Microsoft's systems I think). You won't be writing visual bootloaders in plain C# any time soon, but the GUI side of C# is fine | | |
|
| |
| ▲ | 9cb14c1ec0 2 days ago | parent | prev | next [-] | | Every language has its ecosystem. I don't know why being locked into the Java or C# ecosystem is any worse than, say Python or Go. And I say that as someone who has used all of these languages. | | |
| ▲ | iLemming a day ago | parent [-] | | Moreover, every programming language has its own community.
With conventions, rules, style guides, code of conduct, roadmaps and mentality.
With some "weird" takes and with some "pragmatic insights", with their own "rock stars" and "graybeards" to respect and follow.
Each with its own unique landscape of hills to choose to die on.
"Nothing's wrong with XML", "Give me JSON or death", "Fuck that, YAML all the way for me", ".yaml is dead, long live .toml!", "pfff, you mortals have no idea but EDN is way better..." — and that's just some data-representation disagreements.
Once you get to actually processing the data, it gets even worse: "object-orientation is bullcrap", "oh, no, this FP shit is so hard to read for me, what's wrong with good-old 'for' loops?", "if you're not using static types, you're a bad, bad person...", "yes, these 35 libraries to run our 3-liner script are really necessary", etc.
Every single programming language has its own pain points and joyful bits.
That's why programming is both an amazingly gratifying and a heinously crappy trade. Do you want to age into an old, happy programmer? Avoid emotional attachment to any single programming language. Borrow good ideas from different sources, but don’t settle on a single PL, paradigm, or convention. Sure, you’ll probably end up hating each of them for different reasons, but you may find some that you don’t loathe so badly. |
| |
| ▲ | sorcercode 2 days ago | parent | prev [-] | | what job do you currently take? | | |
| ▲ | rochak 2 days ago | parent [-] | | I work on backend (distributed systems) leveraging languages like Java, Python, Go, Ruby and TypeScript. | | |
| ▲ | TiredOfLife 2 days ago | parent [-] | | What ecosystem does C# lock you in compared to Java, Python, Go, Ruby and TypeScript? | | |
| ▲ | rochak a day ago | parent [-] | | Microsoft/Windows’s ecosystem. As an example, any general guide on the Internet or on Microsoft’s end is written assuming you are developing on and for Windows. I want to stay away from Windows as much as I possibly can but it just isn’t possible. That’s not the case with the other languages/ecosystems I mentioned. | | |
| ▲ | iLemming a day ago | parent | next [-] | | After college I didn't do a lot of programming for some years. But then jumped into .Net with gusto, because I carried huge respect for Anders Hejlsberg. Back in college they taught us Pascal. It's not that I'm that old, it's just because I grew up in former Soviet Union, which has been lagging for decades behind American computer landscape, some curriculums ran with a huge delay. So, because I knew Pascal well, of course I was following Anders (creator of Turbo Pascal and Delphi). Anders worked for Borland. So, just so you know, Borland was huge back in the day, they made IDEs like Borland C++Builder and such. In fact, Borland was so big, my classmate one day has shocked me by telling me that he thought that the last name of Pascal (the mathematician) was "Borland", that's how (he thought) the company got its name. Anyway, Anders left Borland and joined Microsoft and then .NET with VB and C# came out. In the beginning I was elated. After a few years building .NET apps, websites and services, I started digging for other things. Without even realizing, I slowly left the .NET behind me. Getting out, I recognized that the entire .NET stinked with an aura of some kind of "mental prison". I can't really describe the feeling now, but the entire community felt to me like needing some kind of approval all the time — from mothership company, from influencers like Scott Hanselman, from the Stack Overflow team, or some others like Pluralsight (which in the beginning was very .NET-centric). I'm sure things perhaps have changed since then for the better — Satya has implemented some company-wide revolutionary changes, yet for me personally, the appeal of writing code targeting .NET has completely dissipated. I'm honestly not missing it a bit. Just a few months of coding something different taught me far more, improved my skills, and gave me invaluable perspective that I wouldn't find if I've stayed. | |
| ▲ | TiredOfLife a day ago | parent | prev [-] | | https://learn.microsoft.com/en-us/training/modules/dotnet-de... Like first result searching for .net brings you to this microsoft tutorial. Instruction for local development start with installing sdk that immediately offers linux install instructions and vscode also with direct links to .deb or .rpm packages |
|
|
|
|
|