Programming tip: Stay away from frameworks
2 23 Oct 2016 21:07 by u/roznak
If you are new to development then it is tempting to use that shiny new framework everybody is using.
My tip is to stay away from it and try to develop your own wheel.
- All these frameworks are only good at average solutions. When your project scales it will fail.
- You learn nothing, all you do is waste time and resources in learning something that will be obsolete in 2 years. That time and energy could have spent becoming a master yourself, the one that design the framework.
- Using frameworks turns you into a script kiddy, you become just average and can be easily replaced by 100 other script kiddies in the next few years.
- Developing your own code means that it is optimized for your company and for your solution. You are different that the 10 other competitors and since you are not hooked to the framework then your solution can even outperform the competition.
It is your decision, becomes the master or become the slave. Develop your own framework or become addicted to someone else framework. Become the developer that kicks ass or become the lazy developer that will be fired in the next few years.
28 comments
6 u/hereonachair 27 Oct 2016 16:14
Much better advice: use as much existing code as possible. Most of the time this involves frameworks, because frameworks are attempts at generalizing existing code for a wider set of purposes. Are all frameworks well-designed? no. Are they a pain to use or learn at times? yes. Are they they still worth it, for any significantly large project they are.
Any code is only as good as the support for it. Any time you home-roll your own solution in order for it to really remain a solution for anything it needs to be supported. If you're running a business that means employing more people. If you're writing code alone or in a small team, it puts more responsibility on your shoulders to maintain and slows down your development.
This argument that people who use frameworks don't even understand how computers work is so silly. It's a good thing they don't. Productivity comes from specialization, if you're building project there's probably some small seed of originality in it which makes it worth writing, everything else is just boilerplate. If you choose to write the boilerplate yourself you're probably an autistic idiot.
3 u/Tevelyn 23 Oct 2016 21:35
You're an idiot. I work on half a dozen projects a hear and would be able toanage maybe 2 without frameworks to do most of the grunt work. Most coding isn't rocket science, it's fucking accounting which frameworks are excellent at.
1 u/Morbo 24 Oct 2016 00:25
And therein is the problem. Frameworks led to making programming a simple routine of mediocrity. No one is truly innovating in software and programming any more. The browser has become legacy and needs to be retired. JS should never have become a first class language. These things are holding us back now and yet people still believe they are the future. Native mobile apps have to fill in the gaps where web applications fail because the browser and security sandbox restrict our capabilities, but native apps are just as much a problem to innovation. We need something new and powerful that breaks through the limitations of the browser while providing a safe and secure application delivery platform. And before you say "Web Assembly"- NO! Just NO! We don't need another disjointed layer of crap on top of the browser to make up for its shortcomings. We need something new and frameworks aren't going to get us there.
3 u/Tevelyn 24 Oct 2016 00:48
A simple corporate crud form doesn't need to innovate everything. A browser application helps make sure that everyone is using the latest version of your software. Building something simple from scratch is pointless and inefficient. Using a framework makes code easier to read and understand and can radically reduce technical debt, if done properly. Sometimes you need to reinvent the wheel, usually a standardl wheel works just fine and saves time.
0 u/Morbo 24 Oct 2016 00:56
With that logic the browser should never have been built. Frameworks would also not have been built. You are free to program as you wish but don't call people idiots for not liking frameworks and giving valid reasons for it.
And before you get all- but, but browsers are not simple- the first one was.
0 u/roznak [OP] 24 Oct 2016 17:00
I think you lost your imagination and have forgotten how great software can be written. Everything looks like a nail if you only have a hammer.
I bet that every time you get a new project the first thing you do is clone your project, rename it, change font and there is your new project. I am sorry an Indian freshman ath half your price just from school can also create a CRUD project.
1 u/Tevelyn 24 Oct 2016 17:11
Yea, sure. They also have intimate knowledge of interbase, Oracle, product center, SQL, various proprietary data wrappers, years of understanding how corporate systems and databases interact with each other and when/why data needs to be replicated where. A team of Indian programmers could do my job for what I make, it'd probably cost the company millions after they corrupt a database, but they could do it.
None of which changes the fact that a crud application that touches 4 databases is just a crud application and is easy as shit to write in angular/.net
0 u/roznak [OP] 24 Oct 2016 17:29
I don't think any noob developer should be able to cripple a database when they touch a line. That would be bad design.
1 u/Tevelyn 24 Oct 2016 17:33
... you must work in a software only company and not an industrial corporation if you haven't seen what engineers do to databases when programmers aren't around.
Which isn't an insult. I'm jealous.
0 u/roznak [OP] 24 Oct 2016 19:08
I started in a 3 man company and I now work in a giant corporate for years now.
1 u/Tevelyn 24 Oct 2016 19:33
And you've never run into the database that the engineer built who decided that the 20 letter long sku needs to be the primary key, and they need a second key, just because. And another engineer added tables with a different naming schema 2 years later then nobody used foreign keys for anything,just common names and SKUs and of course they did it in access so when someone goes to look up data the 14 tools they wrote(then lost all the source code, of course) in VBA stop working and catastrophe.
And my favorite. Anytime anyone wanted data they wrote a brand new sketchy view, so there are 20 views for the same table, 10 of which query the same fields in different orders.
/Jealous
0 u/roznak [OP] 24 Oct 2016 19:43
All the time. The age of the script kiddies that loves frameworks and have never learned to think at deeper levels. That is why I warn people to stay away from frameworks so they get forced to think further than easy quick solutions.
1 u/Tevelyn 24 Oct 2016 19:46
That's not frameworks. Coders use frameworks. That's engineers with a smattering of VBA knowledge. Sure, they usually use VBA wpf or web forms, but bad code is bad code, regardless of framework.
0 u/hereonachair 27 Oct 2016 16:46
That's not script kiddies, it's multiple people working on complicated systems with time constraints who don't all magically have a shared brain partition.
Established frameworks solve a lot of these problems, because there are established references, best practices and support available
-1 u/roznak [OP] 24 Oct 2016 16:51
I found the the teacher that teaches frameworks! LOL
0 u/Tevelyn 24 Oct 2016 16:59
Would that I had the patience to teach lol. That attempt would either get me killed or vice versa
2 u/hereonachair 27 Oct 2016 16:42
You're exactly right. People who say that frameworks should be ignored and everything should be written from scratch are the real script-kiddies. Writing a one-liner is easy so they think they can build entire systems by writing a bunch of their one-liners.
2 u/tame 25 Nov 2016 16:46
If you are "new to development" then the last thing you should worry about is "how your project scales." You don't need it to support 100M concurrent users, you need it to fucking work do something useful.
1) Make it work.
2) Make it work right.
3) (OPTIONAL, FOR EXPERTS) Make it work fast.
If 10 people love the thing you built and they tell their friends about it, then maybe you have 50 users. If not, go find out why and fix it. Rinse and repeat. If you get massive organic growth to the point where your hacked together thing can't keep up, hire one or two people who know what they're doing to fix it.
1 u/Antikaon 24 Oct 2016 12:28
I somewhat agree with this.
I think new programmers should take the time to learn the underlying tech that frameworks try to simplify. This will give you a better understanding of the lower level stuff and make you a better programmer in the long run. Building your own framework, even if it's only purpose is to learn how, is a worthwhile experience.
However, learning to use a framework or two is not a bad idea. Bottom line: People need jobs. Even if you are a "script kiddy" who gets replaced after a year or two, you still got a couple years of employment out of it.
Interesting note: In my former job, I was in on most of the programmer interviews. It amazes me how many programmers (not just entry level ones....) have NO IDEA how computers work.
0 u/roznak [OP] 24 Oct 2016 16:48
I do agree with this. Staying away from it does not mean that you are not allowed to use one to see how it works and pass a HR exam. But too many times I have seen that the framework causes more problems than they solve.
1 u/ConservativeDev 25 Nov 2016 05:24
Our company has developed it's own internal framework. I wouldn't want a new hire trashing it and wasting time and money doing what has been done. A framework is a tool in your toolbox, and I've learned some cool stuff from some. Another argument against is it creates a higher profile target for vulnerabilities and patching and upgrades must be managed.
0 u/Morbo 24 Oct 2016 00:16
Good points all. It won't convince any programmers who are balls-deep in the framework fantasy though. Since most of these coders were introduced to frameworks at the beginning of their careers, the likelihood of them accepting that there are other ways is quite small since they have formed their opinions on frameworks based on that start (and some rockstar programmer they idolize). One thing I've learned over my decades of programming all manner of systems is that the script kiddies are numerous and willfully ignorant to change. The browser as an application platform with HTML, CSS and JS sticking around for as long as it has shows this. We could have built a better application delivery platform by now if there weren't so many green programmers against it. They champion Open Source and denigrate proprietary software but it is obvious we're not really improving and innovating with FOSS like we were under closed source. There no longer is incentive to mature technologies because everything has become a popularity contest now. New frameworks are released all the time which just meet someone else's edge case or niche use or worse yet, are some gap-fill to the inadequacy of another framework. We could have fixed all this but the browser brand wars and fanboys were too numerous to see the real problems. We could have a true application delivery platform that would free up the browser to be about content and also eliminate the installed app ecosystem that is making all platforms a mess. We ended up here because of the script kiddies wanting to continue on with the jQuery, Angular, Bootstrap, etc. game where everything is sad and similar instead of making something new and bad ass. I've grown tired of web applications that are nothing more than social, video, maps, messaging and micro-transaction mashups. They have run their course and are no longer interesting to anyone outside of narcissistic attention whores. Let's get back to building cool things with new technologies that aren't refried frameworks and platforms. Let's make programming great again.
0 u/roznak [OP] 24 Oct 2016 16:55
Everything is cloned from the other 10 competitors. It is yet another FB clone just with different font and back color.
0 u/PointsOutIdiots 24 Oct 2016 01:17
You're an idiot.
1 u/Morbo 24 Oct 2016 02:06
Lamest novelty account ever.
0 u/Bolbi 26 Oct 2016 22:44
What are some exceptions to this?