Always ... what's the old saying -- A class library is worth a thousand posts!nathanr wrote:somebody really wants to see my code!
Frameworks and more..
Moderator: General Moderators
- Christopher
- Site Administrator
- Posts: 13596
- Joined: Wed Aug 25, 2004 7:54 pm
- Location: New York, NY, US
Thats exactly the point "if they meet my criteria". Frameworks are not only to make code easier with well known problems but also to have commonole wrote:...I can fix bugs in other people's libraries too, if they meet my criteria...
view on whole situation. If you take one company for example, there will be development policy etc etc, possibly own framework and that will be so devs can look into each others code and not be scared and not knowing whats going on. Take that into the wild public and you get the framework we talk about...for example ZF. Thing is you will more likely build better framework for a bunch of devs to use rather to a whole community of thousands of devs. There will always be one not liking it. There is a thin line of the definition of what a framework is.
- Christopher
- Site Administrator
- Posts: 13596
- Joined: Wed Aug 25, 2004 7:54 pm
- Location: New York, NY, US
For me it is the difference between implementing a solution and implementing something with which you can build solutions. It is a fine line. And the problem of getting together the right number and type of cooks makes great frameworks rare. You really need an strong initial vision and then a second expansive vision that can take the code to the next level without destroying that initial vision.
(#10850)
- Christopher
- Site Administrator
- Posts: 13596
- Joined: Wed Aug 25, 2004 7:54 pm
- Location: New York, NY, US
Have you finished tidying up and commenting that code? Post that link so we can download.nathanr wrote:I have a nice set of classes too.. all of which need about 5 minutes work to make them comemrical release, you know tidy up a var I no longer need here, add in a couple of comemtns (if not just to explain to msyelf!) 've actually got a protx integration here I may post up for people to use, for the v2.22 protocol including the new authenticate etc
(#10850)
I'm actually thinking about delving into the Zend Framework, just so I can get an idea of frame works, and better learn OO.
It would be nice to start a new site with a framework, where a good portion of the code is there, ready to be called upon, manipulated, and executed.
Usually I use my own "framework" which consists of files (not really classes, or objects). It works for me, but I find myself doing things over and over and over again.
Plus, learning a framework, might land me some good jobs in the future.
It would be nice to start a new site with a framework, where a good portion of the code is there, ready to be called upon, manipulated, and executed.
Usually I use my own "framework" which consists of files (not really classes, or objects). It works for me, but I find myself doing things over and over and over again.
Plus, learning a framework, might land me some good jobs in the future.
Set Search Time - A google chrome extension. When you search only results from the past year (or set time period) are displayed. Helps tremendously when using new technologies to avoid outdated results.
- Ollie Saunders
- DevNet Master
- Posts: 3179
- Joined: Tue May 24, 2005 6:01 pm
- Location: UK
I like what Joel Spolsky has to say about frameworks and programming in general. The whole "Lord Palmerston: thing. (http://www.joelonsoftware.com/articles/ ... rston.html) It's a good read BTW.hongster wrote:Can framework really speed up development? I think there is a need to find a balance. When the project is small, using a framework for development may take up more time.
I think framework helps if you are used to it and it must be kept simple.
That said, frameworks have a place, whether you use a communtiy, commercial, or you've harvested your own (knowlingly or not). The nice thing about some well known versions is that they provide a basis for understanding among larger groups of people and also end up providing a nice hiring pool.
The employment benifits are only there if you drink the Koolaid of course.
But that also harkens to problems associated with rolling your own. Not that there are problems in terms of code / design, but instead, community and tribalism. The larger percentage of individuals proficient in one or two of the well know frameworks tend to look lowly upon those that have rolled thier own. And God forbid that these are the ones looking at your resume as they're more likely going to look only at a list of presently hip buzzwords and glaze over at anything else that may be of substance.
Ask me how I know.
Anyway, I've a framework of my own too that I've been using, refactoring, rethinking since '01. I ultimately want to formalise it behind a name (Leonidas) and throw it up on Sourceforge, but I've got far larger and more important fish to fry at this point in time.
I'm sorry..... I'm ranting.
There is another issue concerning how most frameworks work to provide high levels of abstraction and RAD. It's ultimately due to the fact that they manage more and more complexity all the time. An ORM is the perfect example of this. Now while this is good in terms of development time, the cost of that complexity is still paid for somewhere in the life cycle of the application. If it's not paid for upfront during the initial development of the application, then it's most likely carried as a burden for the duration of it's usefullness / lifetime.
You never get rid of complexity. You just move it around.
I like what Larry Wall has to say about this:
Now that quote doesn't speak directly to the topic of frameworks, but it's a good analog when talking about what it is that frameworks provide.My overriding design principle has always been that the complexity of the solution space should map well onto the complexity of the problem space. Simplification good! Oversimplification bad! Placing artificial constraints on the solution space produces an impedence mismatch with the problem space, with the result that using a language that is artificially simple induces artificial complexity in all solutions written in that language.
Cheers
- Christopher
- Site Administrator
- Posts: 13596
- Joined: Wed Aug 25, 2004 7:54 pm
- Location: New York, NY, US
More code! Forget Sourceforge ... just zip it up and post is somewhere so we can all have a look and benefit from your code and ideas. If you don't have anywhere to put it let me know and I can put it online so people here can download it.BDKR wrote:Anyway, I've a framework of my own too that I've been using, refactoring, rethinking since '01. I ultimately want to formalise it behind a name (Leonidas) and throw it up on Sourceforge, but I've got far larger and more important fish to fry at this point in time.
I am still waiting for nathanr's code. Honestly, there is no reason not to share it. Don't be greedy.
(#10850)
-
thinsoldier
- Forum Contributor
- Posts: 367
- Joined: Fri Jul 20, 2007 11:29 am
- Contact:
For me there's just so much stuff to learn about a framework itself that it's a turn off. I'd be able to write what I need from scratch before I find the time to even start reading the documentation. (cake)
Oh, and having to download tons of php code that you have no idea if you'll actually use them or if they're even required (cake).
And then if it's a pretty popular framework and someone finds a major bug you've got to make sure you update the sites you used it on. I'm sure I've written some very vulnerable stuff but it's very unlikely anyone will ever even want to try to discover them on the unimportant sites they may exist on. But a bug in wordpress or something and people will throw every botnet in china at every wordpress site in existance. I think I'm safer with my custom code .... sometimes.
Then there's bound to be a case where you start of thinking you'll use a framework but something you need to do for your project is quite custom and nothing in the framework assists with it at all and you do that part entirely from scratch and in the end the use of a framework probably didn't really contribute to the important/hard/money earning part of the project. (prototype/scriptaculous/some other js lib that didnt help much)
Oh, and having to download tons of php code that you have no idea if you'll actually use them or if they're even required (cake).
And then if it's a pretty popular framework and someone finds a major bug you've got to make sure you update the sites you used it on. I'm sure I've written some very vulnerable stuff but it's very unlikely anyone will ever even want to try to discover them on the unimportant sites they may exist on. But a bug in wordpress or something and people will throw every botnet in china at every wordpress site in existance. I think I'm safer with my custom code .... sometimes.
Then there's bound to be a case where you start of thinking you'll use a framework but something you need to do for your project is quite custom and nothing in the framework assists with it at all and you do that part entirely from scratch and in the end the use of a framework probably didn't really contribute to the important/hard/money earning part of the project. (prototype/scriptaculous/some other js lib that didnt help much)
- Christopher
- Site Administrator
- Posts: 13596
- Joined: Wed Aug 25, 2004 7:54 pm
- Location: New York, NY, US
It sounds like you are one of those rare individuals who combine a learning disorder with the ability write completely bug free software from scratch. I unfortunately am a mere mortal and need to rely on a fetid pile of proven, existing code to get my projects done anywhere close to on schedulethinsoldier wrote:For me there's just so much stuff to learn about a framework itself that it's a turn off. I'd be able to write what I need from scratch before I find the time to even start reading the documentation.
(#10850)
- superdezign
- DevNet Master
- Posts: 4135
- Joined: Sat Jan 20, 2007 11:06 pm
I always write something from my own head, then look at examples, then improve it from what I learned from the examples. I prefer to know exactly what's going on in the framework, but I'm more than willing to mix what I do know with what I don't, and working examples are a good learning source.thinsoldier wrote:For me there's just so much stuff to learn about a framework itself that it's a turn off. I'd be able to write what I need from scratch before I find the time to even start reading the documentation. (cake)
-
thinsoldier
- Forum Contributor
- Posts: 367
- Joined: Fri Jul 20, 2007 11:29 am
- Contact:
LOL, I wish!arborint wrote: It sounds like you are one of those rare individuals who combine a learning disorder with the ability write completely bug free software from scratch. I unfortunately am a mere mortal and need to rely on a fetid pile of proven, existing code to get my projects done anywhere close to on schedule
What happens is most clients around here do everything by committee. So there's like 100% certainty that we have the project but there's 6 weeks of waiting for them to sign a contract. So that's 6 weeks of research time. Then the graphic design phase starts and possibly 2 months for them to remember to check out the layouts. Then the wait for them to pick the 16 people who will be choosing the final layout. Then waiting for them to request a coupled alterations to the layouts...etc.
While this is going on I'm building, breaking, failing, learning, rebuilding etc. And all the while repeatedly reminding them that the longer they take to perform their end of the bargain (send a digital copy of your logo, pick a layout, decide if you want to use British or american English etc) the oh so much longer it may take us to finally "start working"....
Why people can't understand that design by committee _often_ makes a 3 week job take 10 - 20 months is beyond my understanding.
Well, a lightweight framework helps. It is easier to learn and modify. When too many layers of abstraction exist in the framework, it becomes very hard for me to understand what is going on internally. When bug occurs, it takes a lot of pain to debug.superdezign wrote:I always write something from my own head, then look at examples, then improve it from what I learned from the examples. I prefer to know exactly what's going on in the framework, but I'm more than willing to mix what I do know with what I don't, and working examples are a good learning source.