开发者

Does a programming framework make you less of a programmer [closed]

开发者 https://www.devze.com 2022-12-14 21:54 出处:网络
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical andcannot be reasonably answered in its current form. For help clari
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center. Closed 12 years ago.

Out in the dev lang there are many many, frameworks for all types of languages. For instance, javascript has jQuery, which I use all the time without even thinking about it. Then for php there is Zend and CodeIgnitor, Ruby has rails, Python has django. That's just a few off the top of my head.

I have always been the type of person that was against a framework, especially for PHP. I was always under the impression that using a framework would make people conceive you as lazy developer or to have the inability to code in the raw format. However, for a while now I notice large projects are being made in these frameworks.

I am very curious as to what the opinions are of everyone. Does using a framework make you less of a developer then using raw code, also lets add in a variable and say that you don't a开发者_如何学Pythonlready know all the ends and outs of the primary language?


I always lived by the idea that it's better to write everything yourself...

... just to see how it works, then throw it away and use stable frameworks :)

While this may sound like a joke, there's much truth here -- rolling up something yourself will teach you a lot. And what you learn will allow you to better utilize what is already available.


See Not Invented Here.


Using the right framework gives you the ability to get actual, real work done. This means, IMO, you're more of a programmer, not less.


A good framework is indispensable in Javascript, to tide you over all kinds of incompatibilities between browsers that would otherwise drive you crazy. In languages where you have more control over the runtime environment, it's not indispensable, but it can supply you with a lot of useful functionality and stop you from reinventing the wheel -- so using the right framework for the task (which may not necessarily be the most popular one, if what you're doing is a better match for a different framework, perhaps a lighter-weight or somewhat specialized one) doesn't make you a lesser programmer, it makes you an intelligent one;-).

Understanding what's going on at (at least) just below the layer of abstraction you're coding to is an excellent idea (partly due to Joel's "law of leaky abstractions"), but that's no reason not to use a lower level of abstraction than available and suitable, except in a "learning and experimenting way" (i.e. not in production work;-).


Not using one makes you sure hell of a lot less productive however!


The only way to use 'raw code' is to write your programs in 0s and 1s. Otherwise, you are using a 'framework' of some sort. C is a layer on top of assembly which is a layer on top of machine code. That doesn't make a C programmer any less or a programmer - she is just working at a different level. In the same way, using a framework on top of PHP means you are just working at a different level. There are good programmer who build Zend (and other frameworks), and there are good programmers who use those frameworks to build business applications. Being an application level programmer is nothing to be ashamed of - it is hard work to do it right, whether or not you use a framework.


Davidmoreen, does using ASCII make you less of a programmer? I say, go ahead and make your life easier.

alt text http://prontiso.com/images/hardcore_keyboard.jpg


No more than using a language instead of raw binary does.


As the complexity of the tasks we are trying to accomplish increase, our only choice is to build on the foundations that others create. The main goal of any programmer should be to solve a business problem in a cost effective manner. If you don't solve real problems in a cost effective way then you definately less of a programmer.


I beleive it's important to understand the fundamentals of your tools and know how they work. THere'll be times when you need to work on the framework itself or just understand and debug what it's doing.

That said do you really need to remember to call session_start() at the beginning of every page load, or include the config files, or establish a database connection, or any one of the other minuetae that a framework will do for you and leave you to get on with creating the "unique" portions of your application?

I disagree with learining and using a framework without understanding the undelying language and concepts, but choosing to use one gives your code structure and makes you a lot more productive.


Being entirely dependent upon a framework makes you less of a developer. Using one as part of your toolkit when the need is there does not.


There is zealotry on both sides of the argument. You have the ones so starry-eyed about one particular framework that they use it for /everything/ (I usually see them in the form of beginner Railers or PHP programmers). Then you have the ones that are "hardcore" and as such "don't need hand holding", which more or less translates to them using last generation's frameworks instead (beacuse, after all, it's turtles all the way down).

It really comes down to knowing your framework. I would posit that using a framework without knowing its strong and weak points does indeed make you less of a programmer (if you are the one in charge of the decision), and should be counted as a cardinal sin. Study the frameworks, study the problem domain, make the informed choice, not the biased one.

Being able to make these kinds of decisions is what seperates good programmers from the... not-so-good ones.

0

精彩评论

暂无评论...
验证码 换一张
取 消