6 Replies - 1250 Views - Last Post: 16 June 2015 - 11:54 AM

#1 freesix  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 32
  • Joined: 30-March 13

Is C++ CLI development better than GUI?

Posted 21 January 2015 - 04:54 AM

Hi guys,

I always wonder whether between C++ CLI developement and GUI, which can be more prodcutive?

...Browsing more than five thousand lines of Documentation of a Framework instead of some hundreds for a CLI,...

Someone who's learning C++/CLI for a specific period of time and another in GUI for the same specific time, I don't think the last will be more effective than the first one in a specific time, and in final the first will be able to explain more concepts than the GUI one.

I know that GUI give us more ARSENAL and PERSPECTIVE on the one hand, but another hand we spending MUCH MORE ENERGY using GUI.


Please, I just need your varying point about it !!!

Is This A Good Question/Topic? 0
  • +

Replies To: Is C++ CLI development better than GUI?

#2 vividexstance  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 755
  • View blog
  • Posts: 2,658
  • Joined: 31-December 10

Re: Is C++ CLI development better than GUI?

Posted 21 January 2015 - 11:24 AM

I think it depends on the library or API you use to write the GUI application.

For example, the Qt library isn't that difficult to learn, it is very well documented, and it's highly portable. It uses common programming practices and idioms like the signals and slots mechanism.

It also comes with its own IDE that can be used on projects that don't even use the Qt library. This IDE allows you to build the GUI using a drag-and-drop interface similar to how VB is setup. Or you can write the GUI completely in code.

This post has been edited by vividexstance: 21 January 2015 - 11:25 AM

Was This Post Helpful? 0
  • +
  • -

#3 JWHSmith  Icon User is offline

  • New D.I.C Head
  • member icon

Reputation: 1
  • View blog
  • Posts: 9
  • Joined: 13-November 14

Re: Is C++ CLI development better than GUI?

Posted 22 January 2015 - 06:08 AM

Edit: I indeed made a mistake and mixed up CLI with C++/CLI, which is something I'm rather (happilly) unfamiliar with. This post therefore brings little insight on the subject, sorry for that.

Well... to me the most obvious fact is that you usually don't have a choice: you usually have to make either a CLI, or a GUI program, and there is no changing possible. Now, if you're designing the application from start to finish, here are a few things you might want to consider:

  • The target operating system: if you plan on developping for Windows, don't put to much hope in your CLI program. Windows has always been designed around its graphical environments, and it remains the centre of (almost) everything else running. On the other hand, if you are targetting Linux users, to whom terminals are less "scary", your CLI program will probably be welcomed (not to mention that Linux programs are usually designed for modularity, and that CLI programs may easily be connected to others through pipes and redirections).
  • Libraries: as vividexstance said, libraries and frameworks will reduce the time needed to build an application, especially when the framework comes with an IDE such as QtCreator. Now, let's not fool ourselves: developping GUI programs does take more time, because aside from the data model and program logic parts, you also need to setup more complex "view" components.
  • User productivity: think about your users too. On Windows, a GUI program is usually easier to use, since the main user input tends to be the mouse: if your program can work in CLI as well as in GUI mode, prefer GUI. On Linux, the keyboard remains the undeniable primary input source: if your program can work in CLI as well as in GUI mode, prefer CLI.

To me, it is very important not to mix up the amount of time required and productivity. Taking more time doesn't necessarily imply less productivity, because you may be doing more in that time. See it as the ratio of what you do over how much time it takes you. GUI programs take more time, but they offer more features in terms of user interaction. CLI programs offer less features, but take less time: their "productivity ratio" could very well be identical.

In the end, "programmer productivity" should be a criteria when deciding between GUI and CLI. Think about user productivity, target users/systems, human resources available, and so on.

This post has been edited by JWHSmith: 22 January 2015 - 07:39 AM

Was This Post Helpful? 0
  • +
  • -

#4 vividexstance  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 755
  • View blog
  • Posts: 2,658
  • Joined: 31-December 10

Re: Is C++ CLI development better than GUI?

Posted 22 January 2015 - 07:24 AM

JWHSmith, I think the OP is referring to C++/CLI, which is not the "command-line interface" which I think you were thinking of.
Was This Post Helpful? 0
  • +
  • -

#5 baavgai  Icon User is offline

  • Dreaming Coder
  • member icon

Reputation: 6298
  • View blog
  • Posts: 13,461
  • Joined: 16-October 07

Re: Is C++ CLI development better than GUI?

Posted 22 January 2015 - 10:11 AM

C++/CLI is kind of the worst of all worlds.

First, it's C++ running on top of the CLR, so you have no real advantage over something like C# in terms of speed. Except when it's not running against the CLR; it allows for a mix environment for a mixed bag.

The syntax is... bizarre. You take C++, one of the most complex languages ever conceived and add extra non standard crap to it so you can wedge it into a VM that takes away the point of using a lower level language.

If you want to use .NET, use C# or VB.NET. If you want to use C++, use a standard syntax and a standard library like Qt. If you want the Microsoft bastard child of C++, then, by all means, enjoy C++/CLI.

Note, Microsoft C++ has always been a moving target. If you stayed down in standard C++, you were safe. If you bought into MFC, OLE, COM, C++.NET, then be prepared to have the rules and support change on you; just for fun.
Was This Post Helpful? 0
  • +
  • -

#6 Skydiver  Icon User is offline

  • Code herder
  • member icon

Reputation: 4177
  • View blog
  • Posts: 13,321
  • Joined: 05-May 12

Re: Is C++ CLI development better than GUI?

Posted 22 January 2015 - 10:42 PM

As an aside, if you use C++/CLI, then you can create GUIs the same way C# and VB.NET programmers can create GUIs because you have access to the same framework. So the original post where it says:

Quote

.Browsing more than five thousand lines of Documentation of a Framework instead of some hundreds for a CLI,...

Seems to be false. It's the same thousands of lines of documenention for the .NET Framework. (You'll just probably have less sample code, though.)

This leads me to believe that either:
1) the OP really meant C++ "Command Line Interface" when he used the term C++ CLI; or
2) the OP didn't realize that he could create GUIs using C++/CLI.
Was This Post Helpful? 0
  • +
  • -

#7 KeyKrusher  Icon User is offline

  • New D.I.C Head

Reputation: 1
  • View blog
  • Posts: 8
  • Joined: 08-June 15

Re: Is C++ CLI development better than GUI?

Posted 16 June 2015 - 11:54 AM

I think it depends on what you plan on doing with what you're trying to write. For example, if you want to write your own IDE, you'll need to know GUI so that you can write a GUI application for your IDE. Now, if you just plan on doing systems programming (which would be done in C most of the time) then you can skip out on learning GUI programming.

Another good rule of thumb is that for writing personal projects, just to use CLI because it takes much less work, time, and effort.
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1