Thread: FYB's Lament: the future of programming

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    pronounced 'fib' FillYourBrain's Avatar
    Join Date
    Aug 2002
    Posts
    2,297

    FYB's Lament: the future of programming

    Its been a while since I've been on cboard. Some of you may remember me. I spent a fair amount of effort in the C++ area. C++ has always been my language of choice (with a slight desire to do Java occasionally) but the world is changing, much to my chagrin.

    My current job would have been primarily java if their needs hadn't changed. To my surprise, all of a sudden I'm a web programmer. I'm being bombarded with opinions that the desktop application is dead and people are favoring web applications today. Looking around, watching Google do its thing, I'm frightened by the possibility that this opinion is in fact true.

    This is not what I want to do for the rest of my career. Now, I'm not the type to shun new technology. "Back in my day...". No! That's not what I'm saying at all. Its just that the job itself is not to my liking. I don't find it as "fun". If the desktop application is truly dead or dying, there may no longer be any room for me. I'll go the way of the COBOL programmer and disappear. But it is my hope that I've at least got a few good years left of writing real code. But I'm pessimistic.
    "You are stupid! You are stupid! Oh, and don't forget, you are STUPID!" - Dexter

  2. #2
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    Often times when you are in one sector of the industry that is the only sector you see. Thus everything you witness at home and abroad is run through that 'filter' and everything seems to revolve around it when in fact it doesn't.

    It is sort of like having a pet peeve about something. If you let it get to you eventually everything in the world will revolve around that pet peeve when 99% of what occurs has nothing to do with your pet peeve.

    I would say it might be time to branch out or perhaps start investing some time in a project at home that has nothing to do with the web. Looking at the programming world in my eyes yields a far different picture than what you have painted. Web programming is the furthest thing from what I do and concentrate on each day and the company I work for is not a web-based company.

    Thankfully life is full of variety and you can experience it by surrounding yourself with people from all walks and occupational 'fields' of life'. It is too easy to get wrapped up in one and then start to think the whole world revolves around that one field or point of view.

  3. #3
    pronounced 'fib' FillYourBrain's Avatar
    Join Date
    Aug 2002
    Posts
    2,297
    thanks for the feedback. You know its not just the web thing either though. C++ has had a major nail driven into its coffin with the way Microsoft handled .NET.

    The only post win32 windows option for C++ isnt in fact C++.

    a lot of things have happened that suck. that's all.
    "You are stupid! You are stupid! Oh, and don't forget, you are STUPID!" - Dexter

  4. #4
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    Eh. I work with C++, C++/CLI and C# almost everyday and they all have their place. I think the exclusionist crowd is starting to die down a bit and realize that each language has its place.
    C# may help you avoid the old C++ pitfalls but it also introduces a slew of its own new pitfalls. I love all 3 languages and would be fine with a job doing any of them. Is C++ better than C#? In certain areas and for certain tasks it certainly is. Is C# better than C++. In certain areas and for certain tasks it certainly is. Again I believe C++, C++/CLI, and C# will be alive for quite some time in the future. Microsoft actually did a very good job with C# and C++/CLI (once you get used to it).

    Be encouraged though that the whole world of software engineering doesn't revolve around 1 or 2 things but is composed of many thousands of different areas of interest. Unfortunately we often get caught up in company mantra's and mission statements and cultures that steer us in one direction or the other and we tend to forget about the other areas that are still alive and kicking.

  5. #5
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Welcome back, Fill. Been a while indeed.

    I'll echo Bubba's and add the following:

    The "web apps is going to kill the desktop" argument is of course only supported by those who develop for the web exclusively or almost exclusively. That alone should tell you something. It's nothing you haven't heard already: "mobile devices will deprecate the pc", "the web will kill the television", "netbooks will obsolete notebooks", "wind turbines will replace coal", ad nausea

    But things are more or less like this:

    - Software still needs to be built to support upstream and downstream web apps.

    - As long as we support our entire net experience in a fundamentally insecure 40 years old set of communications protocols and backed by a extremely slow (by several magnitudes) communications physical infrastructure, user applications will keep thriving in all areas of development and client-server architectures will keep being built to support everything (from businesses, to entire governments and even users at home).

    What we are experiencing is a boom of web development backed by technological developments in that area (notably programming languages and devices) that give the false impression of substitution. But in fact, the immense interest exists only because before there was nothing and that void is now being filled at the speed of light. And that's all there is to it.

    As for your predicament, twice in my career I experienced a similar problem. Slowly, or fast, you cannot really tell, you got sucked into web development. And when you realized it, you were doing nothing else and not really enjoying the experience. What I did on my case was put an end to it by switching jobs when I realize I wasn't allowed to go back. I did appreciate the experience though, because today I do have marginal knowledge in web development and that goes into the resume also. But my advice is that; try to sort it out with them. If you can't, start looking for a job and when you find it, quit.
    Last edited by Mario F.; 08-31-2010 at 10:22 PM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  6. #6
    the hat of redundancy hat nvoigt's Avatar
    Join Date
    Aug 2001
    Location
    Hannover, Germany
    Posts
    3,130
    >people are favoring web applications today

    Take a look at the latest hype: IPhone. It's able to display web applications and native "Apps". How many web applications and how many native apps do you have installed? I'm counting 2 web applications and 18 native apps on mine. I don't even want web applications, I'm not on a flatrate internet access with my phone provider, I want my software downloaded once and used offline. The "desktop" hardware may change, from C64 to PC to MAC to GamingConsole or to Smartphone. But native programming will always stay. There will always be at least one native application, at least until they invent the browser-over-internet. Just as likely as wireless power cords.
    hth
    -nv

    She was so Blonde, she spent 20 minutes looking at the orange juice can because it said "Concentrate."

    When in doubt, read the FAQ.
    Then ask a smart question.

  7. #7
    pronounced 'fib' FillYourBrain's Avatar
    Join Date
    Aug 2002
    Posts
    2,297
    Quote Originally Posted by Mario F. View Post
    ...twice in my career I experienced a similar problem. Slowly, or fast, you cannot really tell, you got sucked into web development. And when you realized it, you were doing nothing else and not really enjoying the experience. What I did on my case was put an end to it by switching jobs when I realize I wasn't allowed to go back....
    See, my experience is not unique to me. This is more and more common. And while it may not be legitimate to say that the desktop app is dead, it is certainly important to recognize that web apps are replacing a certain percentage of them. This changes the size of our job market wouldn't you say?
    "You are stupid! You are stupid! Oh, and don't forget, you are STUPID!" - Dexter

  8. #8
    &TH of undefined behavior Fordy's Avatar
    Join Date
    Aug 2001
    Posts
    5,793
    Quote Originally Posted by FillYourBrain View Post
    Its been a while since I've been on cboard.
    Hello!

    I guess having to fundamentally change what you do is probably more a feature of the IT industry than it is in most others. I can certainly remember DOS Game programmers grumbling about the change to DirectX (etc...) and I guess it was the same when programmers first had to come to terms with the first windowing systems.

    I've found myself doing more web-programming, but as I do what I do freelance and not as my main income I can choose the technology I use and how I do it.

    As to .NET, I like it. Those that know me know that I used to mess about with WinApi quite a bit. I recently had to rewrite a Java desktop app that pulls lots of data from numerous sources (CSV, Excel, MySQL, a nasty read only ODBC connection to an accounts app....), calculate chargeable items, create invoices and distribute them. I toyed with the idea of using C++ again but after some planning gave up as a lot of the pitfalls were too annoying to get around - restrictions on the database drivers I could use, 3 different types of string class, 2 different types of date class, lots of COM headaches...etc. So now I'm doing it in C# and its coming along fine. NET is fine with me as its has the current support to allow you what you need to do without a lot of the headaches.


    Quote Originally Posted by FillYourBrain View Post
    My current job would have been primarily java if their needs hadn't changed. To my surprise, all of a sudden I'm a web programmer. I'm being bombarded with opinions that the desktop application is dead and people are favoring web applications today. Looking around, watching Google do its thing, I'm frightened by the possibility that this opinion is in fact true.
    I think they still have a way to go until we all have just web-apps in use.

  9. #9
    pronounced 'fib' FillYourBrain's Avatar
    Join Date
    Aug 2002
    Posts
    2,297
    Bubba, you like C++/CLI huh? The way it seems to me is that Microsoft created that to pacify those of us who wanted to continue using C++ but its not necessary. I have always imagined that they would gradually fade it away in favor of C#. That's their right I suppose as it is their development environment on their operating system. And I'm not saying C# is bad. I actually like it. I just don't like that it means an end to a lot of C++ development on Windows.
    "You are stupid! You are stupid! Oh, and don't forget, you are STUPID!" - Dexter

  10. #10
    Registered User
    Join Date
    Sep 2001
    Posts
    4,912
    What exactly is it that you're not liking about the kind of programming you're doing? Is it just that you would rather use the C++ language, or is it something else?

    I felt much the same way a while ago, but I realized that what I enjoyed so much about programming in C was more of a 'style'. I liked knowing how higher-level constructs worked under the surface (like knowing the basics of how an OS worked). I liked knowing how my own language would be implemented in machine code. I liked dealing with memory management, trying to optimize, etc... I got a job essentially building web applications in Java and Adobe Flex, and started to feel like I wasn't doing what I loved. Once I recognized exactly what it was that I missed, I applied to my job and became much happier. I started looking at the C++ code for the ActionScript Virtual Machine used in Flash/Flex, and I trained my colleagues on how memory management, garbage collection, data binding and events were working under the surface. I was able to help solve a lot of problems that had previously been written off as a consequence of using such a high-level language. I helped make better web apps, but really I was reading C++ and applying similar skils. In my freelance work I started learning about the underlying implementation of PHP, and started enjoying optimizing PHP code that needed to be faster. I really enjoy working on web apps, because I found ways to contribute by looking under the hood.

    So as others have pointed out, the need for your skills isn't going to disappear. Even if web apps take over the world, there will be tons of development in client/server software to run those apps faster, better, easier (funny you mention Google - because I think they're the prime example of creating innovative web apps with some hardcore engineering going on behind the scenes). There will always be times when the new systems fail, and older technologies have to be used to bring them back online. Yes, it will happen less and less over time, but you might not need to change jobs if you can find another way to do what you love doing.

  11. #11
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    Bubba, you like C++/CLI huh? The way it seems to me is that Microsoft created that to pacify those of us who wanted to continue using C++ but its not necessary.
    C++/CLI serves a far greater purpose than that.

  12. #12
    pronounced 'fib' FillYourBrain's Avatar
    Join Date
    Aug 2002
    Posts
    2,297
    Quote Originally Posted by Bubba View Post
    C++/CLI serves a far greater purpose than that.
    I would love to understand this comment better. Not being sarcastic or anything. What do you mean?
    "You are stupid! You are stupid! Oh, and don't forget, you are STUPID!" - Dexter

  13. #13
    Registered User C_ntua's Avatar
    Join Date
    Jun 2008
    Posts
    1,853
    I would certainly agree that if we are talking about programming you cannot really expect everything to end up being web applications. As an extreme example I am working with SIM cards and sometimes have to write code in pure Hex. Why? Because in some occasions is much faster since the tools used are not perfect. The same concept that if you had a micro-controller where you couldn't write C code but you had to write asssembly code you would do so. Maybe it is not cost-effective to have a compiler/program to support C code for example. Maybe your company will develop it at a later stage.

    Web apps have some downsides and limitations. Speed was already mentioned. Loading speed for your browser might be another. Making Need for Speed a web-app instead of a desktop application would be ridiculous. You get my point. It is nice to be able to run a program as a web app, but if you are actually going to use it everyday then I think you would prefer it as a desktop app. MS went towards the web app with Silverlight, but I don't think they would actually stop having MS Office or Visual Studio as desktop apps.

    But of course both have their place. Web apps are mostly suited as small apps, that you might not use a lot of times or for apps that are tied with the internet.

  14. #14
    Banal internet user
    Join Date
    Aug 2002
    Posts
    1,380
    The value of web applications has been overstated, mostly by web developers looking to create some get-rich-quick Web 2.0 abomination. I'm probably just bitter because the timesheet software I have to use for work is fairly unreliable.

    Anyway: C / C++ / C# still seems to be the modern programmer's power triad

  15. #15
    Anti-Poster
    Join Date
    Feb 2002
    Posts
    1,401
    Quote Originally Posted by FillYourBrain View Post
    I would love to understand this comment better. Not being sarcastic or anything. What do you mean?
    Personally, I use C++/CLI for legacy support and the use of template libraries. Being able to use metaprogramming techniques with the relatively well-tested .Net libraries leads to some pretty sweet code. In my mind, you've got so many options with C++/CLI. Got a C++ library and a .Net library that you need to put together? Write a mixed-mode assembly that uses them both.

    The only thing in C++/CLI that I miss from C# is anonymous methods. Writing your own closure capture classes isn't difficult; it's just boring, time-consuming boilerplate code. Anonymous methods saved you from that.
    If I did your homework for you, then you might pass your class without learning how to write a program like this. Then you might graduate and get your degree without learning how to write a program like this. You might become a professional programmer without knowing how to write a program like this. Someday you might work on a project with me without knowing how to write a program like this. Then I would have to do you serious bodily harm. - Jack Klein

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Bush vs. Kerry
    By jlou in forum A Brief History of Cprogramming.com
    Replies: 178
    Last Post: 11-29-2004, 03:45 PM
  2. Future of C++ and Windows Programming :: C++
    By kuphryn in forum Windows Programming
    Replies: 4
    Last Post: 03-26-2003, 09:53 AM
  3. Future of COM Architecture :: COM
    By kuphryn in forum Windows Programming
    Replies: 1
    Last Post: 03-24-2003, 10:21 AM
  4. Future Value
    By KathyMc in forum C Programming
    Replies: 0
    Last Post: 01-14-2003, 10:50 AM
  5. Most Impacting/Powerful Future Programming Language
    By kuphryn in forum C++ Programming
    Replies: 11
    Last Post: 12-07-2001, 03:46 PM