Higher precedence != earlier evaluation

I'm trying to clarify something in my head here...
Generally speaking my understanding is that when you are trying to evaluate a complex expression containing multiple operators of verying precedence levels you determine the overall order of evaluation based on the operator with highest precedence and work your way down to the lowest.
So as an example: a*b+c/d-e
where a through e are numerical operands gets evaluated as:
((a*b)+(c/d))-e
because the +,-,*, / operators all have left associativity.
Here is my question: If a through e actually represent expressions such as ++expression or +expression is it true that these individual expression statements are evaluated first at runtime before the operators are applied always from left to right?
I had a poster in this forum helping me out with this a week or so ago and I want to make sure I've got it right.
Thanks,
Peter

Here is my question: If a through e actually
represent expressions such as ++expression or
+expression is it true that these individual
expression statements are evaluated first at runtime
before the operators are applied always from left to
right?Just continue your analysis with more parentheses. If you think about it, though, it would be quite difficult to use the result of an expression before it has been evaluated.

Similar Messages

  • Operator precedence && or ||.. which is greater

    http://www.csc.calpoly.edu/~csturner/courses/101/Hints/operator_precedence.html
    http://www.uni-bonn.de/~manfear/javaoperators.php
    The above two links are where i read about operator precedence. They say && has more precedence than ||, if thats the case then the output for the following should be true, true , true, but the actual output is as below. Can anyone give me a chart that lists the operator precedence correctly. or have i missed something..pls let me know.. thaks..
    class ABC{
      static boolean a, b, c;
      public static void main (String[] args) {
        boolean x = (a = true) || (b = true) && (c = true);
        System.out.print(a + "," + b + "," + c);
    output: true false false

    If && has higher precedence then shouldnt (b = true)
    && (c = true) get executed first before evaluating
    for || operator.??No.
    a || b && c
    The precedence only means that && binds tighter than || -- that is, that, as somebody said earlier, the above is equivalent to
    a || (b && c)
    rather than
    (a || b) && c
    It's still evaluated left to right though. First a, then, iff a is false, (b && c). But for us, since a was true, there was no need to eval (b && c)

  • Best practice for Logical OR pre-condition evaluation

    Greetings,
    I'm finding TS doesn't have basic features for decision making (imp) for execution. Any recommendations are welcomed and appreciated. Please see below scenario.
    I'd like to execute setup steps (custom step types) for a signal generator based upon the user selected "Test".
    To keep it simple for the signal generator let's say we have the following steps:
    Set Freq | Set PWR lvl | Set Modulation Type | Set Modulation ON/OFF | Set RF Power ON/OFF
    For User Selected Tests let's say we have Test A(0) | Test B(1) | Test C(2) (Test  A & C requires Modulation, B does not)
    Here's my issue:
    I can't get SET Freq | SET PWR lvl | Set RF Power ON/OFF to execute a pre-condition setup for evaluating Logical OR's. (i.e. locals.TestSelected ==0||1||2)
    Same for Set Modulation Type | Set Modulation ON/OFF (i.e locals.TestSelected ==0||2)
    Thanks in advance for any guidance provided.
    Chazzzmd78
    Solved!
    Go to Solution.

    Just want to clarify, there seems to be a misunderstanding about the difference between bitwise OR (i.e. the | operator) and logical OR (i.e. the || operator). Bitwise OR results in the combination of all of the bits which represent an integer stored as binary, while logical OR (i.e. what you really want in this case) results in a True, non-zero, value (usually 1) if either operand is non-zero.
    Also, the == operator has a higher precedence than either the bitwise OR or logical OR operators.
    So what this means:
    locals.TestSelected ==0||1||2
    is to give a result of True (i.e. 1) if either locals.TestSelected ==0, 1 is non-zero, or 2 is non-zero. Since 1 and 2 are always non-zero that expression will actually always result in a True value.
    Similarly, although the following will likely give you the behavior you want:
    (locals.TestSelected == 0) | (locals.TestSelected == 1) | (locals.TestSelected == 3)
    That's not really doing what you are probably thinking it does. It's actually getting the value True (i.e. 1) for each of the sub-expressions in parethesis and then bitwise OR'ing them together. Since the result for the == operand is always either 0 or 1, this ends up giving the same result as logical OR (i.e. the || operator), but what you really want in this case is logical OR and for other expressions using bitwise OR when you mean logical OR might give you incorrect results. So, you should really be using something like the following:
    Locals.TestSelected == 0 || locals.TestSelected == 1 || locals.TestSelected == 3
    The parenthesis don't really matter in this case (so can be left out, but also doesn't hurt anything so you can leave them in if you prefer) because the == operator has a higher precedence than the || operator so all of the == operations will be done first.
    Hope this helps clarify things,
    -Doug

  • (Error in documentation?) Math operator precedence problem

    Hello,
    I apologize in advance, while I do know programming (I'm a PHP and Perl programmer) I'm fairly new to Java so this may well be a silly question, but that's why I am here. I hope you'll show me where my error is so I can finally set this to rest before it drives me mad :)
    (Also, I hope I'm posting this in the right forum?)
    So, I am taking a Java class, and the question in the homework related to operand precendence. When dealing with multiplication, division and addition, things were fine, the documentation is clear and it also makes sense math-wise (multiplication comes before addition, etc etc).
    However, we got this exercise to solve:
    If u=2, v=3, w=5, x=7 and y=11, find the value assuming int variables:
    u++ / v+u++ *w
    Now, according to the operator precedence table (http://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html) the unary operator u++ comes first, before multiplication, division and addition.
    This would mean I could rewrite the exercise as:
    ((u+1)/v) + ((u+1)*w) = (3/3) + (4*5) = 1+20 = 21
    However, if I run this in Java, the result I get is 15.
    I tried breaking up the result for the two values in the Java code, so I could see where the problem is with my calculation.
    For
    System.out.println(u++ /v);
    I get 0
    For
    System.out.println("u++ *w");
    I get 15
    My professor suggested I attempt to change the values from int to float, so I can see if the division came out to be something illogical. I did so, and now I get:
    For
    System.out.println(u++ /v);
    I get 0.66667
    For
    System.out.println("u++ *w");
    I get 15.0000
    Which means that for the first operation (the division) the division happens on 2/3 (which is 0.6667) and only afterwards the u value is increased. That is, the u++ operation is done after the division, not before. The same happens with the multiplication; when that is carried out, the value of u is now 3 (after it was raised by one in the previous operation) and the first to be carried out is the multiplication (3*5=15) and only then the u++.
    That is entirely against the documentation.
    This is the script I wrote to test the issue:
    public class MathTest {
         public static void main (String [] args) {
              float u=2, v=3, w=5, x=7, y=11;
              System.out.println("Initial value for 'u': " + u);
              float tmp1 = u++ /v;
              System.out.println("u++ /v = " + tmp1);
              System.out.println("First ++ value for 'u': " + u);
              float tmp2 = u++ *w;
              System.out.println("u++ *w= " + tmp2);
              System.out.println("Second ++ value for 'u': " + u);
              System.out.println(tmp1+tmp2);
    The output:
    Initial value for 'u': 2.0
    u++ /v = 1.0
    First ++ value for 'u': 3.0
    u++ *w= 20.0
    Second ++ value for 'u': 4.0
    21.0
    Clearly, the ++ operation is done after the division and after the multiplication.
    Am I missing something here? Is the documentation wrong, or have I missed something obvious? This is driving me crazy!
    Thanks in advance,
    Mori

    >
    The fact that u++ is evaluated but in the calculation itself the "previously stored" value of u is used is completely confusing.
    >
    Yes it can be confusing - and no one is claiming otherwise. Here are some more thread links from other users about the same issue.
    Re: Code Behavior is different in C and Java.
    Re: diffcult to understand expression computaion having operator such as i++
    Operator Precedence for Increment Operator
    >
    So, when they explain that ++ has a higher precedence, the natural thing to consider is that you "do that first" and then do the rest.
    >
    And, as you have discovered, that would be wrong and, to a large degree, is the nut of the issue.
    What you just said illustrates the difference between 'precedence' and 'evaluation order'. Precedence determines which operators are evaluated first. Evaluation order determines the order that the 'operands' of those operators are evaluated. Those are two different, but related, things.
    See Chapter 15 Expressions
    >
    This chapter specifies the meanings of expressions and the rules for their evaluation.
    >
    Sections in the chapter specify the requirements - note the word 'guarantees' in the quoted text - see 15.7.1
    Also read carefully section 15.7.2
    >
    15.7. Evaluation Order
    The Java programming language guarantees that the operands of operators appear to be evaluated in a specific evaluation order, namely, from left to right.
    15.7.1. Evaluate Left-Hand Operand First
    The left-hand operand of a binary operator appears to be fully evaluated before any part of the right-hand operand is evaluated.
    If the operator is a compound-assignment operator (§15.26.2), then evaluation of
    the left-hand operand includes both remembering the variable that the left-hand
    operand denotes and fetching and saving that variable's value for use in the implied
    binary operation.
    15.7.2. Evaluate Operands before Operation
    The Java programming language guarantees that every operand of an operator (except the conditional operators &&, ||, and ? appears to be fully evaluated before any part of the operation itself is performed.
    15.7.3. Evaluation Respects Parentheses and Precedence
    The Java programming language respects the order of evaluation indicated explicitly by parentheses and implicitly by operator precedence.
    >
    So when there are multiple operators in an expression 'precedence' determines which is evaluated first. And, the chart in your link shows 'postfix' is at the top of the list.
    But, as the quote from the java language spec shows, the result of 'postfix' is the ORIGINAL value before incrementation. If it makes it easier for then consider that this 'original' value is saved on the stack or a temp variable for use in the calculation for that operand.
    Then the evalution order determines how the calculation proceeds.
    It may help to look at a different, simpler, but still confusing example. What should the value of 'test' be in this example?
    i = 0;
    test = i++; The value of 'test' will be zero. The value of i++ is the 'original' value before incrementing and that 'original' value is assigned to 'test'.
    At the risk of further confusion here are the actual JVM instructions executed for your example. I just used
    javap -c -l Test1to disassemble this. I manually added the actual source code so you can try to follow this
            int u = 2;
       4:iconst_2       
       5:istore  5
            int v = 3;
       7:iconst_3       
       8:istore          6
            int w = 5;
      10:iconst_5       
      11:istore          7
            int z;
            z = z = u++ / v + u++ * w;
       13:  iload   5
       15:  iinc    5, 1
       18:  iload   6
       20:  idiv
       21:  iload   5
       23:  iinc    5, 1
       26:  iload   7
       28:  imul
       29:  iadd
       30:  dup
       31:  istore  8
       33:  istore  8The Java Virtual Machine Specification has all of the JVM instructions and what they do.
    http://docs.oracle.com/javase/specs/jvms/se7/jvms7.pdf
    Your assignment to z and formula starts with line 13: above
    13: iload 5 - 'Load int from local variable' page 466
    15: iinc 5, 1 - 'Increment local variable by constant' page 465
    18: iload 6 - another load
    20: idiv - do the division page
    21: iload 5 - load variable 5 again
    23: iinc 5, 1 - inc variable 5 again
    26: iload 7 - load variable 7
    28: imul - do the multiply
    29: iadd - do the addition
    30: dup - duplicate the top stack value and put it on the stack
    31: istore 8 - store the duplicated top stack value
    33: istore 8 - store the original top stack value
    Note the description of 'iload'
    >
    The value of the local variable at index
    is pushed onto the operand stack.
    >
    IMPORTANT - now note the description of 'iinc'
    >
    The value const is first sign-extended to an int, and then
    the local variable at index is incremented by that amount.
    >
    The 'iload' loads the ORIGINAL value of the variable and saves it on the stack.
    Then the 'iinc' increments the VARIABLE value - it DOES NOT increment the ORIGINAL value which is now on the stack.
    Now note the description of 'idiv'
    >
    The values are popped
    from the operand stack. The int result is the value of the Java
    programming language expression value1 / value2. The result is
    pushed onto the operand stack.
    >
    The two values on the stack include the ORIGINAL value of the variable - not the incremented value.
    The above three instructions explain the result you are seeing. For postfix the value is loaded onto the stack and then the variable itself (not the loaded original value) is incremented.
    Then you can see what this line does
      21:  iload   5 - load variable 5 againIt loads the variable again. This IS the incremented value. It was incremented by the 'iinc' on line 15 that I discussed above.
    Sorry to get so detailed but this question seems to come up a lot and maybe now you have enough information and doc links to explore this to any level of detail that you want.

  • Explain - Operator precedence ??

    hi,
    Can anyone explain me the output of this program?
    class test
    static boolean a;
    static boolean b;
    static boolean c;
    public static void main(String [] args)
    boolean x = (a=true) || (b=true) && (c=true); // ??
    System.out.println(a + "," + b + "," + c);
    The output is true,false,false
    I know that operator && has a higher precedence over || operator. I don't know how the expression is getting resolved.
    Please help.

    I know that operator && has a higher precedence over
    || operator. I don't know how the expression is
    getting resolved.
    Please help.Precedence is generally left from right. Certain things violate this but it doesn't really come up much if you don't write impossible to read code.
    It looks like what happens here is that (a=true) happens first and then the expression (true) || something is evaluated. There are two OR operators in Java. | and ||. I can remember the names for the differences but this is what they are. | evaluates bothe sides regardless of whether the left side is true or not. || evaluates the left side and if it is true, returns.
    If you change the || to | you will get all true.

  • Decrement operator precedence confusion

    Here is the snippet from a book:
    int y = 5;
    int result = y-- * 3 / --y;
    System.out.println("y = " + y);
    System.out.println("result = " + result);Assuming increment and decrement have highest precedence, I don't get the explanation:
    Order of operations dictates that the multiplication is evaluated first(WHY???). The valueof y is 5, so 5 * 3 is 15. The multiplication is done, so the post - decrement occurs and y
    becomes 4. Now the division is evaluated and y is pre - decremented to 3 before the division,
    resulting in 15 / 3 , which is 5. The output of this code is:
    y = 3
    result = 5
    Any comments would be appreciated.

    AntShay wrote:
    Oh, no!
    There's something more I don't get :)
    Why is 5 *** 3 takes place instead of 4 *** 3? Pre-decrement has higher precedence, hasn't it?
    So, from my point of view this should work as follow (please correct me where I'm wrong):
    int y = 5;
    int result = y-- *** 3 / --y;
    1) y-- gets evaluated (y=4 now)
    2) --y gets evaluated (y=3)
    3) 3 *** 3 = 9
    4) 9/3 = 3I don't know if pre-dec has higher precedence than mult, but even if it does, that doesn't matter. That's not what precedence means. It doesn't mean you jump around and do those operations first. I just means "This is where the implied parentheses go." The only affect it has on order of evaluation is when you have to evaluate something inside the implied parens first to get an operand for the next operation.
    3 + 4 * 5In the above, mult has higher precedence than add, so it's equivalent to
    3 + (4 * 5)It doesn't mean "first do all multiplications, then all adds." It means the implied parens are as above.
    So:
    1. evaluate 3
    2. evaluate the RH operand of +++
    2.1 evaluate 4
    2.2 valuate 5
    2.3 multiply 4 *** 5 --> 20
    3. evaluate 3 +++ 20
    So we did the mult before the add because we had to in order to get the value of the RHS operand of the plus. Indirectly it's because mult has higher precedence, but that's just a consequence of the implied parens, and we still evaluated the 3 before doing the mult. We did NOT do "all mults first, then all adds."
    Similarly, if it had been
    2 + 3 + 4 * 5we would eval 2, then eval 3, then add, then eval the RHS of the second plus operator, which means we'd have to eval 4 *** 5. Note that we do NOT eval 4 *** 5 as the very first step before all adds.
    Now, say pre-dec has higher precedence than mult. It may, it may not, I don't know and I don't care. It doesn't matter here, but let's say it does.
    y-- * 3 / --yis the same as
    (y--) * 3 / (--y)Operands are still evaluated L to R. We don't just jump around.
    1. Evaluate y--
    1.1 value of expression is 5
    1.2 decrement y to 4
    2. Evaluate 3.
    3. Multiply #1 *** #2 --> 5 *** 3 = 15
    4. Evaluate --y
    4.1 decrement y
    4.2 valueof expression is 3
    5. evaluate #3 / #4 --> 15 / 3 = 5
    Edited by: jverd on Feb 12, 2010 11:54 AM
    Edited by: jverd on Feb 12, 2010 11:56 AM

  • In R12.1.3, MO:Security Profile Vs HR:Cross Business Group precedence

    Hi All,
    In R12.1.3, Which profile option has higher precedence in MOAC structure.
    If i set the HR:Cross Business Group to NO at resp level and MO: Security Profile, which is associated to Global Security Profile which has two OUs of two different BGs.
    For example:
    I have BG1 - OU1
    BG2 - OU2
    Case 1:
    Global Security Profile - XXGSP has both OU1(BG1) and OU2(BG2) associated.
    HR:Cross Business Group - NO
    HR:Cross Business Group - BG1
    In Purchasing Responsibility, what could be the behavior when i create PO?. Will it show both OU1 and OU2? or OU1?
    Case 2:
    Global Security Profile - XXGSP has both OU1(BG1) and OU2(BG2) associated.
    HR:Cross Business Group - Yes
    HR:Cross Business Group - BG1
    In Purchasing Responsibility, what could be the behavior when i create PO?. Will it show both OU1 and OU2? or OU1?
    Case 3:
    Global Security Profile - XXGSP has both OU1(BG1) associated.
    HR:Cross Business Group - NO
    HR:Cross Business Group - BG2
    In Purchasing Responsibility, what could be the behavior when i create PO?. Will it show both OU1 and OU2? or OU1?
    Case 4:
    Global Security Profile - XXGSP has both OU1(BG2) associated.
    HR:Cross Business Group - Yes
    HR:Cross Business Group - BG1
    In Purchasing Responsibility, what could be the behavior when i create PO?. Will it show both OU1 and OU2? or OU2?
    Regards,
    Soorya

    Hi Soorya,
    We are in a similiar situation and I was wondering if you have received an answer or how you proceeded?
    Thanks,
    Cathy

  • Operator precedence and associatively

    Greetings,
    I'm a Java newbie, and reflecting that is this concept questions. I'm trying to understand operator precedence and associatively. I understand that operator associatively is how items are read in an expression - like, they (items) are read from left to right. The book I'm trying to learn from talks a lot about this but it all blows over my head.
    I was wondering if one of you Java wizards could explain this concept to me in greater detail. I would really appreciate any thoughts.
    thanks a lot!
    Stephen

    Thousands will disagree with me, but IMHO you should use brackets to make things clear rather
    than assume everyone knows all the precedence rules.
    Basically the concept is:
    1 + 2 * 3 : Does the plus get done first (leaving 3 * 3) or does the the multiply (leaving 1 + 6) ?
    * has a higher precedence so you get 1 + (2 * 3). If you had written it that way in the first place
    you would be less likely to get it wrong when debugging at 3am.
    Associativity comes in when you have two operators of the same precedence.
    Hope this helps !

  • Operator precedence

    Hello,
    I was going through someone else's code today, and found something I didn't quite understand. The code fragment is as follows:
        for (int j = 0; j < count / 2; j++)
            k = j + 1;
            for (m = 0; m < height; m++)
              for (n = 0; n < width; n++)
                arrayOfInt[j][(m * width + n)] = imgpixels[(m / k * k)][(n / k * k)];
            (snip)
          }Now, most of it, I think I understand, apart from the line:
    arrayOfInt[j][(m * this.width + n)] = imgpixels[(m / k * k)][(n / k * k)];
    - how is Java interpreting the algebra in the square brackets? For the first set of square brackets, is it [m/(k*k)] or is it [m*k/k]? This latter one doesn't make any sense, as the k's would cancel leaving just m.
    I've looked at precedence of the operators and found that *, / and % are given equal precedence, so what is going on here?

    875465 wrote:
    - how is Java interpreting the algebra in the square brackets? For the first set of square brackets, is it [m/(k*k)] or is it [m*k/k]? This latter one doesn't make any sense...Probably because it isn't possible.
    Java will never re-order operators, it will only use predecence to evaluate one set before another, so in the case above the only two possible interpretations are:
    <tt>(m / k) * k</tt>   or
    <tt> m / (k * k)</tt>
    In fact it will use the first, because * and / have the same precedence, so evaluation works from left to right, which indeed looks like a roundabout way of saying 'm'.
    However, since we don't know what the types of n, m, and k are, it's difficult to speculate what the effects are; it could also be a roundabout way of saying 'nearest multiple of k'.
    On the other hand, it could also be
    1. It's a horrible piece of code (my opinion).
    2. They actually intended it to be <tt> m / (k * k)</tt>.
    Which is why it's usually a good idea to explicitly bracket your code and remove all doubt. The only place that sort of stuff belongs is in SCJP tests.
    Winston

  • Issues in changing Sales Order - ECC6.0

    Hi All,
    We are facing an issue when we try to change a Sales Order for which Delivery has been created.
    When a Sales Order is opened for change, we see that the Net Value and Tax fields in the Item Conditions is blanked out. This does not happen when the Sales Order is opened for Display.
    Again, there is no issue when we try to change a Sales Order which does not have any subsequent documents created for it.
    Has anyone come across such an issue?
    Any pointers in resolving this issue will be highly helpful.
    Thank you.
    Regards,
    Keerthi

    Hi,
    Sorry, my earlier evaluation turned out to be wrong and the reason for the issue was that we had activated a Userexit which was triggering the redetermination of Pricing, which sort of became the reason for the issue .
    I managed to handle this scenario in the Userexit and resolve the problem.
    But I am still facing the same issue at a different place now - whenever I try to change anything at the line item level (for instance, PLATFORM in the Additional Data 'B' tab of Sales Order Item), I see that the Function Module 'PRICING' is getting called inside the program SAPFV45P. This function module, again, somehow screws up my already determined prices and tax values for that particular item.
    Any suggestions/recommendations on how we can control whether this function module gets called or not in SAP?
    Thanks in advance.
    Regards,
    Keerthi

  • Bold text in toc won't display

         I've formatted my toc to display titles as bold text but for some reason it will not display all titles as bold text. By the way, it's russian and all lower headings in the screenshot should be bold. I know I have displayed a screenshot for a LOF but it goes for both TOC and LOF. I am aware of the difference in layout methods.
                                                                                                                                       reference page
    body page

    Pieter van de Sande wrote:
    Hi Peter
    The formatting in LOF is applied by selecting the text on the body page and formatting the paragraph tag for the text to be bold. In the TOC it is formatted by doing the same on the reference page.
    I haven't produced any form of output yet so I do not know how it is displayed. The program crashes when i want to update the book so I need to look into that first.
    I will try your suggestions.
    Thanks
    Pieter
    Hi, Pieter:
    You might not think that the different steps you're using to format the generated entries would cause the difference, FrameMaker can have good reason for working differently.
    Is there a reason for not formatting the prototype line in the LOF on the reference page, rather than on the body page - the same method you use for the TOC?
    When working with FrameMaker's generated files, you need to be keenly aware of which file you're working with. I don't have FrameMaker available at the moment, but I believe it works something like this (it may have changed from older FrameMaker versions to newer ones:)
    * When you create a new generated file FrameMaker creates the generated file's reference page and the corresponding reference page text flow; they are named for the kind of generated file, such as TOC, LOF, etc.
    * I think the location of the reference page and its flow depend on whether you're generating from a stand-alone file, or from a file that belongs to a book. The reference page and flow may be created in the generated file, or in the source file, but not in both.
    * In later FrameMaker versions, I believe the book file is more involved with the processing than in earlier versions. In the more-recent versions, I believe that the output of generated files is taken from the generated-file reference pages and flows in the first file in the book list.
    * If there is a generated reference page and its flow in the source file, and also in the generated file, there's a possible precedence conflict over which settings control the output of the generated file. Formatting properties set in the higher-precedence file will be applied, and those in the lower-precedence file will be ignored.
    Because the TOC is working correctly, follow the same procedure for the LOF. Verify that there reference page and flow are in the same file that works for the TOC - if the TOC reference page is in the TOC itself, then verify that the LOF reference page is in the LOF file, and verify that there's no LOF reference page in any of the source files in your book. If the TOC reference page is in the first file in the book and not in the TOC, then create the LOF the same way.
    HTH
    Regards,
    Peter
    Peter Gold
    KnowHow ProServices

  • Windows 10 Enterprise Edition: Installation and Development Environment Essentials: Thoughts & Assistance Req:

    Hello,
    I am in the architecture planning stage of my project and seeking personal and general good advice from Mircosoft engineers.  I am laying the foundation stones of a new development product using at least three more new technologies that are
    as new as Windows 10. Their are also around four or five technology partners with the latest version of their software that I wish to take onboard. Due to the sensitive nature of the project it is not wise for me to state each piece of technology used,
    so I will be as accurate as possible using the limited means I have.
    I wish to make a "closed" development environment, with the latest build (currently 9860), install the new software. Some of which installs fine, some of which is not compatabile with Windows 10. Regarding the latter I am in discussions with the
    technology providers to make a work-around and hammer and chisel through every issue. Very soon I hope to have a fully stable working development environment which paves the road to a first prototype. So i need to make a decision soon to "lock
    down" everything. I will miss Windows 10 updates but the advantage is when the project vertical slice is complete, the feedback and benefit will be larger for Windows 10 final product.
    This is probably my fifth or sixth early evaluation of the Windows platform and I am aware of the highs and lows of working with various versions using new builds, from the stability of win98 (becoming 2000 - minus millennium 1999 edition), to the quick uninstall
    of vista (it broke our internal projects). The solid bedrock of Windows NT (becoming XP) and so on. The good news is Windows 10 seems very good indeed.
    My questions are two:
    1) Would the windows team recommend a closed environment development in my situation, and are they aware of other developers doing it (is it wise from your end)? Is their a pool, can we communicate directly?
    or
    2) Would you recommend an open environment instead? Every install is updated, everything is all on-line and networked, this may lead to more breakages and sacrifice the finished product.
    The problem with approach number 2 is that a particular technology  may work with this build, but not the next one and vice versa. I will constantly be playing "bunny hop" trying to make it work.
    The problem with using number 1 is that you can have a "false dawn" view of the project, meaning you have managed to get it stable and develop code that fits that environment and build, but as soon as you do update six months later, it breaks due
    to feature change, it means massive re-work, ultimately breaking the product again.
    I have seen these approaches drown larger projects and wash away whole development teams.
    Its a tough one and a part of my R&D but very soon I need to make a decision.
    To explain more, some of the technology used will be:
    Windows 10 Enterprise - Perforce - Office 365 with Exchange Activ Synch - Any associated Intel CPU and GPU monitors.
    In other words very stable and solid technology. Their is about an equal number of other techs that are not so stable but I am slowly getting to work under Windows 10.All feedback would be given to Microsoft, regardless of environment 1 or 2.
    Any advice and help from the Microsoft Team is greatly appreciated.
    Yours Kindly,
    Asad

    I recently went to an Enterprise Mobility Summit Microsoft was holding at one of their facilities, and they spoke a bit about the future of Windows 10 - and here's what I left with: Microsoft isn't really sure themselves what kind of updating scheme they're
    going to be doing with Windows 10.  They had some ideas, but they're looking for feedback from enterprises and engineers about their plan. 
    I don't think it was under an NDA, so I should have no problem discussing it:  their idea was to have different tracks (based on the user) with different upgrade schedules based on what the administrator deems appropriate for that user.  For instance,
    a consumer would have their OS automatically updated as soon as the update was available. while enterprises could stagger their users to a more manageable 3-month or 6-month schedule.  Microsoft wasn't sure how long to make this stagger schedule - talk
    of a 1 year stagger were floated, but nothing concrete.  Critical devices, like POS or ATMs, could be setup so they would never be upgraded, or only upgraded when the administrator specifically allows them to be upgraded. 
    For you personally, it sounds like a closed development environment is better, since you're testing critical business applications.  Again, one never knows exactly what direction Microsoft will take, but with the amount of conversations and...
    warnings that dropped by various people at this meeting, it's pretty safe to say that they'll be some sort of timed release schedule for enterprises that you can prepare for. 
    Hope that helps! 
     

  • Tpcall return 1 when service call time's out (Tuxedo 8.1 on AIX 5.3TL6)

    Hello,
    I have an unexpected return code from tpcall !!??
    The code is simple :
    if (rc = tpcall ( (char *) service.c_str(), idata, ilen, odata, olen ,flags ) < 0 ) {
    printf ( "Returned %d\n", rc ) ;
    When the called service is timeout (SVCTIMEOUT) rc's value is 1 !!??
    Has anybody some explanation for this unexpected return code.
    Is this a bug or an undocumented valid return value for tpcall ?

    Herbert,
    The < operator is of higher precedence than the = operator in C++ and C.
    Your program is evaluating the expression tpcall ( (char *) service.c_str(),
    idata, ilen, odata, olen ,flags ) < 0.
    When the service fails, this expression is true, so 1 is assigned to rc.
    Parentheses will fix this problem:
    if ((rc = tpcall ( (char *) service.c_str(), idata, ilen, odata, olen
    ,flags) ) < 0 ) {
    Ed
    <herbert koelman> wrote in message news:[email protected]..
    Hello,
    I have an unexpected return code from tpcall !!??
    The code is simple :
    if (rc = tpcall ( (char *) service.c_str(), idata, ilen, odata, olen
    ,flags ) < 0 ) {
    printf ( "Returned %d\n", rc ) ;
    When the called service is timeout (SVCTIMEOUT) rc's value is 1 !!??
    Has anybody some explanation for this unexpected return code.
    Is this a bug or an undocumented valid return value for tpcall ?

  • Preventing Domain Group Policy from being applied

    How can a user prevent the domain group policy from being applied to his machine? And How can I stop users from doing that?

    Hi,
    No, group policy is processed by order, that is,  local GPO is processed first, and then domain policy is processed by order, which would overwrite settings in the earlier GPOs if there are conflict.
    If you don’t want to apply the domain policy, apply a higher precedence policy or disjoin the domain.
    Group Policy processing and precedence
    http://technet.microsoft.com/en-us/library/cc785665(v=ws.10).aspx
    Alex Zhao
    TechNet Community Support

  • Arithmetic Stacks

    My program distinguishes between the operators and operands and places them in separate stacks. If the character is an operator, I want compare its precedence to that of the operator on top of the operator stack. If the current operator has higher precedence than the one currently on top of the stack, or the stack is empty, it should be pushed onto the operator stack. If the current operator has the same or lower precedence, the operator on top of the operator stack must be evaluated next. This is done by popping that operator off the operator stack along with a pair of operands from the operand stack and writing a new line in the output table. help
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.util.Stack;
    class Prog3<T> extends MyArrayList<T> {
    // method compares operators to establish precedence
         private static int prec(char x) {
         if (x == '+' || x == '-')
              return 1;
         if (x == '*' || x == '/' || x == '%')
              return 2;
         return 0;
         public static void main (String args [])
              Stack operatorStack = new Stack();
              Stack operandStack = new Stack();
              BufferedReader keyboard = new BufferedReader (new InputStreamReader (System.in));
              String line = null;
              while (true){
                    System.out.print("Enter an expression: ");
                    try{
                          line = keyboard.readLine();
                    }catch(IOException e){}
                    for(int i=0; i < line.length(); i++){
                      if(line.charAt(i) == ' '){
                      }else if(line.charAt(i) == '/'){
                          operatorStack.push('/');
                      }else if(line.charAt(i) == '*'){
                          operatorStack.push('*');
                      }else if(line.charAt(i) == '+'){
                          operatorStack.push('+');
                      }else if(line.charAt(i) == '-'){
                          operatorStack.push('-');
                      }else if(line.charAt(i) >= 97 && line.charAt(i) <= 109){
                       operandStack.push(line.charAt(i));
                    System.out.println(operatorStack);
                    System.out.println(operandStack);
         }

    My program distinguishes between the operators and operands and places them in separate stacks.Why?
    If the character is an operator, I want compare its precedence to that of the operator on top of the operator stack.Why?
    Why aren't you using recursive descent? or a parser generator?
    Why are you implementing this technique? It's been obsolete for 40 years.

Maybe you are looking for

  • IMac 27 slow start and KPs

    Hi friends, I've got a 27 inches iMac from January 2010. In last month i'm experiencing very slow starts in first white screen. The start takes about 2 or 3 minutes. Then, in desktop, all is OK. I work very good with all programs and games. I'm not e

  • Migration from NW 7.0 to NW 7.3

    Hello, In NWDS 7.3, When I tried to Import a DC created in NW7.0 environment, It got created in WDJ Explorer with few errors. The methods like invalidate(), bind() etc were in error. These methods seem to have been deprecated in NW 7.3 The import Wiz

  • No Output/Values for valuated stock value(0VALSTCKVAL).

    Hi, I have valuated stock value(0VALSTCKVAL) in the inventory cube. This is non-cululative key figures with inflwo and outflow (0RECVS_VAL and 0ISSVS_VAL). This contains the data in the cube (atleast 0RECVS_VAL contains the data). But to surprise 0VA

  • Display resolution changes during sleep

    This does not look quite like anything I've seen here already. Mid-2010 Mac Mini, OS X 10.9.2, Acer V173 monitor with 1280 x 1024 maximum resolution, connected via Apple Mini DisplayPort to VGA adapter (because the monitor has only a VGA input). Reso

  • Mapping of any element in BPEL

    Hello Experts, Need some help on this.I am unable to understand how to map <any> element with the <any> element.In my xsd i have a input element with any any an Output element with any i am unable to map.While mapping it pops up the message as "canno