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

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

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

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

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

Building something simple from scratch is pointless and inefficient.

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

A simple corporate crud form doesn't need to innovate everything.

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

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

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.

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

... 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

I started in a 3 man company and I now work in a giant corporate for years now.

1

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

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

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

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

I found the the teacher that teaches frameworks! LOL

0

Would that I had the patience to teach lol. That attempt would either get me killed or vice versa

2

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

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

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

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.

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

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

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

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.

Everything is cloned from the other 10 competitors. It is yet another FB clone just with different font and back color.

0

You're an idiot.

1

Lamest novelty account ever.

0

What are some exceptions to this?