Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "kotlin is cool"
-
I'm 20, and I consider myself to be as junior as they come. I only started programming seriously in June 2016,and since then, I've been doing mainly Android Work, and making my own servers and backends(using AWS/Firebase nd stuff).
For the first time in life, I was approached by a recruiter for a company on linkedIn. They "stumbled upon" my Github profile and wanted to see if I was interested in an internship opportunity. This company is an early stage start up, by that I mean a dude with an idea calling himself the CEO and a guy who "runs a tech blog" and only knows college level C programming (explaination follows).
So they want me to make the app for their startup. and for that, I ws first asked to solve a couple problems to prove my competence and a "technical interview" followed.
They gave me 3 questions, all textbook, GCD of 2 numbers, binary search and Adding an element to the linked List, code to be written on a piece of paper. As the position was that of an Android Developer, I assumed that Java should be the language of choice. Assumed because when I asked, the 'tech blogger' said, yeah whatever.
But wait, that ain't all, as soon as I was done, Mr. Blogger threw a fit, saying I shouldn't assume and that I must write it in C. I kept my cool (I'm not the most patient person), and wrote the whole thing in C.
He read it, and asked me what I've written and then told me how wrong I was to write 2 extra lines instead of recursion for GCD. I explained that with numbers large enough, we run the risk of getting a stackoverflow and it's best to apply non recursive solution if possible. He just heard stackoverflow and accused me of cheating. I should have left right then, but I don't know why, I apologized and again, in detail explained what was happening to this fucktard. Once this was done, He asked me how, if I had to, I'd use this exact code in my Android App. I told him that Id rather write this in Java/Kotlin since those are the languages native to Android apps. I also said that I'd export these as a Library and use JNI for the task. (I don't actually know how, I figured I can study if I have to).
Here's his reply, "WTF! We don't want to make the app in Java, we will use C (Yeh, not C++, C). and Don't use these fancy TOOLS like JNI or Kotlin in front of me, make a proper application."
By this I was clear that this guy is not fit to be technical lead and that I should leave. I said, "Sir, I don't know how, if even possible, can we make an Android App purely in C. I am sorry, but this job is not for me".
I got up and was about to leave the room, when we said, "Yeah okay, I was just testing you".
Yeah right, the guy's face looked like a howling monkey when I said Library for C, and It has been easier for me to explain code to my 10 year old cousin that this dumbfuck.
He then proceeded to ask me about my availability, and I said that I can at max to 15-20 hours a week since my college schedule is pretty tight. I asked me to get him a prototype in 2 months and also offered me a full time job after I graduate. (That'd be 2 years from now). I said thank you for the offer, but I am still not sure of I am the right person for this job.
He then said, "Oh you will be when I tell you your monthly stipend."
I stopped for a second, because, money.
And then he proceeded to say 2 words which made me walk out without saying a single word.
"One Thousand".
I live in India, 1000 INR translates to roughly $15. I made 25 times that by doing nothing more than add a web view to an activity and render a company's responsive website in it so it looks like an app.
If this wasn't enough, the recruiter later had the audacity to blame me for it and tell me how lucky I am to even get an offer "so good".
Fuck inexperienced assholes trying shit they don't understand and thinking that the other guy is shitsworth.10 -
A is for Assembly, a wizard's spell
B is for Bootstrap, so bland and the same. And also for Brainf*ck, will blow you away
C is for COBOL, your grandad knows that
D is for daemon, your server knows what
E is for Express.js, you node what is coming
F is for FORTRAN, which is perferct for sciencing
G is for GNU which is GNU not UNIX
H is for Haskell using functional units
I is for Intance, An action of Object
J is for Java plays with them Always
K is for Kotlin, Android's new toy
L is for Lisp, scheming a ploy
M is for Matlab, who knows how it works
N is for Node a bloatware of code
O is for Objective Pascal, you did not expect that
P is for programming, we all love to do that
Q is for Queries, A database is made
R is for R, statistics are great
S is for Selenium, you have to test that
S is for Smalltalk, let's make it all brief
T is for Turing Test, how human is this?
U is for Unix, build with all talents
V is for Visual Studio, built with all laments
W is for Web, lets build something cool
X is for XHTML, remember all that?
Y is for Y2K, I'm tired as f*ck
Z is for Zip, let's zip is all now.
Get yourself coffee and back to the grind.8 -
!rant
Got back into android development recently and while everything was pretty flawless ( I managed to get the basic concepts implemented in a day) something wasn't right.
For some reason I was not happy with the code i wrote, although I took examples from google and tried to adapt their code style. It looked aweful. I hated my code.
But the code itself wasn't the core of the problem. I could easily add new features and replace components with new implementations without breaking the app. All those "good code quality" identifiers were there.
Turn out the problem is Java. Or to be more specific: Java 1.6
Every listener which only calls a single function once a worker has finished needs 6 lines of code. If you implement the inferface in the class it gets messy once there are multiple workers and you have a generic interface. And there are no lambdas!
So I made the switch to Kotlin.
The app was converted to kotlin in 30 Minutes. Android studio can convert the classes automatically and very little manual work is needed afterwards.
After that I spent 2 hours replacing the old java concepts with Kotlin concepts: lamdas, non-nullable types, getters and setters in kotlin style (which in this case is c# style) and some other great thing.
The code is good looking now. I like it. I like kotlin as it has a lot of cool things.
Its super easy to learn. It took me about 2 hours to get into it. It combines concepts from java, javascript, c# and maybe a few other languages to form a modern jvm 1.6 compatible typesafe language.
Android dev is fun again!2 -
Gotta love kotlin!
@osiris1337 the refactoring is going great
I had a 80 lines long model class with all the getters and setters and Parcelable interface implemented
and all of that converted to kotlin like this
@-psr another reason, small and readable code ^_^1 -
!rant
Goodbye Java I will not miss you at all! I swear ...
I do like it when making web services (especially that I can use Java8) but for Android you have been a torture. Hello sweet Kotlin! I shall embrace you and treat you like my newly born baby!!
Story is:
Working on a new project where I need to talk to a web service (also made by me).
Started writing in Java, all is cool and unit tests pass.
Downloaded Android Studio 3 Beta 1 and converted my Java code to Kotlin, That AsyncTask did not look nice in kotlin, converted it to async & await feature and I must admit lots of code removed, no more need to create a new fucking AsyncTask every time the app sneezes for data!
I feel like I'm working with C# but with difference in syntax.
My life is now complete :)undefined java goodbye! am i drunk? koline: sorry i have a boyfriend hi there kotlin i shall not miss you what the fuck did i just use for a tag?8 -
rant, but !really.
Trying out this new Kotlin language. Pretty cool, except for...
val str: String = "what the fuck is this syntax?"6 -
Instructor: "and now here we can write this while loop in ph- oh wait. Let me just show you a cool trick. I am gonna close this php tag with ?> , open an html tag , then again open this php tag , add this line, close it, then again close html tag, then again open php, and then close it. pretty crazy huh? You see, now we can have our cool bootstrap displaying this output beautifully"
Me : FUCK YOU MAN :|
for reference, this was the final output :
============================
<?php
while($row = mysqli_fetch_assoc($result_successful)){
?>
<pre> <?php print_r($row); ?> </pre>
<?php
}
============================
I am a newbie in web dev who comes from a very nice java/kotlin world. is this a common site in web dev, mixing of all the html/php/some 1000 more laguages and frameworks to make 1 working product? coz it sucks.11 -
android development is shitty af, it will make you super zombie computer nerd that sit on his chair for fking several hours just to find the where the fk is null pointer exception is coming from not only this but for all kind of errors,logcat looks like someone just hacking nasa, you know what im the one who is shitty af i would have opt web dev instead of android dev , this retarded studio and emulator takes too much time to just load a simple fking thing & if i make some change in it i've to install that application again ,it's so pathetic and horse shit thing i've ever encountered , kotlin is fun it's actually great language most of the features are so helpful in it,but the google codelabs,it's all documentation , adding dependencies whole concepts are trash imo, why can't we install the dependencies using terminal what's problem in that ,but no they chose the hard way for no fuking reason, i've successfully wasted a year learning this shitty tech stack, hopefully this NY i will choose different stack , will work till ass off .gonna build some cool projects and will eventually try for internships and all. done with android dev, idk how senior dev's are alive in this field6
-
Looking into Kotlin, and it seems pretty cool, but I just can't get over how unnatural and annoying the mapOf syntax is.
In JavaScript: const obj = { a: 1, b: { c: 3, d: 4 } }
In Kotlin: val obj = mapOf("a" to 1, "b" to mapOf("c" to 3, "d" to 4))5 -
"Learning" kotlin for android dev has been a wild ride yet. Kotlin is kinda cool, a mix between python and Java but with many nice features. Then again there are kotlin features on which I just scratch my head like data classes and companion objects.
And then for android (not kotlin specific) I see things like calling Timepicker(...) or Timepicker Dialog(...) without assigning it to a variable and wonder how that can even work. Can someone explain? There's no creation method, static method or anything?
I feel like a competent and incompetent dev at the same time.3 -
!rant
Just started a side project, helping a friend make his Android app more stable and add a couple more features. We'll release the sources sometime later.
Gotta say, his code is just terrible. And it runs on top of some code written by someone else, and that's even worse.
But I don't know how I got the motivation to spend the whole Saturday cleaning it up, fixing warnings, making abstractions, extracting features to separate classes, converting some stuff to Kotlin, even adding a couple coroutines. It felt good fixing bad code.
Maybe because I have some coding freedom I kinda miss at work.
Maybe because the project is not that big.
Maybe because I know the guy has many skills, coding is just not one of them.
Maybe because that project has some cool in it I can't even describe.
Maybe because that's entirely within my skills but challenging enough to have fun working on it.
Or maybe is just the mood of the moment, and in a week or so I'll lose all the motivation, as it happened too many times.
🤷♂️2