A framework or your bikes?

    in general it is a copy-paste of the answer to the topic: PHP> Enough to reinvent the wheel!

    I put him in a post, because a partially opposite position was expressed here, and decided that we could talk about it. I prefer to study patterns rather than ready-made frameworks, and if you use ready-made solutions, then narrowly directed libs, rather than comprehensive monsters.

    I am the team leader of the incomeproject.com project (this is a large platform for creating affiliate programs), I can say that the use of third-party libraries is complicated for at least such reasons: to use such a library in a serious project, you need to fully trust it, to trust it you need to study and run on some "not important" project, usually there are none.

    you need to fully understand the scope, working conditions of the Framework, the methodology for solving problems that he offers. if this is not the case, sooner or later you will get into a situation when the framework does not satisfy your requirements and you need to write a “crutch” here then you will fall into the trap when you need to put more and more crutches. you can set the crutch correctly (at the right angle) and not violate the logical integrity of the application based on FW, you can still only if you understand the ideology of solving the problem, which is embedded in the Framework.

    So in order to start using the Framework you need:
    1. try it somewhere in a weakly significant place.
    2. to study the whole dock and know typical examples, it is advisable to hang out in communities and find out typical problems
    3. understand the ideology of the solution (big Framework, many authors, which means a lot of mixed solutions)
    4. to realize ALL levels of abstractions used in the Framework.
    5. write somewhere a long-playing, but again critical project on this Framework.
    here, only now you can use this Framework in your projects ... all that I wrote here is my opinion, my position, but it is based on the experience of the person who wrote systems in PHP (and not only php), working on over 5- These machines, both with a functional distribution of computations and with a distribution of computations over data, are both highly scalable.

    trust in C ++, C and Java is due not at all to one fact of the brand that stands behind them, although they too, but also due to the old age of Java’s current technology, not so long ago Sun made NetBeens at an acceptable level, and before that they were warehouses of solutions and everyone rummaged through them, it is enough to recall the epic with aspectual programming.

    Why do I use my developments and prefer to study patterns rather than frameworks?

    1. knowledge of programming patterns does not give you the dish itself, but the recipe for how to cook the dish, you are free to use any cookware: PHP JAVA C ++.
    2. you can add spices of your choice, if you work in a team, then you have more chants to change the recipe before cooking, so that none of the team members are allergic to its individual parts.
    3. You can use seasonal and fresh vegetables! For example, if you just got the opportunity to use nymespice, you love them, then you can already include them in your dishes! I doubt very much that the chef of your beloved Framework has the flexibility to do this.
    4. we are losing weight - you need fewer calories ... I think you don’t need to bring the entire infrastructure of the Framework with you, just to make it work “as always” or “just in case”, you are cooking !, which means there should be nothing superfluous on the table .
    5. "Use only soy sauce" - think whether you should follow the recipe so strictly ?? But what if you want ketchup? refuse tamat? the limitations caused by using a ready-made framework sometimes turn out to be very serious and you do not need.

    these are only general comments, there are particular ones, for example, you know that in your case the context of the task implies simplification of some mechanism, in the framework of a frame work this simplification (logic, abstraction, performance) is usually difficult to do, but in your kitchen you can imagine allow this. I highlight the following pros / cons:

    your bikes

    minuses:
    1. there is no community to discuss YOUR problem
    2. high probability of "stupid" errors
    3. you cook in your own juice - you don’t know new methods if you always do everything yourself
    4. It’s hard to pass the project to other people
    Pros:
    1. you have complete freedom of choice, everything you do you can do as you please
    2. anywhere you can insert a new solution and you will know how it will change your system
    3. You can solve any problem! you are the author of the system, you are subject to decisions
    4. all restrictions are subject to you


    in the end, you take risks, but you are guaranteed to get into a dead end, and with the Framework (especially large ones you are not guaranteed)

    PS: the first topic on habrahabr, everything was shy somehow ... but it hurt ... I discussed this topic with friends a lot. -)
    PPS: I didn’t cover the topic of libraries at all (those that solve NARROW TASKS with one method) - on the contrary, I love them, I will write about this separately.

    Also popular now: