Composability and Concurrency and Functional programming


R

Ramine

Hello,


I have come to an interresting subject...

I have offen read some comments about parallel programming
and Object oriented programming and Functional programming,
and i will bring my comments about them...

You will read about parallel programming that it's hard/difficult ,
cause parallel programming adds more layers to serial
programming, in those added layers in parallel programming we have
to think not only about serial programming algorithmic and such...
but we have also to think about parallel correctness and parallel
performance... and i have heared comments that says that proving
parallel correctness is a difficult task in complex systems ,
so you have to proove that your parallel program is free of
deadlocks and free of race conditions and free of starvation etc.
this is what is making parallel programming a difficult task,
but as you have seen my saying to you on this forum that the "quality"
of the learning process of the "what is" and "how to" is also a good
tool that enhance the safety of parallel systems and the safety of
parallel realtime critical systems and the performance, hence a good way
of doing is also using external parallel libraries that are implemented
by people who "knows" how to implement correctly synchronization
algorithms and that knows how to implement correcly
parallel programs, and i think that this way of doing is an effective
way i think to avoid deadlock , race conditions etc. on he critera
of performance that's the same i think you have to use external
libraries that are done by people who know how to optimize
parallel algorithms to be sure that that parallel libraries
meet the requirement of good performance, so as you have seen me talking
about Functional programming and Object oriented programming i have
aslso said that Bartosz Milewski here: http://bartoszmilewski.com/ is
trying to convert C++ people and programmers to Functional programming,
but i have commented on
the writings of Bartosz Milewski and said that his way of
thinking is an extremist view/way... cause what he is trying to do
is analyzing programming languages from the point views and criterias
such as composability and easy of maintenance etc. and what
Bartosz Milewski have said is that Functional programming such
as Haskel permit a greater composability and do improve
the criteria of maintainability and reliability etc.
and what i have noticed that Bartosz Milewski is saying
that Functional programming is something that we can not avoid
hence it is like something mandatory, this is why i have said
that it is an extremist point of view, cause i am convinced
that the way to improve reliability and performance and
maintanability is not only a consequence of the quality of
a programming language but it is also a consequence
of good quality reusability , so what i want to emphases
in my post is that i am a fan of this criteria that we call
reusability and i am convinced that to improve
realiability and performce etc. we have to use good external
libraries and good external objects and parallel objetcs wrote
by people that know how to implement correct parallel programms
and fast parallel programs, in my opinion that`s also a good way to
improve parallel programming and programming in general.



Thank you,
Amine Moulay Ramdane.
 
Ad

Advertisements

M

Malcolm McLean

I have offen read some comments about parallel programming
and Object oriented programming and Functional programming,
and i will bring my comments about them...
Object-oriented programming and functional programming are design
methodologies. Object-orientation is going out of fashion,
functional programming is coming in to fashion.

Parallel programming is a practical necessity. There's a limit
to how fast a serial processor can go. Until very recently,
this limit was increasing very quickly, so there wasn't much
call for parallel programming - you got a faster serial
processor instead. But now we've seem to have reached an
engineering limit, and newer chips have more but slightly
slower cores.
You can do a lot with "embarrassingly parallel" problems, ones
which are absolutely trivial to parallelise. You can solve
another large class for problems with a manager/slave
architecture, where scheduling bottlenecks are likely to be
small. But there's another class which needs true parallel
programming, with intimate communication of intermediate
results.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top