Yknow, I want to make an android app that I have in my mind for about half a year now and I already tried twice, both with Kotlin and with Java but everytime I try it's just pain and suffering and frustration...

No it's not because of the language, I like Java and I like Kotlin too and I'd say I'm at least decent at Kotlin and really good in Java...

No no.. the issue is the fucking Android SDK and the mix-and-match documentation available online!!!

Every fucking time I want to implement some sort of UI element, user action or a background service and I start googling how to do it It comes with with at least 3 different stack overflow solutions, all of them saying "that way of doing it is deprecated, instead you should X" and looking up the OFFICIAL FUCKING DOCS it will just make me roll up in the corner and cry because of how fucking inconsistent it is and the retarded domain language it uses... fucking transactions for fucking fragments inside fucking activities... because I guess the word "screen"/"view"/"template" or something similar natural just was too mainstream for the all knowing alphabet soup that google is...

And then you start looking up what the fucking difference even is and how to code it up only to find out there's at least 12 other opinions on how fragments should be used and what should be an activity and what should be a damn fragment...

But that's not all, that's just the base... I get a headache even thinking about how the fucking inflating of templates and the entire R. notation works. You want to open a fucking tiny corner menu with the settings options? WELL THEN YOU FUCKING BETTER REMEMBER TO IMPLEMENT IT THROUGH SOME SORT OF EVENT AND INFLATE THE MENU YOURSELF EVEN THOUGH ITS THE SAME FUCKING THING WITH STATIC STRINGS...

also talking about ListViews... what was wrong with "ListView"... Why do we need a "RecyclerView"... oh right... because the fucks fucked the fuck up and all the legacy components were designed by a monkey and are next to useless! SO WE NEEDED A NEW NAME FOR THE FIXED VERSION, CANT NAME IT LISTVIEW AGAIN... FUCK YOU...

honestly... if I got a dolar for every "what the fuck android" I said during trying to understand that mess I'd be richer by a few hundred...

oh oh oh, but you know what? You don't like the android SDK? that's fine, you can use fucking React or Flutter or something... yeah.. because instead of torturing myself with the android SDK I want to torture myself with an abstraction of the same SDK and JavaScript as the fucking cherry on top... HAVE YOU FUCKING SEEN THE CODE FLUTTER SHOWS ON THEIR WEBSITE AS THE "Introduction" ?!!!

Look at this piece of shit:

[code in attached image, we could really use a proper Markdown support at least for rants]


The fucking nesting... What is it with JS and all the fucking nesting everytime?! It looks like shit.... It reads like shit as well...

WHY, in the name OF FUCK, IS THERE MORE THAN 5 ANDROID FRAMEWORKS and ALL of them... used this FUCKING NOVEL idea of programming using A FUCKING BRACKET WALL

It always looks like:

If I wanted to make a fucking app or a website using fucking Haskell I'd do that.... at this point reading assembly code feels like heaven compared to this retardation... Why is this so popular?! WHAT DO YOU PEOPLE SEE IN IT?! Clearly it's not the aesthetics... it looks like a fucking frog vomit running down an emus leg, fuck that.... I don't even hate classic JavaScript, it's a good enough language and it does what I tell it to... but these ugly fucking frameworks like react, angular and whatever else uses this fucking format can go fuck right off. This is not the way JS is gonna get a better name for itself...

Fuck Google

Fuck the marionette that designed the Android SDK

Fuck the Hellspawn the came up with the "functional-like" way of using JavaScript

Fuck everyone that thinks "JavaScript everywhere" is a good thing

And deeply future-fuck everyone that makes a new framework following any of these standards, stucks a .js at the end of the name and releases his hairball.js of an invention into the fucking world....

It's a mess... fuck everything android related...

  • 7
    I feel you man. I've had android (mobile applications) labs and lectures this semester, and it was awful. For most students it was first time using Java at all, lecturer decided that Kotlin was off limits because he is not familiar with it. So now i know ~30 people whose only experience with java is the worst maze of an SDK i have ever seen, and who will hate that language for next ten years unless somebody shows them what it really can do.
  • 4
    You forgot to mention Xamarin. I had it in my lectures, and it was horrible. Cross-fucking-platform-development-my-arse
  • 5
    This is my biggest complain with Android development, people think that it was because of Java, no it was not bad because of Java. Then people thought that Kotlin would fix it, not it didn't, because the issues with Android is not the language, but the FUCKING SDK AND SHIT DOCUMENTATION.

    You put something from the docs, a 5-15 line example, AH SHIT DUMBASS YOU FORGOT ALL THIS OTHER SHIT and thus end up with a class that needs to be added somewhere with 400 lines of code to do a shake detection(exaggerated example but you get me)

    Kotlin does fix some verbosity, but that is about it.
  • 1
    What the fuck is that image.
    Looks like Kotlin(?), It's an unholy abomination made of your pain and suffering.
    If this is how people code a modern android app I never, ever want to touch that subject.
  • 1
    Wow this is pretty much my experience with Android SDK. A fucking mess.
    Is your picture showing jetpack compose? It haven’t touched it yet.
  • 4
    @Ranchonyx that's Flutter (Dart).

    while i agree 99% percent with what op is saying, the 1% disagreement is that flutter's abstraction is good for the mind and soul. as long as your app is generic enough that you dont really need to touch android, flutter is really good (barring the subjective styling, ofc).
  • 1


    The pic is just the example code from flutter's official website (it's essentially the first code you see when you start scrolling)

    ... the fucking *example* of how it's *supposed* to look like!
  • 2

    Yeah, my issue with flutter isn't as much the way it does things as is that it's yet another javascript framework that adopted that hideous endless nesting of magic properties.

    That's like a minirant inside the rant, because apparently my only alternative to android sdk is one of the many, seemingly identical javascript frameworks. Hopefully at least the documentation is better -_-
  • 1
    @Hazarth although most of your grievances are valid, this is Dart, not JS (although Dart is very JS like)
  • 0
    Good to know. I didn't know that!

    But Im looking at dart right now and it looks decent, so why is why the way flutter uses it is so butchered?

    Im chalking it up either to the sdk being shit and That's why they had to do it this way (likely)

    Or because It's still compiled to js in the end, and it has to somewhat match It's limitations?

  • 1
    @dontknowshit It's not that I can't do it and no doubt it would get easy with more experience with these technilogies. But I have to question why something so frustrating is the industry standard still.

    Even if you take me out of the equation, you see Im far from being the only one. This is an entry barrier for a whole lot of aspiring mobile devs.
  • 1
    I think the problem with that flutter nesting hell is that they are trying to use the classical composition model of constructing objects with parameters. And then mapping it to android sdk internally.
    You might want to try Jetpack Compose as it goes with a different, declarative approach.
    Again, I haven’t touched it yet but from what I have read, it appears to be similar to SwiftUI from the iOS world. And if it is, than you will get a declarative, reactive UI framework which utilizes Kotlin's strengths to make it easy to use and easy to read.
  • 0
    C# + Xamarin.Forms FTW
  • 1
    @Ranchonyx it feels like they tried to do declarative in imperative.
Add Comment