So why aren't you applying concurrent programming methodologies in your programming projects? Have you fallen prey to the myth that concurrency is difficult?
It's not! The only people saying that concurrency is difficult are the same people who only know how to program in Ruby, VB or Java at their McHipster ENTERPRISE JobTM.
Face it, if you're having trouble in today's job market, it's probably because you've been putting off spending a few days to learn the basics of multi-threading and thread synchronization in your favorite programming environment.
Stop eating that rotten sandwich known as ``single-threaded application's development.''
>>4
The industry is currently in the Depression stage. Most programmers who can't do much more than use a mutex/critical section are too afraid/ashamed to admit that they don't really understand what's going on. So they'll feign knowledge of concurrency when in reality they're desperately struggling.
The Five Stages of Grief
Denial—"I feel fine."; "This can't be happening, not to me."
Denial is usually only a temporary defense for the individual. This feeling is generally replaced with heightened awareness of positions and individuals that will be left behind after death.
Anger—"Why me? It's not fair!"; "How can this happen to me?"; "Who is to blame?"
Once in the second stage, the individual recognizes that denial cannot continue. Because of anger, the person is very difficult to care for due to misplaced feelings of rage and envy. Any individual that symbolizes life or energy is subject to projected resentment and jealousy.
Bargaining—"Just let me live to see my children graduate."; "I'll do anything for a few more years."; "I will give my life savings if..."
The third stage involves the hope that the individual can somehow postpone or delay death. Usually, the negotiation for an extended life is made with a higher power in exchange for a reformed lifestyle. Psychologically, the individual is saying, "I understand I will die, but if I could just have more time..."
Depression—"I'm so sad, why bother with anything?"; "I'm going to die... What's the point?"; "I miss my loved one, why go on?"
During the fourth stage, the dying person begins to understand the certainty of death. Because of this, the individual may become silent, refuse visitors and spend much of the time crying and grieving. This process allows the dying person to disconnect oneself from things of love and affection. It is not recommended to attempt to cheer up an individual who is in this stage. It is an important time for grieving that must be processed.
Acceptance—"It's going to be okay."; "I can't fight it, I may as well prepare for it."
In this last stage, the individual begins to come to terms with his mortality or that of his loved one.
Name:
Anonymous2011-01-14 4:42
Show us your fancy moves, Erlang users.
declare
% Get a list of solutions to the N queens problem.
fun {NQueens N}
{PartQueens nil N nil}
end
% Recursive threaded backtracking solution to the N Queens problem
fun {PartQueens Positions BoardSize Tail}
if {Length Positions} == BoardSize then
Positions|Tail
else
{ForThread 1 BoardSize 1
fun {$ Prev Pos}
if {IsLegal Pos Positions} then
Y in
thread Y = {PartQueens Pos|Positions BoardSize Prev} end
Y
else
Prev
end
end
Tail}
end
end
% Test if a position collides with any previously placed queens
fun {IsLegal NewPos Positions}
fun {Collides DX Pos}
NewPos == Pos orelse
NewPos == Pos + DX orelse
NewPos == Pos - DX
end
in
{Not {List.someInd Positions Collides}}
end
Name:
Anonymous2011-01-14 4:48
>>8 The industry is currently in the Depression stage. Most programmers who can't do much more than use a mutex/critical section are too afraid/ashamed to admit that they don't really understand what's going on. So they'll feign knowledge of concurrency when in reality they're desperately struggling.
That's sad and it makes me wonder, what is the percentage of programmers that don't write(flag != 0)?
Name:
Anonymous2011-01-14 6:26
<-- check out my doubles!
Name:
Anonymous2011-01-14 6:26
Hey, lispers, how do you enjoy your single-threaded interpreters?