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 - "code beauty"
-
Classes are classist.
Objects are objectifying.
Race conditions are racist.
Foreign keys are xenophobic.
Functions are ableist.
Thin clients are weightist.
Bitmasks perpetuate heteronormativity.
Code beautifiers promote unrealistic beauty expectations.
Test-driven development is victim blaming.
Forced commit pushes are rape.
Motherboards perpetuate gender roles.
And don't get me started on white space.8 -
5 Types Of Programmers
1.The duct tape programmer
The code may not be pretty, but damnit, it works!
This guy is the foundation of your company. When something goes wrong he will fix it fast and in a way that won’t break again. Of course he doesn’t care about how it looks, ease of use, or any of those other trivial concerns, but he will make it happen, without a bunch of talk or time-wasting nonsense. The best way to use this person is to point at a problem and walk away.
2.The OCD perfectionist programmer
You want to do what to my code?
This guy doesn’t care about your deadlines or budgets, those are insignificant when compared to the art form that is programming. When you do finally receive the finished product you will have no option but submit to the stunning glory and radiant beauty of perfectly formatted, no, perfectly beautiful code, that is so efficient that anything you would want to do to it would do nothing but defame a masterpiece. He is the only one qualified to work on his code.
3.The anti-programming programmer
I’m a programmer, damnit. I don’t write code.
His world has one simple truth; writing code is bad. If you have to write something then you’re doing it wrong. Someone else has already done the work so just use their code. He will tell you how much faster this development practice is, even though he takes as long or longer than the other programmers. But when you get the project it will only be 20 lines of actual code and will be very easy to read. It may not be very fast, efficient, or forward-compatible, but it will be done with the least effort required.
4.The half-assed programmer
What do you want? It works doesn’t it?
The guy who couldn’t care less about quality, that’s someone elses job. He accomplishes the tasks that he’s asked to do, quickly. You may not like his work, the other programmers hate it, but management and the clients love it. As much pain as he will cause you in the future, he is single-handedly keeping your deadlines so you can’t scoff at it (no matter how much you want to).
5.The theoretical programmer
Well, that’s a possibility, but in practice this might be a better alternative.
This guy is more interested the options than what should be done. He will spend 80% of his time staring blankly at his computer thinking up ways to accomplish a task, 15% of his time complaining about unreasonable deadlines, 4% of his time refining the options, and 1% of his time writing code. When you receive the final work it will always be accompanied by the phrase “if I had more time I could have done this the right way”.
What type of programmer are you?
Source: www.stevebenner.com16 -
Imagine, you get employed to restart a software project. They tell you, but first we should get this old software running. It's 'almost finished'.
A WPF application running on a soc ... with a 10" touchscreen on win10, a embedded solution, to control a machine, which has been already sold to customers. You think, 'ok, WTF, why is this happening'?
You open the old software - it crashes immediately.
You open it again but now you are so clever to copy an xml file manually to the root folder and see all of it's beauty for the first time (after waiting for the freezed GUI to become responsive):
* a static logo of the company, taking about 1/5 of the screen horizontally
* circle buttons
* and a navigation interface made in the early 90's from a child
So you click a button and - it crashes.
You restart the software.
You type something like 'abc' in a 'numberfield' - it crashes.
OK ... now you start the application again and try to navigate to another view - and? of course it crashes again.
You are excited to finally open the source code of this masterpiece.
Thank you jesus, the 'dev' who did this, didn't forget to write every business logic in the code behind of the views.
He even managed to put 6 views into one and put all their logig in the code behind!
He doesn't know what binding is or a pattern like MVVM.
But hey, there is also no validation of anything, not even checks for null.
He was so clever to use the GUI as his place to save data and there is a lot of parsing going on here, every time a value changes.
A thread must be something he never heard about - so thats why the GUI always freezes.
You tell them: It would be faster to rewrite the whole thing, because you wouldn't call it even an alpha. Nobody listenes.
Time passes by, new features must be implemented in this abomination, you try to make the cripple walk and everyone keeps asking: 'When we can start the new software?' and the guy who wrote this piece of shit in the first place, tries to give you good advice in coding and is telling you again: 'It was almost finished.' *facepalm*
And you? You would like to do him and humanity a big favour by hiting him hard in the face and breaking his hands, so he can never lay a hand on any keyboard again, to produce something no one serious would ever call code.4 -
For years I've had this friend, since high school, and now we are 21. Our paths had always been different, i decided to go to a technical high school that provides more specialized education (around IT in this case) and he went to a normal high school that provides a more wide range of knowledge and barely anything related to what we both wanted to study. Different tastes for different people huh? Well sure but during that time he was being snobbish towards me because normal high schools are considered more prestigious, or rather, technical high schools are infamous for attracting lazy students or students that don't wanna move up to a university.
We fought a few times over this, sometimes even stopped talking for long periods of time but we always got back together. A few years later, after our university entry exams I joined what roughly translates to technical university, its just more focused on practical IT stuff with a lot of lab courses every semester. He joined a more academically inclined one that is half economics and half IT (applied informatics). And now he has another thing to be snobbish about since the relation between the 2 unis is similar to that between the high schools but I don't care anymore, I don't feel like im missing out on anything with my choices.
3 days ago he called me on discord to check his python script and why it wasn't working. Good Odin that piece of code was worse that anything I've seen. Littered with global variables, inconsistent function and variable names, duplicate code, unused variables. I was honestly shocked and disappointed cos he always mentions different projects he is working on, an aspiring web developer.
I took those 300 hundred lines of atrocity and turned them into 80. But more importantly it was something that worked and did the damn job well. A thing of beauty.
I don't know if he was more surprised that i got it working or that it was so different from his initial "solution".
All of a sudden he is not so dismissive of me...
Fuck you for underestimating me and every choice I made to get here.
P.S. I kept his original code, always gives me a shit eating grin.12 -
Yesterday, after six months of work, a small side project ran to completion, a search engine written in django.
It's a thing of beauty, which took many trials, including discovering utf8 in mysql isn't the full utf8 spec, dealing with files that have wrong date metadata, or even none at all, a new it backup policy that stores backups along side real data.
Nevertheless, it is a pretty complete product. Beaming with pride I began to get myself a drink, and collapsed onto the floor, this caused me to accidentally hibernate my computer, which interrupted the network connection, which in turn caused an OSError exception in one of my threads, which caused a critical part of code not to run, which left a thread suspended, doing nothing.
From the floor I looked at my error and realised my hubris and meditated on my assumptions that in theory nothing should interrupt a specific block of code, but in reality something might, like someone falling over...7 -
I've found this beauty in our company's legacy code.
The main doubt is: is that possible have the required strength to refactoring this 💩?22 -
TL.DR.: Emojis in commit messages + bad commit messages made by Microsoft™ employees.
Yes, I'm looking at you Microsoft. It would be helpful if I can, you know, understand your commit messages instead of trying to guess wtf _that_ emoji means. That is, if it is the same emoji on my machine. We didn't figure that one out yet. And no, "Some 💄 changes ✨" is not a good commit message, even if you interpret it correctly (which depends on your emoji icon set).
idk about you, but that shitty 💄 emoji tends to be (see image) and I happen to associate that with an XLR audio cable. I had to ask someone else to understand a commit message; a message supposed to be explicit—stating what you changed and optionally why you changed it (you can off-load that part to an issue tracker).
Furthermore, that "Some 💄 changes ✨" commit did none of that. "I made cosmetic changes somewhere for some reason without linking to an issue." If you didn't catch that little detail yet: "COSMETIC CHANGES" is vague as fuck. What is a cosmetic change?
* Does a cosmetic change mean adjusting indentation?
* Does it mean deleting unnecessary abstraction to make the code more readable?
* Does it mean refactoring code to add that beauty factor?
* Does it mean all of the above? Or perhaps a specific combination of these?
Human communication is shit enough, don't make it worse than it already is.22 -
First rant: but I'm so triggered and everyone needs a break from all the EU and PC rants.
It's time to defend JavaScript. That's right, the best frikin language in the universe.
Features:
incredible async code (await/async)
universal support on almost everything connected to the internet
runs on almost all platforms including natively
dynamically interpreted but also internally compiled (like Perl)
gave birth to JSON (you're welcome ppl who remember that the X in AJAX stood for XML)
All these people ranting about JS don't understand that JS isn't frikin magic. It does what it needs to do well.
If you're using it for compute-heavy machine learning, or to maintain a 100k LOC project without Typescript, then why'd you shoot yourself in the foot?
As a proud JS developer I gotta scroll through all these posts gushing over the other languages. Why does nobody rant about using Python for bitcoin mining or Erlang to create a media player?
Cuz if you use the wrong tool for the right job, it's of course gonna blow up in your face.
For example, there was a post claiming JS developers were "scared" of multithreading and only stick in their comfort zone. Like WTF when NodeJS came out everything was multithreaded. It took some brave developers to step out of the comfort zone to embrace the event loop.
For a web app, things like PHP and Node should only be doing light transforms between the database information and HTML anyways. You get one thread to handle the server because you're keeping other threads open to interface with databases and the filesystem. The Nexus.js dev ranting on all us JS devs and doesn't realize that nobody's actual web server is CPU bound because of writing HTML bodies, thats why we only use 1 thread. We use other worker threads to do the heavy lifting (yes there is a C++ bridge look it up)
Anyways TL;DR plz respect JS developers we're people too. ES7 is magic and please don't shit on ES3 or we'll start shitting on the Python 2-3 conversion (need to maintain an outdated binary just cuz people leave out ()'s in their print statements)
Or at least agree that VB.NET is an abomination and insult to the beauty that is TI-84 BASIC13 -
Wrote a cpp semester project where i had to develop school management system.
The code was spaghetti and horrible with frightening OOP implementation but it was beautifully written with comments and 🐫 Casing.
Submitted the program and examiner rejected it while saying that i had copied it from else where and i could never write a beauty code like that .
You dumb 💩! Don't you know other basis to reject a person's hard-work6 -
@MissDirection today I learned what it truly means to be a "codeslut". I understand the decision you made to change your username due to the circumstances but I want you know that I'm now seriously considering prepending 'CodeSlut' to my username.
To be a code slut, in my definition, is to fuck with all things code.
I don't remember the idiot(s) that murked the name with shame, I remember being scornful towards them for their immaturity...But now I know whole the truth, and that what they were also unknowingly shaming was any engineer who has had an interest in anything related to code. Fuck them, in a sense they've fucked themselves, because I personally believe that as developers there's a little (code)slut in each and every one of you. Those who are willing to fuck with all of it and have a damn good time doing it. To dabble in a little bit of this and a little bit of that from time to time. Whether or not we stick with it is irrelevant, it's the experience we gain from it that makes us better people. To shame a code slut is to shame the pursuit of knowledge. And to shame the pursuit of knowledge is to shame my purpose in life. I stand by my pursuit to fuck with it all, no tech is sacred - I will fuck with it!
Please @MissDirection don't let my new username stop you from ever changing yours back to what it was or take this as some form of a personal insult/joke. I'm serious - I understand now. I'm not even sure if you realised it, but QueenCodeSlut held such beauty and truth to it that many(including myself) couldn't even begin to fathom. That is enlightenment of the utmost pulchritude, please accept this username change as a gesture of honor and respect towards you and any other fellow humans with their own endeavors of truth and knowledge.12 -
Ah.. the beauty of clean code.
I wrote a very cleanly written program two years ago. Proper variable names, not too many, right naming, right design pattern,.. Now I come back to it and I am able to instantly figure out the code again. It only took me half a minute.
The importance of clean code... that's something the industry needs to understand more. Well, then there's the money issue. lol5 -
So I had a guy in my team, all day shouted "shitty code this, shitty code that"...
Today I had to fix some things, seen some really crappy code, said to myself "I've got to check who's the author of this beauty"... It was him... How the fuck can you shout shitty code on other peoples work when yours ain't better?!?6 -
When you reach that point, that level -- a coding apex, and the universe has found you. That feeling as you code, where the ideas, the advanced concepts, they flow out of your mind like beautiful and wonderful poetry. And you smile, because all is well, and you have created something beautiful in a world that needs more beauty. Also, it's lunchtime.2
-
Tried flutter for the first time in life, for 2 days, java based Android dev here.
I have some.... thoughts...
Flutter does not feel extremely new to me. It is very much relatable if you have ever tried basic the spring/ other java based gui framework. It is trying to achieve the goods from multiple worlds,its so far good, but mann its playing on thin ice.
Flutter : Yo boy embrace me. I am the beauty. checkout my hot reload.
Me :❤️❤️😍 (But wait. your first execution is wayy longer than a simple android studio build. And AS would generally take smaller time after every rebuild. And you are going to take the same long time as first build, if app gets closed or my usb gets accidentally removed. So I see what you did there ;))
Flutter: Ha. Checkout my function passing as parameter. ever thought your puny java going to give you that?
Me :you got me ,❤️. (Although this style is not so uncommon with web devs)
Flutter: everything is a widget, everything is stateful or stateless, Single Streams FTW!
me: ❤️
Flutter:You kotlin devs are gonna love me, i got Small, concise code
Me: Now wait, This is a thin ice for me, okay? I hated when kotlin replaced everything with symbols & lamdas for a confusing but small code, So be careful,even though your code is still good.
Flutter : Control every pixel , dear! No more xmls!
Me : Yes, what is with that? are we accidentally going in the past?
Java desktop apps, spring framework used to build whole layouts with programming language. The day i stepped into Android, it was xml for ui and java/kotlin for code. was that a bad decision or is this one?
Anyways i liked my stuff seperated, but that's just me.
Flutter : Ugh so much whining. Are you going to work with me or not?
Me : Yes mam! ❤️4 -
#justdevthings
That moment when you're so engrossed in your project that you lose track of time. You begin to SEE code irl, not just on screens. Things like hunger, environment and a sense of time fade away. That feeling when the code just works, but better when it doesn't and you figure out a smart fix. Oh gosh ill pay to feel like that all day.
I wrote a shitty layout for an android side project. It haunted me. I could still SEE the shitty xml long after the pc was shut down. I had a nightmare about it and woke up sweating, and all I could see was xml. Fkin xml man. I redid the layout at 3am and boy was i so satisfied.
I think that was just the tetrix effect taking its toll on me.
I always got screwed by parents for being on that machine all day, back in school. But none of that matters now. I can now feel the code running in my veins and flowing into the machine. I can now feel my heart throbbing at the sight of such beauty. They ask how i manage my social life. I say everything goes well until i start a side project, that's when social life gets fucked hard. I think I'm gonna die one day after performing the final commit.5 -
You wrote a little simple and clean mvc framework to work faster on some new projects. It can "compile" tags as {% var %} or {% array.key %} in the html code with support of {% for arrayOfHash in hash %} foreach construct and nice features, it can call api's callback in a smart way as ghost methods of a class, he can make routes with the route provider. You tested it and made a little example, after you went in the bathroom you read the index code and you started staring at the beauty and elegance of it. You go to bed happy and sleep. The day after you wake up and realize that it's unuseful because there's a lot of mvc framework that surely are better and ready to use, so you lost useful time. Have you ever feel this way? MVC: Me Versus Creativity.5
-
I once failed a subject during my masters (complex analytics and measure theory).
Next year I decided to give it everything I've got. I had grown to love it and could solve most problems they threw at me. Hand written an 80 pages long "book" distilled from all the notes, proofs and visualisations from all the lectures that year.
I only exerted this effort (even though I could've just "passed" this subject) because the lecturer was so damn enthusiastic about maths. Even though he wasn't a CS teacher this course was my best experience of a teacher at uni. He loved the beauty of the maths he was teaching and managed to make me love it too.
He was a maths geek and when I aced my final he told me he actually writes code too. He showed me some simulations he wrote while he worked on some theoretical nuclear physics stuff, because that's what he was into. Really cool guy. I wish more CS lecturers were as good teachers.1 -
Back when I was still in school for comp sci we had an advanced software engineering and design class with c++. At this time, everyone was expected to be proficient enough with cpp to go ahead and properly work with whatever the instructor would throw at us. And pretty much everyone was since past classes included a lot of c++ development. Of course, efficient at least related to academic studies rather than actual real world development.
Our teacher would mix in a lot pf phyisics and mathematics into what we were doing, something that I greatly enjoyed, while at the same time putting real world value concerning cpp best practices to avoid common pitfalls in the development of said language. Since most bugs seemed to be memory based he would be particularly strict about that.
One classmate, good friend and an actual proper developer now a days would ALWAYS forget to free his resources...ALWAYS for whatever fucking reason he would just ignore that shit, regardless of how much the instructor would make a point on it.
At one point during class on a virtual lecture the dude literally addressed a couple of students but when he got to my boy in particular he said: "you are the reason why people are praying to Mozilla and Hoare to release Rust as fast as possible into a suitable alternative to high performant code in C++, WHY won't you pay attention to how you deal with memory management?"
And it stuck with me. I merely a recreational cpp dev, most of my profesional work is done on web development, so I cannot attest to all the additional unsafe code that people encounter in the wild when dealing with cpp on a professional level.
But in terms of them common criticisms of C and C++ for which memory is so important to work with, wouldn't you guys say that it comes more from the side of people just not knowing what they are doing rather than a fault on the language itself?
I see the merits and beauty of Rust, I truly do, it is a fantastic language, with a standardized build system and a lot of good design put into it. But I can't really fathom it being the cpp killer, if anything, the real cpp killers are bad devs that just don't know what they are doing or miss shit.
What do y'all ninjas think?8 -
Just got the news that the girl I loved in the college got married. She had a poweful mind that could write as beautiful code as her beauty. I was too shy that I didn't talk with her much.
Won't regret that. Will code whole night today!2 -
Today, i discovered thus beauty within our legacy code:
// TODO: this is probably the most dirty thing in our product. It needs a model more than anything else
This captions a crappy part of controller code for several years :/ -
Got pulled away from the beauty of code yet again today to moonlight as tech support. Two people in my office got "bitlockered" in the same day... Imagine turning on your computer and finding out it needs a bitlocker recovery key when you never enabled bitlocker. Thanks Windows 10 + Dell.11
-
Forked a project of GH, which will remain nameless, and ran into this beauty...
// Not actual code, just respresientative...
{true ? <Component /> : null}5 -
I know this sounds odd, but I really find algorithms things of delightful beauty.
A creative solution to some very deceptively complex problems.
Sure, some implementations aren't the best, but seeing them after just makes me appreciate the time and effort that must have gone into designing things like Merge Sort, Binary Search, Greedy Algorithms, BST, and Dijkstra's Algorithm.
So! If your code is unoptimal, looks terrible, or is a sheer abomination, take a moment to appreciate the little piece of art you've made before you go and make it better.1 -
When you marvel at your code creation and the beauty of your envisionment only to be painfully whittled down as your boss tells you to change it all, because he doesn't like how the code looks. Joys of being a junior developer!1
-
Nothing like working through the night, finding that big break through and getting 900 lines of code going with minimal bugs and then having nobody to share it with that can appreciate the beauty of it all.2
-
"Delete all code!" That should be the mantra!
Was watching some stuff from destroyallsoftware.com. Not entirely convinced. So I should cook up my own shit.
So here is how the argument goes:
There's quite some negativity in the term "legacy" software. Partly it may be the envy to software that runs on actual machines and is not that phantasm, that perfect first lines on a greenfield project until it gets messed up as it has to put up with all the real world messiness. But the negativity it deserves is actually for the code that we cannot get rid of. This ugly class or function that soaked all the complexity and functionality so it defies any positive change. And always when it appears on your screen, it irks you, enrages you, makes you punch the screen, because you can almost feel the distaste physically. - *That* is the definition of "legacy" in its true negativity. No software should be like that. On the contrary. Every line should be replaceable, dispensable, disposable. At the verge to deletable. Because you know: the best code is no code.
This is where my hatred of code could get productive: Delete all the wretched, loathsome stuff and replace it, with something that just sucks less and can be thrown away any time. Don't expect beauty or perfect design. It'll never finish.3 -
dev && !rant
I am thinking about picking up a functional language. Currently I use Kotlin (and I fucking love that language) but I have to admit that it's support for functional programming is limited.
But I think their lies a certain beauty in fp and I want to do some project with it.
The 2 main problems are:
1. I have no experience in functional programming. I have no clue how to structure my program (potantialy without oop) and write clean testable code.
2. I don't know what language to use. Scala seems great since it has good IDE support and I like the Java ecosystem and Haskell seems to have more beauty but is missing that IDE support and it is very unfamilar for me.
So what do you guys think I should pick up? And how do I learn to write good software with it?17 -
!rant
I gotta say I really love the beauty of being able to merge math, code, and hardware all in a well tuned symphony to make something awesome. Building an LQR controller for a custom quadrotor flight controller and it is just so much fun! -
So far I've been pretty lucky... except for the code some of my professors at uni used in their assignments. A couple of them had this horrid habit of giving you a horribly-written, out-of-date (we're talking these chuckle heads used the same code for years on end and wondered why it didn't work on new versions of Java), messy source file with "fill in the blanks" sections like it was some kind of Java Mad Libs book. One of them had an entire jarchive of data structures we were required to use that he'd written in the '90s and NEVER UPDATED. Another one had a script he'd written for his own specialized assembly macro preprocessor that he'd been using without update for who even knows how long. Now, we were using one of those goofy virtual machines with its own simplified assembly language, and we were on the fourth version of the program. This guy'd written his macro processor in Java for the second version, never updated his Java source, only provided a barely-working .bat script for running it, even though the department's official preference was a *nix environment, and implemented this horrid "pretty-printer" that had a regrettable little habit of eating code. You heard that right. You'd run build.bat and it'd expand your macros then send it over to the pretty-printer which would very infrequently just replace the existing program file with an empty file. When we brought it to his attention, he goes "...huh. never happened to me." and proceeded to use the very same set of programs for the next three semesters, even when the assembly simulator was updated again. I heard wails of anguish from the poor sad souls that came after me as their macro processor created program files with deprecated operations, their pretty printer printed out beautiful, perfectly-organized empty files, and the professor responded to every second of a student begging for an updated version with "...huh. never happened to me." I never saw a single bug reported to either of those professors even acknowledged, let alone fixed. Some of the Java Mad Libs were the same ones they'd started using when they first switched the curriculum from Ada to Java. Thankfully after my first year I escaped into the bliss of the next three years, which were full of *nix and C and beauty.
-
jinja templates make me look towards html in a whole new light. are we 'inserting' data to an already rendered page? am i really mixing server code with ui ? It doesn't feel so. there are if else and loops being executed for html code, like wtf?
I don't know but everything feels so good. like i was literally hating every piece of website i was writing in php. everytime i wrote <div>....</div> followed by <?php ... ?> followed by another html tag /php tag in a fuckin php file, i wanted to kill someone from w3c.
WHY THE FUCK ARE WE ALLOWING THE MIXUP ?WHY IS PHP FILE HOLDING HTM TAGS? WHY?WHY?WHY?
But this... this is beauty. their is separation of concerns. jinja has some big powers, we can loop, repeat, make clauses, inherit other html classes, load html content into blocks, set variables,
but main concepts like file handling, response/request handling,calculations,etc are all being done in separate python files. I know that these jinja templates also might be running python in background, but atleast a developer cannot fuck up that code.
we can be sure that if correct jinja codes are written in html, then it would load correctly. And wherever devs doesn't fuck up, the output is better to understand and more maintainable/scaleable3 -
It's funny when someone is trying to school the heck out of you. Like, their saying that, "More code is cool" and other stuffs that will kick out the beauty of keeping our codes simple as possible.2
-
I have a very little working experience with someone else's code, and even lesser experience working with a professional code base. All my previous apps had around 8-9 java files at max, with very rare moduling and folders.
And this start up where am currently the intern, has handed me theiir develop branch, it has almost a 100 java files, 50 external libs, massive use of architectural designs ,data binding and custom views and so much more ! Damn, am overwhelmed , but so excited to learn the practices i was procrastinating for so long 💗💗💗
The only problem is lack of a mentor, since the sir who made this beauty is a superman who is currently handling the server and ai side and isn't usually available.
But i guess i will do fine, hell it's a FBI's data key in my hands :D1 -
Bob Dylan:
Next one for John Carmack, please. (at least according to http://kotaku.com/5975610/... )