1. OPENMP

Matt: I think Euphoria would benefit from the use of OPENMP, considering the fact that most processors these days support parallelism.

http://openmp.org/wp/about-openmp/
"Mission
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in C/C++ and Fortran on all architectures, including Unix platforms and Windows NT platforms. Jointly defined by a group of major computer hardware and software vendors, OpenMP is a portable, scalable model that gives shared-memory parallel programmers a simple and flexible interface for developing parallel applications for platforms ranging from the desktop to the supercomputer."

http://openmp.org/wp/openmp-compilers/
"Compiler: gcc
Compile with -fopenmp
Free and open source - Linux, Solaris, AIX, MacOSX, Windows
OpenMP 3.1 is supported since GCC 4.7"

» GCC OpenMP Wiki: http://gcc.gnu.org/wiki/openmp

» GCC’s OpenMP Manual http://gcc.gnu.org/onlinedocs/libgomp/

"OpenMP offers a simple way of exploiting parallelism without interfering with algorithm design; an OpenMP program compiles and operates correctly in both parallel and serial execution environments. Using OpenMP's directive-based parallelism also simplifies the act of converting existing serial code to efficient parallel code."

I addressed this to Matt because he seems to have good grasp of C and if Euphoria compiles with GCC then implementation of OPENMMP would take about two days of coding and two weeks of testing at most.
There are many other Euphoria developers who also are equally able. Anybody whose mind can understand the "voids" of C language (my mind is completely void of it) can implement it easily.
Please, please don't interrupt it with requests for other "goodies".
If somebody goes ahead with it let him/her finish it and then ask for add-ons if absolutely needed.

Apparently there is a Clang implementation of OPENMMP as well.

new topic     » topic index » view message » categorize

2. Re: OPENMP

EUWX said...

Matt: I think Euphoria would benefit from the use of OPENMP, considering the fact that most processors these days support parallelism.

http://openmp.org/wp/about-openmp/
"Mission
The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in C/C++ and Fortran on all architectures, including Unix platforms and Windows NT platforms. Jointly defined by a group of major computer hardware and software vendors, OpenMP is a portable, scalable model that gives shared-memory parallel programmers a simple and flexible interface for developing parallel applications for platforms ranging from the desktop to the supercomputer."

Possibly. I've almost used it in other projects.

EUWX said...

I addressed this to Matt because he seems to have good grasp of C and if Euphoria compiles with GCC then implementation of OPENMMP would take about two days of coding and two weeks of testing at most.

Yowza! "Two weeks at most." No f-ing way. I'm not even sure where and how we would use OPENMP in euphoria. I can't think of any place in the code where we could drop something like this in and see any significant difference. And making this work with translated code is probably no less of a project than adding any other sort of multi-threading support that's been thought about or discussed. Many parts of euphoria simply aren't re-entrant and need an overhaul to get there. And that's just the backend, not even touching what we'd want/need to change in the language itself to support this sort of thing.

EUWX said...

There are many other Euphoria developers who also are equally able. Anybody whose mind can understand the "voids" of C language (my mind is completely void of it) can implement it easily.

Yes, I'm sure they could. But the implementation just doesn't fit into the margin of this post, eh?

Matt

new topic     » goto parent     » topic index » view message » categorize

3. Re: OPENMP

mattlewis said...

But the implementation just doesn't fit into the margin of this post, eh?

Matt

The answer to this is already there in my original post.
"OpenMP offers a simple way of exploiting parallelism without interfering with algorithm design; an OpenMP program compiles and operates correctly in both parallel and serial execution environments. Using OpenMP's directive-based parallelism also simplifies the act of converting existing serial code to efficient parallel code."

Example: I do not ever use Graphics in my work, yet the existence of graphics library is a definite plus for Euphoria, and I am sure many others use it.

new topic     » goto parent     » topic index » view message » categorize

4. Re: OPENMP

I had a quick look at Intel TBB and Boost, and as of now they cannot be as easily use in/with Euphoria as OPENMP can.

new topic     » goto parent     » topic index » view message » categorize

5. Re: OPENMP

EUWX said...
mattlewis said...

But the implementation just doesn't fit into the margin of this post, eh?

The answer to this is already there in my original post.
"OpenMP offers a simple way of exploiting parallelism without interfering with algorithm design; an OpenMP program compiles and operates correctly in both parallel and serial execution environments. Using OpenMP's directive-based parallelism also simplifies the act of converting existing serial code to efficient parallel code."

Example: I do not ever use Graphics in my work, yet the existence of graphics library is a definite plus for Euphoria, and I am sure many others use it.

You're still just quoting stuff you don't understand. "Simplifies" isn't the same as "makes it trivial in all cases." And what you quoted back doesn't even pretend to answer what I said.

Matt

new topic     » goto parent     » topic index » view message » categorize

6. Re: OPENMP

My message will sink in when you re-read it.
I saw a big addition to Euphoria at very little cost in effort and brought it to everybody's attention.
Having been a project leader, I can well understand the limitations of understanding of the larger picture on the part of C language or assembly language programmers.
I don't have to be a C language programmer to understand the value of a particular library.

new topic     » goto parent     » topic index » view message » categorize

7. Re: OPENMP

EUWX said...

My message will sink in when you re-read it.

I don't think you want people to read too carefully. What sinks in to me is that you are talking about things you don't really understand. It's fine to point this out and wonder about its applicability to euphoria. But when you start talking about how trivial it would be to make this great thing, you just make yourself look foolish and ignorant.

EUWX said...

I saw a big addition to Euphoria at very little cost in effort and brought it to everybody's attention.
Having been a project leader, I can well understand the limitations of understanding of the larger picture on the part of C language or assembly language programmers.

You know that most computers are multi-cored, and that parallel processing takes advantage of this. You don't understand the challenges involved in getting parallel processing working in a useful way in euphoria, and possibly you also have a very poor grasp of estimating effort required in building software.

EUWX said...

I don't have to be a C language programmer to understand the value of a particular library.

But it would sure help when talking about how well or how easy a C library would be to integrate with C code! I know, I know, you're not a details guy. That's OK. But try to understand that the details are a lot more complicated than you think they are. And this silver bullet might not be what you think it is.

Matt

new topic     » goto parent     » topic index » view message » categorize

8. Re: OPENMP

mattlewis said...
EUWX said...

I addressed this to Matt because he seems to have good grasp of C and if Euphoria compiles with GCC then implementation of OPENMMP would take about two days of coding and two weeks of testing at most.

Yowza! "Two weeks at most." No f-ing way. I'm not even sure where and how we would use OPENMP in euphoria. I can't think of any place in the code where we could drop something like this in and see any significant difference. And making this work with translated code is probably no less of a project than adding any other sort of multi-threading support that's been thought about or discussed. Many parts of euphoria simply aren't re-entrant and need an overhaul to get there. And that's just the backend, not even touching what we'd want/need to change in the language itself to support this sort of thing.

Hmm. Can OPENMP be used as a drop-in replacement for pthreads, more or less?

mattlewis said...
EUWX said...

There are many other Euphoria developers who also are equally able. Anybody whose mind can understand the "voids" of C language (my mind is completely void of it) can implement it easily.

Yes, I'm sure they could. But the implementation just doesn't fit into the margin of this post, eh?

Matt

I've spent years trying to understand the proof of Fermat's Last Theorem. I still can't get it.

new topic     » goto parent     » topic index » view message » categorize

9. Re: OPENMP

mattlewis said...
EUWX said...

I saw a big addition to Euphoria at very little cost in effort and brought it to everybody's attention.
Having been a project leader, I can well understand the limitations of understanding of the larger picture on the part of C language or assembly language programmers.

You know that most computers are multi-cored, and that parallel processing takes advantage of this. You don't understand the challenges involved in getting parallel processing working in a useful way in euphoria, and possibly you also have a very poor grasp of estimating effort required in building software.

Actually, while this is generally true of EUWX overall, in this particular case he might not be too far off base (though I'm sure this is only by accident).

It might have a useful application in the dso-multithread branch, though I suspect the approach I use there to avoid the re-entry issues would significantly negate the speed advantages of switching to OPENMP.

new topic     » goto parent     » topic index » view message » categorize

10. Re: OPENMP

jimcbrown said...

Hmm. Can OPENMP be used as a drop-in replacement for pthreads, more or less?

Possibly. When I've looked at it in the past, it was mainly for parallelizing simple loops. I couldn't say much more in detail about how it works.

Matt

new topic     » goto parent     » topic index » view message » categorize

11. Re: OPENMP

Matt said: "What sinks in to me is that you are talking about things you don't really understand. It's fine to point this out and wonder about its applicability to euphoria. But when you start talking about how trivial it would be to make this great thing, you just make yourself look foolish and ignorant. "

Look at your own wxEuphoria and its complexity.
Then look at the functions etc that exist in OPENMP.
Purely from the point of view of wrapping it, I would say it is only one quarter of a challenge or even less.

As to "applicability". Intel, AMD and all those big companies are supporting OPENMP. I understand that Euphoria runs mainly on Intel/AMD processors (We won't talk about Mac and Androids here). It is almost axiomatic that a C language library specifically developed for the multicore processors of today should be compatible with a language developed mainly in C and somewhat in x86 assembler.
The only factor I have to look at is the current C compiler you all are using. OPENMP is compatible with a lot of C compilers, and I think I mentioned earlier that GCC compiler is the one I have in mend for this specific marriage. If GCC compiler will not compile Euphoria then it is a different story. I mentioned Clang in passing, knowing that you people have not used or worked with Clang.

If I was foolish or ignorant, cpmpanies would not pay me $20,000 just to supervise computer language related projects or hire me for $200/hour for a minimum contract of 6 hours/day for 3 days.
Yes that is what I charge. I mention it because you people do not seem to appreciate the value of good advice given with no financial motive just because I appreciate the hard work you all have done for free for a long time.
And the best part of it is that their work is completed and they are eager to pay and hire me again.

I will therefore, reemphasize that Euphoria needs OPENMP, programmers can and will use it and derive great benefit from it, and the coding itself (without testing) can be done in 2 days. I might have been off in my estimate of 2 weeks of testing by author(s). In most projects I advice farming out of the field testing after a brief in-house testing and the way Euphoria is beta tested is similar to farming out in commercial projects.

new topic     » goto parent     » topic index » view message » categorize

12. Re: OPENMP

Jim Brown said "Hmm. Can OPENMP be used as a drop-in replacement for pthreads, more or less? "

I have not used pthreads of Euphoria. I would simply say that OPENMP is a well tested and supported library with the blessing of giants like Intel and AMD. I would think that once it is implemented and tested, then only can you compare the existing with the new.
To me it seems that you will remove the headache oi maintaining pthreads and what-have-you and replace with a high quality library, that will continue to work when the processors change form 4 cores to 8 cores, etc etc.

new topic     » goto parent     » topic index » view message » categorize

13. Re: OPENMP

EUWX said...

Matt said: "What sinks in to me is that you are talking about things you don't really understand. It's fine to point this out and wonder about its applicability to euphoria. But when you start talking about how trivial it would be to make this great thing, you just make yourself look foolish and ignorant. "

Look at your own wxEuphoria and its complexity.
Then look at the functions etc that exist in OPENMP.
Purely from the point of view of wrapping it, I would say it is only one quarter of a challenge or even less.

You really have no clue about this.

EUWX said...

As to "applicability". Intel, AMD and all those big companies are supporting OPENMP. I understand that Euphoria runs mainly on Intel/AMD processors (We won't talk about Mac and Androids here). It is almost axiomatic that a C language library specifically developed for the multicore processors of today should be compatible with a language developed mainly in C and somewhat in x86 assembler.
The only factor I have to look at is the current C compiler you all are using. OPENMP is compatible with a lot of C compilers, and I think I mentioned earlier that GCC compiler is the one I have in mend for this specific marriage. If GCC compiler will not compile Euphoria then it is a different story. I mentioned Clang in passing, knowing that you people have not used or worked with Clang.

I know you are probably immune to reason and facts, but what part of, "Dropping this into parts of euphoria would break many things. We would need to do a lot of work with euphoria to make it work with this." don't you understand?

EUWX said...

If I was foolish or ignorant, cpmpanies would not pay me $20,000 just to supervise computer language related projects or hire me for $200/hour for a minimum contract of 6 hours/day for 3 days.
Yes that is what I charge. I mention it because you people do not seem to appreciate the value of good advice given with no financial motive just because I appreciate the hard work you all have done for free for a long time.
And the best part of it is that their work is completed and they are eager to pay and hire me again.

I can't imagine why they would pay you that much if this is the sort of things you do for them. Sounds like an excellent racket. In your gigs, do you actually do anything? Or do you suggest random frameworks that look appealing and walk away from the havoc you create?

EUWX said...

I will therefore, reemphasize that Euphoria needs OPENMP, programmers can and will use it and derive great benefit from it, and the coding itself (without testing) can be done in 2 days. I might have been off in my estimate of 2 weeks of testing by author(s). In most projects I advice farming out of the field testing after a brief in-house testing and the way Euphoria is beta tested is similar to farming out in commercial projects.

We've known for some time that some form of multi-threading is needed and wanted. This is no revelation. Your post is interesting in that looking at openmp might suggest some interesting implementation possibilities, but your estimates or ideas about how it would work are complete fantasy. That you talk about "wrapping" it is enough to know that you haven't a clue how any of it works.

Take a look at this tutorial to get an idea. Some telling quotes:

said...
  • Most OpenMP parallelism is specified through the use of compiler directives which are imbedded in C/C++ or Fortran source code.
  • The API provides for the placement of parallel regions inside other parallel regions.
  • The OpenMP API is comprised of three distinct components. As of version 3.1:
    • Compiler Directives (20)
    • Runtime Library Routines (32)
    • Environment Variables (9)

Matt

new topic     » goto parent     » topic index » view message » categorize

14. Re: OPENMP

Jim Brown said: " Actually, while this is generally true of EUWX overall, in this particular case he might not be too far off base (though I'm sure this is only by accident)."
Wow! what an admission! If you knew and met me at work, you would not have used the part in the parenthesis.

Jim Brown said: "It might have a useful application in the dso-multithread branch, though I suspect the approach I use there to avoid the re-entry issues would significantly negate the speed advantages of switching to OPENMP. "

My answer is: It is a wise man who with very limited abilities and time recognizes a free gift which has been carefully chosen by the Gods of computing, and recognizing it accepts it with gratitude. You would owe your gratitude, not to me but to the developers of OPENMP who are a hundred times better than you and I.

I beg to remain,
Merely
A messenger

new topic     » goto parent     » topic index » view message » categorize

15. Re: OPENMP

Matt said: "We've known for some time that some form of multi-threading is needed and wanted. This is no revelation. Your post is interesting in that looking at openmp might suggest some interesting implementation possibilities, but your estimates or ideas about how it would work are complete fantasy. That you talk about "wrapping" it is enough to know that you haven't a clue how any of it works.

It is interesting that you have discovered your need for "form of multi-threading" and wanting it. It might interest you to know that I had already recognized the need for it BEFORE I posted. Not only that, but I had researched at least two alternatives (Intel TBB and Boost) and found them unsuitable within the constraints of Euphoria and the time you people would have for implementation.
I have not looked at OPENMP to see whether it is distributed as a dll or header or what-have-you. I used the word wrap in a general manner. I should say just connect to it or absorb it or embed or implement it ......... USE IT!

new topic     » goto parent     » topic index » view message » categorize

16. Re: OPENMP

EUWX said...

I have not looked at OPENMP to see whether it is distributed as a dll or header or what-have-you. I used the word wrap in a general manner. I should say just connect to it or absorb it or embed or implement it ......... USE IT!

Yes, you've made it obvious that you don't understand the technology. Your boosterism seems based on the old "Nobody ever got fired for choosing IBM" excuse.

Matt

new topic     » goto parent     » topic index » view message » categorize

17. Re: OPENMP

EUWX said...

It is interesting that you have discovered your need for "form of multi-threading" and wanting it. It might interest you to know that I had already recognized the need for it BEFORE I posted.

As did we. I started work nearly 3 years ago. http://scm.openeuphoria.org/hg/euphoria/rev/5915e46d0334

new topic     » goto parent     » topic index » view message » categorize

18. Re: OPENMP

BTW Matt, I don't see this as a contest of who discovered the need for multi-threading, etc. Obviously, it would be you.

However, I have "stumbled upon" OPENMP, checked it out, compared with two other alternatives, looked at the feasibility of implementation in Euphoria, probably as a "openmp.e" include. I have also stated that you will need to use gcc compiler. If this later is not feasible then forget it.

If you don't think it is doable, that is your decision. Somebody else might think it is very doable.
If you don't want to take the challenge of doing it, that is your decision. Somebody else might take the challenge.
If you think that if it sits in the archives as openmp.e and it is going to somehow hurt Euphoria, then I think you are very wrong. Somebody else will put it out and prove that it is not hurting Euphoria sitting quietly in the archive and being used by a few or many.

new topic     » goto parent     » topic index » view message » categorize

19. Re: OPENMP

EUWX said...

However, I have "stumbled upon" OPENMP, checked it out, compared with two other alternatives, looked at the feasibility of implementation in Euphoria, probably as a "openmp.e" include. I have also stated that you will need to use gcc compiler. If this later is not feasible then forget it.

Please tell us what made you think that "openmp.e" was feasible.

EUWX said...

If you don't think it is doable, that is your decision. Somebody else might think it is very doable.

They'll only think that until they try it.

EUWX said...

If you don't want to take the challenge of doing it, that is your decision. Somebody else might take the challenge.

People are free to waste their time as they see fit.

EUWX said...

If you think that if it sits in the archives as openmp.e and it is going to somehow hurt Euphoria, then I think you are very wrong. Somebody else will put it out and prove that it is not hurting Euphoria sitting quietly in the archive and being used by a few or many.

It would "hurt" on inasmuch as it wouldn't be useful and would most likely crash your program. There are faster ways to generate ex.err files.

Matt

new topic     » goto parent     » topic index » view message » categorize

20. Re: OPENMP

EUWX said...

If you don't think it is doable, that is your decision. Somebody else might think it is very doable.
If you don't want to take the challenge of doing it, that is your decision. Somebody else might take the challenge.

Agreed. Let's wait for that challenger to show up and show us the finished product.

EUWX said...

If you think that if it sits in the archives as openmp.e and it is going to somehow hurt Euphoria, then I think you are very wrong. Somebody else will put it out and prove that it is not hurting Euphoria sitting quietly in the archive and being used by a few or many.

No one thinks that. If someone did make a working openmp.e then we'd probably adopt it into the standard library, no questions asked.

new topic     » goto parent     » topic index » view message » categorize

21. Re: OPENMP

mattlewis said...
EUWX said...

If you think that if it sits in the archives as openmp.e and it is going to somehow hurt Euphoria, then I think you are very wrong. Somebody else will put it out and prove that it is not hurting Euphoria sitting quietly in the archive and being used by a few or many.

It would "hurt" on inasmuch as it wouldn't be useful and would most likely crash your program. There are faster ways to generate ex.err files.

Matt

Heh, this reminds me of Jeff Fielding's experimental thread library, http://www.RapidEuphoria.com/ethreads.tar

Matt is absolutely right here, of course.

When I said a working openmp.e would be adopted to the standard library, I meant a version that magically solved all the re-entry issues et al and didn't crash like ethreads does.

new topic     » goto parent     » topic index » view message » categorize

22. Re: OPENMP

Matt said: "It (using a openmp.e file yet to be created) would "hurt" on inasmuch as it wouldn't be useful and would most likely crash your program. There are faster ways to generate ex.err files. Matt "

There are hundreds of .e files in the archives. I don't recall such a vehement (and crazy) statement made on a file that has not even been created. Your wxEuphoris crashed on me a dozen time and there are instances of crashes everywhere where some body is using one of the .e files. It is absolutely FOOLISH to predict the outcome of a file intended to be a new implementation of a C library.

You are dead against it. NOTED. NOTED. NOTED.

If somebody else tries to implement it, fine. If nobody does it, it is not my loss.

new topic     » goto parent     » topic index » view message » categorize

23. Re: OPENMP

EUWX said...

Matt said: "It (using a openmp.e file yet to be created) would "hurt" on inasmuch as it wouldn't be useful and would most likely crash your program. There are faster ways to generate ex.err files. Matt "

There are hundreds of .e files in the archives. I don't recall such a vehement (and crazy) statement made on a file that has not even been created. Your wxEuphoris crashed on me a dozen time and there are instances of crashes everywhere where some body is using one of the .e files. It is absolutely FOOLISH to predict the outcome of a file intended to be a new implementation of a C library.

You are dead against it. NOTED. NOTED. NOTED.

If somebody else tries to implement it, fine. If nobody does it, it is not my loss.

NO ONE IS AGAINST IT. STOP BEING A MORON.

I've stated that trying to use something like that will crash euphoria because the back end cannot handle threads like that. There is no mystery, except why you cannot get that through your head. Also, you haven't noticed that this requires compiler directives in your code to be effective.

YOU CAN'T PUT COMPILER DIRECTIVES IN A EUPHORIA INCLUDE FILE.

Matt

new topic     » goto parent     » topic index » view message » categorize

24. Re: OPENMP


Does Ryan's FluidAE make any difference in your multitasking world? Do you care?

While it won't support multi-core cpus itself, you can run multiple processes, which the OS will assign to a core as it, or you, specify. And in addition to merely threading on one cpu, on one computer, Ryan is going to add networking (LAN, internet) plugin to FAE, so processes on another computer can share the problem, share the same gui, share msgs amongst themselves.

And from the other thread, Matt said it is possible, and Ry is looking at adding DLL load/unload/calling to the FAE api, so you could spawn more "threads" (using Eu's taskmanager) on demand.

What else would you want?

useless

new topic     » goto parent     » topic index » view message » categorize

25. Re: OPENMP

useless_ said...

Does Ryan's FluidAE make any difference in your multitasking world? Do you care?

While it won't support multi-core cpus itself, you can run multiple processes, which the OS will assign to a core as it, or you, specify. And in addition to merely threading on one cpu, on one computer, Ryan is going to add networking (LAN, internet) plugin to FAE, so processes on another computer can share the problem, share the same gui, share msgs amongst themselves.

If he (or whomever) can make that easy to use, it would be really cool, although I suspect in process threading would be more useful, since it would likely be easier to share resources that way. But that requires a lot of low level work (no matter what EUWX thinks about it), whereas multi-process communication can be done entirely in native euphoria.

Matt

new topic     » goto parent     » topic index » view message » categorize

26. Re: OPENMP

EUWX said...

Matt: I think Euphoria would benefit from the use of OPENMP, considering the fact that most processors these days support parallelism.

If I can paraphrase this ... Euphoria would benefit from the use of parallel processing, of which OPENMP could be a useful paradigm/specification.

Yes, parallel processing can be a great performance booster for certain operations and algorithms. When done 'by hand' it is difficult to do well - I know because I used to do this when working on some assembler written applications. OPENMP specifies a protocol to enable generated code (eg. output from a compiler) to be created to implement the OPENMP protocol.

Parallel processing requires at least two critical concepts - re-entrant code and access synchronization.

It so happens that a lot of Euphoria's internals are not re-entrant and changing that would require SIGNIFICANT rewrites and thus enormous testing. This also applies to the C code generated by the translator. One can't even 'bolt' on parallel operations to routines written in the Euphoria language, because ultimately they would use Euphoria internals, which would cause weird and wonderful crashes to occur and probably at random.

While the idea is a very good one, the implementation using the current code base for Euphoria is cost-prohibitive. In order to take advantage of OPENMP, Euphoria would need to be rewritten in C from scratch with parallel processing in-built. An alternative would be to rewrite it using the D Programming language which has parallel processing as the default protocol between tasks.

The idea of creating am openmp.e library, written in Euphoria, that 'wraps' or implements the OPENMP protocol, is doomed to failure due to the inherent limitations re parallel processing in its internals.

EUWX said...

There are many other Euphoria developers who also are equally able. Anybody whose mind can understand the "voids" of C language (my mind is completely void of it) can implement it easily.

Just on a side-note, this is probably not a good thing to admit to if you are charging the rates you do.

new topic     » goto parent     » topic index » view message » categorize

27. Re: OPENMP

DerekParnell said...
EUWX said...

There are many other Euphoria developers who also are equally able. Anybody whose mind can understand the "voids" of C language (my mind is completely void of it) can implement it easily.

Just on a side-note, this is probably not a good thing to admit to if you are charging the rates you do.

Actually in the world I work in, there are disticnt levels: -
CEO, whose does not know the difference between C language and knows only yachting and "Sea" language
Managing director, who only knows what the budget is for the project; he does not know the difference between C language and "seeing" the project go ahead.

Specific Project manager, who if dealing with an application development, knows whether to use Java or VB or lately Javascript, and has heard of C language in his student days. He cannot program in these languages himself.
Specific Project manager, who if dealing with a middleware development or language development, knows he will need good C plus plus and/or C expertise in the contractor or programmers he hires; He cannot program in these languages himself.

There are also specific Project managers, who handle web development, but do not know Dreamweaver and Ajax, sufficiently to program themselves, but they hire appropriate programmers to carry out the assignment. I do not get involved in these projects lately, just not my cup-of-tea any more.

Sometimes, (not as often these days), there is a system analyst, who again may not know C language, but knows about its existence and usage by the programmers under him.
Programmers - contractors often, because of the uncertainty of time taken, and sometimes employees, who know C and C plus plus inside out. Even they may not know enough C if the project is being coded in VB or dotnet or Java if that is what the program is written in.

In house tester, junior programmers (sometimes students or recent student hired with Government help). They know enough of the C languages and are eager to learn more, but hate the task of testing. Or they know enough of VB or dotnet or Java if that is what the program is written in.
Outside testers paid by contract, or by the number of valid and validable errors they spot.

That basically is the hierarchy and I fit in nicely in the picture as a project manager, and those in superior and lower positions to me know that I do not know programming in C, nor do they expect me to know.

So, Mr. Derek Parnell, I am not worried at all.

new topic     » goto parent     » topic index » view message » categorize

28. Re: OPENMP

EUWX said...

...blah blah blah ...

Wud eva.

new topic     » goto parent     » topic index » view message » categorize

29. Re: OPENMP

EUWX said...

Actually in the world I work in, there are disticnt levels: -

Specific Project manager, who if dealing with an application development, knows whether to use Java or VB or lately Javascript, and has heard of C language in his student days. He cannot program in these languages himself.
Specific Project manager, who if dealing with a middleware development or language development, knows he will need good C plus plus and/or C expertise in the contractor or programmers he hires; He cannot program in these languages himself.

That basically is the hierarchy and I fit in nicely in the picture as a project manager, and those in superior and lower positions to me know that I do not know programming in C, nor do they expect me to know.

Not plausible. Although most Software Project Manager jobs do not require fluency in C and some do not even require a computer-related degree, several years of experience in programming is typically required. E.g. http://webcache.googleusercontent.com/search?hl=en&q=cache:KJxNxfHSArsJ:http://www.assess.com/docs/Software_PM.pdf%2Bsoftware+project+manager+requirements&ct=clnk or http://jobview.monster.com/project-manager-software-launch-life-sciences-6-month-contract-job-burbank-ca-us-126486284.aspx

EUWX said...

If I was foolish or ignorant, cpmpanies would not pay me $20,000 just to supervise computer language related projects or hire me for $200/hour for a minimum contract of 6 hours/day for 3 days. Yes that is what I charge.

Actually, considering going IT contractor rates, that sounds plausible, though a little bit on the low side. http://www.indeed.com/salary/Software-Project-Manager.html or http://community.spiceworks.com/topic/316346-current-rate-for-it-contract-work or http://www.contractoruk.com/market_rates/

Out of curiosity, which companies have you worked for?

new topic     » goto parent     » topic index » view message » categorize

30. Re: OPENMP

Jim Brown said: " several years of experience in programming is typically required. ", implying that I am admittedly not a C programmer and therefore could not have climbed up the ladder.

I graduated upwards to project manager in bigger companies after successfully handling 4 projects AND PROGRAMMING in Quickbasic, and two projects in Clipper (a database software generating .dbf files). I also created a 4000 pages web site using HTML3 for a small company. That was in the 20th century.

Microsoft changed to VB, and I learnt some basics of it, and then I found out that in the "new status" as project manger in larger companies, I did not need to program myself. I looked at QB64,. but have not recommended it for any projects. Currently Mono is my favourite if the project requires VB compatibility rather than VB or dotnet, but I still do not actual do any programming.

Microsoft bought out dBase compatible Foxpro and more or less killed it in favour of VB, Excel and Access. I still actual program in Clipper, for little home databases, but prefer to use dBase/Clipper compatible Harbour/Minigui because of the GUI. However I have not recommended it in the commercial world, where various flavours of SQL rule, and dbf is bad word.

In the Web design world, HTML4 and HTML5 are being overshadowed by the likes of Dreamweaver and Ajax, and there is now a greater emphasis on the need for artistic talent in the Project manager, the programming part being taken over by "school kids". I do not have the artistic skills and have stayed away from larger Web design projects.

This thread is about OPENMP for Euphoria, and I would not like to dwell too much on the past and on other languages. Thank you for your interest. If you want to know about other languages or Project management, you should look up the Internet.

new topic     » goto parent     » topic index » view message » categorize

31. Re: OPENMP

DerekParnell said...
EUWX said...

...blah blah blah ...

Wud eva.

Mr Parnell: I did not say "...blah blah blah ...", but I understand that there are a lot of sheep in Australia, who do say "...blah blah blah ..."

new topic     » goto parent     » topic index » view message » categorize

32. Re: OPENMP

EUWX said...

Jim Brown said: " several years of experience in programming is typically required. ", implying that I am admittedly not a C programmer and therefore could not have climbed up the ladder.

I did not mean to imply this. Of course this is not true - it is quite possible.

EUWX said...

...blah blah blah ...

A path from database administration to project management is quite plausible.

EUWX said...

This thread is about OPENMP for Euphoria, and I would not like to dwell too much on the past and on other languages. Thank you for your interest. If you want to know about other languages or Project management, you should look up the Internet.

Agreed.

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu