Forums before death by AOL, social media and spammers... "We can't have nice things"
|    comp.lang.c++.moderated    |    Moderated discussion of C++ superhackery    |    33,346 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 31,953 of 33,346    |
|    Fernando Cacciola to All    |
|    Re: A source for continuing C++ educatio    |
|    22 Feb 12 23:11:47    |
      From: fernando.cacciola@gmail.com              > (to /all/ readers, please share your own       > experience in having the opportunity to research and experiment with the       > company's code base)       >       I don't think I can properly stretch the importance of this and the extent of       the value added to a company when the methods, techniques, architecture,       design,       code and test environment that makes a software system are being actively       mantained up to date.              When I was an employee, a long time ago, I had the pleasure to work in a       company       that understood all that. I had the freedom to research, experiment and heavily       refactor the codebase.              To give some random examples, I'm talking about these sort of things:              * moving away from my own containers and algorithms to the STL when it first       came out, circa '98              * moving from error codes to exceptions when compilers finally implemented it       correctly              * moving from my own very complex automated memory management (with memory       pools, complicated contracts and such) to boost::shared_ptr              * moving from a classic object-oriented code base full of dynamic polimorphism       to heavy generic programming (and even meta-programming) full of *much faster*       static polymorphism.              I hope you can imagine the depth of changes, both in codebase and skillset,       these examples showcase.              Now... doing that often took as much as *months*, so the company invested *a       lot* of money on it. Not only in the implementation but also learning and       experimenting with all the new things coming out. Sometimes we just read a book       top to bottom, along a week or two (or even more), then play with the new       elements.              Was it worth it to the company?              I worked there for 8 years, and I left about 9 years ago, so there is code       originally older than 15 years back, but which evolved through all those years.              They still release a new version of the software every 12 months or so, with       new       features, bugs fixes, etc... So I would say that, YES, it was woth every penny.              IME/O, an application can only stay at the top of the game with a codebase that       old (and that one is a baby compared to many) when refactoring is seriously       integrated into the lifecycle of the application.              Ever since, now with my own company, I kept pushing for serious refactoring       whenever the "technology" evolves far enough.       Another example: for our biggest client (a codebase almost 10 years old       already), refactoring, which we did several times, involved for instance moving       critical subsystems from C# to C++/CLI when it finally came out, and these       days,       thanks to the GoingNative movement, we are moving even further down (or should       I       say up??) to C++ !!              [this company started out rejecting C++ as a development language in favor of       C#       but we've managed to show them how, why and when C++ was a better alternative,       but this is a different topic]              Best                     --       Fernando Cacciola       SciSoft Consulting, Founder       http://www.scisoft-consulting.com              --- SoupGate-Win32 v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca