Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.programming.threads > #2558
| From | Ramine <ramine@1.1> |
|---|---|
| Newsgroups | comp.programming.threads |
| Subject | High level programming |
| Date | 2014-07-05 17:47 -0700 |
| Organization | A noiseless patient Spider |
| Message-ID | <lp9rn7$ag9$1@dont-email.me> (permalink) |
Hello, You have seen me talking about the advantages of high level programming languages over low level programming languages... I have said that since high level programming languages do bring bigger and safer and even faster constructs so they enhance the criteria of reusability and since they enhance the criterias of reusability so they enhance the criteria of productivity... Other than that since high level programming languages bring high level constructs those high level constructs can be made fast and safe , so high level programming languages can enhance the criterias of reusability , productivity and performance and safety... And since we are in the era of parallel programming, we have to think better , cause i think that high level programming languages do there best to easy for us parallel programming, so think twice before using low level programming, cause low level programming is error prone and difficult and is bad for parallel programming, cause low level programming misses high level constructs that are much less error prone and misses high level constructs that easy the job of parallel programming... so as you can see the advantages of high level programming languages are becomming more and more clear and more important and i think they outnumber the advantages of low level programming. Another advantage of high level programming languages is the following: When you take a look at the derivative in mathematics, the formula of the derivative of 2*X or a*X that is a, since we know that lim x2-x1 -> 0 de (2*x2 - 2*x1)/(x2-x1) , so we have that 2*(x2-x1)/(x2-x1) , so it's equal to 2 So as you have noticed i am using the "Limit" and some mathematical calculations to be able to proove and to generalize and to find the derivative of a*x, those mathematical calculations that we must do to proove the general formulas of the derivatives are low level like assembler and they allow us to know from where the general formulas of the derivative of a*X comes from... but as you can see there is also the short way of learning is to know that the derivative of a*X is equal to "a" without proving it, and this way of learning do enhance the criteria of reusability and productivity also and do permit us to construct other ways of learning, so there is mathematicians that must learn how to proove the theorems and the general formulas and there is others engineers and like that have to learn only how to work in a high level ways with mathematics without prooving theorems or general formulas. That's the same for informatics. As you have seen me talking in my previous post titled: "Another advantage of high level programming languages..." I have tried to explain to you that there is another advantage in high level programming languages... and i have talked about the other way of learning and have said that another way of learning in mathematics is to try to minimize the number of proofs that we have to do, so i have said that pure mathematicians have to proof the theorems and general formulas, but others engineers and like have only to learn how to work in a high level manner like in high level languages without proving theorems and general forumulas or keeping at the minimum the number of proofs that we have to do, this way of learning do enhance the criteria of reusability so it enhance the criteria of productivity i think... As an example, you have seen me inventing some scalable algorithms like my scalable RWLocks and my scalable MLock etc. so my way of learning is high level and also low level since i have to understand how to minimize the cache-coherence traffic and to minimize contention and how to write some assembler code etc. to be able to invente my scalable algorithms, this way of doing is honorable , but there is also other high level ways of learning, like to just understand how to minimize the cache-coherence traffic and how to minimize contention and how to reuse my scalable algorithms without writing or inventing those scalable algorithms, this high level way of learning is also a good way of learning. I have come to an interresting subject... You have seen me talking about advantage of high level programming and high level ways of learning... But there is still an important desavantage of high level programming.. I explain.. You have seen me talking about the derivative of a*x or 2*x that is 2, since: Limit x2-x1 -> 0 of (2*x2 - 2*x1)/(x2-x1) , so we have that 2*(x2-x1)/(x2-x1) , so it's equal to 2 so follow with me please, the calculation above to proove that the derivative of 2*x is equal to 2 or the derivative of a*x is equal to "a" is a low level way of doing mathematics like in assembler programming , we have to use the "Limit" and mathematical calculations to proove that the general formula of a*x is equal to a.. but if you look carefully, when we are proving and infering the general formula we are like automating the derivative , since as soon as we proof the general formula we don't have to proove again the general formula and we have just to use the general formula, so by avoiding to proove again the general formula we are like automating the the derivative , it's like automation in robotics, and we are speeding the process of calculating the derivative, since we have not to do the proof again so in time t2-t1 of 1 hour we can do many more calculations of derivatives per hour, so since we are not proving again the general formulas of derivative but just using the general formulas we are speeding the rate at wich we can do derivatives calculations per hour, and this apply to all mathematics , since we are proving theorems and general forumulas and automating all the mathematics, hence the rate at wich we can solve mathematical problems will be faster, so we can do more mathematics per hour time and this is the same for informatics, since we are constructing more high level constructs that are safer and faster we are automating informatics by enhancing the criteria of reusability so by using those high level constructs the rate at wich we can produce code and solve computing problems per hour will be faster, so since the rate by wich we can produce code and solve compuyting problems will be faster less and less programmers will be needed and less and less mathematicians will be needed i think so this will higher the percentage of unnemployement i think, and this is one important desanvatage of high level programming i think. Thank you, Amine Moulay Ramdane.
Back to comp.programming.threads | Previous | Next | Find similar | Unroll thread
High level programming Ramine <ramine@1.1> - 2014-07-05 17:47 -0700
csiph-web