OOP Programming Question

Hi,
Im new to oop in as3.0, just finished my first oop application but there is one thing that i don't understand.
If i have movieclips on the stage and i want for ex. the display class to control there position and size then
i need to send it from the document class to the display class using a public method on the display class.
but after developing my first application i got to a point that all of my methods on the display class were public
and i used a lot of repatitive code.... ive been told that i need to avoid public methods and try and keep most of the methods in
the different classes private but the only way to do it is to find a way to pass the movie clip instance to the actual class and control it
and this way most of the methods in the class will be private and the code on the document class will be a lot more cleaner, but i dont really
know how to pass a display object to a different class and use it without passing it to a public method through the document class.

I'm relatively new to OOP programming, so please
excuse this newbish question :).
I've been assigned to take over for a co-worker that
has left for vacation. A class that he wrote is
partially implemented, so I'm supposed to finish it
up.
One class in particular, his constructor is empty.That's fine, if that's what makes sense. I'd have one constructor that set all the private data members. Other constructors would call it using sensible defaults where needed.
If the ctor is empty and data members are null, that's very bad. An object should be 100 percent ready to go when you create it.
And to set the instance variables, the user class is
setting them directly, not through accessor methods.So the data members are public? Oh, my. Where's the encapsulation?
This seems like a bad idea, and defeats the whole
purpose of encapsulation. Indeed. Sounds like you know more than your co-worker.
I wanted to re-do some of the code, but are there any
good reasons as to why he might be doing this?If it's a DTO C-struct with no other purpose than ferrying data it might be acceptable. I would say it's not acceptable, but that's my opinion.
Saving some overhead maybe?No, the "overhead" is probably not measurable. I wouldn't optimize such a thing without data that told me it was the bottleneck, and I'd make sure that this "fix" did address the problem before I cast it in stone.
%

Similar Messages

  • Error in simple oops program

    Hi experts,
    When executing a simple oops program ..i got the following error. Please correct the code.
    "VAR" is not type-compatible with formal parameter "I_DATA".          
          CLASS main DEFINITION
    CLASS main DEFINITION.
      PUBLIC SECTION.
        "// Instance Methods ( Note we use the statement 'METHODS'
        "// to define an instance method )
        METHODS set_data IMPORTING i_data TYPE string.
        METHODS get_data RETURNING value(r_data) TYPE string.
        METHODS print_attribute IMPORTING i_data TYPE string.
        "// Instance Methods ( Note we use the statement 'CLASS-METHODS'
        "// to define a static method )
        CLASS-METHODS set_classdata IMPORTING i_data TYPE string.
        CLASS-METHODS get_classdata RETURNING value(r_data) TYPE string.
        CLASS-METHODS print_classattribute IMPORTING i_data TYPE string.
      PROTECTED SECTION.
        "// Instance Attribute ( Note we use the statement 'DATA'
        "// to define an instance attribute )
        DATA attribute TYPE string.
        "// Static Attribute ( Note we use the statement 'CLASS-DATA'
        "// to define a static attribute )
        CLASS-DATA classattribute TYPE string.
      PRIVATE SECTION.
        "// Instace event ( Note we use the statement 'EVENTS'
        "// to define aN instance event )
        EVENTS event EXPORTING value(e_data) TYPE string.
        "// Instace event ( Note we use the statement 'CLASS-EVENTS'
        "// to define a static event )
        CLASS-EVENTS classevent EXPORTING value(e_data) TYPE string.
        "// For more informations about events see the following example:
        "// ABAP Objects - Creating your First Local Class - Using Events
    ENDCLASS.                    "main DEFINITION
          CLASS main IMPLEMENTATION
    CLASS main IMPLEMENTATION.
      METHOD set_data.
        CONCATENATE 'Instance Attribute value' i_data
                                   INTO attribute SEPARATED BY space.
      ENDMETHOD.                    "set_data
      METHOD get_data.
        MOVE attribute TO r_data.
      ENDMETHOD.                    "get_data
      METHOD set_classdata.
        CONCATENATE 'Static Attribute value' i_data
                                   INTO classattribute SEPARATED BY space.
      ENDMETHOD.                    "set_classdata
      METHOD get_classdata.
        MOVE main=>classattribute TO r_data.
      ENDMETHOD.                    "get_classdata
      METHOD print_attribute.
        WRITE: i_data, /.
      ENDMETHOD.                    "print_attribute
      METHOD print_classattribute.
        WRITE: i_data, /.
      ENDMETHOD.                    "print_classattribute
    ENDCLASS.                    "main IMPLEMENTATION
    DATA: var type char20.
    START-OF-SELECTION.
      "// Calling a Static method (note we don't have a object )
      "// instead we use the <class name>=><method name>.
      main=>set_classdata( 'SDN' ).
      var = main=>get_classdata( ).
      "// Print the var value
      main=>print_classattribute( var ).
      DATA: object_reference TYPE REF TO main.
      CREATE OBJECT object_reference.
      "// - Calling a Instance Method( Note we have to use a object to
      "// access the insntace components of class main )
      "// - Note we're using the statment "CALL METHOD", see looking for
      "// functional & General methods for more informations
      CALL METHOD object_reference->set_data( 'BPX' ).
      var = object_reference->get_data(  ).
      object_reference->print_attribute( var ).
    Thanks in Advance.
    Regards
    Nani

    Hi Nani,
    try changing your data definition for var from CHAR20 to STRING.
    regards,
    Peter

  • Oops programming in abap

    hi,
       i need oops programming in abap where in i need only programmin and coding tecnique strictly(dont want theory)means where oops programming needs in reporting,alv and bdc ,i need only programming related material,so if any body having the connecting links or material or objects regarding the above said things kindly reply me here or by sending mail to [email protected]

    Hi ...
    Here i am sending you one Link.....Follow this link and there you can find
    theory as well as the sample code examples for every technology in ABAP.
    Go for:-  http://abapprogramming.blogspot.com/2007/10/oops-abap-2.html.
    Regards,
    Mandeep.
    Note: Plz do not forget to award points if reply is useful.

  • Using field symbols in OOPs programming...have ur points.

    Hi all,
    I want to use field symbols in OOPS programming like this...
    But the system is giving me dump....help me.
    START-OF-SELECTION.
    CREATE OBJECT OBJ.
    FIELD-SYMBOLS : <AB> TYPE ANY.
    ASSIGN OBJ TO <AB>.
    CALL METHOD <AB>->add
      EXPORTING
        a      = 4
        b      = 6
      changing
        c      = Z
    WRITE : / Z.

    check the code below
    TYPES: BEGIN OF t_struct,
             col1 TYPE i,
             col2 TYPE i,
           END OF t_struct.
    DATA: dref1 TYPE REF TO data,
          dref2 TYPE REF TO data.
    FIELD-SYMBOLS: <fs1> TYPE t_struct,
                   <fs2> TYPE i.
    CREATE DATA dref1 TYPE t_struct.
    ASSIGN dref1->* TO <fs1>.
    <fs1>-col1 = 1.
    <fs1>-col2 = 2.
    dref2 = dref1.
    ASSIGN dref2->* TO <fs2> CASTING.
    WRITE / <fs2>.
    GET REFERENCE OF <fs1>-col2 INTO dref2.
    ASSIGN dref2->* TO <fs2>.
    WRITE / <fs2>.
    reward points if helpful.........

  • Events in OOPS Programming

    Dear all,
    Can anybody tell me please which events are being used in ABAP OOPS Programming ? Please , needful reply for same....

    check these links
    http://erpgenie.com/abaptips/content/view/394/61/
    http://erpgenie.com/abaptips/content/view/395/61/
    Thanks
    Bala Duvvuri

  • Hi all problem in demo OOPS program

    I have written small abap-oops program but it is giving error that
    The line type of "OBJ" must be compatible with one of the types
    "<b>OBJ_RECORD</b>".     
    Plz help me out.     
    REPORT zkclass1.
          CLASS number1 DEFINITION
    CLASS number1 DEFINITION.
      PUBLIC SECTION.
        METHODS : constructor IMPORTING x1 TYPE i
                                        y1 TYPE i.
        METHODS : findsum EXPORTING z TYPE i.
      PRIVATE SECTION.
        DATA : x TYPE i,
               y TYPE i.
    ENDCLASS.
          CLASS number IMPLEMENTATION
    CLASS number1 IMPLEMENTATION.
      METHOD constructor.
        x = x1.
        y = y1.
      ENDMETHOD.
      METHOD findsum.
        z = x + y.
        WRITE : / z.
      ENDMETHOD.
    ENDCLASS.
    DATA : obj TYPE REF TO number1.
    DATA : z1 TYPE i.
    PARAMETERS : s_x1 type i obligatory.
    PARAMETERS : s_y1 type i obligatory.
    START-OF-SELECTION.
      CREATE OBJECT obj EXPORTING x1 = s_x1
                                  y1 = s_y1.
      CALL METHOD OF OBJ -> FINDSUM EXPORTING x1 = s_x1
                                              y1 = s_y1.

    Hi,
    Try this way.
    * CLASS number1 DEFINITION
    CLASS number1 DEFINITION.
      PUBLIC SECTION.
        METHODS : constructor IMPORTING x1 TYPE i
                                        y1 TYPE i.
        METHODS : findsum EXPORTING z TYPE i
                                    y1 type i. "Changed
      PRIVATE SECTION.
        DATA : x TYPE i,
        y TYPE i.
    ENDCLASS.
    * CLASS number IMPLEMENTATION
    CLASS number1 IMPLEMENTATION.
      METHOD constructor.
        x = x1.
        y = y1.
      ENDMETHOD.
      METHOD findsum.
        z = x + y.
        y1 = me->y. "Changed
        WRITE : / z.
      ENDMETHOD.
    ENDCLASS.
    DATA : obj TYPE REF TO number1.
    DATA : z1 TYPE i.
    PARAMETERS : s_x1 TYPE i OBLIGATORY.
    PARAMETERS : s_y1 TYPE i OBLIGATORY.
    START-OF-SELECTION.
      CREATE OBJECT obj EXPORTING x1 = s_x1
                                  y1 = s_y1.
    "Use This way here.
      CALL METHOD obj->findsum IMPORTING z = s_x1
                                         y1 = s_y1.
    " Don't use this here.                       
    *CALL METHOD OF OBJ -> FINDSUM EXPORTING x1 = s_x1
    *y1 = s_y1.                          " 'OF' is used for OLE Objects
    Regards.
    Marcelo Ramos

  • I have a programming question

    Hi
    I have a programming question here. I spent a lot of time doing it, but I still can't get it. Here is the question :
    Write a method called countTo that takes one integer as a parameter and prints a
    comma-separated list of the numbers from 1 to the value of the parameter, or an
    appropriate error message if the parameter is less than one. In either case (if a list
    of numbers is printed, or an error message is printed), after printing, the cursor
    should be advanced to the next line.
    For example, if the parameter has a value of 1, the method should just print the
    the value 1 to the screen followed by a new-line character. If parameter has a value
    of 5, the method should print the following (exactly as shown, make sure there is
    no comma after the last value, and that all values are on one line with no spaces
    between them):
    1,2,3,4,5
    This method should only print to the screen, and should not return a value.

    I have a programming question here. I spent a lot of
    time doing it, but I still can't get it. Please post what you have done so far.

  • Misc Basic PL/SQL Application Design/Programming Questions 101 (101.1)

    ---****** background for all these questions is at bottom of this post:
    Question 1:
    I read a little on the in and out parameters and that IN is "by reference" and OUT and IN-OUT are by value. To me "by reference" means "pointer" as in C programming. So it seems to me that I could call a function with an IN parameter and NOT put it on the right side of an assignment statement. In other words, I'm calling my function
    get_something(IN p_test1 varchar2) return varchar2;
    from SP1 which has a variable named V_TEST1.
    So.... can I do this? (method A):
    get_something(V_TEST1);
    or do I have to do this (method B):
    V_TEST1 := get_something(V_TEST1);
    Also, although this may muddy the thread (we'll see), it seems to me that IN, since its by reference, will always be more efficient. I will have many concurrent users using this program: should this affect my thinking on the above question?
    -- ******* background *******
    So Far:<< I've read and am reading all over the net, read and reading oracle books from oracle (have a full safari account), reading Feurstein's tome, have read the faq's here.
    Situation Bottom Line:<< Have an enormous amount to do in a very little time. Lots riding on this. Any and all pointers will be appreciated. After we get to some undetermined point I can re-do this venture as a pl/sql faq and submit it for posting (y'alls call). Some questions may be hare brained just because I'm freaking out a little bit.
    Situation (Long Version):<< Writing a pl/sql backend to MS Reporting Services front end. Just started doing pl/sql about 2 months ago. Took me forever to find out about ref-cursor as the pipe between oracle and all client applications. I have now created a package. I've been programming for 20 years in many languages, but brand new to pl/sql. However, pl/sql sql has freed me from myriad of limitations in MS RS's. My program is starting to get big (for me -- I do a lot in a little) pks is currently 900 lines with 15 functions so far. Currently SP (pls) is back up to 800 lines. I get stuff working in the sp then turn it into a function and move it to the package.
    What does application do?:<<<< Back End for MS Reporting Services Web front end. It will be a very controlled "ad-hoc" (or the illusion of ad-hoc) web interface. All sql queries are built at run-time and executed via "open ref cusor for -- sql statement -- end;" data returned via OUT ref_cursor. Goal is to have almost 100% of functionality in a package. Calling SP will be minimalist. Reporting Services calls the SP, passes X number of parameters, and gets the ref_cursor back.
    Oracle Version: 10.2 (moving to 11g in the next 3 months).Environment: Huge DW in a massively shared environment. Everything is locked down and requires a formal request. I had to have my authenticated for a couple dbms system packages just to starting simple pl/sql programs.

    Brad Bueche wrote:
    Question 1:
    I read a little on the in and out parameters and that IN is "by reference" and OUT and IN-OUT are by value. To me "by reference" means "pointer" as in C programming. So it seems to me that I could call a function with an IN parameter and NOT put it on the right side of an assignment statement. The IN parameter is not passing by reference. It is passing by value. This means variable/value of the caller used as parameter, is copied to the (pushed) stack of code unit called.
    An OUT parameter means that the value is copied from the called unit's stack to the caller (and the current value of the caller's variable is overwritten).
    To pass by reference, the NOCOPY clause need to be used. Note that is not an explicit compile instruction. The PL/SQL engine could very well decide to pass by value and not reference instead (depending on the data type used).
    Note that the ref cursor data type and the LOB data types are already pointers. In which case these are not passed reference as they are already references.
    The NOCOPY clause only make sense for large varchar2 variables (these can be up to 32KB in PL/SQL) and for collection/array data type variables.
    As for optimising PL/SQL code - there are a number of approaches (and not just passing by reference). Deterministic functions can be defined. PL/SQL code can be written (as pipelined tables) to run in parallel using the default Oracle Parallel Query feature. PL/SQL can be manually parallelised. Context switches to the SQL engine can be minimised using bulk processing. Etc.
    Much of the performance will however come down to 2 basic issues. How well the data structures being processed are designed. How well the code itself is modularised and written.

  • XML BURSTING PROGRAM QUESTION

    Hello All,
    I have customized an oracle application program with xml publisher.The program prints the report in PDF format.
    My questions is where this output copied in the server .I am not able to find the pdf report in $APPLCSF/out/.
    Do i need to use XML bursting program to achieve this?If yes i am new to xml coding can anyone help in creating busting control file.
    My object is to print the pdf report to unix server directory
    THanks

    Pl post details of OS, database and EBS versions.
    >
    My questions is where this output copied in the server .I am not able to find the pdf report in $APPLCSF/out/.
    >
    The xml and PDF output of concurrent programs should be available in $APPLCSF/$APPLOUT directory.
    >
    Do i need to use XML bursting program to achieve this?If yes i am new to xml coding can anyone help in creating busting control file.
    >
    Pl see if these links can help
    http://blogs.oracle.com/xmlpublisher/2007/04/bursting_with_bip.html
    http://blogs.oracle.com/xmlpublisher/2007/04/e_business_suite_bursting.html
    >
    My object is to print the pdf report to unix server directory
    >
    Pl clarify what you mean by this.
    HTH
    Srini

  • Calendar Program Question

    Hello! Among the lab assignments I have done for my class, I have this calendar project I've been working on for a good while now. My only question is how do I set the days of the month properly with the empty columns I have encoded in the program? This is a long program and I really haven't put any time into making it look neat, so bare with me!
    What I get so far in the interaction pane is:
    March  2008
                  1  2  3
      4  5  6  7  8  9 10
    11 12 13 14 15 16 17
    18 19 20 21 22 23 24
    25 26 27 28 29 30 31
    and what I'm looking for, obviously, is:
    March  2008
                        1
      2  3  4  5  6  7  8
      9 10 11 12 13 14 15
    16 17 18 19 20 21 22
    23 24 25 26 27 28 29
    30 31> Sometimes I over look something minor, but I'm stumped and this is the ONLY thing I have to do to finish this project!
    /* Calendar Program that displays the days of the
    * month between January 1800 to December 2099
    import javax.swing.JOptionPane;
    public class CalendarProgram
      public static void main(String[] args)
        String monthStr, yearStr, displayStr;
        int year, firstTwoYear, lastTwoYear;
        int daysinMonth = 0, dayofWeek = 0;
        int firstDayofMonth = 1;
        //asks user for input, and then checks if monthStr matches with the user, then displays it.
        monthStr = JOptionPane.showInputDialog(null, "Please enter the month (e.g. January):");
        if(monthStr.equals("January"))
            displayStr = monthStr;     
        else    
        if(monthStr.equals("February"))
            displayStr = monthStr;
        else
        if(monthStr.equals("March"))
            displayStr = monthStr;
        else
        if(monthStr.equals("April"))        
            displayStr = monthStr;
        else
        if(monthStr.equals("May"))
            displayStr = monthStr;
        else
        if(monthStr.equals("June"))
            displayStr = monthStr;
        else
        if(monthStr.equals("July"))
            displayStr = monthStr;
        else
        if(monthStr.equals("August"))
            displayStr = monthStr;
        else
        if(monthStr.equals("September"))
            displayStr = monthStr;
        else
        if(monthStr.equals("October"))
            displayStr = monthStr;
        else
        if(monthStr.equals("November"))
            displayStr = monthStr;
        else
        if(monthStr.equals("December"))
            displayStr = monthStr;
        //asks for the year from user
        yearStr = JOptionPane.showInputDialog(null, "Please enter the year between 1800 and 2099:");
        year = Integer.parseInt(yearStr);    
        //displayStr that displays the user's month and year.
        displayStr = monthStr + "  " + yearStr + "\n";
        System.out.print(displayStr);
        //computation of the first two digits and last two digits of the year.
        firstTwoYear = year / 100;
        lastTwoYear = year % 100;
        //HUGE computation to check the dayofWeek variable. This should compute where the first day of the month will display on the calendar.
        if ((lastTwoYear >= 0) && (lastTwoYear <= 99))
         dayofWeek = lastTwoYear * (1/4);
        if (firstTwoYear == 18)
          dayofWeek = dayofWeek + 2;
        else if (firstTwoYear == 19)
          dayofWeek = dayofWeek;
        else if (firstTwoYear == 20)
          dayofWeek = dayofWeek + 6;
        //Checks to see if a given year has a leap year or not.
        boolean leapYear =
          (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
        if(monthStr.equals("January"))
          daysinMonth = 31;
          if(leapYear)
             dayofWeek = dayofWeek + 6;
           else
             dayofWeek = dayofWeek + 1;
        else    
        if(monthStr.equals("February"))
           if(leapYear)
             dayofWeek = dayofWeek + 3;
             daysinMonth = 29;
           else
             dayofWeek = dayofWeek + 4;
             daysinMonth = 28;
        else
        if(monthStr.equals("March"))
             dayofWeek = dayofWeek + 4;
             daysinMonth = 31;
        else
        if(monthStr.equals("April"))
             dayofWeek = dayofWeek;
             daysinMonth = 30;
        else
        if(monthStr.equals("May"))
             dayofWeek = dayofWeek + 2;
             daysinMonth = 31;
        else
        if(monthStr.equals("June"))
             dayofWeek = dayofWeek + 5;
             daysinMonth = 30;
        else
        if(monthStr.equals("July"))
              dayofWeek = dayofWeek;
              daysinMonth = 31;
        else
        if(monthStr.equals("August"))
              dayofWeek = dayofWeek + 3;
              daysinMonth = 31;
        else
        if(monthStr.equals("September"))
              dayofWeek = dayofWeek + 6;
              daysinMonth = 30;
        else
        if(monthStr.equals("October"))
              dayofWeek = dayofWeek + 1;
              daysinMonth = 31;
        else
        if(monthStr.equals("November"))
              dayofWeek = dayofWeek + 4;
              daysinMonth = 30;
        else
        if(monthStr.equals("December"))
              dayofWeek = dayofWeek + 6;
              daysinMonth = 31;
        dayofWeek = dayofWeek + firstDayofMonth;
        dayofWeek = dayofWeek % 7;
        //this checks if dayofWeek equals 0, it will be placed on the 7th column (Saturday)
        //else the dayofWeek will enter 1-6 like normally (Sunday-Friday)
        int colnum;
        if (dayofWeek == 0)
          colnum = 7;
        else
          colnum = dayofWeek;
        for(int i = 0; i < colnum; i++)
          System.out.print("   ");
        //Displays days of the month and inserts empty columns before 1st day
        for(int day = 1; day <= daysinMonth; day++)
       if (day < 10)
         System.out.print("  " + day);
       else
         System.out.print(" " + day);
       if ((colnum + day) % 7 == 0)
         System.out.println();

    Well, I could move the displayStr = monthStr into the other section of the code where the months are at, but as far as using java.util.Calendar/GregorianCalendar classes the professor made no recommendation of it (though it would be easier no doubt.) That's what he told us to use to display the month properly. I did look in the web for other examples and they did use the java.util.Calendar/GregorianCalendar classes, but I have no idea how to properly implement it. Besides, I was not asking about redundancy.
    After I made the thread, I did work on it a little bit more, and I changed:
       if ((lastTwoYear >= 0) && (lastTwoYear <= 99))
         dayofWeek = lastTwoYear * (1/4); into:
    if ((lastTwoYear >= 00) && (lastTwoYear <= 99))
         dayofWeek = (int) (lastTwoYear * .25);The year 2008 was properly displaying everything on the correct dates, but the other years are off by a few days. So now its either the computation in the long sequence of dayofWeek variable, or (what the professor mentioned in the assignment) it could be:
         loop (for the number of days in the month)
           displayStr = displayStr + <digit in field width of 3>
           if last digit in row, then append �\n� to displayStr}The whole loop, including the "append "\n" to displayStr" doesn't make much sense. So that could be where I'm having problems.

  • Please answer a programming question for an admin

    I'm not a programmer (although my interest is growing), so I can't answer this question in a discussion regarding how Win32API w/OLE and COM is SO much better than programming for Unix/OS X applications.
    The original discussion was in regards to OS X's superior Unix based security, he devolved to this. Having only begun my venture into programming, his questions are a little above my head at this point. I'm also interested (as an amature programmer), how this would be accomplished in OS X/Unix.
    Thanks in advance.
    Here's his position:
    *(1st entry)*
    I have unsed Windows and many flavors of Unix and I have written programs in Assembler, Fortran, Pascal, Cobol, RPG, Smalltak, Basic, PowerBuilder, Delphi, C, C++, C#, Java, and Perl, and I have been programming for over 20 years, so I do have extensive knowledge about programming.
    So I have one question for you:
    If you had to build a business application that has to allow users to, spell and grammer check, and perform financial calculations, and render the HTML, how would you compare the effort to do this in Windows versus that in Linux, AIX, Solaris or any other Unix operating system?
    I can make this business application have these features in ONE DAY on Windows, because COM and OLE lets me, use Word to spell and grammer check, Excel to do the financial calculations, and IE to render the HTML!
    I make my living building complex customized business software, and Windows allow me to build these applications by myself in weeks, when it would take me and a team of programmers months to do these same things in Unix because of the lack of an the Win32 API, COM, and OLE, or I would have to BUY third party libraries that did these things, and deal with the licensing, versioning, and vendor problems that go with them, and none of those third party librabries would be close to Word, Excel, and IE in CAPABILITY!
    HONESTLY tell me and others reading this thread how you would go about create the customized business application I described above by yourself in a Unix instead of Windows, and tell us how many MONTHS or YEARS it would take you, or how you would have to BUY some other third party libraries to do what Word, Excel, and IE!
    Anyone who thinks a Unix has more CAPABILITIES than Windows, has never used Win32API/COM/OLE/.Net, and does not build customized complex business software for a living, because we people that do are the reason that you find some much customized business desktop software for Windows, and so little for any Unix.
    I have nothing against Unix, and it is great for simple business tasked server software, but for complex business tasked desktop software Windows with Win32API/COM/OLE/.Net wins hands down!
    *(2nd Entry)*
    A System administrators view of an operating system and an application developers view are entirely different, and the Win32API/COM/OLE/.NET simply make my job so much easier, and you simply don't understand because you do not have to deal with the "dirty' details of making what a user wants, which is why your definition of "integration" and mines are totally different!
    With the spell check you talked about, how will you keep in in synch with the dictionary in Word where the user is constantly adding and removing words?
    No, you would have the user to have to maintain two different spell check dictionaries, and you would totally ignore the grammer check requirement!
    Cutting and pasting data between applications is simple integration, and not the complex type that I am talking about.
    Can you make your application display and use the MacGourmet menus appear in its own window, and to access and use the MacGourmet functionality (ie. search for a recipe) in its own window?
    Give me one example of a Unix application that can display the menus of another application, yet alone control its features!
    Of course you can't, because you need COM and OLE!
    I am quite familiar with different flavors of Unix, but those operating systems do not have the rich API and program integration features namely COM and OLE that Windows has, because it violates the Unix idea of security by process isolation!
    Yes that idea of process isolation keeps the operating system safe from malicious code in applications and from one application taking the others down, but you lose the power of programs working together, and you simply cannot build the type of customized business applications that I build by myself, without reinventing the wheel over and over and without having a large team with lots of programmers.
    For example, my customers and millions of others spend all day working in Word and Excel, and the Windows idea that I can transparently integrate my complex business applications right in Word and Excel menu, and into their templates and macros, is why third party developers like me prefer Windows over Unix, regardless of how much better security in Unix is.
    Do not get me wrong, Java improves business application development on Unix, but unfortuantely it is not feasable to rewrite ever legacy application in Java, and Java does not integrate well with other programming languages.
    I used to code business application for both IBM MVS and Sun Solaris, and I never want to go back to those "bad" old days again, once I took the time to learn how to PROPERLY code using Win32API/COM/OLE/.NET!

    At risk of feeding the troll I'll wander in here:
    NOTE: Since this is an Apple programming boards and I have limited experience programming on traditional Unix systems (and most of that in college) I will confine my answers to the area I know.
    If you had to build a business application that has to allow users to, spell and grammer check, and perform financial calculations, and render the HTML, how would you compare the effort to do this in Windows versus that in Linux, AIX, Solaris or any other Unix operating system?
    I can make this business application have these features in ONE DAY on Windows, because COM and OLE lets me, use Word to spell and grammer check, Excel to do the financial calculations, and IE to render the HTML!
    Note that this scenario assumes the user has Microsoft office installed. The person argues that they don't have to purchase libraries to program but what they are effectively doing is simply transferring that cost to user. I don't have to purchase libraries but everyone of my users needs to. Good for you, very good for Microsoft but bad for your customer - IMHO. OK, I know "But all Windows business users have Office installed already." When it comes free with the system then I'll retract my objection.
    Under OS X and Cocoa many of these functions are intrinsic to the system layer and do not require any applications to be installed. Using Cocoa you can write a simple Word processor that has rulers, full font manipulation (including kerning, spacing and leading), Document Save and Load, Printing, Export to PDF as well as spell-checking in under 10 lines of actual code. Adding a custom file type and icon for full system integration will add another 5 minutes to your programing.
    In case you think I'm blowing smoke here is a tutorial from 2002 (yes, this has been possible for over 5 years) outlining the 8 line Word Processor build in Cocoa. http://www.stone.com/TheCocoa_Files/What_s_sofunny.html
    And yes, Cocoa also includes Webkit so I can add full HTML rendering by dragging in a WebKit window to my user interface. For an experienced Cocoa programmer this certainly sounds like less than a day of programming - in fact it sounds like a good tutorial for a middle-experienced training day or 2 day class in Cocoa.
    I won't include the link to the 1 line web browser you can build in Cocoa using Webkit because it's shorter than the description. Feel free to search for it if you want to.
    HONESTLY tell me and others reading this thread how you would go about create the customized business application I described above by yourself in a Unix instead of Windows, and tell us how many MONTHS or YEARS it would take you, or how you would have to BUY some other third party libraries to do what Word, Excel, and IE!
    BUT this is all done from the stock system that is on every OS X computer not simply those with Office installed. Obviously you'd need to add some features that were more complicated than this - because any halfway decent programmer could turn this stuff out - and polish takes a while but to meet the requirements of the challenge it would take 2 days tops.
    Is every *nix programming environment like this? I don't know I can only answer for the system that I have experience with and is the concern of this board. If you really have questions regarding *nix programming then I suggest you find an appropriate board and troll^H^H^H^H^H ask there.
    If you're ever serious about programming on the Mac feel free to stop by and actually take a look at it. I think you'll be surprised.
    =Tod

  • Apple iPod Nano replacement program - question

    Hello, Apple community,
    I have a question about the new replacement program of the iPod nano 1st gen.
    The program doesn't state whether or not you get a refund or a new iPod nano (the small squared once with touch screen).
    The program says that you'll get a replacement iPod Nano, but isn't very specific if it is the new generation.
    I apologise for any spelling mistakes and such.
    Thank you for any answer,
    Pool313

    Hi lindsayfromspencerport,
    I can say it is not a scam - Apple is definitely replacing the iPods.  Once I read the article and went to apple.com, that proved it.  Apple.com would never risk another class action lawsuit over this iPod.
    My First Generation iPod was given to me at work for being the winner of a give-away drawing and about a year or so ago it overheated and erased all the info on the iPod.  Now it will only charge and drain the battery.  It no longer allows me to store any thing on it.
    I am glad that Apple is doing this exchange.  I thought I was just out of luck and was glad I had not paid full price for it.  I love my Nano and used it constantly!!!
    Just send your's in using the box and label they send you and give them 6 weeks like the apple.com website says, Apple will make good on their product.  Millions of people don't stand in line and wait weeks/months for their new products to arrive for no reason, trust me.  Oh, by the way, I know this for sure.....I work for a wireless phone service that has been dealing with Apple for Yearsssssssssssss.....and every year the same thing.  People will give anything to get a product with that apple on it. 
    Knightmanxx

  • Java Programming Question

    Hi,Everybody:
    I have a question about Java programming. If I want to write a java class code called if.java like below, how should I do to make it pass the java compiler and make it work. I know the words "if" and "for" are reserved words. I just try to figure it out that is it possible??? Do I need to create my own java compiler or recompiler?
    public class if
    public if() { }
    public static for test()
    return new for();
    public class for
    public for() { System.out.println("for class constructor"); }
    }

    I don't think you can bypass the compiler's rejection of this. There is little point to naming the classes after keywords. Not sure if it's case sensitive though, so maybe "If" or "For"? Otherwise, try "if_" or "for_"

  • Audio Programming Questions...

    Hi everyone,
    I am very new with audio programming with Java and I have a couple of questions...
    (1) How can I specify a Line from which I can capture audio signal. I want to capture signal from a MICROPHONE and then process the signal (with a FFT function). I tried to use Port (instead of DataLine) and I managed to get the specific port (Port.MICROPHONE) but it seems that port has no function to read from the line. Therefore I assumed that the only way to capture and process audio signal is through DataLine. However I cannot specify the line. How can I do that???
    (2) Is it possible to capture and process audio signal through Port??? I mean can I read bytes from a audio stream and write it to a TargetDataLine???

    Hello!
    There is a Java Sound mailing list. You would get more response from those subscribers. You can join it from here: http://java.sun.com/products/java-media/sound/list.html
    Hope that is helpful.
    Regards,
    Steev.

  • HOW TO PREPARE TECH SPEC FOR OOPS PROGRAM

    Hi..
    This is Sri .I Created a Report program in oops. can any one help how to prepare tech spec for this oops report,,can i need to mention Classes ,Methods, ref-classes,screens in preparation of Spec..
    Thanks in advance..I surly reward with points if my prob is solved,,,,,,
    SRI

    Hi Sri,
    Tech Spec is nothing but a document containing some technical information about
    the object you have developed/coded. Normally this should be prepared before you code and not the other way round.
    You should mention relevant classes created / used. If you have created / added some class components like attributes/methods/events/interfaces mention that too.
    You can also mention functionality to be coded in methods of the class. Please understand it is not a replica of your program but some useful technical info that the coder will use to code and later people will use for maintainance purpose.
    It is better if you have some defined template for the tech spec, else just put the info in a structured and readable manner.
    Regards
    Indrajit.

Maybe you are looking for

  • BPM and Mobile Integration

    Hello,    I want to know if it is possible to access a task from a blackberry. I tried it but I could not, is there a way for doing this? Thanks & Regards SU

  • Clarification needed : status field in ME22N

    Hi all, I had problem if i send PO Output to an email. <b><b>ME22N->messages->..i got status Yellow light</b> If i check the same in scot Utilities->overview of send orders-> if i execute that screen , i got message in status text like "Message canno

  • Possible values for WDY_ATTRIBUTE_FORMAT_PROP-DATE_FORMAT?

    Hi, where can I lookup possible values for formatting a date typed field using WDY_ATTRIBUTE_FORMAT_PROP-DATE_FORMAT? I did not find any documentation so far.

  • Scale type or objects not working

    Using the shift key to constrain proportions on type or objects doen't seem to work for me. I'm using version 13.0.2. It doesn't work using the scale tool or by dragging endpoints. Am I missing something here? Michael

  • Some websites show my location wrong zip code, how do I change zip code?

    At some websites firefox shows me as located at a wrong zip code. Where does it get this information and how do I change it so it comes up with the correct zip code? Checked these: http://whatismyipaddress.com/ http://browserspy.dk/geolocation.php Fi