JaroslavTulach at 12:24, 12 August 2010 - 2010-08-12 12:24:14

←Older revision Revision as of 12:24, 12 August 2010
Line 12: Line 12:
<comments/>
<comments/>
 +
 +
 +
I think [[User:PetrHejl|Petr]] is right. At least from one ''side''. However there is more. There are at least [[3SidesToEveryAPI]].
 +
 +
--[[User:JaroslavTulach|JaroslavTulach]] 12:24, 12 August 2010 (UTC)

Apidesign: Reverted edits by Waexu (Talk); changed back to last version by JaroslavTulach - 2010-07-24 16:10:53

Reverted edits by Waexu (Talk); changed back to last version by JaroslavTulach

←Older revision Revision as of 16:10, 24 July 2010
Line 12: Line 12:
<comments/>
<comments/>
-
 
-
[http://www.asiawriters.com writing jobs]
 

Waexu at 10:41, 23 July 2010 - 2010-07-23 10:41:42

←Older revision Revision as of 10:41, 23 July 2010
Line 12: Line 12:
<comments/>
<comments/>
 +
 +
[http://www.asiawriters.com writing jobs]

JaroslavTulach: /* Beauty Matters */ - 2010-05-11 14:25:59

Beauty Matters

←Older revision Revision as of 14:25, 11 May 2010
Line 7: Line 7:
The beauty of the code is also visible as money spent on the project maintenance and bugfixing. Personally I think that programmer who refuses to conform to common rules defined for the project is missing the important ability. There is no value in spoiling the code by using individual rules or idioms making the code harder to read and maintain. Usually you could hear such programmers arguing that their rules and habits are better. I don't think so. Once you have a definition of the beauty the violation of such definition does not make any good to the project. On the other hand if the project rules are complete nonsense the programmer should either try to change them (in general) or choose the different project.
The beauty of the code is also visible as money spent on the project maintenance and bugfixing. Personally I think that programmer who refuses to conform to common rules defined for the project is missing the important ability. There is no value in spoiling the code by using individual rules or idioms making the code harder to read and maintain. Usually you could hear such programmers arguing that their rules and habits are better. I don't think so. Once you have a definition of the beauty the violation of such definition does not make any good to the project. On the other hand if the project rules are complete nonsense the programmer should either try to change them (in general) or choose the different project.
-
Overall the term ''code'' is a bit misleading as it is associated with CPU execution in our minds. However the source code (and programming language) is not primarily designed to be readable by machines. The purpose of the source code is to be shared by several people (not machines). So compilable and runnable code is not enough. It has to be readable and maintainable by others (growing popularity of [[wikipedia::Domain Specific Language|domain specific languages]] confirms this). Otherwise any bugfix will take longer or the maintainer will choose to rewrite the part from the scratch. Obviously not an optimal solution. What do you think about the beauty?
+
Overall the term ''code'' is a bit misleading as it is associated with CPU execution in our minds. However the source code (and programming language) is not primarily designed to be readable by machines. The purpose of the source code is to be shared by several people (not machines). So compilable and runnable code is not enough. It has to be readable and maintainable by others (growing popularity of [[Domain Specific Language]]s confirms this). Otherwise any bugfix will take longer or the maintainer will choose to rewrite the part from the scratch. Obviously not an optimal solution. What do you think about the beauty?
--[[User:PetrHejl|PetrHejl]] 16:20, 10 November 2008 (UTC)
--[[User:PetrHejl|PetrHejl]] 16:20, 10 November 2008 (UTC)
<comments/>
<comments/>

PetrHejl at 13:55, 11 November 2008 - 2008-11-11 13:55:58

←Older revision Revision as of 13:55, 11 November 2008
Line 9: Line 9:
Overall the term ''code'' is a bit misleading as it is associated with CPU execution in our minds. However the source code (and programming language) is not primarily designed to be readable by machines. The purpose of the source code is to be shared by several people (not machines). So compilable and runnable code is not enough. It has to be readable and maintainable by others (growing popularity of [[wikipedia::Domain Specific Language|domain specific languages]] confirms this). Otherwise any bugfix will take longer or the maintainer will choose to rewrite the part from the scratch. Obviously not an optimal solution. What do you think about the beauty?
Overall the term ''code'' is a bit misleading as it is associated with CPU execution in our minds. However the source code (and programming language) is not primarily designed to be readable by machines. The purpose of the source code is to be shared by several people (not machines). So compilable and runnable code is not enough. It has to be readable and maintainable by others (growing popularity of [[wikipedia::Domain Specific Language|domain specific languages]] confirms this). Otherwise any bugfix will take longer or the maintainer will choose to rewrite the part from the scratch. Obviously not an optimal solution. What do you think about the beauty?
-
--Petr Hejl 16:20, 10 November 2008 (UTC)
+
--[[User:PetrHejl|PetrHejl]] 16:20, 10 November 2008 (UTC)
<comments/>
<comments/>

PetrHejl: /* Beauty Matters */ - 2008-11-10 16:52:05

Beauty Matters

←Older revision Revision as of 16:52, 10 November 2008
Line 7: Line 7:
The beauty of the code is also visible as money spent on the project maintenance and bugfixing. Personally I think that programmer who refuses to conform to common rules defined for the project is missing the important ability. There is no value in spoiling the code by using individual rules or idioms making the code harder to read and maintain. Usually you could hear such programmers arguing that their rules and habits are better. I don't think so. Once you have a definition of the beauty the violation of such definition does not make any good to the project. On the other hand if the project rules are complete nonsense the programmer should either try to change them (in general) or choose the different project.
The beauty of the code is also visible as money spent on the project maintenance and bugfixing. Personally I think that programmer who refuses to conform to common rules defined for the project is missing the important ability. There is no value in spoiling the code by using individual rules or idioms making the code harder to read and maintain. Usually you could hear such programmers arguing that their rules and habits are better. I don't think so. Once you have a definition of the beauty the violation of such definition does not make any good to the project. On the other hand if the project rules are complete nonsense the programmer should either try to change them (in general) or choose the different project.
-
Overall the term ''code'' is a bit misleading as it is associated with CPU execution in our minds. However the source code (and programming language) is not primarily designed to be readable by machines. The purpose of the source code is to be shared by several people (not machines). So compilable and runnable code is not enough. It has to be readable and maintainable by others (growing popularity of [[wikipedia::Domain Specific Language|domain specific languages]] confirms this). Otherwise any bugfix will take longer or the maintainer will choose to rewrite the part from scratch. Obviously not an optimal solution. What do you think about the beauty?
+
Overall the term ''code'' is a bit misleading as it is associated with CPU execution in our minds. However the source code (and programming language) is not primarily designed to be readable by machines. The purpose of the source code is to be shared by several people (not machines). So compilable and runnable code is not enough. It has to be readable and maintainable by others (growing popularity of [[wikipedia::Domain Specific Language|domain specific languages]] confirms this). Otherwise any bugfix will take longer or the maintainer will choose to rewrite the part from the scratch. Obviously not an optimal solution. What do you think about the beauty?
--Petr Hejl 16:20, 10 November 2008 (UTC)
--Petr Hejl 16:20, 10 November 2008 (UTC)
<comments/>
<comments/>

Phejl: New page: == Beauty Matters == J. Tulach in his [http://www.apidesign.org Practical API Design book] claims that beauty is not the most important requirement when you design your API. Because he is... - 2008-11-10 16:20:14

New page: == Beauty Matters == J. Tulach in his [http://www.apidesign.org Practical API Design book] claims that beauty is not the most important requirement when you design your API. Because he is...

New page

== Beauty Matters ==

J. Tulach in his [http://www.apidesign.org Practical API Design book] claims that beauty is not the most important requirement when you design your API. Because he is repeating this multiple times at various places I got the bad feeling that this could be easily misunderstood. While you should not sacrifice the API usability or evolution readiness to beauty you should definitely make it as beatiful as possible.

Wait, beauty is not measurable! Or is it? I think the only missing thing is the definition of beauty. Most of the terms in common language mean slightly (or completely) different things to different people. That is why many of the engineering disciplines define its own terminology, while often using words from common language but with exactly defined meaning. Can we define the beauty of the code? I believe the majority of the engineers can agree that readable and maintainable code is much more beautiful than complicated unreadable code. One of the defined metrics can be adherence (usually underestimated) to code conventions. We can took the general Java code conventions as definition or use custom ones for our project (note that almost every successful open source project has its defined code conventions). Once we have the code conventions defined we can even measure the beauty automatically with tools such as [http://checkstyle.sourceforge.net/ Checkstyle] ([http://pmd.sourceforge.net/ PMD], [http://findbugs.sourceforge.net/ FindBugs]). The code conventions can be considered as a basic definition and we can define additional rules such as forbidden or required idioms which we can check later automatically. Also you usually don't want to use common anti-patterns although they might work in a particular case.

The beauty of the code is also visible as money spent on the project maintenance and bugfixing. Personally I think that programmer who refuses to conform to common rules defined for the project is missing the important ability. There is no value in spoiling the code by using individual rules or idioms making the code harder to read and maintain. Usually you could hear such programmers arguing that their rules and habits are better. I don't think so. Once you have a definition of the beauty the violation of such definition does not make any good to the project. On the other hand if the project rules are complete nonsense the programmer should either try to change them (in general) or choose the different project.

Overall the term ''code'' is a bit misleading as it is associated with CPU execution in our minds. However the source code (and programming language) is not primarily designed to be readable by machines. The purpose of the source code is to be shared by several people (not machines). So compilable and runnable code is not enough. It has to be readable and maintainable by others (growing popularity of [[wikipedia::Domain Specific Language|domain specific languages]] confirms this). Otherwise any bugfix will take longer or the maintainer will choose to rewrite the part from scratch. Obviously not an optimal solution. What do you think about the beauty?

--Petr Hejl 16:20, 10 November 2008 (UTC)

<comments/>