Toolbox or legacy?
-
I have read a lot of posts over the years here on CP about developers "picking the right tool for the right job" or a given technology "is just another tool in the toolbox". Often when a battle occurs in the message boards about different technologies of which is better, there is always a few of those "it is just antoher tool in the toolbox" quotes. Okay, I will flaunt my age around here and say that I have been a programmer since 1981 and have plowed over many technologies (languages, frameworks, platforms) in that time. Some were great for development in the time they were used, but when new technologies appeared that made my life easier while still providing performance and maintainability, I would work with them until comfortable and then scrap the previous technology, not just cram it in my toolbox. The only time I would use the prior technologies is when I was forced to by either an employer or legacy code I had to maintain. Currently I work in C#/.NET and do not touch any other technology from the past. If I have a new project to build it will be C#/.NET. If work would come my way requiring a past technology (such as C/C++, PHP, etc) for new development, I would not take the work. To me it is a waste of my time to work on legacy systems when there is so much work to be done in the current technology I use. Anyone else out there that just loves technology and burns their bridges to past technology to remain focused on the current technology?
Rocky <>< Latest Code Blog Post: ASP.NET HttpException - Cannot use leading "..".. Latest Tech Blog Post: Vista - Little Things
-
I have read a lot of posts over the years here on CP about developers "picking the right tool for the right job" or a given technology "is just another tool in the toolbox". Often when a battle occurs in the message boards about different technologies of which is better, there is always a few of those "it is just antoher tool in the toolbox" quotes. Okay, I will flaunt my age around here and say that I have been a programmer since 1981 and have plowed over many technologies (languages, frameworks, platforms) in that time. Some were great for development in the time they were used, but when new technologies appeared that made my life easier while still providing performance and maintainability, I would work with them until comfortable and then scrap the previous technology, not just cram it in my toolbox. The only time I would use the prior technologies is when I was forced to by either an employer or legacy code I had to maintain. Currently I work in C#/.NET and do not touch any other technology from the past. If I have a new project to build it will be C#/.NET. If work would come my way requiring a past technology (such as C/C++, PHP, etc) for new development, I would not take the work. To me it is a waste of my time to work on legacy systems when there is so much work to be done in the current technology I use. Anyone else out there that just loves technology and burns their bridges to past technology to remain focused on the current technology?
Rocky <>< Latest Code Blog Post: ASP.NET HttpException - Cannot use leading "..".. Latest Tech Blog Post: Vista - Little Things
You know, it's not always possible to be focused on current technology. Some software are built to last for decades, installed on many sites. It is not feasible to make such software make use of the latest and the greatest. Also, if you have a huge source tree for a product suite, it's generally not a smart idea to dump the code, and write it again in another language. And then we have a question of knowledge. If a shop has great C++ knowledge, and little .NET, it could be a catastrophe waiting to happen should they abandon their accumulated knowledge for the bleeding edge. This depends of course a little on the nature of the software. If you're going to build a webapp, C++ wouldn't be the best tool unless you have a really good framework for it. Personally, I can't do .NET because of hardware technical reasons. I don't lie sleepless because of that though. I like C++. :)
-- Torn from tomorrow's headlines
-
I have read a lot of posts over the years here on CP about developers "picking the right tool for the right job" or a given technology "is just another tool in the toolbox". Often when a battle occurs in the message boards about different technologies of which is better, there is always a few of those "it is just antoher tool in the toolbox" quotes. Okay, I will flaunt my age around here and say that I have been a programmer since 1981 and have plowed over many technologies (languages, frameworks, platforms) in that time. Some were great for development in the time they were used, but when new technologies appeared that made my life easier while still providing performance and maintainability, I would work with them until comfortable and then scrap the previous technology, not just cram it in my toolbox. The only time I would use the prior technologies is when I was forced to by either an employer or legacy code I had to maintain. Currently I work in C#/.NET and do not touch any other technology from the past. If I have a new project to build it will be C#/.NET. If work would come my way requiring a past technology (such as C/C++, PHP, etc) for new development, I would not take the work. To me it is a waste of my time to work on legacy systems when there is so much work to be done in the current technology I use. Anyone else out there that just loves technology and burns their bridges to past technology to remain focused on the current technology?
Rocky <>< Latest Code Blog Post: ASP.NET HttpException - Cannot use leading "..".. Latest Tech Blog Post: Vista - Little Things
Rocky Moore wrote:
Anyone else out there that just loves technology and burns their bridges to past technology to remain focused on the current technology?
No. I have a client that just resurfaced after six years. I had written an app for them in C++ to analyze switch ring failure modes on satellites. It's all C++ code. The minute they called and wanted to know if I wanted to do some more work on the project, I made sure I still had the code, etc. Who cares that it's C++? It's a great project! I was also really reluctant to move to C# because I had an automation framework in C++ that I had put a lot of work in and that I was using on every project. It wasn't until I understood C# and reflection and popped out MyXaml that I really felt I was ready to make the transition to C#. And even then, I ended up redesigning and rewriting the C# framework, resulting in this[^] before I felt I was ready to put together a large client/server system for another client. But I'm also somewhat of a loose cannon with technology. I don't buy into a technology just because it seems to be the latest fad that the geeks are drooling over. And I firmly believe in well designed frameworks to automate application building. And I believe in my own toolbox before I put faith in some else's. The only exception to that is when something is so time consuming to write that makes more sense to buy it. Marc
People are just notoriously impossible. --DavidCrow
There's NO excuse for not commenting your code. -- John Simmons / outlaw programmer
People who say that they will refactor their code later to make it "good" don't understand refactoring, nor the art and craft of programming. -- Josh Smith -
You know, it's not always possible to be focused on current technology. Some software are built to last for decades, installed on many sites. It is not feasible to make such software make use of the latest and the greatest. Also, if you have a huge source tree for a product suite, it's generally not a smart idea to dump the code, and write it again in another language. And then we have a question of knowledge. If a shop has great C++ knowledge, and little .NET, it could be a catastrophe waiting to happen should they abandon their accumulated knowledge for the bleeding edge. This depends of course a little on the nature of the software. If you're going to build a webapp, C++ wouldn't be the best tool unless you have a really good framework for it. Personally, I can't do .NET because of hardware technical reasons. I don't lie sleepless because of that though. I like C++. :)
-- Torn from tomorrow's headlines
Jörgen, I think you, me, and John Simmonns are the last bastions of C++-ness here at CP.
Software Zen:
delete this;
-
Jörgen, I think you, me, and John Simmonns are the last bastions of C++-ness here at CP.
Software Zen:
delete this;
I am a C++'er too!
-------------------------------- "All that is necessary for the forces of evil to win in the world is for enough good men to do nothing" -- Edmund Burke
-
You know, it's not always possible to be focused on current technology. Some software are built to last for decades, installed on many sites. It is not feasible to make such software make use of the latest and the greatest. Also, if you have a huge source tree for a product suite, it's generally not a smart idea to dump the code, and write it again in another language. And then we have a question of knowledge. If a shop has great C++ knowledge, and little .NET, it could be a catastrophe waiting to happen should they abandon their accumulated knowledge for the bleeding edge. This depends of course a little on the nature of the software. If you're going to build a webapp, C++ wouldn't be the best tool unless you have a really good framework for it. Personally, I can't do .NET because of hardware technical reasons. I don't lie sleepless because of that though. I like C++. :)
-- Torn from tomorrow's headlines
Joergen Sigvardsson wrote:
Some software are built to last for decades, installed on many sites. It is not feasible to make such software make use of the latest and the greatest.
5 Or if it is a man rated system. Do you want to go to a hospital whose systems are solid and proven reliable or do you want to go to one whose systems are upgraded to the latest MS coding options?
-
I have read a lot of posts over the years here on CP about developers "picking the right tool for the right job" or a given technology "is just another tool in the toolbox". Often when a battle occurs in the message boards about different technologies of which is better, there is always a few of those "it is just antoher tool in the toolbox" quotes. Okay, I will flaunt my age around here and say that I have been a programmer since 1981 and have plowed over many technologies (languages, frameworks, platforms) in that time. Some were great for development in the time they were used, but when new technologies appeared that made my life easier while still providing performance and maintainability, I would work with them until comfortable and then scrap the previous technology, not just cram it in my toolbox. The only time I would use the prior technologies is when I was forced to by either an employer or legacy code I had to maintain. Currently I work in C#/.NET and do not touch any other technology from the past. If I have a new project to build it will be C#/.NET. If work would come my way requiring a past technology (such as C/C++, PHP, etc) for new development, I would not take the work. To me it is a waste of my time to work on legacy systems when there is so much work to be done in the current technology I use. Anyone else out there that just loves technology and burns their bridges to past technology to remain focused on the current technology?
Rocky <>< Latest Code Blog Post: ASP.NET HttpException - Cannot use leading "..".. Latest Tech Blog Post: Vista - Little Things
"Those who don't know the past are doomed to repeat it."
-
Joergen Sigvardsson wrote:
Some software are built to last for decades, installed on many sites. It is not feasible to make such software make use of the latest and the greatest.
5 Or if it is a man rated system. Do you want to go to a hospital whose systems are solid and proven reliable or do you want to go to one whose systems are upgraded to the latest MS coding options?
Michael A. Barnhart wrote:
Or if it is a man rated system. Do you want to go to a hospital whose systems are solid and proven reliable or do you want to go to one whose systems are upgraded to the latest MS coding options?
Or do you want to go to one with software written in VB 3.0 running on Windows ME :)
Rocky <>< Latest Code Blog Post: ASP.NET HttpException - Cannot use leading "..".. Latest Tech Blog Post: Replacing Vista System HD & New things learned!
-
Michael A. Barnhart wrote:
Or if it is a man rated system. Do you want to go to a hospital whose systems are solid and proven reliable or do you want to go to one whose systems are upgraded to the latest MS coding options?
Or do you want to go to one with software written in VB 3.0 running on Windows ME :)
Rocky <>< Latest Code Blog Post: ASP.NET HttpException - Cannot use leading "..".. Latest Tech Blog Post: Replacing Vista System HD & New things learned!
if it works, it it has no known problems, if the customers are happy, YES!
Maximilien Lincourt Your Head A Splode - Strong Bad
-
Rocky Moore wrote:
Anyone else out there that just loves technology and burns their bridges to past technology to remain focused on the current technology?
No. I have a client that just resurfaced after six years. I had written an app for them in C++ to analyze switch ring failure modes on satellites. It's all C++ code. The minute they called and wanted to know if I wanted to do some more work on the project, I made sure I still had the code, etc. Who cares that it's C++? It's a great project! I was also really reluctant to move to C# because I had an automation framework in C++ that I had put a lot of work in and that I was using on every project. It wasn't until I understood C# and reflection and popped out MyXaml that I really felt I was ready to make the transition to C#. And even then, I ended up redesigning and rewriting the C# framework, resulting in this[^] before I felt I was ready to put together a large client/server system for another client. But I'm also somewhat of a loose cannon with technology. I don't buy into a technology just because it seems to be the latest fad that the geeks are drooling over. And I firmly believe in well designed frameworks to automate application building. And I believe in my own toolbox before I put faith in some else's. The only exception to that is when something is so time consuming to write that makes more sense to buy it. Marc
People are just notoriously impossible. --DavidCrow
There's NO excuse for not commenting your code. -- John Simmons / outlaw programmer
People who say that they will refactor their code later to make it "good" don't understand refactoring, nor the art and craft of programming. -- Josh SmithMarc Clifton wrote:
I have a client that just resurfaced after six years. I had written an app for them in C++ to analyze switch ring failure modes on satellites. It's all C++ code. The minute they called and wanted to know if I wanted to do some more work on the project, I made sure I still had the code, etc. Who cares that it's C++? It's a great project!
Well, actually, that would qualify as "legacy" applications I mentioned. I was referring to "new development".
Marc Clifton wrote:
I was also really reluctant to move to C# because I had an automation framework in C++ that I had put a lot of work in and that I was using on every project. It wasn't until I understood C# and reflection and popped out MyXaml that I really felt I was ready to make the transition to C#.
Older tools do tend to hold people to older technologies longer due to the hours already invested. At some point of time though, even those usually need to be udpated and improved. Of course it would depend on what the new technology brings with it. There is no sense in moving to a new technology for all your work until it adds enough to justify the costs. Here you do say "I really felt I was ready to make the transistion". That was the point in my post, once you are at that point and ready to move on, to not keep dragging up older technology for new development, but move on. I have worked at places that they have kept their older libraries way past their useful life and it took more work to keep using them than to just bite the bullet and move on. Some of those libraries actually hindered the market of the solution since the competition incorporating new technologies making their product much more flexible. This locked our product out of some sales since it would take quite a while to move to the technology with such a late start.
Rocky <>< Latest Code Blog Post: ASP.NET HttpException - Cannot use leading "..".. Latest Tech Blog Post: Replacing Vista System HD & New things learned!
-
if it works, it it has no known problems, if the customers are happy, YES!
Maximilien Lincourt Your Head A Splode - Strong Bad
I bet you are one of those that like to have teeth pulled without novicane :)
Rocky <>< Latest Code Blog Post: ASP.NET HttpException - Cannot use leading "..".. Latest Tech Blog Post: Replacing Vista System HD & New things learned!
-
Michael A. Barnhart wrote:
Or if it is a man rated system. Do you want to go to a hospital whose systems are solid and proven reliable or do you want to go to one whose systems are upgraded to the latest MS coding options?
Or do you want to go to one with software written in VB 3.0 running on Windows ME :)
Rocky <>< Latest Code Blog Post: ASP.NET HttpException - Cannot use leading "..".. Latest Tech Blog Post: Replacing Vista System HD & New things learned!
Rocky Moore wrote:
VB 3.0 running on Windows ME
Well, exceptions always exist. I think windows 98 would be preferable. :)
-
I have read a lot of posts over the years here on CP about developers "picking the right tool for the right job" or a given technology "is just another tool in the toolbox". Often when a battle occurs in the message boards about different technologies of which is better, there is always a few of those "it is just antoher tool in the toolbox" quotes. Okay, I will flaunt my age around here and say that I have been a programmer since 1981 and have plowed over many technologies (languages, frameworks, platforms) in that time. Some were great for development in the time they were used, but when new technologies appeared that made my life easier while still providing performance and maintainability, I would work with them until comfortable and then scrap the previous technology, not just cram it in my toolbox. The only time I would use the prior technologies is when I was forced to by either an employer or legacy code I had to maintain. Currently I work in C#/.NET and do not touch any other technology from the past. If I have a new project to build it will be C#/.NET. If work would come my way requiring a past technology (such as C/C++, PHP, etc) for new development, I would not take the work. To me it is a waste of my time to work on legacy systems when there is so much work to be done in the current technology I use. Anyone else out there that just loves technology and burns their bridges to past technology to remain focused on the current technology?
Rocky <>< Latest Code Blog Post: ASP.NET HttpException - Cannot use leading "..".. Latest Tech Blog Post: Vista - Little Things
Hello Rocky and CPians, The ability to work on the latest technology and scrap the old ones is a privileges not all of us can enjoy. This in fact, a debatable issue when we want to push new technologies on the client. Specially if he is satisfied with it "If it work don't fix it." Some consultants even use it for new potential jobs orders. I don't think it is fair though! On the other hand, some of us value the time they spent in mastering the old technology. some even are feeling that they did not get the full ROI of it yet. These are some of the issues that come to my mind when I remember the old days where I was able to live on the cutting edge with the latest technologies. The good old days. Regards Ghazi
It is Illogical to define an inventor by his invention
-
I have read a lot of posts over the years here on CP about developers "picking the right tool for the right job" or a given technology "is just another tool in the toolbox". Often when a battle occurs in the message boards about different technologies of which is better, there is always a few of those "it is just antoher tool in the toolbox" quotes. Okay, I will flaunt my age around here and say that I have been a programmer since 1981 and have plowed over many technologies (languages, frameworks, platforms) in that time. Some were great for development in the time they were used, but when new technologies appeared that made my life easier while still providing performance and maintainability, I would work with them until comfortable and then scrap the previous technology, not just cram it in my toolbox. The only time I would use the prior technologies is when I was forced to by either an employer or legacy code I had to maintain. Currently I work in C#/.NET and do not touch any other technology from the past. If I have a new project to build it will be C#/.NET. If work would come my way requiring a past technology (such as C/C++, PHP, etc) for new development, I would not take the work. To me it is a waste of my time to work on legacy systems when there is so much work to be done in the current technology I use. Anyone else out there that just loves technology and burns their bridges to past technology to remain focused on the current technology?
Rocky <>< Latest Code Blog Post: ASP.NET HttpException - Cannot use leading "..".. Latest Tech Blog Post: Vista - Little Things
You must have missed the part about "if it's the most appropriate". Of course "appropriate" is a relative term. For me, .Net is appropriate only if the task is a web app, or if the requirements state that the task must be implemented with .net. Even then, I will still select C++ over anything else, again, if given the choice. C# has no benefit over C++ where desktop apps are concerned. At work, I have to support VC6 apps, VS2005 C++/MFC apps, and I'm working on a ASP/C# web app. At home, I'll always use C++/MFC because *I'm* dictating the requirements for those applications. I'll probably always use PHP for my web stuff because ASP/C# has left a really bad taste in my mouth (of course, it might be because the IDE is a completely unstable piece of CRAP, but that's a topic for another thread).
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001 -
"Those who don't know the past are doomed to repeat it."
Actually, he's doomed to be not able to repeat it.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001 -
Marc Clifton wrote:
I have a client that just resurfaced after six years. I had written an app for them in C++ to analyze switch ring failure modes on satellites. It's all C++ code. The minute they called and wanted to know if I wanted to do some more work on the project, I made sure I still had the code, etc. Who cares that it's C++? It's a great project!
Well, actually, that would qualify as "legacy" applications I mentioned. I was referring to "new development".
Marc Clifton wrote:
I was also really reluctant to move to C# because I had an automation framework in C++ that I had put a lot of work in and that I was using on every project. It wasn't until I understood C# and reflection and popped out MyXaml that I really felt I was ready to make the transition to C#.
Older tools do tend to hold people to older technologies longer due to the hours already invested. At some point of time though, even those usually need to be udpated and improved. Of course it would depend on what the new technology brings with it. There is no sense in moving to a new technology for all your work until it adds enough to justify the costs. Here you do say "I really felt I was ready to make the transistion". That was the point in my post, once you are at that point and ready to move on, to not keep dragging up older technology for new development, but move on. I have worked at places that they have kept their older libraries way past their useful life and it took more work to keep using them than to just bite the bullet and move on. Some of those libraries actually hindered the market of the solution since the competition incorporating new technologies making their product much more flexible. This locked our product out of some sales since it would take quite a while to move to the technology with such a late start.
Rocky <>< Latest Code Blog Post: ASP.NET HttpException - Cannot use leading "..".. Latest Tech Blog Post: Replacing Vista System HD & New things learned!
Rocky Moore wrote:
I was referring to "new development".
Ah, ok, well, given that this is a seriously processor intensive app, if I were given the task today, I would definitely consider writing the core processing engine in C++ and the UI/database elements in C#. And in fact, I'm looking at making that division anyways. But no, I will NOT touch managed C++ or whatever it's called. It's going to be pure C++, pure C#, and PInvoke for the interface between the two.
Rocky Moore wrote:
There is no sense in moving to a new technology for all your work until it adds enough to justify the costs.
Exactly. Which I finally got to when a client asked me to put together a digital video distribution system that required a moderately complicated client/server architecture.
Rocky Moore wrote:
once you are at that point and ready to move on, to not keep dragging up older technology for new development, but move on.
Still though, there has to be an equally objective view of the older technologies and when they might still be appropriate.
Rocky Moore wrote:
This locked our product out of some sales since it would take quite a while to move to the technology with such a late start.
In some ways, I feel that's happening right now. Look at SQL 2005, with table domains, really cool XML support, and a slew of other features that I feel I will need to scramble on to get into Interacx to bring it up to par. Look at WPF and WF (Workflow) and how that's changing the landscape of programming. Microsoft thinks WF is going to revolutionize how applications are written, and that we'll be seeing ISV's offering workflow solutions. A bit pie in the sky, IMO, but the point is, things are changing. And the point is, in Interacx, I have my own workflow engine and now I need to look at the benefits of using Microsoft's WF. Same with WPF. I'm using MyXaml essentially for it, but what about WPF? I may be kicking and screaming about Microsoft, but if I lose sales because a developer doesn't feel comfortable with "Marc Clifton's Roll Your Own Technology", that's NOT a good thing. Decisions, decisions. :-D Marc
People are just notoriously impossible. --DavidCrow
-
You must have missed the part about "if it's the most appropriate". Of course "appropriate" is a relative term. For me, .Net is appropriate only if the task is a web app, or if the requirements state that the task must be implemented with .net. Even then, I will still select C++ over anything else, again, if given the choice. C# has no benefit over C++ where desktop apps are concerned. At work, I have to support VC6 apps, VS2005 C++/MFC apps, and I'm working on a ASP/C# web app. At home, I'll always use C++/MFC because *I'm* dictating the requirements for those applications. I'll probably always use PHP for my web stuff because ASP/C# has left a really bad taste in my mouth (of course, it might be because the IDE is a completely unstable piece of CRAP, but that's a topic for another thread).
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001John Simmons / outlaw programmer wrote:
C# has no benefit over C++ where desktop apps are concerned.
I totally disagree. C# has definite benefits. But it has some drawbacks too. Marc
People are just notoriously impossible. --DavidCrow
There's NO excuse for not commenting your code. -- John Simmons / outlaw programmer
People who say that they will refactor their code later to make it "good" don't understand refactoring, nor the art and craft of programming. -- Josh Smith -
I have read a lot of posts over the years here on CP about developers "picking the right tool for the right job" or a given technology "is just another tool in the toolbox". Often when a battle occurs in the message boards about different technologies of which is better, there is always a few of those "it is just antoher tool in the toolbox" quotes. Okay, I will flaunt my age around here and say that I have been a programmer since 1981 and have plowed over many technologies (languages, frameworks, platforms) in that time. Some were great for development in the time they were used, but when new technologies appeared that made my life easier while still providing performance and maintainability, I would work with them until comfortable and then scrap the previous technology, not just cram it in my toolbox. The only time I would use the prior technologies is when I was forced to by either an employer or legacy code I had to maintain. Currently I work in C#/.NET and do not touch any other technology from the past. If I have a new project to build it will be C#/.NET. If work would come my way requiring a past technology (such as C/C++, PHP, etc) for new development, I would not take the work. To me it is a waste of my time to work on legacy systems when there is so much work to be done in the current technology I use. Anyone else out there that just loves technology and burns their bridges to past technology to remain focused on the current technology?
Rocky <>< Latest Code Blog Post: ASP.NET HttpException - Cannot use leading "..".. Latest Tech Blog Post: Vista - Little Things
Rocky Moore wrote:
To me it is a waste of my time to work on legacy systems when there is so much work to be done in the current technology I use.
that leaves more for the rest of us. thanks.
Rocky Moore wrote:
Currently I work in C#/.NET and do not touch any other technology from the past.
no SQL, HTML, JScript ? -- modified at 10:47 Sunday 5th November, 2006
-
I have read a lot of posts over the years here on CP about developers "picking the right tool for the right job" or a given technology "is just another tool in the toolbox". Often when a battle occurs in the message boards about different technologies of which is better, there is always a few of those "it is just antoher tool in the toolbox" quotes. Okay, I will flaunt my age around here and say that I have been a programmer since 1981 and have plowed over many technologies (languages, frameworks, platforms) in that time. Some were great for development in the time they were used, but when new technologies appeared that made my life easier while still providing performance and maintainability, I would work with them until comfortable and then scrap the previous technology, not just cram it in my toolbox. The only time I would use the prior technologies is when I was forced to by either an employer or legacy code I had to maintain. Currently I work in C#/.NET and do not touch any other technology from the past. If I have a new project to build it will be C#/.NET. If work would come my way requiring a past technology (such as C/C++, PHP, etc) for new development, I would not take the work. To me it is a waste of my time to work on legacy systems when there is so much work to be done in the current technology I use. Anyone else out there that just loves technology and burns their bridges to past technology to remain focused on the current technology?
Rocky <>< Latest Code Blog Post: ASP.NET HttpException - Cannot use leading "..".. Latest Tech Blog Post: Vista - Little Things
To me, the dividing line these days is not "new technology or old", it's whether I'm developing a web site or a desktop app. My biggest beef with web development is dealing with a stateless protocol that was never intended to be a software development environment, and the clumsy UI that results. However, if web stuff is what I'm doing then that's the limitations I'm faced with. In such scenarios, C# & .NET shines. It's not a great programming experience, but it definitely sucks less than older web technologies. If I'm writing desktop apps, services, etc. then C++ is my weapon of choice. It's a language that doesn't say no. I have complete control over all aspects of the computer, and I don't have to develop a UI with one hand tied behind my back because of HTTP. I hope that one day the industry will shift to a kind of full powered desktop app that's completely tied in to the web, but one that's not developed within the context of a web browser. We really are working with one hand tied behind our back, and it's not because we don't have the technology to do better. It's because HTTP is "a standard" to which everyone develops, and no one has been successful in promoting a better one. The truth of the matter is that HTTP is "old technology." It was intended as a method of displaying and linking text on the Internet and was fine for its day, but it's really showing its age and limitations today. In other words, you're trying to write programs based on something worse than DOS and about as ancient. However, since many people learned to "program" based on the web browser experience, it's all they know. Consequently, they consider anything which came before to be inferior - the myopia typically associated with the arrogance of youth. Everything new is good. Everything old should be discarded. C++ can be tedious and terribly verbose at times, and it makes no sense at all when developing a web site. So, I'll use whatever weapon I need for the battle at hand but one thing is, to me at least, painfully obvious. We need a new and better Internet enabled development paradigm. Not because new is good and old is bad, but because developing software based on HTTP is a joke.
Author of The Career Programmer and Unite the Tribes
-
I have read a lot of posts over the years here on CP about developers "picking the right tool for the right job" or a given technology "is just another tool in the toolbox". Often when a battle occurs in the message boards about different technologies of which is better, there is always a few of those "it is just antoher tool in the toolbox" quotes. Okay, I will flaunt my age around here and say that I have been a programmer since 1981 and have plowed over many technologies (languages, frameworks, platforms) in that time. Some were great for development in the time they were used, but when new technologies appeared that made my life easier while still providing performance and maintainability, I would work with them until comfortable and then scrap the previous technology, not just cram it in my toolbox. The only time I would use the prior technologies is when I was forced to by either an employer or legacy code I had to maintain. Currently I work in C#/.NET and do not touch any other technology from the past. If I have a new project to build it will be C#/.NET. If work would come my way requiring a past technology (such as C/C++, PHP, etc) for new development, I would not take the work. To me it is a waste of my time to work on legacy systems when there is so much work to be done in the current technology I use. Anyone else out there that just loves technology and burns their bridges to past technology to remain focused on the current technology?
Rocky <>< Latest Code Blog Post: ASP.NET HttpException - Cannot use leading "..".. Latest Tech Blog Post: Vista - Little Things
Rocky Moore wrote:
Anyone else out there that just loves technology and burns their bridges to past technology to remain focused on the current technology?
I love new technologies and regularly burn bridges to the past, at least related to APIs that integrate into my software. But I have yet to see anything replace C++, or even offer a valid choice. I have access to methods for using OpenGL under C#, just as I have VB, Pascal and even Fortran. But they don't compete at the same level as C++ for the project. Our user interfaces could be written using any number of choices, and there are some valid reasons for choosing other than C++, but for real-time, real-world, high resolution, computationally expensive, and IO saturated, advanced 3D engines?? That leaves C++ a clear winner.
Rocky Moore wrote:
If I have a new project to build it will be C#/.NET. If work would come my way requiring a past technology (such as C/C++, PHP, etc) for new development, I would not take the work. To me it is a waste of my time to work on legacy systems when there is so much work to be done in the current technology I use.
Well, I promise we won't come to you for advanced 3D architectures using only the best in modern advanced hardware. :) As long as your applications fit in the new languages, that is fine. Obviously your applications are simple and flexible enough to switch easily. :-D That is great also. When they write Doom4 in C#, let me know. ;)
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)