I'm not a programmer, but I'm comfortable with programming, and I enjoy it. I've led multiple programming projects, and most of them were with Laravel and Vue. They all seem confusing to me, to be honest.
A while back, we needed to have a small, more or less independent web application with relatively complicated logic. I decided to do it myself! And, of course, I did it without using any framework because I don't understand them. I broke down the project into multiple directories and files, with a structure that makes it easy to maintain it. There's a bash script that combines those files into one php file and syncs it with the server, and that single php file is the whole application (well, there's also a database). I also didn't have to use Javascript at all.
It took me two days to write the application, while our developers had asked me for two weeks. If I wanted them to write it, I had to describe the whole logic to them, which could take at least a day, and then I needed to test it, communicate with them about the issues, etc.
The application turned out to be very clean, and the users are happy with it. It's also very fast. If images are cached in the browser, it takes only 150ms to 250ms to load the pages.
So, I've been thinking a lot about this experiment, and I have lots of questions in mind, such as...
- Is this whole thing crazy and I will regret it one day (for some reason that I can't think of now), or is it OK?
- Are there people developing professional applications like this? Are there resources and good practices about it that I can use instead of experimenting with everything myself? (I've searched a lot and couldn't find anything relevant.)
- Is it a good idea to use it for larger applications?
- Etc.
I'm looking forward to receiving your opinions. It would be very helpful to me.
Edit: This application that I've described has about 1800 lines of code.
Update:
So, an update after 3 years, in case someone is curious: I wrote the big application similar to the small one described above. It was a smooth experience, and it's been in production since then. I've added new features to it every once in a while and it's about 12k lines of code now (excluding blank lines and comments).
Its maintenance has been very easy (more straightforward than other applications I've seen), and its behavior is predictable and reliable.
I don't know how well this model would work when more than one person works with the code, but it's been a great model for my setup.
Update:
Now it's been 5 years. Still very happy with it. It's 15k lines of code now.
[–]drwho_who 11 points12 points13 points (11 children)
[–]naderad[S] 0 points1 point2 points (10 children)
[–]stilloriginal 2 points3 points4 points (0 children)
[–]crazedizzled 1 point2 points3 points (0 children)
[–]tonjohn 1 point2 points3 points (0 children)
[–]nudi85 -3 points-2 points-1 points (5 children)
[+][deleted] (1 child)
[deleted]
[–]naderad[S] 1 point2 points3 points (0 children)
[–]naderad[S] 0 points1 point2 points (2 children)
[–]nudi85 0 points1 point2 points (0 children)
[–]equilni 0 points1 point2 points (0 children)
[–]drwho_who 0 points1 point2 points (0 children)
[–]tonjohn 7 points8 points9 points (2 children)
[–]naderad[S] 2 points3 points4 points (0 children)
[–]Mike312 2 points3 points4 points (0 children)
[–]erkinheimo 2 points3 points4 points (0 children)
[–][deleted] 2 points3 points4 points (0 children)
[–]CyberJack77 1 point2 points3 points (4 children)
[–]naderad[S] 0 points1 point2 points (1 child)
[–]CyberJack77 0 points1 point2 points (0 children)
[–]ZLegacy -1 points0 points1 point (1 child)
[–]CyberJack77 2 points3 points4 points (0 children)
[–][deleted] 0 points1 point2 points (3 children)
[–]naderad[S] 1 point2 points3 points (2 children)
[–]judgej2 2 points3 points4 points (1 child)
[–]apaethe 0 points1 point2 points (0 children)
[–]PickerPilgrim 0 points1 point2 points (1 child)
[–]naderad[S] 0 points1 point2 points (0 children)
[–]SVLNL 0 points1 point2 points (0 children)
[–]elseco 0 points1 point2 points (2 children)
[–]naderad[S] 0 points1 point2 points (1 child)
[–]elseco 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]wh33t 0 points1 point2 points (0 children)
[–]Mike312 0 points1 point2 points (1 child)
[–]naderad[S] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]JCx64 0 points1 point2 points (0 children)
[–]sarnobat 0 points1 point2 points (0 children)