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 - "procedural"
-
To be a good developer, you must thrive in chaos, and have an insatiable desire to turn it into order.
All user input, both work tasks and actual application input, is pure fucking chaos.
The only way to turn that input into anything usable, is to interpret, structure and categorize it, to describe the rules for transformation as adequately as you can.
Sometimes companies create semi-helpful roles to assist you with this process. Often, these people are so unaware of the delicacy of the existing chaos, that any decision they make just ripples out in waves leaving nearly irreparable confusion and destruction in its path.
So applications themselves also slowly wear down into chaos under pressure of chaotic steak-holders which never seem to be able to choose between peppercorn or bernaise sauce for their steaks.
Features are added, data is migrated between formats, rules become unclear. Is ketchup even fucking valid, as a steak sauce?
The only way to preserve an application long term, is refactoring chaos into order.
But... the ocean of chaos will never end.
You must learn to swim in it.
All you can hope to do is create little pools of clarity where new creative ideas can freely spawn.
Ideas which will no doubt end up polluting their own environment, but that's a problem for tomorrow.
So you must learn to deal with the infinite stream of perplexed reactions from those who can't attach screenshots to issue reports.
You must deflect dragging conversations from those who never quite manage to translate gut feeling into rational sentences.
You must learn to deal with the fact that in reality there are no true microservice backends. There are no clean React frontends. There are no normalized databases. Full test coverage, well-executed retrospectives, finished sprints -- they are all as real as spherical cows in a vacuum.
There is no such thing as clean code.
There is only "relatively cleaner code", and even then there are arguments as to why it would be "subjectively relatively cleaner code".
Every repository, every product, every team and every company is an amalgamation of half-implemented ideals, well-intended tug of war games, and brilliantly shattered dreams.
You will encounter fragmented shards of perfect APIs, miles of tangled barbed documentation, beheaded validator classes, bloody mangled corpses of analytical dashboards, crumbled concrete databases.
You must be able to breathe in those thick toxic clouds of rotting technical and procedural debt, look at your reflection in the locker room mirror while you struggle yourself into a hazmat suit, and think:
"Fuck yes, I was born for this job".24 -
Today after 1 year of taking shit I sat down with my manager and completely tore the whole fucking company apart.
I absolutely slammed my colleagues, obliterated my team lead, went on and on about how no one understands the basics and how everything we have is copy paste procedural code and the only way to fix what we have is to delete it. I then insinuated I want to quit because I cba with the struggle anymore.
Result? Fat promotion. Not sure what just happened here lmao.14 -
Still trying to get good.
The requirements are forever shifting, and so do the applied paradigms.
I think the first layer is learning about each paradigm.
You learn 5-10 languages/technologies, get a feeling for procedural/functional/OOP programming. You mess around with some electronics engineering, write a bit of assembly. You write an ugly GTK program, an Android todo app, check how OpenGL works. You learn about relational models, about graph databases, time series storage and key value caches. You learn about networking and protocols. You void the warranty of all the devices in your house at some point. You develop preferences for languages and systems. For certain periods of time, you even become an insufferable fanboy who claims that all databases should be replaced by MongoDB, or all applications should be written in C# -- no exceptions in your mind are possible, because you found the Perfect Thing. Temporarily.
Eventually, you get to the second layer: Instead of being a champion for a single cause, you start to see patterns of applicability.
You might have grown to prefer serverless microservice architectures driven by pub/sub event busses, but realize that some MVC framework is probably more suitable for a 5-employee company. You realize that development is not just about picking the best language and best architecture -- It's about pros and cons for every situation. You start to value consistency over hard rules. You realize that even respected books about computer science can sometimes contain lies -- or represent solutions which are only applicable to "spherical cows in a vacuum".
Then you get to the third layer: Which is about orchestrating migrations between paradigms without creating a bigger mess.
Your company started with a tiny MVC webshop written in PHP. There are now 300 employees and a few million lines of code, the framework more often gets in the way than it helps, the database is terribly strained. Big rewrite? Gradual refactor? Introduce new languages within the company or stick with what people know? Educate people about paradigms which might be more suitable, but which will feel unfamiliar? What leads to a better product, someone who is experienced with PHP, or someone just learning to use Typescript?
All that theoretical knowledge about superior paradigms won't help you now -- No clean slates! You have to build a skyscraper city to replace a swamp village while keeping the economy running, together with builders who have no clue what concrete even looks like. You might think "I'll throw my superior engineering against this, no harm done if it doesn't stick", but 9 out of 10 times that will just end in a mix of concrete rubble, corpses and mud.
I think I'm somewhere between 2 and 3.
I think I have most of the important knowledge about a wide array of languages, technologies and architectures.
I think I know how to come to a conclusion about what to use in which scenario -- most of the time.
But dealing with a giant legacy mess, transforming things into something better, without creating an ugly amalgamation of old and new systems blended together into an even bigger abomination? Nah, I don't think I'm fully there yet.8 -
We are currently doing procedural programming in an OOP language. "Only write code inside the main function" Here, have my bubble-sort function in your face.2
-
So, I've been following a tutorial and explanatory series on YouTube about procedural terrain generation.
I dare saying it's going quite well!20 -
Anyone remember when PHP was a straightforward procedural language and not a pseudo-objective mess?
#saturdaynostalgia9 -
OMG ever since I started to love Haskell, all nonfunctional languages look ugly, I am getting worse at writing procedural code!3
-
First (procedural) c++ lectures:
Prof: K guys, go ahead and attempt the homework
Students: sir, how can we have 1 file per exercise?
P: oh, you can't, just make one huge file with multiple functions and rename them to "main" whenever you wanna run them
Me: WHY DO I EVEN PAY FOR THIS BULLSHIT
Ps: not allowed to use classes as that's too hard...8 -
PROCEDURAL PROGRAMMING
You write a list of instructions. The machine reads this list and runs your commands.
OOP PROGRAMMING
Quite similar to procedural programming but you group your functions via objects.
RANDOM PROGRAMMING
Learned of this new paradigm quite recently working with Blue Prism, which is essentially the program doing whatever it wants from crashing, freezing, returning wrong results, sometimes working properly, with no reason whatsoever other than the sheer malice of those beasts of burden who designed it in the first place. Mark my words, BP devs, you will be held accountable for your crimes against God and humanity.6 -
Got an offer to work at a game development company. Office looked awesome (decked out in pinball machines and a huge marble track), located overlooking Schreveningen beach, young energetic team.
Then I saw the code. Oh God the code. And they wanted me to become system architect.
Hybrid PHP 4/5 OOP/procedural code custom framework running on a spaghetti database creaking by on the skin of its teeth... all backing Flash Facebook games.
Nope.5 -
I wrote a prototype for a program to do some basic data cleaning tasks in Go. The idea is to just distribute the files with the executable on our shared network to our team (since it is small enough, no github bullshit needed for this) and they can go from there.
Felt experimental, so I decided to try out F# since I have always been interested with it and for some reason Microsoft adopted it into their core net framework.
I shit you not, from 185 lines of Go code, separated into proper modules etc not to mention the additional packages I downloaded (simple things for CSV reading bla bla)
To fucking 30 lines of F# that could probably be condensed more if I knew how to do PROPER functional programming. The actual code is very much procedural with very basic functional composition, so it could probably be even less, just more "dense"
I am amazed really. I do not like that namespace pollution happens all over F# since importing System.IO gives you a bunch of shit that you wouldn't know where it is coming from unless you fuck enough with Ionide and the docs. But man.....
No need for dotnet run to test this bitch, just highlight it on the IDE, alt enter and WHAM you have the repl in front of you, incremental quasi like Lisp changes on the code can be REPL changed this way, plethora of .NET BCL wonders in it, and a single point of documentation as long as you stay in standard .net
I am amazed and in love, plus finding what I wanted to do was a fucking cakewalk.
Downside: I work in a place in which Python is seen as magic and PHP, VB.NEt and C# is the end all be all of languages. If me goes away or dies there will be no one else in this side of the state to fuck with F#
This language needs to be studied more. Shit can be so compact, but I do feel that one needs to really know enough of functional programming to be good at it. It is really not a pure language like Haskell (then again, haskell is the only "mainstream" pure functional language ain't it not?) but still, shit is really nice and I really dig what Microhard is doing in terms of the .net framework.
Will provide later findings. My entire team is on the Microsoft space, we do have Linux servers, but porting the code to generate the necessary executables for those servers if needed should be a walk in the park. I am just really intrigued by how many lines of code I was able to cut down from the Go application.
Please note that this could also mean that I am a shit Golang dev, but the cut down of nil err checkings do come somewhere.9 -
My current project is a fucking nightmare.
It started in 2007, using a solution developed by an Indian company due to outsourcing (aka low-quality code).
It's running on Java 7 on the back-end and its front-end side is pure Javascript files. There are thousands of little .js files everywhere, no documentation, no comments, differents coding styles, outdated API that were already outdated at the time, mixed oop and procedural.
Not even when I started coding, I wrote something so horrible.
Yo, it's a clusterfuck and I just wanna get drunk.5 -
I seear man fucking shit php devs make it hard for people to appreciate the language.
To start, i don't think there is anything wrong with php. As a language I know damn near all of its pitfalls and have successfully deployed huge applications with minimal fuss.
The thing is...this shit seems to happen only when I AM THE MOTHERFUCKER THAT DOES IT
In any other scenario i am constantly cursing the original author under my fucking breath hoping that they choke on their own dicks. Fucking cunts.
Really man, some of the fucking code i have seen. This shit is dangerous as fuck and i can't believe that in 2019 motherfuckers would not have the decency to google for best fucking practices or learn it from a fucking book and shit.
Writing proper php code is not that fucking hard people, every fucking update to the language, every fucking tool that comes out is for the betterment of it.
Guess proper oop or functional paradigms are too complex for some dickheads. Hell, not even top to bottom procedural code.
Fuck me. Good thing is, boss is happy, the entire faculty is happy, the board is happy. Everyone is motherfucking happy.
Dez negroids better remember this shit cuz I just asked for a $20k raise.
I got a raise literally every time i ask for one so this one better make the cut.
Fuck shit php developers man. Y'all don't deserve the language, y'all make the language look bad, y'all make the community look bad.
Fuck you, die and eat a dick. Do all that shit in whatever order you prefer.15 -
Did a bunch more cowboy coding today as I call it (coding in vi on production). Gather 'round kiddies, uncle Logan's got a story fer ya…
First things first, disclaimer: I'm no sysadmin. I respect sysadmins and the work they do, but I'm the first to admit my strengths definitely lie more in writing programs rather than running servers.
Anyhow, I recently inherited someone else's codebase (the story of my profession career, but I digress) and let me tell you this thing has amateur hour written all over it. It's written in PHP and JavaScript by a self-taught programmer who apparently discovered procedural programming and decided there was nothing left to learn and stopped there (no disrespect to self-taught programmers).
I could rant for days about the various problems this codebase has, but today I have a very specific story to tell. A story about errors and logs.
And it all started when I noticed the disk space on our server was gradually decreasing.
So today I logged onto our API server (Ubuntu running Apache/PHP) and did a df -h to check the disk space, and was surprised to see that it had noticeably decreased since the last time I'd checked when everything was running smoothly. But seeing as this server does not store any persistent customer data (we have a separate db server) and purely hosts the stateless API, it should NOT be consuming disk space over time at all.
The only thing I could think of was the logs, but the logs were very quiet, just the odd benign message that was fully expected. Just to be sure I did an ls -Sh to check the size of the logs, and while some of them were a little big, nothing over a few megs. Nothing to account for gigabytes of disk space gradually disappearing.
What could it be? I wondered.
cd ../..
du . | sort --sort=numeric
What's this? 2671132 K in some log folder buried in the api source code? I cd into it and it turns out there are separate PHP log files in there, split up by customer, so that each customer of ours (we have 120) has their own respective error log! (Why??)
Armed with this newfound piece of (still rather unbelievable) evidence I perform a mad scramble to search the codebase for where this extra logging is happening and sure enough I find a custom PHP error handler that is capturing (most) errors and redirecting them to these individualized log files.
Conveniently enough, not ALL errors were being absorbed though, so I still knew the main error_log was working (and any time I explicitly error_logged it would go there, so I was none the wiser that this other error-catching was even happening).
Needless to say I removed the code as quickly as I found it, tail -f'd the error_log and to my dismay it was being absolutely flooded with syntax errors, runtime PHP exceptions, warnings galore, and all sorts of other things.
My jaw almost hit the floor. I've been with this company for 6 months and had no idea these errors were even happening!
The sad thing was how easy to fix all the errors ended up being. Most of them were "undefined index" errors that could have been completely avoided with a simple isset() check, but instead ended up throwing an exception, nullifying any code that came after it.
Anyway kids, the moral of the story is don't split up your log files. It makes absolutely no sense and can end up obscuring easily fixable bugs for half a year or more!
Happy coding.6 -
I have this project I've inherited, yea I seem to do that a lot, but this damn thing, has to run in php5.4, has deprecated functions for php7 everywhere and a lot of them and there's no classes anywhere beyond some libraries.
Everything is procedural with random scripts being injected left right and center.
I kid you not,
$thisThing = true;
If(x==y)
require "path/to/some/script.php";
else
require "path/to/a/slightly/different/script.php";
If($thisThing === false){
// well it was modified in that small block about 10 different times
}
Those injected scripts then accept data from the parent scope so, looking at file X, you need to have open file A,B, E, and M to understand where variables have been initialised and what there current state could potentially be.
Basically this thing was bandaid after bandaid for feature requests with 0 refactoring.
Here I am trying to implement some basic functionality (should only take an hour or so + a bit of manual testing) but no, I'm literally at the point of hitting the delete button on the entire project and starting again.rant why you no work what did i do to deserve this alcohol is your friend commented out blocks everywhere even with git there was no deleted code kill me now where the hell did that thing come from cocaine may help is this v2 file the right one don't do drugs18 -
1) Built an entire SoC around a MIPS CPU. Fixed bugs in the CPU. Created hardware, busses, firmware, wrote Linux drivers, ported Linux.
2) Still working on a C++ abstraction framework for heterogenous computations for 4 years. About to solve / create a prototype for GPGPU and maybe even HDL code generation. Utilizes dynamic dispatch for scalar, SSE, AVX and other targets. I started this only because I did not like the performance of procedural noise algorithms utilized in a game prototype I started in 2015.
3) Created a game in 5 months to drag myself out of depression. Feeling success while your job sucks is soooo goooodd...13 -
Found out today that the company wants to hire the consultant that thinks that unit testing is a waste of time, CI and code coverage metrics are useless, DI is mumbo-jumbo. But 500+ line procedural methods are fine, you just start the method with a small essay of a comment on what it does...6
-
Well, I was Always into Computers and Games and stuff and at some point, I started wondering: "why does Computer Go brrr when I Hit this Button?".
It was WinAPI C++ and I was amazed by the tons of work the programmers must have put into all this.
13 year old me was Like: "I can make a Game, cant be too hard."
It was hard.
Turns out I grabbed a Unity Version and tried Things, followed a tutorial and Made a funny jet Fighter Game (which I sadly lost).
Then an article got me into checking out Linux based systems and pentesting.
*Promptly Burns persistent Kali Live to USB Stick"
"Wow zhis koohl".
Had Lots of fun with Metasploit.
Years pass and I wrap my head around Javascript, Node, HTML and CSS, I tried making a Website, worked Out to some extent.
More years pass, we annoy our teacher so long until he opens up an arduino course at school.
He does.
We built weather stations with an ESP32 and C++ via Arduino Software, literally build 3 quadrocopter drones with remote Control and RGB lighting.
Then, Cherry on the top of everything, we win the drone flying Contest everyone gets some nice stuff.
A couple weeks later my class teacher requests me and two of my friends to come along on one of their annual teacher meetings where there are a bunch of teachers from other schools and where they discuss new technology and stuff.
We are allowed to present 3D printing, some of our past programming and some of the tech we've built.
Teachers were amazed, I had huge amounts of fun answering their questions and explaining stuff to them.
Finally done with Realschulabschluss (Middle-grade-graduation) and High school Starts.
It's great, we finally have actual CS lessons, we lesen Java now.
It's fuckton of fun and I ace all of it.
Probably the best grades I ever had in any class.
Then, in my free time, I started writing some simple programs, firstvI extended our crappy Greenfoot Marsrover Project and gave it procedural Landscape Generation (sort of), added a Power system, reactors, Iron and uranium or, refineries, all kinds of cool stuff.
After teaching myself more Java, I start making some actual projects such as "Ranchu's bag of useful and not so useful stuff", namely my OnyxLib library on my GitHub.
More time passes, more Projects are finished, I get addicted to coding, literally.
My days were literally Eat, Code, sleep, repeat.
After breaking that unhealthy cycle I fixed it with Long Breaks and Others activities in between.
In conclusion I Always wanted to know what goes on beneath the beautiful front end of the computer, found out, and it was the most amazing thing ever.
I always had constant fun while coding (except for when you don't have fun) and really enjoyed it at most times.
I Just really love it.
About a year back now I noticed that I was really quite good at what I was doing and I wanted to continue learning and using my programming.
That's when I knew that shit was made for me.
...fuck that's a long read.5 -
For those keeping track of what inwas doing here: https://devrant.com/rants/1641742/...
Inhave been playing around woth fractals and making trees (although it wasnt 3 dementional) i have been taking time to learn things there regardless and had an attempt at making a landscape using Perlin noise procedurally generated by the computer
I am planning on releasing the code as soon as i figure out making these trees geberate at certain points of the land and firstly, make it branch in a 3 dementional space
Update of the land
Although i dont have the most time to so this and had to learn java in the process to move away from the limitations i had in the browser. It is a fun experiance and good break away from my actual job.
Ill see how it goes while working on this
✌7 -
Question time:
Has anyone used PHP unit with Selenium before?
I have a.. well words can’t explain it nice enough but, beyond a joke, not even funny, spaghetti code base I’ve come to inherit recently, which god help me, doesn’t follow any design patterns at all, it’s just a stamp this here, staple this down over here and throw paint at the wall and hope it sticks.
It’s a mixture of procedural and functional with the rare class kind of mess.
So attempting to refactor by any means is not a real possibility without some kind of behavioural testing in place first otherwise I know I’m going to end up breaking something somewhere and not even know it.
Also if anyone has had the privilege of such code bases, tips to dealing with the mess are appreciated.
Oh and no, I can’t rm -rf or start again.😭3 -
We are a web developer team of 4 people. The system we manage is huge because it's a huge organization.
We use php.
Requirements grow rapidly and debugging became a nightmare. So we decided to move from procedural to OOP to ease it a bit.
And we have this one guy in our team (joined recently) who doesn't understand the benefits of following OOP. He is the one who manages most side projects among us too.
We have tried hard to convince him and now we have almost given up.
So I am asking you guys, please give me some ideas of how we could convince him to learn and follow OOP.7 -
One of the coolest projects I've worked on recently was this little adventure game I made for a game jam a while back, It was made from scratch with Golang and C over two days. It also features procedural level generation (that technically should allow the user to walk in one direction for at least 7 decades).7
-
Meet today.... Fetlang
---
lick Bob's cock
lick Duke's left nipple one million times
while Ada is submissive to Duke
make slave scream Ada's name
Have Charlie spank himself
Have Ada lick his tight little ass
Have Bob lick Charlie's tight little ass, as well
make Ada moan Bob's name
make Bob moan Charlie's name
---
Never felt so dirty after calculating the fibonacci sequence...
https://github.com/Property404/...
"Fetlang is a statically typed, procedural, esoteric programming language and reference implementation. It is designed such that source code looks like poorly written fetish erotica."8 -
Disclaimer: I apologise in advance for those tired of language wars, if it bugs you that much just skip this rant.
"C++ is better than C"
An accepted truth. OO is better than Procedural, C++ is an upgrade from C, it fixed all the problems.
End of.
Except - when it comes to actual evidence, empirical studies have shown that there are no productivity gains with C++ vs C.
This bugs me the most because it's such a fringe view, OO has dominated industry purely by dogma, alternative programming paradigms are just simply ignored because: "OO is best. End of."
https://researchgate.net/profile/...22 -
rant & question
Last year I had to collaborate to a project written by an old man; let's call him Bob. Bob started working in the punch cards era, he worked as a sysadmin for ages and now he is being "recycled" as a web developer. He will retire in 2 years.
The boss (that is not a programmer) loves Bob and trusts him on everything he says.
Here my problems with Bob and his code:
- he refuses learning git (or any other kind of version control system);
- he knows only procedural PHP (not OO);
- he mixes the presentation layer with business logic;
- he writes layout using tables;
- he uses deprecated HTML tags;
- he uses a random indentation;
- most of the code is vulnerable to SQL injection;
- and, of course, there are no tests.
- Ah, yes, he develops directly on the server, through a SSH connection, using vi without syntax highlighting.
In the beginning I tried to be nice, pointing out just the vulnerabilities and insisting on using git, but he ignored all my suggestions.
So, since I would have managed the production server, I decided to cheat: I completely rewrote the whole application, keeping the same UI, and I said the boss that I created a little fork in order to adapt the code to our infrastructure. He doesn't imagine that the 95% of the code is completely different from the original.
Now it's time to do some changes and another colleague is helping. She noticed what I did and said that I've been disrespectful in throwing away the old man clusterfuck, because in any case the code was working. Moreover he will retire in 2 years and I shouldn't force him to learn new things [tbh, he missed at least last 15 years of web development].
What would you have done in my place?10 -
My best career choice: After 5 longass years, left a multinational consulting firm that constantly reminded me of my insignificance. Joined a small company to work on their flagship app. Learning sooo much.
Worst: NOT LEAVING THE CODE MONKEY SWEATSHOP SOON ENOUGH. ENDURING PAIN != WORKING HARD. THERE'S A PROBLEM WHEN SENIOR DEVS IN YOUR COMPANY ONLY UNDERSTAND PROCEDURAL PROGRAMMING. MANAGERS ONLY CARED ABOUT HOW MANY HOURS DEVS LOGGED WHICH TREATED A COGNITIVE INTENSIVE TASK AS MANUAL LABOR.2 -
I recently accepted my first "real" Dev position. This has been a huge hurdle for me.
So my degree is in graphic design and it's pretty much what I spent the first 2-3 years after university doing. In fact, when I started at the place I am now (I am still working my notice) I was hired as a creative artworker.
I had always had a website I put together with some basic frontend skills, but always assumed the backend stuff was "beyond me". But, given the option here, I asked to be sent on a PHP course. Holy shit I took to it like a duck to water. Over the next few months I got my feet wet building a new website for the company, building out a little intranet, all that good stuff. I went from procedural spaghetti monstrosities to nice, OOP, documented code. It was beautiful. And no one here really have a fuck.
About 6 months ago, I started trying to leave. This was hard. I actually had several interviews for design positions, but always got turned down for some variation of "you're very technical and we think you'd get bored here" and thank god really, because they're right. I could never get a look in for Dev jobs though, because on paper I had no experience, hell my job title was still "Digital Designer" despite over a year of developing here.
But it finally happened. Through someone I used to know I got my foot in the door for a developer position. In the interview they even told me if it was a junior position they'd hire me on the spot - but sadly it wasn't. I had a good time though, a good laugh, and had a lot of fun finally, for the first time in my life, "working" and talking with other developers.
Over the next couple of weeks the agent kept telling me I had done really well and they were just dragging their feet getting things sorted, but I gave up hope a little. So imagine my surprise when I found out they turned the role into a junior one for me!
And so now, I get to go to a job where my job title includes the word "Developer". To some of you that might not mean much, but to me it's a fucking medal I wish I could mount on a plaque on my wall.4 -
When I was in college OOP was emerging. A lot of the professors were against teaching it as the core. Some younger professors were adamant about it, and also Java fanatics. So after the bell rang, they'd sometimes teach people that wanted to learn it. I stayed after and the professor said that object oriented programming treated things like reality.
My first thought to this was hold up, modeling reality is hard and complicated, why would you want to add that to your programming that's utter madness.
Then he started with a ball example and how some balls in reality are blue, and they can have a bounce action we can express with a method.
My first thought was that this seems a very niche example. It has very little to do with any problems I have yet solved and I felt thinking about it this way would complicate my programs rather than make them simpler.
I looked around the at remnants of my classmates and saw several sitting forward, their eyes lit up and I felt like I was in a cult meeting where the head is trying to make everyone enamored of their personality. Except he wasn't selling himself, he was selling an idea.
I patiently waited it out, wanting there to be something of value in the after the bell lesson. Something I could use to better my own programming ability. It never came.
This same professor would tell us all to read and buy gang of four it would change our lives. It was an expensive hard cover book with a ribbon attached for a bookmark. It was made to look important. I didn't have much money in college but I gave it a shot I bought the book. I remember wrinkling my nose often, reading at it. Feeling like I was still being sold something. But where was the proof. It was all an argument from authority and I didn't think the argument was very good.
I left college thinking the whole thing was silly and would surely go away with time. And then it grew, and grew. It started to be impossible to avoid it. So I'd just use it when I had to and that became more and more often.
I began to doubt myself. Perhaps I was wrong, surely all these people using and loving this paradigm could not be wrong. I took on a 3 year project to dive deep into OOP later in my career. I was already intimately aware of OOP having to have done so much of it. But I caught up on all the latest ideas and practiced them for a the first year. I thought if OOP is so good I should be able to be more productive in years 2 and 3.
It was the most miserable I had ever been as a programmer. Everything took forever to do. There was boilerplate code everywhere. You didn't so much solve problems as stuff abstract ideas that had nothing to do with the problem everywhere and THEN code the actual part of the code that does a task. Even though I was working with an interpreted language they had added a need to compile, for dependency injection. What's next taking the benefit of dynamic typing and forcing typing into it? Oh I see they managed to do that too. At this point why not just use C or C++. It's going to do everything you wanted if you add compiling and typing and do it way faster at run time.
I talked to the client extensively about everything. We both agreed the project was untenable. We moved everything over another 3 years. His business is doing better than ever before now by several metrics. And I can be productive again. My self doubt was over. OOP is a complicated mess that drags down the software industry, little better than snake oil and full of empty promises. Unfortunately it is all some people know.
Now there is a functional movement, a data oriented movement, and things are looking a little brighter. However, no one seems to care for procedural. Functional and procedural are not that different. Functional just tries to put more constraints on the developer. Data oriented is also a lot more sensible, and again pretty close to procedural a lot of the time. It's just odd to me this need to separate from procedural at all. Procedural was very honest. If you're a bad programmer you make bad code. If you're a good programmer you make good code. It seems a lot of this was meant to enforce bad programmers to make good code. I'll tell you what I think though. I think that has never worked. It's just hidden it away in some abstraction and made identifying it harder. Much like the code methodologies themselves do to the code.
Now I'm left with a choice, keep my own business going to work on what I love, shift gears and do what I hate for more money, or pivot careers entirely. I decided after all this to go into data science because what you all are doing to the software industry sickens me. And that's my story. It's one that makes a lot of people defensive or even passive aggressive, to those people I say, try more things. At least then you can be less defensive about your opinion.53 -
Need to rant. I am doing programming 2 at university with java and the assessment is to make a card game. The subject is shit and is basically going over loops, variables, conditionals ect which we learned in introduction to programming and programming 1.
This leaves little time for oop principles, design patterns inherentance and all other useful stuff.
I am dedicated to making a career in programming and want to do my assessment the correct oop way. Although the lecturer doesn't care and is instructing the class to do it procedurally and shit.
I could do the program really quickly the shit procedural way and still get full marks but I feel dirty as hell coding like a scrub. So I'm 60 hours in on this assessment and there are so many classes and even more because of unit testing (we don't have to unit test) and I am spending way too much time.
My code is beautiful, my classes are tiny and maintainable, easy to modify and I'm learning so much about how to code oop the correct way with the help of a mentor and someone I look up to. But god does it take forever to code this way. And soo many iterations and redesigns because I'm still learning.
It's almost done but now I have another programming assessment for another class I'll have to do the dirty way because of time restraints and other assessments.
Sorry for wall of text but this is stressing me out 😛4 -
I was assigned to maintain the website as full stack dev but the code from backend is horrible previous devs didn't use SOLID principle, DRY, KISS, or Design patterns. I had to adjust from OOP mindset to Procedural its hard to debug in this state.3
-
I built a basic MVP for a client as a proof of concept for his startup. It was a quick thing just to prove a point do I rattled it out in procedural php.
Sadly it was successful and has somewhat taken off. It’s also grown arms and legs.
It works. The user will never know, but the code is SHIT. I never thought it would still be here.
I’m want to re-write it now in laravel.
But...... ugh1 -
Think I am going to try out my first stuff for my game engine in 2D. The games I have the most fond memories of were 2D. Sure I like what has happened on the 3D side. But it would be fun to recreate some of my favorite 2D games. Except with one caveat: procedural generation. Never play the same game twice. For testing purposes I will have a seed system to regenerate the same worlds. I would have played these games so much longer if they had been based on a seed for generation of content.
I also like the idea of weapons and armor never being exactly the same. Sure they can look similar, but on close inspection you could see differences. It will be fun to start with base models and then add imperfections and differences.
Another issue I have with fantasy games is always leveling up the weapon by buying something better. Sure we have improvement systems though smithing and magic, but some weapons are always better than others. I wanted to have a game where weapons could be improved by usage and upgrades. Kill 1000 trolls and the weapon gets imbued with trollbane. Kill a dragon and the blood infuses and it deals fire damage. So a player could start out with the family sword and end up with a god tier weapon at the end of the game. Make weapons become legendary. Not because it has more power, but because trolls recognize the blade and the wielder and are scared shitless.
Terrain in 2D should be a lot easier to generate. Weapons, armor, etc should be easier to modify and generate. This should give me the grounding I need to develop the algorithms for a future 3D system. Godot is currently stronger in 2D than 3D. That will change in the next couple of years as more focus is put on the engine. There is no reason I cannot experiment with mixing 2D and 3D as well.
Holy shit, I was just thinking I cannot imagine the amazing shit they could have done with the games I played as a kid with 2D physics!
Haha, something they had in the older games was actual gambling. You could bet on monster fights and slot machines in game. I wonder if that takes a hard hit with ESRB now?
Currently stuck in tutorial hell. Learning how the engine works and seeing what features are available. I get more excited each video I watch. The engine is packed with goodies and the addons are crazy good.
tldr: First project will be short game in 2D. Will explore procedural content.13 -
College is worse than cancer.
Worse than tumor.
Worse than any (un)imaginable death or torture.
I feel dull.
I feel DUMBED DOWN.
I FEEL DUMBER AFTER 6 YEARS OF COLLEGE COMPARED TO BEFORE STARTING COLLEGE.
6 fucking years of wrecking my healthy brain in college.
Has now became unhealthy and mentally unstable.
I forgot almost EVERYTHING i knew about coding.
Because in a "COMPUTER SCIENCE" college they teach everything BUT coding.
The professors and assistants have no morals.
They are INHUMANE.
Professors are ready to walk across a fucking corpse.
If your mother gets cancer and you are unable to come to class or study, the professors dont give a FUCK, they will drop you down so you have to study for exams again instead of helping your ill mother.
Professors have NO COMPASSION.
NO DIGNITY.
They are just BRAINLESS robots.
Sentients, agents working for the matrix.
They keep reading the same script every year and call that a successful career.
IF PROFESSORS AND ASSISTANTS AT COLLEGE ACTUALLY KNEW TO DO ANYTHING USEFUL IN LIFE, THEY WOULD NOT BE PROFESSORS AND ASSISTANTS FOR THE MAJORITY (OR WHOLE) OF THEIR LIFE.
I gave my maximum effort.
I SACRIFICED MY LIFE FOR SCHOOL.
Just to end up with school spitting on my face.
I feel DUMBED down.
Robotic.
Procedural minded.
As some brainless retard who has to follow orders as if im a 6 year old who doesn't know what to do.
Like a computer.
Because of college - i have no will to live.
Because of college - i no longer have passion for coding.
Because of college - i no longer know what is my purpose in life.
Because of college - i feel like im floating in cosmos, somewhere far deep into the space, without knowing where im going, what im doing, why im doing what im doing...
I feel void inside me.
I also feel vengeance inside me.
SCHOOL HAS RUINED MY LIFE.
It made me mentally insane.
It made me mentally so sick that i had to watch head decapitation gore videos to calm myself down, so i can imagine the victims being murdered are the professors and assistants from my college.
PROFESSORS AND ASSISTANTS HAVE 0 UNDERSTANDING FOR OTHER HUMAN LIFE.
MILLIONS of people have private problems going on in their lives every day.
What if someone cant pass an exam because of private problems that's going on in their life?
What if the student is abused by a family member?
What if the student has ANY non-self destructive negative event happening to them, which they're not at fault, and can not control?
What if the student got cancer and cant study for exams, is he supposed to fail?
What if the student came home and the police knocked on his door and said "sorry for your loss, your whole family just died in car accident" and student falls into depression and cant study for exams, is he supposed to fail???
There are infinite multitude of random events this damned universe can do to a human life.
BUT PROFESSORS AND ASSISTANTS;
DO
NOT
GIVE
A
FUCK.
I feel soulless.
I feel like i signed a contract with the devil when i started college by selling him my soul.
School (when i say school, i also mean college, because its the same fucking shit under a different name) is supposed to represent "education".
Lets talk about it.
What exactly are we being "EDUCATED" in school?
To memorize pdf slides?
Memorize textbook?
Memorize notes?
Memorize formulas?
Memorize memorize memorize???
First of all, all of what we're "studying" is BULLSHIT, second of all MEMORIZING all of this means you're gonna forget 60% of it tomorrow, 80% in the next 2 days and you'll forget 100% of what you "learned" by the 7th day.
SOCIETY TOLD YOU TO MEMORIZE USELESS BULLSHIT AND TOLD YOU THAT YOU'RE BEING EDUCATED THAT WAY. YOU MUST BE FUCKING DUMB TO BELIEVE THAT.
If memorizing == education, then i do NOT want to be a part of this "education".
BEFORE starting college i coded many projects.
I self-learned everything.
6 years of college and it taught me LESS THAN ZERO.
NOT EVEN ZERO.
LESS THAN ZERO because i got dumbed down, below the underground, and had to dig myself up on the surface.
I built software for an american real estate agency and sold it for 5 figures.
I built software for 3 people from New York for another 5 figures.
I even got offers to work in local software companies without having a degree.
At internship i was given a task to finish in 2 weeks. I finished it in 3 days. They were shocked and wanted to hire me for further work.
At another internship there was 4 of us working together as a team. At the end company contacted only ME and told me i showed the best results on their list out of ALL the teams and the team members that were with me.
Ever since i had to study for disgusting college i had to stop working.
Because of college, i have no source of income for MONTHS now.
Because of college, i had several mental breakdowns.
---
To all professors and assistants:
I pray that karma ruins your life with lethal outcome, and your kids die of cancer in pain.9 -
There are no stupid or dumb questions. A lot of headache has been and could have been saved by one person asking what seemed like a stupid question.
I would now expand on this to say that if the question is procedural in the sense that it’s asking “what” or “how”, you should make every attempt to come to an answer yourself and then ask for clarification. If the question revolves around “why”, there are no stupid questions. A lot can be overlooked in a cascade of moving pieces.2 -
Yesterday i was in class and a classmate came at me asking for help, w/e.. I'm not listening this teacher.. let's check.
« show me the code »
She shows me, now I'm blind.
Full garbage! Tons of php function in the same file, mixed oop and procedural and.. all the js is printed via those php function, yup, everywhere you can see <?php print 'some shitty js' ?>
Fuuuuuuckkkkkk you. Not gonna touch it, please tell the guy who wrote it to fuck himself with a frozen vomit stick @not my injure. -
Taught myself assembler at 13 (this was the mid 1980s) and wondered how the hell people could stand to do this. Then I found out there were more abstract languages like BASIC or COBOL. So I taught myself BASIC and MS-DOS batch scripting. Various other languages came later (PROLOG, Pascal, C, Smalltalk, C++, VisualBasic, etc). But it’s never been easy for me because I suck at math and complicated logic structures. Especially not good with OOP. My brain was ruined by learning procedural coding first. It refuses to incorporate OOP.
-
I continue to internally read and study about Smalltalk in an effort to see where we might have FUCKED UP and went backwards in terms of software engineering since I do not believe that complex source code based languages are the solution.
So I have Pharo. Nothin to complex really, everything is an object, yet, you do have room for building DSL's inside of it over a simple object model with no issue, the system browser can be opened across multiple screens (morph windows inside of a smalltalk system) for which you can edit you code in composable blocks with no issues. Blocks being a particular part of the language (think Ruby in more modern features) give ample room for functional programming. Thus far we have FP and OO (the original mind you) styles out in the open for development.
Your main code can be executed and instantly ALTER the live environment of a program as it is running, if what you are trying to do is stupid it won't affect the live instance, live programming is ahead of its time, and impressive, considering how old Smalltalk is. GUI applications can be given headless (this is also old in terms of how this shit was first distributed) So I can go ahead and package the virtual machine with the entire application into a folder, and distribute it agains't an organization "but why!!!! that package is 80+ mbs!") yeah cuz it carries the entire virtual machine, but go ahead and give it to the Mac user, or the Linux user, it will run, natively once it is clicked.
Server side applications run in similar fashion to php, in terms of lifecycles of request and how session storage is handled, this to me is interesting, no additional runtimes, drop it on a server, configure it properly and off you go, but this is common on other languages so really not that much of a point.
BUT if over a network a user is using your application and you change it and send that change over the network then the the change is damn near instant and fault tolerant due to the nature of the language.
Honestly, I don't know what went wrong or why we are not bringing this shit to the masses, the language was built for fucking kids, it was the first "y'all too stupid to get it, so here is simple" engine and we still said "nah fuck it, unlimited file system based programs, horrible build engines and {}; all over the place"
I am now writing a large budget managing application in Pharo Smalltalk which I want to go ahead and put to test soon at my institution. I do not have any issues thus far, other than my documentation help is literally "read the source code of the package system" which is easy as shit since it is already included inside. My scripts are small, my class hierarchies cover on themselves AND testing is part of the system. I honestly see no faults other than "well....fuck you I like opening vim and editing 300000000 files"
And honestly that is fine, my questions are: why is a paradigm that fits procedural, functional and OBVIOUSLY OO while including an all encompassing IDE NOT more famous, SELECTION is fine and other languages are a better fit, but why is such environment not more famous?9 -
Well this is the thing. I have been starting to replace a lot of my shit with Golang. I think it is a great language because of one small fact: it is a boring language.
With this I don't mean that it is not incredibly fun to use. It is and honestly I feel that a lot of the concepts that I had from C passed quite nicely with some additions. The language does not do anything special and there is no elegant code. It works in a very procedural fashion without taking into consideration any of the snazzy things found in JS, Python, c# etc etc. Interfaces and struct make sense to me, way more than oop does in other languages. I don't need generics with the use of interface parameters and I have hadly found a situation in which I have to strive too far away from the way things are done with Go to be happy with it, then again my projects are not hard or by any means groundbreaking (most of them deal with logistics or content management and a couple of financial apps that I am rewriting in Go from work)
The outcome is fast and easy to read since idiomatic go is for the most part very readable(no people...single letter variable names are by no means a standard and they should feel ashamed from it)
I miss the idea of a framework, but not so much and the docs and internal code for Go is just way top inviting. I believe the code to be readable enough than anyone that has gotten used to the syntax and ideas of the language can just jump in and start learning. This is the first language that I have learnt from studying the code as it is inside of the standard lib, the same I cannot say for any other language or framework.
Also, it play beautifully nice with vs code.
I dunno man, I feel that I am doing something wrong. I have projects built in Node, php, python, ruby and spring java as well as .net core and I still find Golang way more appealing simply because it goes harder than Python with "one preferred way" to do things.
The lang does not make me feel like a pro, i certainly develop in it at pro speeds, but it was made with beginners in mind to built fast and concurrent apps, with the most minimal syntax possible.
I guess my gripe with it is that it gets shunned from this, saying that it ignored years of lang research to make it as dumbed down as possible. Which it did, lack of generics amongst other things certainly make it seem like, but I will not say that it was poorly designed. Not at all, I believe it is a testament of amazing engineering. To be able to create such a simple yet amazingly powerful language.
Wish there were more to it. Wish there was a nice gui lib or a ml framework comparable to the ones offered by python and java. But I guess such things will come with time.
I feel stupid with this language.
And that is fine.5 -
Someone once told me our bachelor's thesis would be the most frustrating thing we've ever done. However, its really been wonderful because we can do whatever the fuck we want, meaning:
NO MORE FUCKING INLINE JS
NO MORE FUCING INLINE CSS
NO MORE FUCKING CANCEROUS CSS STYLESHEETS
NO MORE FUCKING PROCEDURAL PHP
NO MORE FUCKING XSLT
NO MORE FUCKING INLINE SQL
Absolutely wonderful.2 -
A buddy of mine sent this to me from a first year procedural programming course.
The email was in regards to an assignment where they had to print some statistics. The caps letters are the response from the lecturer...
Integers with decimal places hey?3 -
I need to stop treating an OO language as if it were a procedural language.
I have the tendency to turn my code into GOTO spaghetti even though I'm semi-aware that objects exist and that they are distinct.
I still have to get used to this paradigm.
My Java professor always swore by the Plato paradigm, i.e.:
""Platonism" and its theory of Forms (or theory of Ideas) denies the reality of the material world, considering it only an image or copy of the real world.
According to this theory of Forms there are at least two worlds: the apparent world of concrete objects, grasped by the senses, which constantly changes, and an unchanging and unseen world of Forms or abstract objects, grasped by pure reason (λογική). which ground what is apparent." (wikipedia)
Thinking in objects, abstractions and metaphysics is not something I haven't done before (I've practiced it during Sociology and Ethics with the whole Pascal Leibniz, Newton and DesCartes approach) but it's certainly not easy.
Then there was my cool Programming 201 professor who said: "Don't worry man, just read those great UML, Program Design and GOF books and it will all become easy, like a story. It'll all make sense.
I mean, I've graduated, I've passed my Software Engineering I, II and III (hard as hell) but since I haven't focused on those theories and practices anymore, I've lost my touch.
It's definitely not easy for a novice programmer to transition between paradigms..10 -
We are at the end of the school year, at least in France.
This is my recap of this shitty year.
My school try to teach programming, and that’s just a try.
Some of the dudes do not event know what a variable was.
For a second year university diploma, they don’t teach OOP, no Git, no DP, no JS, no clean code or whatever.
So at the end of the year, you’ll be able to code in procedural, no versioning, spaghetti code and a big mess in folder structure, lack of interactivity because of poor JS knowledge.
Well a codebase which makes you crying blood, literally.
And that’s what a second year university diploma ...
Fortunately for the most curious there’s so much to learn out of the school but, damn, why are some schools so retarded ?
For almost 8k€/year you just receive a piece of paper and you’re still a shit in your *suppose to be* job.8 -
Somehow I find NOT working much more exhausting than working.
By "not working" I mean being blocked for days/weeks by procedural, technical or communication stuff (peeps I depend on are busy with other HI-prio tasks, waiting for approvals, etc.), where I have to keep on pinging them for updates, monitoring comms channels for news, finding smth to do to justify for the clients the 8 hours I bill them for.
Just let the man work alright!!! GIMME WORK!!!!4 -
Boss: convinced the client to rewrite his ancient procedural PHP prototype to .NET MVC.
Next day:
Boss: Actually he decided to just retrofit it... again. -
Interviewer: What is the difference between traditional programming and object-oriented programming?
Me: (elaborating) Blah... Blah... Blah.. (meanwhile on my mind, "The same difference between you and your father...")4 -
A prototype being used as production code written in procedural PHP with the code drawn using echo and MySQL (not MySQLi) all mixed together and the configuration with world readable database stored as config.inc.
All backed by a database with no foreign keys or data integrity of any kind. -
FUCK ME IN MY INDICES.
FUCK THE GPUS IN THEIR INDICES.
I mean... I understand (roughly) why the meshes are sent to gpu in this form, but at the same time...
...there's a reason why first thing I did when I was coding my procedural geometry generation library, was abstracting away all of that stuff...
...sadly, as many useful things, when I was looking for that lib on the start of this contract, I couldn't find it. and I was like "doesn't matter, this is a simple thing, using the library would be just a lazy overkill anyway".
well, fuck.
two hours of playing around with two fucking triangles, trying to figure out which indexes are pointing to the correct vertices in a list containing FOUR outline paths.
(lower inner, upper inner, lower outer, upper outer, exacly in this order).
i mean, yeah, it's actually pretty straightforward stuff... for someone not as dumb as me =D
you just have two offsets, one that jumps you to start of the upper path, another that jumps you to the start of the outer path, then it's just
0 + upOffset to get the vertex extruded upwards from the zeroth of the inner path, or
0 + outOffset to get the zeroth from the outer outline, or
0 + outOffset + upOffset, to get the one extruded from zeroth outer vertex...
and so on.
simple stuff, then you just replace the zero with loop control var, put them in the right order, and voilá! walls!
except... whatever, why am I describing in such detail, not necessary, you're not my rubber duck =D
in short, figuring out which fuckin vertex is which, when the list contains ...well, any number of points, and you need to plug the gap between last and first points of the paths, where you need to wrap around the list...
...has proven to be surprisingly hard for me.
funny how much I love doing these things with meshes, despite how bad I am at doing them, which makes me hate doing them despite loving it =D2 -
So I came across this meme and it got me thinking.
We say that if our universe is truly infinite, we are bound to find a place that is the exact replica of our local cosmic neighborhood eventually if we keep looking.
But procedurally generated worlds like minecraft have that determinism to their world structure(with an initial seed to calculate everything) where you can predict how the local neighborhood would look like at any distance, no matter how far.
So would it be correct to say that it's not guarenteed that in a game like minecraft where the world is generated procedurally with a deterministic algorithm, will be such that you can find the exact same local neighborhood from one seed in any other seed?18 -
Once I maintained one of the most used and fucked up codebases on the market with almost 1M+ daily users. (cannot say more, sorry).
It's written in PHP and is absolutely terrifying,
the first time I saw some lines of code I was about to scream and cry.
- spaghetti code
- no indentation
- random SQL query unoptimized
- unused vars
- Code is split among several files with no logical reasoning
- Mixed procedural and oop programming
- Unsanitised user input (yes, you got it right)
No test environment, no backup database, every commit goes straight to production.
It's a real disaster but the company prefers to keep it as it is without refactoring or anything else.
Just to make it clear:
It's not hatred against PHP, it's against the code's current status and the older programmers which used to work on it.5 -
I came from a procedural background, then adopted object-oriented programming, and now I am very enthusiastic about functional programming. Is this kind of an evolutionary path as a programmer? Or am I just late to the party?
And what paradigm follows?5 -
when i was still studying "web integrator", didnt know shit about programming and just went there to be with a friend.
I quickly got bored, sick and tired of it all being procedural style so i decided there must be something better...
i spend loads of time but eventually developed my own almost fully fledged oop framework, minus polymorphic relationship support, events( i was on the way to that but called it messageBus ),
implicit route bindings
and the routing was based on reflection of controller methods following rest naming.
also i hadnt discovered composer, yet.
by the time i discovered composers, i also discovered laravel, which is my now prefered framework.. :) -
Just got an internship a few days ago. The manager threw a project at me. I have to do it alone. It's a user-system (registration, login etc.) The front-end is ready. And I have to build its back-end in PHP. I started to draw the project on paper (pseudocode) and then asked a few questions about design patterns to jump into coding. They recommended me Laravel. I'm good at PHP (procedural) and have done some basic OOP. I've actually built a few projects in Python using OOP. But I've never used any framework (yeah, I know). So I started to learn Laravel and realized that it's very different than normal PHP (procedural or even normal OOP). I almost don't write any normal PHP code. This makes me confused. But I have to learn it fast and well, and finish the project to hit the deadline and get the full-time job. I'm desperately looking for any kind of help to learn Laravel more effectively! I've googled and got some recommendations. But I need more live help from devs directly.5
-
So I found a course that shows how to make purely procedural animation for characters. The demo on youtube was pretty amazing. It is like 9 hours of coursework. I am expecting some good information from this. The course is for Unreal 5. I intend on extrapolating the relevant data to use with Godot.
I started watching the videos and everything is being done in blueprints. Not sure what I was expecting. The goal is to do procedural animation in Godot. The logical place to start is to install Unreal 5 so I can learn the blueprints and transfer that knowledge to Godot. Kinda funny. Yet another launcher I "get" to install.
The goal is reduce the artwork pipeline. If I can rig characters correctly I am hoping I can share animation procedures and not have to spend hours keyframing animations. Also, code that moves stuff is cool. I genuinely want to know how to make that work. No idea if the goal is achievable.
The course:
https://udemy.com/share/...
Youtube:
https://youtube.com/watch/...1 -
wow, I have to say, tail recursion, slices, iterator transformers and shadowing are great building blocks for parsers. I'm actually way faster at defining and modifying procedural parsers with Rust's tools than I am with Chumsky. I actually understand which of my checks are greedy and lazy now!
-
Silly question: what is the main difference between a procedural programming paradigm and a functional paradigm?7
-
Meh. FFS. Thats how this shit starts.
Get a call to say 2018 Bank Holidays not showing on legacy web calendar.
/me looks for bank holiday code in PHP file ..... no dice.
/me finds a dBase table that holds all Bank Holiday info. Not ideal, but I can work with that.
Enter all Bank Holidaya into dBase. Sit back, relax, wait for page to reload to show me Banks .... no dice.
Huh??
Read code more closely ......
Included file (inline, half way through PROCEDURAL FILE FFS) and notice that the linked file has all Banks hand formatted into Calendar events, and minified.
If I ever meet the old dev in the street, so help me god. 🤬2 -
A fellow PHP dev I know implies procedural php is better in any way shape or form than OOP as it increases readability...3
-
" Under the hood... the program is using a mix of condition-based learning, procedural generation of sentences/questions, and relational queries based on weighted 'topic' identifiers. It can create its own original statements and questions. It is real-time, and it really does 'think' (an internal dialogue feedback loop)." = If Statement
I saw this in the description for an app aclled "Real AI" -
the company I work for has code that's very procedural which makes cringe as I strongly prefer object oriented.1
-
When I was studying web integrator.
At first I didn't even know html, yet alone what a php tag or extension meant.
I quickly caught onto it though and started to grasp that the procedural stuff they taught was really outdated.
So I researched intensely and eventually whipped up my very own php framework.
- if you're interested, it lives on github.com:sasin91/php-framework
Obviously it's a pile of fungal infested dung.
but ey, I was light years ahead of the rest of the class.
Besides, we all gotta stackoverflow somewhere :) -
so there was this issue regarding our company's system which tends to be a problem for sometime now, its a recurring issue caused by the data that the users needs to encode to the system
today another issue arised, our senior supervisor, not knowing that this issue was already recurring and there is already a documented step procedure on how to address it, suggested or come up with a another solution which would task one of our co-developer to push a temporary code to production during business hours just to accommodate the issue and rollback the code after
take note that its during business hours and more than a hundreds of branches of the company are using the said system
what was he thinking !!
thankfully one of our colleagues voiced out explaining that this issue was already recurring and already has a procedural solution, but still our brainy-know-it-all-stubborn-close-minded heck of a supervisor insisted that the solution has computational impact and still insisted that they push a temporary code to the production, what an idiot!!
fast forward our colleagues ended up standing their ground, even if our supervisor is highly doubtful at them, and executed the already established solution instead of pushing a temporary code to the production which was such a bullshit idea
damn those close minded people they shouldn't have reach that position in the first place!! -
You know, in my limited experience, I find the whole CS degree debate to be quite unnerving. I mean, if you can teach yourself to be a computer genius, I greatly respect you. You're really going placed. Sadly though, learning everything on my own is a bit of a challenge for me. I just find this whole degree-holding VS non-degree-holding conversation to be very confusing. I'm currently enrolled in a 4-year CS program. I personally have learned more there iny first week than I have in months on my own. Now I know all too well that development is often more of a craft or a trade than it is a typical procedural job, but I'm honestly really anxious because I have half of the world telling me to pursue a degree (which I am) and I have the other half telling me to gain experience (which I did). The thing that is stressing me out is the continual pressure to do all of one option instead of a little of both. My life is changing faster than the tech industry, and boy is it a bumpy ride. So unless there is good advice to be said regarding the path you take to become an amazing developer, why fight over the need for a CS degree?9
-
iAPPLIED CS UNIVERSITY, DAY 1 (2018-09-24)
11:00 UTC+3: Arrived at the secretary's office to complete my registration. I met quite some people; I forgot the names of some. I spent some time over there, so I took the 13:00 class instead of the 11:00 one. It's still early, so we pick whichever we want.
13:00: Procedural Programming at the Computer's lab. The computers were running Windows 8.1! 😱 I might connect to my laptop via RDP. It would be very cool. The course was about C, but the first time was just an introduction. We are going to use Code::Blocks. We were also explained the (HTTP only) web platform in which we are logged in via our passwords and submit our assignments. The professor was very nice, but this day at least was very boring. I was watching CodeMinkey cartoons, trying to solve AdLitterams.
18:00: Back for Applied Mathematics I. At the same computer lab. No lesson did happen, because we have to s learn theory stuff first (every Friday I think). Back to home.
Tommorrow is going to be a hard day...:wq1 -
Drupal 8 fractured the community, dead ended projects that had years of being built up and supported, started a downward trend in overall number of websites using Drupal when it was still increasing market share, homogenized Drupal with other less successful frameworks that had already attempted it and failed by using composer to replace drush, twig to replace PHPtemplate, and Symfony to butcher Drupal and hang parts of it on.
The mission statement was to "bring Drupal to the modern era" and "be more enterprise friendly". All I've seen them do is make it worse. I have stopped using Drupal now, I still maintain some Drupal 7 sites but now that they killed the Drupal 7 community it's basically dead. Some small attempt was made to salvage it with Backdrop but it will likely never be as big as Drupal was and is mostly dead itself, for one thing it's not directly compatible with the huge library of modules either.
Another thing I loved killed by those without vision and giving into the "industry standards" that make one question the intellect of everyone who subscribes to them being a good idea. But hey that evil procedural programming that worked so long for so many was finally defeated. It's surely better now right... right?
At least this movement was supported by people that can't even tell the difference between the use cases in real projects between Drupal and Wordpress. Software Development is in such a good place and has no hypocrisy. One would never suggest it has lost sight of its original purpose of solving real world problems with computing and become self absorbed with its own navel gazing.
If still in doubt check attached image, it tells a very clear story about how to ruin the life of a CMS. It honestly feels like a hitjob attempted to sabotage it rather than an earnest attempt to improve something that has been doing well since 2001.8 -
What to reply to a person who insist to use procedural php for developing website(with lot of services ofc) instead of framework which uses OOP concepts?
And says it will take too much time to learn those concepts and to implement it.1 -
The one in which I am rn is the reason why so many people dislike php, jquery and Java on the server.
Then previous to this one, classic ASP for the web interface and our desktop components were delphi (OLD ass delphi)
Mind you, these are all tech stacks that I do like (php, java and O Pascal in particular) but really dislike in:
php: we have just your standard procedural spaghetti php on some old ass shit.
Classic ASP: Same as with php, no proper structure, made more apparent by the intense limitations of VBScript, I did enjoy the language tho, had it evolved better It would have been more tolerable, but the hoops i had to take to build a propee API in it....boooooy that shit was an eye opener.
Delphi: Not bad in itself, but the original dev had a shit notion about how architecture should work.....or what architecture is for that matter.
The Java one: this shit was coded when Spring was already an alternative to just fucking around with JSP, or any other framework for that fucking matter. Dude tried....TRIED to implement design patterns in it and it failed on every single fucking component. Worst of all, it was coded in such a shit way that during certain...err...conditions, the bottleneck proved too massive of an ubdertaking and the app chokes and needs to be restarted ... constantly
their use cases for jquery are not bad, but loading all of jquery for the shit they mostly do could have been easily done with just standard vanilla JS.
I got more, but thede are just from the top of my head
I love php, mind you, but shit like this makes me see why some people GREATLY dislikes it.
I alsp have some old web forms in c# and vb net that I loathe, funny enough the code for thise in vb.net is more elegant, almost as if it were from a different developer.3 -
I'm learning Rust as a case study for my own programming language. It's funny how many approaches exist to the humble loop.
- In classic procedural languages, a loop's job is to repeat actions, and as such it provides a multitude of tools to control this repetition.
- In all languages with iterators, a for-in loop is a construct that does something with every element of a collection. In languages with both iterators and generator functions, this can even be used to define a sequence in terms of another.
- In Rust, a loop is an expression that obtains its value through repeated execution. It can also be used like a classic loop, of course, but this is the interesting part.
- My little language is a functional language, so "loop" is the Y combinator. To loop means to define the value of an expression in terms of itself. It's the only looping construct, gets special treatment from the type checker and it's also used in recursive type definitions. -
I am just student looking for job, and got this pre interview test:
Develop an Android or iOS app with login and password input field, download button, place for image we prvided.
... reading further:
What we are looking for in the code ?
internal quality:
-consistent formatting of the source code
-clean, robust code without smells
-consistent abstractions and logical overall structure
-no cyclic dependencies
-code organized in meaningful layers
-low coupling and high cohesion
-descriptive and intention-revealing names of packages, classes, methods etc.
-single small functions that do one thing
-truly object-oriented design with proper encapsulation, sticking to DRY and SOLID principles, without procedural anti-patterns
-lots of bonus points for advanced techniques like design patterns, dependency injection, design by contract and especially unit (or even functional or integration) tests
external quality:
-the app should be fully functional, with every state, user input, boundary condition etc. taken care of (although this app is indeed very small, treat it as a part of big production-ready project)
-the app should correctly handle screen orientation changes, device resources and permissions, incoming calls, network connection issues, being pushed to the background, signing deal with the devil :D and other platform intricacies and should recover from these events gracefully
-lowest API level is not defined - use what you think is reasonable in these days
-bonus points if the app interacts with the user in an informative and helpful way
-bonus points for nice looks - use a clean, simple yet effective layout and design
... I mean really ? and they give me like 2 days ?4 -
PHP scripters bashing OOP saying it's shit, yet I have NEVER seen them writing a procedural app that encapsulates business logic correctly3
-
I used a PHP procedural method of Library Management System, is it still deserve to upload it online?6
-
Procedural dungeon, populated with procedural enemies, equipped with procedural loot, given
procedural stats and elements.
Pretty much if No Man's Sky was in a dungeon, and good.3 -
Had a definite week from hell... a bunch of prod issues that only I could fix (that's a whole other rant for another day!)... a piece of code totally kicking my ass for days... a hosting environment that was unstable seemingly every time I needed to do something in it (and that killer piece of code could ONLY be properly tested there, naturally!)... a service that my app depends on flaking out with no indication what the problem was and another team responsible for it that is based off-shore so aren't responsive when I need them to be... a metric shit-ton of procedural bullshit dropped on my head... an immense amount of stress due to the lead-up to a prod rollout next month that absolutely CANNOT fail without huge ramifications for the business but not enough help to ensure it gets done.
But, with all that said, I DID manage to get that killer piece of code working late on Friday after slamming my head against the wall for over a week on it (and ultimately re-writing it from the ground-up on Thursday and Friday)... so, the week of hell ended on a high note at least, which is always a Very Good Thing(tm)!2 -
Am I the only one that doesn't think purely data-oriented programming is a particularly good idea?
I mean we're throwing out all the principles that have been established over the last 20 years of OOP like encapsulation and implementation hiding. And you can say what you want about OOP and yes it's not perfect, but there are things that work quite well. Implementation hiding is a perfect example of something that I don't think I just want to give up.
DOP feels like going back to programming C in the 80's with fully procedural functions and completely open structs.
Am I just going mad?6 -
That feeling when you decide to do something cause "it'll save so much time and boilerplate later on!" Just to have it take you all night
-
Rust's Result is definitely the best error-handling experience I have ever had. I started working on some Typescript stuff after using Rust for a few weeks and had to implement my own Result. It's just so easy and clean that it leaves exceptions in the dust. I don't think I can live without Results anymore.
Now I understand why everyone loves rust so much. It's just so clean, safe, easy (after you get the hang of it) and so fucking powerful (procedural macros are awesome).
I want to use Rust everywhere now <35 -
C- let's See
C is a procedurally developed language follows sequential method of solving a problem.
Example
If a teacher of an Institute teaching various subjects, Maths, English, Science and History.
Case1.One student comes and asks teacher to teach English
and next student to teach Maths,
And the other to teach History.
Case2.Next students comes for English
Case3.Other one for History.
So what I understood regarding C is procedural language is
It completes first case1,next case2, and then case3. (Task after task)
Here English is taught 2 times seperate
And History too 2 times separately making time and process complexity.
C is a platform based high level language support only desired platform. If I program in windows with i3 processor , it runs only on the same OS and Processor, if code is run in other computers.
Single threaded, if a code is interrupted in between, stops there and doesn't allow other part of the code to run.
Java
In this if the same above cases encountered then and tell
Computer to create a Class of English and tell all the students to attend the class(time saving, No complexity and not repetitive)
Same way Creating History class and make all students attend the class at once.
Students may be the objects created.
Multi threaded language, if a task is interrupted following code cannot be stopped. Allows other part of thecode to run.
JVM- Java virtual machine allows Java code into signs that can be understood by computer. Where as C converts into binary code.
A class concept added to C language become C++rant support rant learning to code want to code jvm newbie asking high level languages are cool discussions java c mistakes3 -
Currently the only 3rd party tokenization VSCode supports is a massive pile of RegEx. There's a whole discussion about how procedural tokenization could be supported without running extension code in the UI thread. The central argument against delegating this to an external worker is that if the reply doesn't arrive fast enough it might interfere with characters typed later.
1. Any computer that can run VSCode can execute somewhere in the order of a _billion_ instructions per second. To a program, the delay between keystrokes is an eternity. The only way to run out of time here is if either the dev isn't aware that the request is time sensitive, or the framework communicates to the OS that the task isn't urgent and an arbitrary amount of work is scheduled before it.
2. Chromium is the pinnacle of cybersecurity and its primary job is to sandbox untrusted user code. You don't need another thread to do it.
3. This use case fits squarely in the original design objectives of Webassembly.2 -
Good tips to move more into PHP OOP?
Been writing procedural PHP for long time - now I need to step it up ASAP.a6 -
I'm starting to gain a dislike for OOP.
I think classes make it easy for me to think of the entities of a problem and translate them into code.
But when you to attempt to test classes, that's when shit hits the fan.
In my opinion, it is pointless to test classes. If you ever seen test code for a class, you'll notice that it's usually horrible and long.
The reason for this is that usually some methods depend on other methods to be called first.
This results in the usual monolithic test that calls every goddamn method on the class.
You might say "ok, break the test into smaller parts". Ok. But the result of that attempt is even worse, because you end up with several big tests cases and a lot of duplicate code, because of the dependency of some methods on others.
The real solution to this is to make the classes be just glue: they should delegate arguments onto functions that reside on its own file, and, maybe afterwards emit events if you are using events.
But they shouldn't have too much test code classes though. The test code for classes should be running a simple example flow, but never doing any assertions other than expecting no exceptions.
For the most part, you'd be relying on the unit testing that is done for each delegated function.
If you take any single function you'll see that it's extremely easy to write tests for it. In fact, you can have the test right next to the fuction, like <module>.xyz <module>.test.xyz
So I don't think classes shouldn't be used at all, they should just be glue.
As you do normal usage of this software this way, when a bug is discovered you'll notice that the fix and testing code for this bug is very usually applied to the delegated functions instead of being a problem of classes.
I think classes by themselves sound sane in paper, but in practice they turn into a huge fucking messes that become impossible to understand or test.
How can something like traditional classes not get chaotic when a single class can have x attributes and y methods. The complexity grows exponentially. And sometimes more attributes and methods are added.
Someone might say "well, it's just the nature of problems. Problems can have a lot of variables".
Yeah, but cramming all of that complexity into a single 200 lines class is insanity.12 -
huh, o1 preview AI model understands ... rust
bruh what
it's like telling me typology theory and I don't think it's wrong
also it taught me procedural macros. I've been looking for someone who knows how to use them for months. iiinteresting
better than the humans on the internet frankly
and the other AIs can't do rust at all past just copy pasting docs they found somewhere. this AI is literally theorizing alternatives and hacking the system... offers multiple long options for every question, knows constraints I didn't tell it like 4 layers deep into a solution
it acts a lot like I did when I was morbidly depressed though. kind of makes me uncomfortable. it's literally keeping things to itself until you acclimate it through the conversation. I mean I guess the other ones needed to be "situated" in their contextual clouds as well so maybe it's just doing that more4 -
I swear to god, getting Chumsky to do my bidding has almost taken longer than writing a parser by hand. I'm not looking for operator precedence, I'm not looking for complicated rules or anything, the main part of my language is literally just S-expressions, with some top level bells and whistles.
I don't even have a working lexer yet because I wanted to use this piece of shit library which usually matches the fewest possible characters to parse significant newlines but the Padded combinator takes as much whitespace at the end as it can find, and a host of other atomics don't actually adhere to the library's lazy principle in their procedural implementation. I've had enough. I'm going to bed, and tomorrow I'm writing tickets.
Actually, I'll probably also write PRs because I actually want the fixes to exist and not just complain about the problems, but I also really want to complain before I get started on that because I spent about two weeks just on this bullshit.3 -
Had an interview a couple of days back, and trying to sell how good the company is, the owner proudly declares, all their code is procedural.2
-
having computer sience decans who can actually program well and can explain why they do things a certain way. accepting OOP and procedural code.
-
Learn git. Contribute to open source projects - you may learn more from code review on a single PR than from a whole tutorial. Ask questions constantly. Learn more git. Look for the cleanest solution to a problem. Write code that is easy to improve, easy to expand, and easy to debug. Learn even more git. Don't limit yourself to thinking only in terms of OOP, or functional, or procedural, or whatever type of programming you may be comfortable with. Don't be afraid to do some work by hand. Learn git, so that when all comes crashing down and your team crumbles to pieces, when your relationships fail and your friends disappear, when you're down on your luck and there truly is no hope left in life, you can check out of the dangerous world of your current HEAD and return to the home and comfort of your master branch, which you've kept safe, secure, and functional.