This thread is meant mostly for professional programmers
who do projects on deadlines(unlike me & other monday night
quarterbacks). but anybody interested is welcome to give opinions.
Well it has been a few years since C++ has become a mainstream
cutting edge language of choice(not for me though) for programmers.
i am interested and curious to know from professional
programmers , if the language has delivered on its promises
reusibility of code(This is the main C++ feature.through your personal experience, are you creating reusable codes on a regular basis or is it ferrari with no wheels?).
building software faster.& building them to run fast.
bulid it better.
standardized interchangable modules.
less code maintenace and simpler sequential codes.
,,,,,,,,few more that you can add.
are you more of a object object oriented programmer
or rather object based programmer?
has C++ made your life easier as a programmer?
has C++ made your boss,s life easier?
please feel free to provide me with your input.
All a question of definition.
Object Orientation was "invented" as a terminology. It put together names for a series of more or less common practices that had been practiced for many years.
Fed up with having to write debugging routines into all of my programs, I wrote a series of routines which I could call from anywhere in my programs to log something happening. Each routine wrote the Date and Time, a passed string, and a passed value of various types.
I put all of these routines into a library, and once linked could, at any point in my program say...
... of course, this was in the late '70's and I was writing in Fortran, but conceptually, the debugging routine library was "an object", it's functions, "subroutines" members, and was totally, and frequently reusable.
I = 1
X = 3.14159
CALL AXWDEBUGI("IN ROUTINE ADD VALUE : ", I)
CALL AXWDEBUGX("IN ROUTINE ADD VALUE : ", X)
Object Oriented languages made compiler level support for this kind of thing easier, but programmers are, by nature, as lazy as hell, and had been doing that kind of thing for years before the current labels were devised.
I use the OO extensions whenever it looks likely to save me time/work later.
I don't know if that helps you or not, but it is what I do.
I don't know. I'd have to disagree with OOP being interchangeable and portable. I agree that it makes development quicker in some cases, and easier to maintain; however, OOP does not change the quality of the work at all. Also, in reality, OOP (depending on the *extent* that you use it) cannot always be used in every instance of a project.
"Object Orientation was "invented" as a terminology. It put together names for a series of more or less common practices that had been practiced for many years."
DLL i think with my limited knowledge is a prime example
of reusibility.(ofcourse with its limitations works only
in C programs and ,,,,,,,,)
your take on it.
Yes thats what i am interested.
how programmers in reality implement the language
and deal with its features , and not what C++
(OOP environment) claims to provide.
Are most programmers (not the rare gifted)able to create a library of reusable classes(objects)?
And if correct. do they have to modify these prepacked
components again in order to use em with a new application?
doesnt it defeat the original purpose of the language?
and thats if they are able to find a usage for them which in
itself is a time consuming process.
these all are asked not to flame anyone but to enlighten
myself and if possible others.
*by the smalltalk was the first OOP enabled language.
what year was that?60,s?
In the company where I work we use OOP a lot. Mainly because it does make developing software much quicker and increases the quality of the software. Since most software we create is for producers of consumer electronics, it means the software must usually be developed in a very short time.
In consumer electronics producers work with families of products. Each family is based on a product independent architecture. Because of such generic architectures, software for such products can be developed fast by making just small adaptation to the architectures for the specific device. This means usually adding a product specific layer onto the generic architecture. The product specific layer can contain product specific objects or, more preferred, contain generic objects, extended with specific code for the new product.
To be able to control such software development and keep a good overview of the development, OOP helps in a great way.
>has C++ made your life easier as a programmer?
Not necessarily C++, we usually use several languages. For user interfaces on the products, we usually use Java. Most products we write software for have a JVM so that applications running on the JVM can be used on other products in the same or even other families or products.
When it comes to lower level programming, C++ has made my life easier in that way that it is easier to do OOP in C++ then in C. We do use C for implementing OOP designs, but C does not offer the support C++ does. But it does not mean that C is worse for OOP, it just depends on how you want to implement the software and what C-"objects" are already available. But that is the same with C++, if you need a C++ object which you don't have, you also have to write it yourself.
>has C++ made your boss,s life easier?
Development is faster with OOP, the software is better maintainable and of higher quality. So we see a reduction of the software development costs, that does make our boss' life easier. :)
But also here, it is not necessarily C++ which made life easier. It is the OOP concept that did that and C++ is a nice tool.
Just look at the C++ infrastructure. Designed around the old C Library and the STL - all the tools necessary to build world-class applications are there.
C++ certainly lends itself to OOP by it's very design of course.
With C it was possible, C++ just made it more practical.
Management can dictate Object Descriptions easily - the programmers have a logical blueprint to look at.
If you have a button on a panel that is directly tied to the member function of a 'Door' object, it just makes all the more sense- OK!
This is why it is so popular. People just like the feel and look of it.
But I don't care what you program. Ultimately, many different programs can be written to do the very same job well, the argument becomes mostly stylistic then. I know assembly programmers that can and do write very robust programs that are a fraction the size of any C and certainly any C++ binary. Perhaps then we should working toward that goal then!!