Please create an account to participate in the Slashdot moderation system


Forgot your password?

Comment: Re:News? (Score 1) 405

by ultranova (#49626453) Attached to: The Programming Talent Myth

About a third of the population is simply incapable of abstract reasoning. If you think otherwise, I invite you to come to my house, and I will give you a free dinner while you explain "vectors" to my 15 year old daughter.

"15 year old" and "daughter" are abstract concepts. It's not possible to use English, or any language for that matter, without capability for abstract reasoning. So if your daughter can talk, she can reason; whether she wants to is another matter.

Most people simply have no use whatsoever for abstract math, so they won't put in the effort needed to become good or even passable at it. That's all there is to it.

Comment: Re:Mainframe era? (Score 3, Interesting) 43

by afidel (#49625095) Attached to: Intel Launches Xeon E7-8800 and E7-4800 V3 Processor Families

Uh, it's nearly as much CPU power (141 cores at 5.2GHz, but even more CISC that x86) as the current mainframe, zSeries hasn't been about brute CPU in decades, it's about balanced CPU and I/O combined with high QoS and absolute stability. As an example the Z13 has nearly 1GB of L4 cache in the I/O coprocessors.

Comment: Re:eh (Score 1) 405

by mr_mischief (#49624943) Attached to: The Programming Talent Myth

I think you're conflating "talent" and "higher level of complex intellectual ability", AKA "intelligence". Logic, syntax, and calling conventions can be taught. Some of the things that make a programmer vastly more efficient are specific portions of intelligence: pattern recognition, long-term memory, holding a large working set in short-term memory, juxtaposition of one situation against another, and ability to abstract generalities.

Comment: Re:Hmmm ... (Score 1) 405

by mr_mischief (#49624903) Attached to: The Programming Talent Myth

This sounds an awful lot like one part of the group has been promoted to this level of schooling without strong fundamentals important to CS. There's little reason to believe there are people who just "get it" vs. people who don't. There's plenty of reason to believe that some of them have a background that prepared them to understand the material while some haven't.

Comment: Re:The Curve on Academic Courses (Score 1) 405

by mr_mischief (#49624757) Attached to: The Programming Talent Myth

This isn't because there's a natural U-curve. It's a resource restriction, maximizing the talent chosen for further instruction because far more people were accepted into the program than the school ever intended on having graduate from that program. It's not a "rock stars" vs. "useless programmers" distinction. It's that there's a limited number of seats in the 200 levels, so you may as well thin the herd by throwing something hard but useful out as an obstacle.

The camps here are "worthy of further investment" and "we're sorry but you didn't make the cut". Not everyone who makes the cut is at the very top, and not everyone who missed the cut couldn't have been taught the whole curriculum. There's just a need for the school to focus its resources, and the cutoff is arbitrary for external real-world reasons.

Quality online courses and tutoring services may actually help with this sort of either/or selection. No school is likely to want to graduate the 0.2 X programmer, but most would be happy to graduate a good deal many more 1.5 X to 4.5 X folks along with their 6 X to 9 X developers.

Comment: Re:Yes if you can afford the time (Score 2) 248

by mr_mischief (#49624467) Attached to: Is It Worth Learning a Little-Known Programming Language?

I agree, but I'd like to expand a bit.

It's not important to know a bunch of languages deeply. I think it's important to learn two or three languages fairly deeply and a few more at a shallower level.

One doesn't really know the right tool for the job until there's some experience with multiple tools. The more different the other languages are from you main language, the better one can judge the best tool. There are lots of different types of languages, and knowing a few types, their advantages, and their disadvantages can be really helpful.

An Algol family language, particularly from the Modula/Pascal/Ada/Object Pascal family or the C/C++/ObjectiveC/Java/D family, is a good choice for getting practical work done. Perl, Python, Ruby, JavaScript, Rust, Go, Lua, Erlang, or something else fairly popular and a little more separated from those other Algol-derived languages but not terribly so is not a bad second choice. It's good to be familiar with something from the functional camp: Lisp/Scheme/Arc/NewLisp or ML/SML of NJ/CAML/OCAML or maybe Haskell. Stack-based languages like Forth or Factor can be handy to learn, or something else in postfix like Postscript. Something actor-based or dataflow-based can open some lines of thought. Assembly isn't used directly much anymore, but nobody ever became a worse programmer from understanding it.

Money is the root of all wealth.