> I'm saying that if you're not interested in different programming paradigms, you're not interested in programming.
I'm going to go ahead and call B.S. on that. At my most interested, I've had no interest (nor awareness) in functional programming.
Now I'm aware of it, but still not particularly interested in it. What I am interested in is working with a platform that has better foundations (e.g. .Net vs raw C++).
> Knowing nothing about functional programming is like knowing nothing about HTML -- it is a big gap in one's knowledge.
Completely arbitrary. A lack of HTML knowledge would be shocking only due to its ubiquity.
> Focus is good. But you can't have mastery without knowing the right programming techniques and paradigms
You seem to be saying that functional programming can be used to greatly reduce code. But if my employer doesn't allow it, and my teammates aren't experienced in it, what good is it to me?
> therefore, programmers who program because they like doing it are going on average to be better at it than programmers who program because it's just a job
I agree with this statement, which is nothing like your earlier statements.
> > I'm saying that if you're not interested in different programming paradigms, you're not interested in programming.
> I'm going to go ahead and call B.S. on that. At my most interested, I've had no interest (nor awareness) in functional programming.
FP is just one programming paradigm. Other important concepts in programming include: object orientation, stack based languages, model-view-controller, macros, templates/generics, structured programming, lazy evaluation / dataflow-based programming, interrupts, cooperative v. coercive multitasking, memory protection, pipes between processes, serialisation, event loops, modularity / seperation of concerns, common data structures such as lists, arrays, binary trees, hash tables, etc.
My contention is that a programmer who doesn't have a large number of concepts such as these is likely to build bad software when confronted with a large, complex software project.
> You seem to be saying that functional programming can be used to greatly reduce code. But if my employer doesn't allow it, and my teammates aren't experienced in it, what good is it to me?
Functional programming doesn't just mean esoterica like Haskell. In the wider sense of the term, it means anywhere where you're passing a function as a parameter or the return value form another function. You can do it in such mainstream languages as Python, Ruby, C#, and JavaScript. They're even adding closures to Java.
I'd be very surprised if your employer has a blanket edict against higher-order functions, because employers are either clueful or clueless -- clueful ones will allow it, clueless ones won't know what it is.
Right, but this article was bashing people for not knowing, specifically, about functional programming. My entire point has been that it is ridiculous and petty to do this. Let's say you know A, B, C, and E. Aha! What about D, I ask. You're clearly an idiot, I can't believe you don't know about D. And here you get F, which is related to D, and you act like it's something new to the world. Pssh!
See?
> I'd be very surprised if your employer has a blanket edict against higher-order functions
Er, every employer I've ever had has been very strict about the introduction of any new technology, library, language, etc. This is because every employer I've had is concerned with maximizing productivity and shipping product. Tinkering with new stuff on the job can be rather dangerous to one's employment.
Again, I'm not promoting ignorance, what I'm doing is speaking out against this alpha-nerd judgment of others.
> Er, every employer I've ever had has been very strict about the introduction of any new technology, library, language, etc.
Your experience differs from mine. For me, while I've often been told what language to write code in, I've never been told what features of the language I am or am not allowed to use. Regarding libraries, I've always used relevant open source ones, paying attention to licensing issues as appropriate.
I'm going to go ahead and call B.S. on that. At my most interested, I've had no interest (nor awareness) in functional programming.
Now I'm aware of it, but still not particularly interested in it. What I am interested in is working with a platform that has better foundations (e.g. .Net vs raw C++).
> Knowing nothing about functional programming is like knowing nothing about HTML -- it is a big gap in one's knowledge.
Completely arbitrary. A lack of HTML knowledge would be shocking only due to its ubiquity.
> Focus is good. But you can't have mastery without knowing the right programming techniques and paradigms
You seem to be saying that functional programming can be used to greatly reduce code. But if my employer doesn't allow it, and my teammates aren't experienced in it, what good is it to me?
> therefore, programmers who program because they like doing it are going on average to be better at it than programmers who program because it's just a job
I agree with this statement, which is nothing like your earlier statements.