|
|
Yes, I do love to have the best framework or language being used for a purpose, software or application. But, mixing everything up like C++ for performance of services, C# for simplicity with networking, DirectX for graphics and so on and so forth, is never a good choice.
I do use a programming language and intermix a few frameworks or write my own if I think I may be leaving the context. To solve this, I usually select the programming language in the beginning, then I stick to it. Each language has millions of users, take it as C++, C#, Java or whatever new language may be going on (no Python, that I don't have faith in*, so is the case of Swift). The same thing happens, every frameworks or library tool has already been written. Try to Google for a while, you will find one, if not, then read Wikipedia's guide and write your own library, oh yeah, don't forget to write an article on CodeProject about your success.
Newtonsoft.Json is one of those frameworks, when I am writing an application, I only download and deploy this one package, otherwise I try to write my own modules or .NET has it built-in; Oops, I didn't mean .NET-only!
*Swift as far as I have used it, once, executes in the global scope, and well there was no need of main function. What kind of retarded person would believe Swift is programming language? Apple has many cards up their sleeves, I'm telling ya!
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~
|
|
|
|
|
I don't see any difference between the first and the second option (is it possible to work with just a single framework, assuming you want to save time and money?). But nevertheless I chose "we need one framework". We must not spend most of our efficient time working around with a new framework and getting used to it. Rather, I would choose a framework I had worked with before to solve my problem (I am a student; I don't have working experience, but I do have programming experience).
So, I don't go for a new framework unless absolutely necessary.
|
|
|
|
|
Of course it is much better when you have single framework (e.g. compare android sdk with web development) which achieves all the tasks in a nice way, instead to have to learn dozens of things like you have to with web development!
|
|
|
|
|
I do Web and Mobile development. So on the backend, I use: ASP.Net, Rails, and ExpressJS. On the frontend I use whatever is best fit for requirements, and on mobile just use the Native SDK.
wow m8 gr8 b8 I r8 an 8/8. though it was a little l8 and it seems you h8 f8, it still has that tr8 that makes you acceler8.
|
|
|
|
|
And each one of them is another framework
|
|
|
|
|
My problem is with those idiot who thinks they can solve everything with framework including switching from HTTPS to HTTP.
I do not fear of failure. I fear of giving up out of frustration.
|
|
|
|
|
You do what you can do with what you can do it with.
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "As far as we know, our computer has never had an undetected error." - Weisert | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
You should pick what is best for the job and the people you have working for you. I get ask this question and I always tell people to get whatever works best for your team and the stuff you are building.
frameworks, languages and tools... just like clothes and they tend to go in and out of style on a regularly basis.
|
|
|
|
|
|
And all this time I thought I disliked them because the made me queasy.
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "As far as we know, our computer has never had an undetected error." - Weisert | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
One Framework to rule them all, One Framework to find them,
One Framework to bring them all and in the darkness of the heap bind them
-
BTW I voted "a set of frameworks"
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
My choosing order is the following:
1st - Pick the right technology for the job
2nd - Validate the Team Velocity on that technology against your available time
3rd - Validate the team ramp-up (if needed) against cost/benefits and available time
Ideally you should be given time to ramp-up your team before the project starts but that never happens, so choosing the right tool for the job often depends heavily on the available time.
P.S.: "Whatever I already know" should never be the main criteria.
|
|
|
|
|
So I do all of them according to what best for me and for that project...
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|
|
...and that is Windows API. Powerful, flexible, fast, and basically the very same thing that does the dirty work under the bloated .NET.
Wherever I can I use libraries and APIs because they do not force me to design according to the framework, I am free to design as my problem domain needs and to use only the feature I need with no overhead.
GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- ++>+++ y+++* Weapons extension: ma- k++ F+2 X
If you think 'goto' is evil, try writing an Assembly program without JMP. -- TNCaver
"When you have eliminated the JavaScript, whatever remains must be an empty page." -- Mike Hankey
|
|
|
|
|
|
From my experience, I would say that using/forcing a technology just because it's the one you know will bring you more problems than benefits in the long run.
|
|
|
|
|
Agreed, and I never said you should.
But building a Windows App with a Node.js back-end using Maven to manage your Clojure packages because ReactJS is the popular kid on the block will end in tears
Ok, that's not even possible, but you get my drift.
New project, new frameworks. Old projects, be very careful.
Don't experiment too much, because each new framework has it quirks and you're going to make mistakes learning and implementing it.
If you're going to use AngularJS use AngularJS and don't use Ember for another page and Knockout for yet another page.
|
|
|
|
|
Sure, that's like the other edge of the problem:
Using everything you can just because you can.
Anyway, when I wrote that I was more thinking about the common problem between core technologies like .Net vs. Java or things alike. So-called "Architects" tend to stick with their own tribe instead of actually designing a proper performant and logic system.
I'll not even go into details related to product fanboys like SharePoint or CRM where at some point it looks like everything should be religiously stuffed into these resource eating monsters.
Just because one is used to a certain stack it doesn't mean that everything has to fit into that stack.
If one is serious about computer science, one should be as open minded as possible and include different stacks into his toolbelt.
Sure different stacks come with integration challenges but often integration is much easier to abstract (usually even at infrastructure level) when compared to force-fit a technology where it's not meant to be.
|
|
|
|
|
AlexCode wrote: So-called "Architects" tend to stick with their own tribe instead of actually designing a proper performant and logic system Yeah, I worked for such a company.
Well, they did call themselves a Microsoft company.
If you wanted our software you had to have Microsoft systems.
Nothing wrong with that, as long as you know it.
We never tried to run WinForms on Apple
Anyway, mentioning anything besides MS was a sin in the company, that's really the only thing that bothered me about it
|
|
|
|
|
Sander Rossel wrote: If you're going to use AngularJS use AngularJS and don't use Ember for another page and Knockout for yet another page.
Jeremy Falcon
|
|
|
|
|
So I guess "all of the above"?
|
|
|
|
|
And a hearty 'none of the above' would also be nice.
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "As far as we know, our computer has never had an undetected error." - Weisert | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
Actually, faaaark them all would be the nicest option!
|
|
|
|