Is everything going to tend to powerful interface in the nearest future(I'm talking about desktop applications)? Console or simple GUI applications will not be popular? And does it mean that all programmers will have to become designers?
closed as not constructive by ChrisF♦ Jan 30 '12 at 22:49
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or specific expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, see the FAQ for guidance.
Yes and No
No -> programmers will not have to become fully fledged designers.
However would it hurt if you are both a developer and designer?
Most certainly not, I believe this will work in your favour. I personally think this is the trend in the industry the so called emergence of the "Super Developers"
The answer would be no.
A Users Interface is just a way to communicate with your program. You can decide a user interface to be tightly coupled with your program logic or you can choose to separate it from your program logic.
Choosing to separate your User Interface with the program logic gives you a lot of choices and flexibility in implementing your User Interface, you may choose to implement a CLI, a desktop GUI, or a web GUI, you might even considering an interface in your mobile device which is cool too, without changing your program logic at all.
for more info, read about 3-tier-achitectures and MVC architectural pattern
One should aim and strive to become a great software developer, you will learn the best practices for programming and designing as well.
There will always be a need to specialise. Decades ago, programs output to tape or to a text interface and developers aren't all designers today.
That said, as more powerful GUIs become available (including HTML5), as always, a good developer will have an appreciation of producing work that will allow a skilled designer to work with it easily.
Were'nt we always?
I startet programming in ~2000, since then, there was no job where i have not at least made some Guis to make the functionality of my code accessible to endusers.
Even when coding B2B interfaces for dataexchange, there had to be a presentation of what was transferred.
Maybe design gets more of the attention it deserves in the Future.
|show 1 more comment|
Did you read somewhere that all programmers will have to become designers? Do you have a link to where you've read this (so that we can have some more context)?
Your question reminds me of the following:
When my dad started working as a computer programmer at the end of the 1960's, people were discouraging him because they thought that within a few years programming languages would become so good that anyone could do it - you could just type in what you wanted and the computer would automatically program itself. Ofcourse nearly nothing of this idea has come true - programming is just too inherently complex that it isn't possible to fully automate it.
Your question sounds as if there's some revolution going on that will force all programmers to become GUI designers.
Besides desktop applications, there are many other kinds of software that people write. In my 12+ years as a Java software developer, I've only worked on desktop applications a few times. Most of what I do is write server-side software that does not have a GUI at all.
I've written applications that allow non-coders to produce applications (think Biztalk) and then there's Biztalk of course, and now there's the Android App Inventor that allows drag-n-drop app development.
I think all these will become more prevalent, after all, where I once used to write UI code by typing pixel positions in a text editor, I now drag and drop a control onto a form. All developers do that nowadays. I think the back-end coding aspect will become more pluggable-block based eventually.
However, that's for application developers. If you're a systems engineer then you'll still be coding at a lower level, like the guys who write these drag-n-drop builder applications. So there'll always be a position for 'real coders', its just that there will be less of us in the future as your mom learns how to code by dropping a representation of a code block onto a representation of an application.
Simple GUI applications will generally be popular. Why? Because these tend to be aimed at non technical end users of the product.
Some programmers have a hard time designing these to be simple, being less knowledgeable about daily workflow of whatever it is to be automated and taking knowledge of certain concepts for granted. Also, GUI design shouldn't just be modeled after whatever makes the code most simple, but rather whatever makes the end workflow robust and easiest.
The interface used to access applications in the future will likely continue to be both console and GUI, IMO. How long have GUIs been around? I can remember on Windows 3.1 having a mouse and clicking on things. In Unix environments I think command lines were favored a bit though that may have just been anecdotal for me to see.
What do you mean by designer? Programmers can be system designers in terms of figuring out how to connect this application with that and put pieces together in some cases to build a system to solve a problem. Granted this isn't the artistic idea that people have when they think of designer but there is something to be said for someone being the person behind a technical design. Thus, I'd say programmers are designers already and that isn't a bad thing.