You're the second person to say I'm also religious, but you miss the
point of religious programming:
I'm always open to new techniques. I constantly research for new and
better ways of doing what I'm about to do.
My approach to getting things done is dynamic and i never praise my
techniques as the best in the world and fit for every purpose.

About troubles at home and effort: It doesn't take much effort to
learn a language. It doesn't take much effort to pay attention to the
code you read and write. It's just a matter of a habit. Some people
are careful, some people are sloppy, some people are progressive, some
people are lazy.
I have my own family to take care of and I have my own projects to
develop, but it doesn't stop me from being careful and neat with what
i write.
It's just a matter of a habit.

About paradigms. The need for a limited language comes form the fact,
that people don't write maintainable code. Even if a team uses C++
with lots of address arithmetic and obscure type casts it's always
possible to make it easy to read.
Every level of programming and every paradigm has it's ways of writing
a neat and maintainable code.

On Tue, Oct 11, 2011 at 3:39 PM, bearophile <[email protected]> wrote:
> Gor Gyolchanyan:
>
>> Can anyone help me out in this quest of enlightening people?
>
> Talking about "enlightening people" means assuming a bad starting point, 
> where you are as much religious as them.
>
> And regarding them, I think that reading books and articles helps widen the 
> mind a bit. But people have families, children and many hours of work every 
> day. They are often stopped training their brains as they used to do in very 
> good schools. Pushing new knowledge into a middle aged brain requires energy 
> and a bit of pain, not everyone is willing to endure this year after year, in 
> presence of all other kinds of family and work and health problems. Reducing 
> the amount of daily work hours to something like 6 helps leave some time to 
> read books too.
>
> -----------------------
>
> Marco Leise:
>
>>The point is, that companies want a language that does things one way. It is 
>>easy to share code this way and to train programmers in that language. There 
>>is no "oh what is that construct doing?" in Java because the language is 
>>primitive and pretty verbose. It is also easier for me to only have a few 
>>concepts in my head when I write code.<
>
> When I program in D I often find several different ways to solve a problem, 
> with a functional, or with an OOP solution, or with a high level one, or with 
> a lower level one, or with generic code. Often my first solution is not the 
> best, and I rewrite the code in a different way. A language that offers only 
> one programming paradigm avoids this, and this is has its advantages.
>
> Single-paradigm languages (Smalltalk, Haskell) and multi-paradigm ones (Oz, 
> D, Scala) have both advantages and disadvantages. A language like Scala (and 
> in past CommonLisp) is very good in the hands of an expert programmer, able 
> to make it sing like a Stradivari violin. But in the hands of a less skilled 
> programmer, or a skilled programmer that needs to write certain commercial 
> programs, a less flexible language is often better.
>
> Regarding Java, it's simpler, but this is especially true if you have to use 
> it to solve simple problems. If you have to implement a complex algorithm 
> that works with differently shaped trees, efficiently, doing pattern matching 
> on them, etc, then a language like OcaML becomes more appreciable that what 
> it usually is.
>
> The Java simplicity forces you to push part of the program complexity out of 
> the language and into conventions, patterns, IDE skills, IDE shorcuts, that 
> increase again the apparent simplicity of Java coding. Generally it's hard to 
> destroy the complexity, you often just move it around.
>
> Bye,
> bearophile
>

Reply via email to