Computer Science Canada MS Word/ Power point |
Author: | Jenkinz [ Tue Feb 14, 2006 5:40 pm ] |
Post subject: | MS Word/ Power point |
hey guys im brand new to your forums and after checking them out think you guys will be able to help me out a bit. Any help is greatly appreciated. Im doing a school project in computers and need to know what type of code was used to write microsoft word as well as power point? For word i believe it was C++ if memory serves but im not quite sure, any help on both of those programs would be greatly appreciated thanks! |
Author: | Andy [ Tue Feb 14, 2006 6:12 pm ] |
Post subject: | |
most of the stand alone applications you use are written in C/C++ |
Author: | rizzix [ Tue Feb 14, 2006 7:06 pm ] |
Post subject: | |
Are you so sure? I believe quite a few applications are written in VB or Delphi. |
Author: | Martin [ Tue Feb 14, 2006 7:12 pm ] |
Post subject: | |
Andy, Jenkinz, the grammar po. are on your back. |
Author: | Andy [ Tue Feb 14, 2006 7:22 pm ] |
Post subject: | |
rizzix wrote: Are you so sure? I believe quite a few applications are written in VB or Delphi.
even commercial software like office, firefox, photoshop, and itunes? |
Author: | Jenkinz [ Tue Feb 14, 2006 7:28 pm ] |
Post subject: | |
so power point and MS Word are both written in C++ or VB or delphi? |
Author: | rizzix [ Tue Feb 14, 2006 7:33 pm ] |
Post subject: | |
Well there are quite a few written in C, even fewer written in C++. Well it's like this: if you're going to go with OOP then you might as well go with something that is easier to maintain, something like Delphi (A pascal/BASIC based programming language). I think firefox is a blend of C++ and some platform independent technologies. =) |
Author: | md [ Tue Feb 14, 2006 7:40 pm ] |
Post subject: | |
MS for the most part uses C/C++ I'm not sure which office uses but IIRC it's mostly C. I know that much of the low level windows code is in C, knowing one of the network code coders ![]() |
Author: | Jenkinz [ Tue Feb 14, 2006 7:50 pm ] |
Post subject: | |
alright thanks alot guys been a gret help ill come here more often for advice and to help others best i can, thanks again! |
Author: | bugzpodder [ Tue Feb 14, 2006 9:35 pm ] |
Post subject: | |
office, photoshop are written in C++. http://public.research.att.com/~bs/applications.html |
Author: | rizzix [ Tue Feb 14, 2006 9:43 pm ] |
Post subject: | |
While that list is fairly accurate, it is wrong in one way: it give the wrong impression for some applications. Some of those applications he mentioned are written more in a langauge other than C++. For example OSX's Finder etc, are largely implemented in Objective-C/C with a wee bit of C++. His list give the impression that it was mainly written in C++, and Objective-C was just used as some sort of glue-code. |
Author: | rizzix [ Tue Feb 14, 2006 9:49 pm ] |
Post subject: | |
Oh and because OpenOffice.org is mainly written in C++, customizing the application to the "Look & Feel" of the operating system, is practically impossble. This is the reason, the mac port of OpenOffice.org has been discontinued. NeoOffice on the other hand which is the Java frontend to OpenOffice.org (ver 1.x), solves this issue relatively easily. ![]() |
Author: | md [ Tue Feb 14, 2006 10:58 pm ] |
Post subject: | |
rizzix wrote: Oh and because OpenOffice.org is mainly written in C++, customizing the application to the "Look & Feel" of the operating system, is practically impossble. This is the reason, the mac port of OpenOffice.org has been discontinued.
NeoOffice on the other hand which is the Java frontend to OpenOffice.org (ver 1.x), solves this issue relatively easily. ![]() "Look & feel" issues are entirely unrelated to language used. Blaming in on C++ is a waek excuse for poor planning. Of course I consider OpenOffice to be hugely bloated, but again that is not anything having to do with the language. |
Author: | Jenkinz [ Tue Feb 14, 2006 10:59 pm ] |
Post subject: | |
Quote"The original version was written in C, compiled by a proprietary C compiler I also helped write. I was the lead programmer. There were about five others by the time we shipped V1, which took about a year start to finish. My boss was Charles Simonyi, whom Google will tell you about. Best, Richard Brodie Quote" This is the email i got from Richard Brodie, the creator of Microsoft Word and Bill Gates former assistant, so as you can all see MS Word was written in C code. ![]() |
Author: | rizzix [ Wed Feb 15, 2006 12:09 am ] |
Post subject: | |
Cornflake wrote: "Look & feel" issues are entirely unrelated to language used. Blaming in on C++ is a waek excuse for poor planning. Of course I consider OpenOffice to be hugely bloated, but again that is not anything having to do with the language. C++ makes it harder to implement some of the design patterns that are developed, tested and proven, on some other Garbage Collected OOP languages. =) Besides, the overall complexity of the language adds to the complexity some of these design patterns. This makes it very unappealing to implement such patterns when coding C++. This could also mean that C++ apps are generally less likely to be well-designed.
Either way, implementing a platform specific Look and Feel in a platform independent manner, is best implemented using technologies that are not tied to the any specific platform in any direct way, such as XML, SWING, etc. This is why C++ is a poor choice -- specially for the GUI part. Had SUN opted for Java or XUL, it would have been a whole lot easier. |
Author: | md [ Wed Feb 15, 2006 2:01 am ] |
Post subject: | |
rizzix wrote: Cornflake wrote: <deletia> C++ makes it harder to implement some of the design patterns that are developed, tested and proven, on some other Garbage Collected OOP languages. =) Besides, the overall complexity of the language adds to the complexity some of these design patterns. This makes it very unappealing to implement such patterns when coding C++. This could also mean that C++ apps are generally less likely to be well-designed.** Note I use Java in because you are the java mod; and because the example you use. The same arguemnt applies equally. *Sigh* You and your Java leanings, it's like looking through the world with cherry tinted glasses. Garbage Collection is not the end all of programming. It doesn't help with not creating too many objects; really it must means you can be lazy and forget about things, and the collector will clean up your mess. The standard C++ way of doing things (which could actually be made to use garbage collection if you so wished) is not better or worse then the Java garbage collection model when it comes to interfaces. Really a good program will be keeling track of it's objects no matter how they are freed. The manner in which you do that has little or no bearing on the important design issues (though I would argue the Java way is worse). rizzix wrote: Either way, implementing a platform specific Look and Feel in a platform independent manner, is best implemented using technologies that are not tied to the any specific platform in any direct way, such as XML, SWING, etc. This is why C++ is a poor choice -- specially for the GUI part. Had SUN opted for Java or XUL, it would have been a whole lot easier.
I agree in theory. But see the thing is that people want your application to look like the other applications on the platform they are using. Which really means that the interface _is_ platform dependent. If you use QT in a gtk based desktop then it'll stand out and not fit in. Likewise using gtk on a windows platform stands out. The trick is having a consistant API across all platforms, but with different looks depending on what your running on. You point to Java and XUL; have you seen Java on linux? It looks nothing like my gtk theme. It's ugly and not at all functional! You claim that C++ make things harder then Java when there are libraries (wxWindows, among many) that are native to C or C++ and do a much better job then Java does. Now I'm sure if you try and put lots of effort into it you can get Java to look like a native app on any platform it's running on. Java is a build-once, run-everywhere language so you'd have to put all that into the code. C/C++ on the other hand can just link to the appropriate bakc end as it needs to be build for different platforms anyways. Sure you could agrue that that is another strike against C++ but I would argue that it means that different platforms can be fully taken advantage of, something Java could never do well. In any case, my point is not to bash Java (though I hate it) but to point out that interfaces are not tied to a language. Things may be different in one language from another; and you might have to actually think and do something in a way you wouldn't in any other language; but those are things that happen in all aspects of programming, not just Interface Design. Blaming the interface on the language is just saying "I was too lazy to do it right". |
Author: | rizzix [ Wed Feb 15, 2006 12:22 pm ] | ||
Post subject: | |||
Cornflake wrote: ..Garbage Collection is not the end all of programming. It doesn't help with not creating too many objects; really it must means you can be lazy and forget about things, and the collector will clean up your mess. Yes but let's take an example of simple string concatenation:
![]() Cornflake wrote: The standard C++ way of doing things (which could actually be made to use garbage collection if you so wished) is not better or worse then the Java garbage collection model when it comes to interfaces. Really a good program will be keeling track of it's objects no matter how they are freed. The manner in which you do that has little or no bearing on the important design issues (though I would argue the Java way is worse). Keeping track of memory allocation/deallocation + language complexities + design pattern complexities make it very unappealing. That's what I meant. In Java one would just have to keep their mind on the design pattern complexities. ![]() Cornflake wrote: I agree in theory. But see the thing is that people want your application to look like the other applications on the platform they are using. Which really means that the interface _is_ platform dependent. Yea... That's what I'm saying.
Cornflake wrote: If you use QT in a gtk based desktop then it'll stand out and not fit in. Likewise using gtk on a windows platform stands out. The trick is having a consistant API across all platforms, but with different looks depending on what your running on. You point to Java and XUL; have you seen Java on linux? It looks nothing like my gtk theme. It's ugly and not at all functional! You claim that C++ make things harder then Java when there are libraries (wxWindows, among many) that are native to C or C++ and do a much better job then Java does. A known bug, but fixed: http://ensode.net/java_swing_mustang_screenshots_gtk.html ![]() wxWindows is a patheticly designed GUI framework. I don't really understand why C++ programmers love to create complex frameworks. Cornflake wrote: Now I'm sure if you try and put lots of effort into it you can get Java to look like a native app on any platform it's running on. Java is a build-once, run-everywhere language so you'd have to put all that into the code. Wrong. It's just a matter of implementing a proper PLAF. SWING is "designed" from the ground up. It is not a network of patchwork. "Design" is the emphasis in the Java world. The nature of the language and it's standard API also force you into this general direction.
Cornflake wrote: C/C++ on the other hand can just link to the appropriate bakc end as it needs to be build for different platforms anyways. Sure you could agrue that that is another strike against C++ but I would argue that it means that different platforms can be fully taken advantage of, something Java could never do well. Once again this is wrong too, but it is is a common misconception amongst most C++ programmers. Java can implement platform specific functionality and it does this through design. And no it does not have a whole lot of "if" consturcts to customize it behaviour from platform to platform. JOGL is an excellent example.
Cornflake wrote: In any case, my point is not to bash Java (though I hate it) but to point out that interfaces are not tied to a language. Things may be different in one language from another; and you might have to actually think and do something in a way you wouldn't in any other language; but those are things that happen in all aspects of programming, not just Interface Design. Blaming the interface on the language is just saying "I was too lazy to do it right". If you can point me out to a single C++ based library that implements platform specific GUI for a large number of platforms, and does a decent job at that, then maybe I would agree. The way I see it right now, that although it IS possible to get things done the right way, it IS NOT happening, and as I mentioned this could be largely due to the fact that doing simple things in C++ is unnecessarily complicated -- at least in comparison to the other languages available out there.
It is a simple fact that languages that are simple in nature, make it a whole lot easier to impement complex concepts etc. On the other hand languages that are complex in nature, make this look cumbersome and difficult. When a programer has the choice of choosing a language that Just Gets Things Done, versus something that Can Get Things Done, which one is the better choice? |
Author: | wtd [ Wed Feb 15, 2006 12:28 pm ] | ||
Post subject: | |||
rizzix wrote:
![]() In theory Java needs to do the same. Java's Strings are immutable, and thus we cannot simply append and return a pointer. Nor do we want to have the garbage collector run so frequently as you're suggesting. In practice, decent compilers for both language would optimize such an expression for us. |
Author: | rizzix [ Wed Feb 15, 2006 12:30 pm ] |
Post subject: | |
Well in C++ it is copied twice, though. ![]() |
Author: | rizzix [ Wed Feb 15, 2006 12:49 pm ] |
Post subject: | |
wtd wrote: Nor do we want to have the garbage collector run so frequently as you're suggesting. I'm not suggesting anything as such.
Java has a generational garbage collector, that does a pretty decent job. I rather like things the way they are. |
Author: | md [ Thu Feb 16, 2006 12:11 am ] |
Post subject: | |
I'm not a big interface person myself so I don't know of what cross platform rools there might be. I do know however that there are many cross platform C/C++ programs out there that look great and function perfectly across many different platforms. And they aren't nearly as bloated as OpenOffice. As far as OpenOffice goes, it sucks because it is a badly designed and written program, which is independent of the language used. It could just as easily be horrible in Java. |
Author: | rizzix [ Thu Feb 16, 2006 12:37 am ] |
Post subject: | |
Cornflake wrote: I'm not a big interface person myself so I don't know of what cross platform rools there might be. I do know however that there are many cross platform C/C++ programs out there that look great and function perfectly across many different platforms. And they aren't nearly as bloated as OpenOffice. Exactly! You can't point out any. ![]() Cornflake wrote: As far as OpenOffice goes, it sucks because it is a badly designed and written program, which is independent of the language used. It could just as easily be horrible in Java. You are wrong here. It would have been less likely programmed badly in Java as compared to C++.
SWING forces MVC. SWING is modular. It would have been a prefect transition. OK if not perfect, at least fixing it would have been a hell-a-lot easier. The mac-port would have been ported. No would would have given up. Things would be great -- at least for us mac guys. And I can say this because Java apps have been ported in the past (specially those platform specific ones) and it wasn't as much a pain as it was for OpenOffice.org |
Author: | codemage [ Thu Feb 16, 2006 10:00 am ] |
Post subject: | |
I'll agree that OpenOffice doesn't compare to the quality of MS products... but bloated? The portable (USB) version is only 75MB. http://portableapps.com/apps/office/suites/portable_openoffice |
Author: | md [ Thu Feb 16, 2006 2:54 pm ] |
Post subject: | |
Open Office uses significantly more memory to run then MS Office does to do the same thing. That's why I consider it blaoted. Never mind the fact that both do far more then is needed. |