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 - "i also fucking hate js"
-
"devRant has changed" "I'm so fed up with this site" "Its a bunch of hate and memes, it was so much better before"
A rebuttal.
devRant is approximately the same as it was when it was just a newborn. Remember the days of semicolon jokes being unironically funny?
Look at the top rants of all time, for fucks sake. #2 ever is:
"A different error message! Finally some progress!"
Posted three years ago. That's the second most upvoted rant in history (Remember, this was a "rant" because the joke/meme category didn't exist back then), it made it's way into the app store screenshots, and was a welcome post.
Now imagine that posted today. It would probably go over okay, in fairness, but it's certainly at risk of any number of pretentious pricks complaining about how this is "devRANT not 4chan" or how they had seen the joke before and it's a shitty repost.
And sure, the repost bullshit is fair. I'm not saying that all the reposts are good content. What I'm saying is devRant has always been full of reposts - they just weren't reposts in the early days. The quality of content is the same.
There's also the common misconception that your posts need to be directly related to tech to post on devRant. This is a myth propagated by 0 IQ heathens that don't read any further than the name of the application. Your posts can be anything that isn't prohibited, like porn, spam, and, importantly, politics (commonly overlooked rule)
"All the memes are just too much". Oh you poor fucking baby, let me pour you a healthy serving of pity juice. First of all, you can turn off the memes category, and while they will still find their way to your feed, the concentration will be much lower and it will once again be bearable for your pitiful, weak little soul. Do you seriously get annoyed that severely by shitty posts that you need to leave the app altogether, or do you just want the attention of being a "cool hipster that hates on xyz"?
"This place is just filled with hate! Why can't you just respect xyz technology, it isn't actually that bad!"
This is probably the most stupid fucking thing you could possibly ejaculate from your fingers into whatever device you are using to type. Welcome to devRant, we hate on shit. That's at our core. No, xyz technology ISN'T actually that bad, you're correct. But we're here to tear it apart because it probably has frustrated us in the past. I fucking hate JS because it was my first language and it confused the shit out of me. JS is a great language. But I still talk shit about it, and that's what we're here to do.
Like seriously, I know a lot of people post stuff they're proud of here, and then they're met with "Would be great if you didn't use xyz tech", and that hurts, but holy shit, this is devRant. If you're sensitive to criticism, or even just straight up being made fun of, don't post shit that you're proud of. You won't have a good time. It's just not what we do here.
Quick interlude before the conclusion, "My girlfriend dumped me after I named a class after her. She felt I treated her like an object." is also on the first page of all-time most popular posts.
In conclusion, devRant has not changed. Reposts have been a nuisance since day 0, and just because reposts look different these days doesn't mean the quality of content has decreased in any manner. The two main sources of your frustration are the volume of low-quality posts (Mind you, not the concentration of them, but the volume of them) and your own prejudices about the platform. You're looking back with rose-tinted glasses.
Here are some tips for a more enjoyable experience:
-Make sure you have the "Hide reposts" setting ENABLED in settings. Any posts marked as repost will be hidden in your feed, pulling down the concentration of low-quality posts.
-Keep to the algo sorting method. Obviously, algo is a bot, and there's still gonna be some shit content in there anyways, but if you're in recent, you are absolutely guaranteed to see low-quality posts. It's unfiltered.
-Keep in mind that what you consider a "quality" post is not what others consider a "quality" post. Just because you don't like memes doesn't mean memes are poor content. There are people here who have never seen the bobby tables comic. And they deserve the same experience we got when discovering dev humor.
-Don't be a prick. And if you cannot help yourself, leave. Ironically, you're making the site worse by complaining about how bad the site is. You can always come back if you aren't a prick anymore. And you can leave permanently if you choose as well.
-Downvote and move on. You're not doing anything but making yourself more aggravated by leaving a shitty comment about how shitty the shitty post is.
-Think critically. Obviously optional, and I know not many people like to use their brain when a phone is suspended between their hands, but if you want a better experience, remember to use your head and not to lose it.22 -
We're using a ticket system at work that a local company wrote specifically for IT-support companies. It's missing so many (to us) essential features that they flat out ignored the feature requests for. I started dissecting their front-end code to find ways to get the site to do what we want and find a lot of ugly code.
Stuff like if(!confirm("blablabla") == false) and whole JavaScript libraries just to perform one task in one page that are loaded on every page you visit, complaining in the js console that they are loaded in the wrong order. It also uses a websocket on a completely arbitrary port making it impossible to work with it if you are on a restricted wifi. They flat out lie about their customers not wanting an offline app even though their communications platform on which they got asked this question once again got swarmed with big customers disagreeing as the mobile perofrmance and design of the mobile webpage is just atrocious.
So i dig farther and farthee adding all the features we want into a userscript with a beat little 'custom namespace' i make pretty good progress until i find a site that does asynchronous loading of its subpages all of a sudden. They never do that anywhere else. Injecting code into the overcomolicated jQuery mess that they call code is impossible to me, so i track changes via a mutationObserver (awesome stuff for userscripts, never heard of it before) and get that running too.
The userscript got such a volume of functions in such a short time that my boss even used it to demonstrate to them what we want and asked them why they couldn't do it in a reasonable timeframe.
All in all I'm pretty proud if the script, but i hate that software companies that write such a mess of code in different coding styles all over the place even get a foot into the door.
And that's just the code part: They very veeeery often just break stuff in updates that then require multiple hotfixes throughout the day after we complain about it. These errors even go so far to break functionality completely or just throw 500s in our face. It really gives you the impression that they are not testing that thing at all.
And the worst: They actively encourage their trainees to write as much code as possible to get paid more than their contract says, so of course they just break stuff all the time to write as much as possible.
Where did i get that information you ask? They state it on ther fucking career page!
We also have reverse proxy in front of that page that manages the HTTPS encryption and Let's Encrypt renewal. Guess what: They internally check if the certificate on the machine is valid and the system refuses to work if it isn't. How do you upload a certificate to the system you asked? You don't! You have to mail it to them for them to SSH into the system and install it manually. When will that be possible you ask? SOON™.
At least after a while i got them to just disable the 'feature'.
While we are at 'features' (sorry for the bad structure): They have this genius 'smart redirect' feature that is supposed to throw you right back where you were once you're done editing something. Brilliant idea, how do they do it? Using a callback libk like everyone else? Noooo. A serverside database entry that only gets correctly updated half of the time. So while multitasking in multiple tabs because the performance of that thing almost forces you to makes it a whole lot worse you are not protected from it if you don't. Example: you did work on ticket A and save that. You get redirected to ticket B you worked on this morning even though its fucking 5 o' clock in the evening. So of course you get confused over wherever you selected the right ticket to begin with. So you have to check that almost everytime.
Alright, rant over.
Let's see if i beed to make another one after their big 'all feature requests on hold, UI redesign, everything will be fixed and much better'-update.5 -
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...
AND WHY THE FUCK DO I NEED LIKE 4 NEW FILES TO IMPLEMENT A FUCKING LISTVIEW...
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]
THAT'S NOT EVEN THE ENTIRE THING, THAT'S JUST THE *REALLY* UGLY PART...
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:
(code(code[code{code(code{code()})}]));
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...
So:
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...14 -
Flash has made Java programs look desirable. And anyone keeping up with me knows I despise Java and C#, despite having written C# and currently working on deciphering a Java server to create documentation.
Before I begin, I want to make this clear: IT IS TWO THOUSAND AND FUCKING EIGHTEEN. 2018. WE HAVE BETTER TECH. JAVASCRIPT HAS TAKEN OVER THIS BITCH. So, firstly, FUCK FLASH. Seriously, that shit's a security liability. If you work for a company that uses it, find a new job and then fucking quit, or go mutany and get several devs to begin a JS-based implementation that has the same functionality. There is no excuse. "I'm fired?" That's not an excuse - if there is a way to stop the madness, then fucking hit the brakes on that shit or begin job hunting. Oh, and all you PMs who are reading this and have mandated or helped someone else to mandate work on an enterprise flash program, FUCK YOU. You are part of the problem.
The reason for this outburst seems unreasonable until you realize the hell I went through today. At my University, there is a basic entry-level psychology course I'm taking. Pearson, a company I already fucking hate for some of the ethically sketchy shit they pulled with PARCC as well as overreach in publishing to the point they produce state tests here in the US - has a product called "My PsychLab" and from here on out, I'm referring to it as MPL. MPL has an issue - it is entirely fucking Flash. Homework assignments, the textbook, FUCKING EVERYTHING. So, because of that, you need to waste time finding a browser that works. Now let me remind all of you that just because something SHOULD WORK does NOT mean that it actually does.
I'm sitting on my Antergos box a few days ago: Chromium and Firefox won't load Flash. I don't know why, and don't care to find out. NPAPI and whatnot are deprecated but should still run in a limited mode or some shit. No go on Antergos.
So, today I went to the lab in the desolated basement of an old building which is where it's usually empty except a student hired by the university to make sure nobody fucks things up. I decided - because y'all know I fuckin' hate this - to try Windows. No go in Chrome still - it loaded Flash but couldn't download the content. So I tried Firefox - which worked. My hopes were up, but not too long - because there was no way to input. The window had buttons and shit - but they were COMPLETELY UNRESPONSIVE.
So the homework is also Flash-based. It's all due by 1/31/18 - FOUR CHAPTERS AND THE ACCOMPANYING HOMEWORK - which I believe is Tuesday, and the University bookstore is closed both Saturday and Sunday. No way to get a physical copy of the book. And I have other classes - this isn't the only one.
Also, the copyright on the program was 2017 - so whoever modded or maintained that Flash code - FUCK YOU AND THE IRRESPONSIBLE SHIT YOUR TEAM PULLED. FUCK THE SUPERIORS MAKING DECISIONS AS WELL. Yeah, you guys have deadlines? So do the end users, and when you have to jump through hoops only to realize you're fucked? That's a failure of management and a failure of a product.
How many people are gonna hate me for this? Haters gonna hate, and I'm past the point of caring.7 -
TL;DR you suck, I suck and everybody sucks, deal with it....
------------------------------------
Let me let off some steam, since I've had enough of people hating on languages "just because"
Every language has it's drawbacks and quirks, BUT they have their strengths also. Saying "I hate {language}" is just you being and ignorant prick and probably your head is so far up your ass that you look like an ass hat. With that being said, every language is either good or bad depending on the developer writing in it. Let's give you an example:
If I ware to give you a brick and ask you to put a nail in a plank, can you do it? Yes, it will be easier if you do it with a hammer, but you have a brick, so hammer is out of the question. If you hit your thumb while doing it... well... sorry, but it is not the bricks fault - it is YOU!
JavaScript, yes it has a whole lot of problems, but it works, you can do a ton of stuff and does a good job at that, it is evolving through node and typescript (and others, just a personal pref), BUT if you used js when you ware debugging that jquery (1.0) plugin written in the free time of a 13 yo, who copy pasted a bunch from SO, well, it is not js' problem - deal with it. Same goes for PHP, i've been there where you had a single `index.php` with bazillion lines of code, did a bunch of eval and it was called MVC, but it also is evolving.. thing is all languages allow you to do some dumb stuff so YOU have to be responsible to not fuck it up (which you always DO btw, we all do). Difference is PHP/JS roll with it because the assumption is that you know what you are doing, which again - newsflash - you don't.
More or less I would blame that shit on businesses which decided to go with undergrads to save money instead of investing in their product, hell, I am in a major company that does not invest that doesn't care a whole lot about dev /tech stuff and now everybody's mother is an engineer - they care about money, because investors care about money (ROI) and because clean code does not pay the bills, but money does.
If we get all of the good practices and apply them to each language every one of them has it's place, that is why there is no "The Language", even if there was, we STILL ware going to fuck it up and probably it was going to be even worse than where we are now.
Study, improve, rinse and repeat... There are SENIORS and LEADS out there that are about 25-30 and have no fucking clue about the language, because they have stuck up their heads up the ass of frameworks and refuse to take a breath of clean air and consider something different than their dogmatic framework "way" of doing things.. That is the result you are seeing. Let me give you a fresh example to illustrate where I am at atm:
Le me works with ZendFramework 2.3-2.5 (why not, which is PHP5+ running on PHP7 [fancy, eh]), and little me writes a module for said project, and tries to contain it in its own space, i.e not touching anything outside of the folder of the module so it is SELF-CONTAINED (see, practices), during 2-3-4 iterations of code review, I've had to modify 4 different modules with `if (somthing === self::SOMETHING_TYPE)` as requested by my TL, which resulted in me not covering 3 use-cases after the changes and not adding a new event (the fw is event-driven, cuz.. reasons) so I have to use a bunch of ifs in the code, to check a config value and do shit. That is the way of I am asked to do things I hate what I've done and the fact that because of CR I have lost case-coverage, a week of work and the same TL will be on my ass on monday that things are now "perfect".
The biggest things is "we care about convention and code style"... right.... That is not because of the language, not because of me, not because of the framework - it is some dude's opinion that you hate, not the language.
New stuff are better, reinventing the wheel is also good, if it wasn't you would've had a few stone circular things on your car and things ware going to be like that - we need to try and try, that is the only way we actually learn shit.
Until things change in the trade, we will be on the same boat, complaining about the same shit over and over, you and me won't be alive probably but things will not change a bit.
We live in a place where state is considered good, god objects necessary (can you believe it, I've got kudos for using the term 'God Object'... yep, let that sink in). If you really hate something, please, oh god I beg you, show me how you will do it better and I will shake your hand and buy you a beer, but until then, please keep your ass-hurt fanboy opinion to your self, no one gives a shit about what you think, we will die and the world will not notice...6 -
Does most memorable in a bad way count? 🤔
He left almost 2 years ago..or even more.. left a bunch of bugs and logical fuckups for me to fix.. some already fixed, some still lingering there..
I want to not blame him for everything, since we lack proper code review protocols and all.. but I've asked on several occasions if he understands the problem and what must be done..and the answer was always yes..results, after I got time to check up on him, the code he wrote was most probably copy pasted from stack overflow or somewhere else.. butchered in any and every way possible..
And of course already checked in to TFS.. along with bunch of files that were not even changed (he didn't bother to check that and exclude them) + a bunch of files from other projects... Told him to not do that on several occasions too, but he still managed to fuck things up this way.. leaving all the uncommented debugger; crap and alerts in the js files..
On one occasion I was working on new GUI..api part I already finished..got the order from above to delegate this to him as it is not much he can fuck up so I could focus on more important & complex stuff..
Maybe additional 4h of work + testing for everything..
I show him the prepared files, one controller, one view..explained what parts of code goes where etc.. a little short of writing everything myself.. Ask if he understands what needs to be done & how and told him if he has any problems/questions to ask me asap..
Said he understood what needs to be done.. after a day or two he asks me why something is not workig as expected.. I check the files, correct initialization was commented out and all the code was stuffed in the view file.. Took him another day to move the code to proper files.. Not sure about the possible bugs left there as the client later decided that they will not be using this..
I later found out that years of C# experience on his CV was actually a school course.. he didn't even know why the changes on api are not showing up..because he didn't know that he has to build the code..
I mean, if he was honest when asked about experience with .net, we would've taken a month or two to just explain everything from the start..
But as he didn't and based on his CV (much more experience with .net than me) and 'I understand everything' attitude from the start I assumed he knows WTF was he doing..
Boy was I wrong..
He was also more interested in how much I get payed and if I have a company phone etc..than actually doing his job.. I fucking hate chit chat, and this..well.. he didn't get the hints that this is in no way appropriate to ask.. I've told him that if he has problems with his pay and bonuses that he should talk to the management and not me about this..and that I'm only interested in his actual work and progress..
So yeah, I'll definitely be remembering this guy till the day I die..3 -
what kind of dumb fuck you have to be to get the react js dev job in company that has agile processes if you hate the JS all the way along with refusing to invest your time to learn about shit you are supposed to do and let's add total lack of understanding how things work, specifically giving zero fucks about agile and mocking it on every occasion and asking stupid questions that are answered in first 5 minutes of reading any blog post about intro to agile processes? Is it to annoy the shit out of others?
On top of that trying to reinvent the wheels for every friggin task with some totally unrelated tech or stack that is not used in the company you work for?
and solution is always half-assed and I always find flaw in it by just looking at it as there are tons of battle-tested solutions or patterns that are better by 100 miles regarding ease of use, security and optimization.
classic php/mysql backend issues - "ooh, the java has garbage collector" - i don't give a fuck about java at this company, give me friggin php solution - 'ooh, that issue in python/haskel/C#/LUA/basically any other prog language is resolved totally different and it looks better!' - well it seems that he knows everything besides php!
Yeah we will change all the fucking tech we use in this huge ass app because your inability to learn to focus on the friggin problem in the friggin language you got the job for.
Guy works with react, asked about thoughts on react - 'i hope it cease to exists along with whole JS ecosystem as soon as possible, because JS is weird'. Great, why did you fucking applied for the job in the first place if it pushes all of your wrong buttons!
Fucking rockstar/ninja developers! (and I don't mean on actual 'rockstar' language devs).
Also constantly talks about game development and we are developing web-related suite of apps, so why the fuck did you even applied? why?
I just hate that attitude of mocking everything and everyone along with the 'god complex' without really contributing with any constructive feedback combined with half-assed doing something that someone before him already mastered and on top of that pretending that is on the same level, but mainly acting as at least 2 levels above, alas in reality just produces bolognese that everybody has to clean up later.
When someone gives constructive feedback with lenghty argument why and how that solution is wrong on so many levels, pulls the 'well, i'm still learning that' card.
If I as code monkey can learn something in 2 friggin days including good practices and most of crazy intricacies about that new thing, you as a programmer god should be able to learn it in 2 fucking hours!
Fucking arrogant pricks!8 -
(Ok, I love js in general (specially with es6), but here's something I hate about the "ecosystem". Dont take this too srsly also)
Holy fucking gagged shit, these project readmes that start out for too long about the project objective instead of stating the actual thing/s the software does.
WHAT DOES IT FUCKING DO!?
STOP BEING FUCKING FANCY ABOUT YOUR PROJECT.
Jesus christ, people jacking off about their awesome tool and how it will make everyone happy. No one cares.
"shitsmoke.js is a framework that focuses on delivering truly reliable data with static checking enabled on deployment."
WHAT THE SHIT DOES THAT MEAN?
Gimme a bullet point with the goddamn features (not the fucking BENEFITS) and I'm done.
These are like layers of marketing bullshit texts you have get through, getting more technical as you go on.
But sometimes they never do a technical summary, THEY GO STRAIGHT INTO THE GODDAMN API. And the API docs belong to a docs site, there is github.io and packages that take care of that.
You're like a goddamn linguistic detective, trying to disect the meaning of these words to understand if some package is what you're looking for.
And I don't wanna visit another website to understand what it does either!1 -
I fucking hate React.
Ohh and I especially hate WordPress implementation of said abomination in their Gutenberg editor.11 -
Sooooo this is the thing.
For a stupid fucking project at work we basically have to scrum manage a bunch of individual components on a rather large web app.
We start with the html and css and js bs and we all have to work on different sections of one page at a time. Large blocks right? Ok cool.
Originally I had suggested to build everything inside individual php files and then stack them up with require(). As fucking simple as fucking that. Except that the manager does not have php on her pc. The other two developer don't either. I am the only one that fucks with php OUTSIDE our fucking servers.
Go fucking figure...the lead developer does not fuck with php outside the servers.....man
So, because i know it would be a shitstorm with something as basic as installing i dunno...fucking xampp my manager said that she needs a different solution.
Fuck it...fine...whatever. i know go. So i make a fucking server wich upon being fired you can just code the templates and paste them where they need to go. Docs and everything..a sane folder structure and everything and a fucking pipleline for the assets and everything. I would have thought that shit was good enough but I even added a cmd tool that merges all the fucking html files together into one html file with all the shit included.
All in Golang. It works, its fast and i can just give them the fucking folder with the exe and it will work.
I dunno if this was the best way to do it. But it took me maybe 20 mins to do it and it works.
I would have expected our manager to be impressed but she legit did not gave two fucking shits about the fact that one of her developers is able to create this mini server for static sites shitstain project in 20 minutes.
Man I don't want praise. She thinks that jquery is the best thing in the world so I don't expect much. But shit man.......a better reaction would have been better. She basically went meh ok as long as it works.
I also showed them a demo of a flutter project to replace the shitty ass webview filled school app that they have for android and ios. Shit is native and it looks beautiful. Ask me what she said.
Go on, fucking ask me.
She said tha if it would take me much time to continue on that the she would rather leave it to the third party vendor that currently makes the app.
I told her that such shitty app costs the school 40 fucking thousand dollars a year that I could do in a fucking month, which would also be better since it would raise the salaries of me and the other 2 developers and will more importantly make us more valuable to the school.
Said that she would think about it because we have a lot of projects.
I
Fucking
Hate
It
When someone fucks with my ability to make more money. I hate it fam. And i fucking despise being limited by other people.
Fuck this week.
I am never gonna grow in here. Ever. But it pays the bills so fuck it.6 -
(I'm not completely sure of what I'm saying here, so don't take this too seriously)
Settling on a language to write the api for ranterix is hard.
I'm finding a lot of things about elixir to be insanely good for a stable api.
But I'm having a lot of gripes with the most important elixir web framework, phoenix.
Take a look at this piece of code from the phoenix docs:
defmodule Hello.Repo.Migrations.CreateUsers do
use Ecto.Migration
def change do
create table(:users) do
add :name, :string
add :email, :string add :bio, :string
add :number_of_pets, :integer
timestamps()
end
end
end
Jesus christ, I hate this shit.
Wtf are create, add and timestamps. Add is somehow valid inside the create, how the fuck is that considered good code? What happens if you call timestamps twice? It's all obscure "trust me, it works" code.
It appears to be written by a child.
js may have a million problems. But one thing I like about CJS (require) or ESM (import) is that there's nothing unexplained. You know where the fuck most things come from.
You default export an eatShit() function on one file and import it from another, and what do you get?
The goddamn actual eatShit function.
require is a function the same way toString is a function and it returns whatever the fuck you had exported in the target file.
Meanwhile some dynamic langs are like "oh, I'll just export only some lang construct that i expect you to specify and put that shit in fucking global of the importing file".
Js is about the fucking freedom. It won't decide for you what things will files export, you can export whatever the fuck you want, strings, functions, classes, objects or even nothing at all, thanks to module.exports object or export statement.
And in js, you can spy on anything external, for example with (...args) => debugger; fnToSpyOn(...args)
You can spoof console.log this way to see what the fuck is calling it (note: monkey patching for debugging = GOOD, for actual programming = DOGSHIT)
To be fair though, that is possible because of being a dynamic lang and elixir is kind of a hybrid typed lang, fair enough.
But here's where i drop the shit.
Phoenix takes it one step further by following the braindead ruby style of code and pretty DSLs.
I fucking hate DSLs, I fucking hate abstraction addiction.
Get this, we're not writing fucking poetry here. We're writing programs for machines for them to execute.
Machines are not humans with emotions or creativity, nor feel.
We need some level of abstraction to save time understanding source code, sure.
But there has to be a balance. Languages can be ergonomic for humans, but they also need to be ergonomic for algorithms and machines.
Some of the people that write "beautiful" "zen" code are the folks that think that everyone who doesn't push the pretty code agenda is a code elitist that doesn't want "normal" people to get into programming.
Programming is hard, man, there's no fucking way around it.
Sometimes operating system or even hardware details bleed into code.
DSLs are one easy way to make code really really easy to understand, but also make it really fucking hard to debug or to lose "programming meaning".7 -
been exploring the options for cross platform desktop app, and i found :
java : both awt and swing look ugly, i really like OOP of java, and the way projects are organized is easy to scale, but i need to deploy the jdk, and the speed on gui apps isn't that great
C# : (.net/ mono, i can't grasp F# and vb is stupid) looks native on windows, not so much alien on both linux/mac, and being a java cousin is a pro, i found the Eto library for mono even looks more native on *ix than winforms
wxwidgets: for C/C++ so far this looks like the best option for total native feel and performance, but man i fucking hate C code, and this looks a lot like C code, even with proper native Cpp support, maybe i should dive deeper in it
GTK+ : did any one mention C code ? because this mother fucker is plain C with macros all over the place, it made me realize why wx is promoted as Cpp friendly, i doubt I'll use this
tcl/tk : even tho ive never wrote a single line of tcl in my life, the tk lib is the default ui for both python and ruby on all supported platforms,
and i really love ruby, and Python is Usually a joy to work with
Qt : this by far looks like the best option, proper OOP in C++, bindings for python (ruby binds are outdated), almost native look and feel on supported platforms, and even has a gui builder in xml or json/js (qml) however i bet I'll use such a thing, the building tho depends on an external preprocessor "moc" and some wicked macros, also makes working with templates a fucking mess, and the heavy dependence on QObject inheritance makes integrating external libraries a bit more tiring, the signal slot system makes more sense in python than in C++, since it makes me confused about the flow of the code
lazarus: is a freepascal implementation that looks and feels like delphi, not so much for native look and feel, but good performance and easy language to handle
electron : this fat mofo is fat, it's the slowest of all options, if i want an html app, I'll just compile a stripped down webkit and deploy that
what do you think ? and did i miss something ?17 -
So I’m learning JavaScript but with every project I’m delayed because I have to make the page for the project and it irks me because I hate front end. DONT ASK WHY IM LEARNING FRONT END SHIT ALRIGHT? Anyhoo uh yeah no this shit is holding me back because I want to do web dev for web applications but developing the front end is such a fucking hassle. Like creating divs for the apps to look how I want while being basic as shit and I know JS is for front end and I get that and it’s fun to play with but I just wanna get to the programming you know? I’m not a designer I’m just trying to get better at programming and have fun. And also fuck those times I changed something and it literally should have changed but IT FUCKING DIDNT!2