LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 04-10-2010, 08:13 PM   #16
jqpdev
Member
 
Registered: Feb 2003
Location: New York, USA
Distribution: Trying out several distros.
Posts: 37

Original Poster
Rep: Reputation: 15

I prefer to use IDEs because I like the code completion, design tools, syntax highlighting, tool tips, online help and other productivity features that they provide. I'm pretty familiar with compiling, linking, executing, and debugging applications and would rather delegate make file editing/maintenance to a software component than spend time on it.

I get your point about not being locked into a specific product or tool set. However, if the tool set meets one's needs then being locked in doesn't matter. If I don't use non-standard language features, in the case of C/C++, then I am free to switch between tools.

As far as lowering the developer's learning curve goes (aka dumbing-down), I see that as good thing. However, I agree that no product or tool set should disable the developer from getting at the details of the compile/link/execute/debug process. Hiding mundane details of the compile/link/execute/debug process I consider a good feature.

I was a big fan of Borland's products, including the Kylix product. Borland's products allowed the developer to compile, link, run from the command line and they included a make utility. However, the company is basically dead and Kylix died on the proverbial operating table many years ago.

I will be spending some time with the command line tools to make sure I'm familiar with them (no pun intended). However, I would like to have the option of using an IDE for speed, productivity, convenience reasons. When I started programming Linux didn't exist.
 
Old 04-10-2010, 08:24 PM   #17
jqpdev
Member
 
Registered: Feb 2003
Location: New York, USA
Distribution: Trying out several distros.
Posts: 37

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by MTK358 View Post
Another way to do it (this is the way Make usually does it):

Code:
gcc -c source1.c
gcc -c source2.c
gcc -c source3.c
gcc source1.o source2.o source3.o -o myprogram
That way, you don't have to recompile all the sources, just the ones you changed.

Simply compile only the changed sources and relink. Let's say you compiled the above example and modified source2.c afterwards. make will detect that only source2.c is newer than source2.o, and it will run just these commands:

Code:
gcc -c source2.c
gcc source1.o source2.o source3.o -o myprogram
More info: http://www.eng.hawaii.edu/Tutor/Make/
The above would be correct in how the make utility works.
 
Old 04-10-2010, 09:23 PM   #18
graemef
Senior Member
 
Registered: Nov 2005
Location: Hanoi
Distribution: Fedora 13, Ubuntu 10.04
Posts: 2,379

Rep: Reputation: 148Reputation: 148
Well let's hear it for the IDE...

There is nothing wrong with using an IDE lots of very good software has been written by developers using an IDE; it's really just a matter of preference. That said I would urge you to understand the different tools that are used within the development environment so that you will understand when you may need to jump out of the comfort zone of the IDE to using the underlying tools. Also learn about tools that are not part of the environment, Linux provides a lot of extremely good tools that support software development and understanding these will be beneficial in your endeavours.

There is a sticky thread on IDEs in this forum that you may want to look at.

For much of my C++ development I use Qt Creator, because I tend to use the Qt library which is a cross platform C++ library with good GUI support, you may want to give that a gander, but I would suggest that you need to be familiar with the C++ language before jumping into the Qt libraries.

I've not used Dreamweaver so I can't give you a good answer but you may want to take a look at Bluefish, I think that it support HTML, CSS and XML but I'm not certain how good its support for server side scripting languages is (such as PHP). My big gripe with Dreamweaver (and front page) is that too many people can use it but have no idea about html, learn html, learn CSS and you will be fine.

MySQL comes with some good GUI tools to manage your database MYSQL Administrator and MTSQL Query Browser, take a look at those.
 
Old 04-10-2010, 10:35 PM   #19
jqpdev
Member
 
Registered: Feb 2003
Location: New York, USA
Distribution: Trying out several distros.
Posts: 37

Original Poster
Rep: Reputation: 15
Thanks graemef...

I hopped into this forum looking for specific information. In my quest for the info. I overlooked the stickied thread at the top, but I found it after my last post.

Its great that the community member created the list in the stickied thread. However, I was hoping to get some objective reviews/critiques on the IDEs and their features. My intent was to make an objective, informed choice about the tools I use.

There are definite advantages to using integrated tool sets. As I mentioned before I prefer to use an IDE. I will spend enough time to learn vi and Emacs so that I can be proficient outside of a GUI environment when its needed, but I do not intent to spent the majority of my development time with those tools. Emacs is powerful but lacks the feature set I'm looking for in a developer tool. I find it irritating, when working with non-integrated tools, that I have to learn all of the peculiarities of each tool. Standardization has many great benefits and I'm generally a fan of standards... or controlled chaos ;o)
However, I do not support a one-size-fits-all approach.

I will have take a look at the Qt Creator product.
 
Old 04-11-2010, 05:23 AM   #20
MTK358
LQ 5k Club
 
Registered: Sep 2009
Posts: 6,443
Blog Entries: 3

Rep: Reputation: 723Reputation: 723Reputation: 723Reputation: 723Reputation: 723Reputation: 723Reputation: 723
Nobody said you must use vi or Emacs.

There is nothing wrong with using GUI editors like gedit or Kate, and they have syntax highlighting, too.
 
Old 04-12-2010, 04:48 AM   #21
graemef
Senior Member
 
Registered: Nov 2005
Location: Hanoi
Distribution: Fedora 13, Ubuntu 10.04
Posts: 2,379

Rep: Reputation: 148Reputation: 148
The tools I was think of were not so much the editor but the compiler, make files debugger and so on.

Learn about some of the gcc options such as those needed for debugging, profiling and optimisation.
Know what is going on in the make file and for example see how the IDE makes conditional makes depending upon whether it is a debug or release version
Understand how the debugger works and where the results are not to be relied upon (Such as some pointer dereferencing)
 
1 members found this post helpful.
Old 04-12-2010, 06:37 PM   #22
jqpdev
Member
 
Registered: Feb 2003
Location: New York, USA
Distribution: Trying out several distros.
Posts: 37

Original Poster
Rep: Reputation: 15
Thanks guys...

@MTK358:
You are correct no one indicated that I *must* use vi and/or emacs. Kate and gEdit look great and I have considered both.

@graemef:
I checked out Qt Creator which also looks great but it is too expensive. Currently my programming time on Linux is my own time and unpaid so, I can't justify the cost of Qt.

I grabbed a book from shelf of a friend "Linux Programming Unleashed" by: Kurt Wall, Mark Watson, and Mark Whitis. The book is a bit dated, but free. It looks like it will help me get started gcc, gdb, make, etc.

Can you point me to where I can find out more about where the compiler and/or debugger should not be trusted?
 
Old 04-12-2010, 07:13 PM   #23
MTK358
LQ 5k Club
 
Registered: Sep 2009
Posts: 6,443
Blog Entries: 3

Rep: Reputation: 723Reputation: 723Reputation: 723Reputation: 723Reputation: 723Reputation: 723Reputation: 723
Quote:
Originally Posted by jqpdev View Post
You are correct no one indicated that I *must* use vi and/or emacs. Kate and gEdit look great and I have considered both.
Kate even has a built-in terminal.

Gedit has one available as an add-on.

Quote:
Originally Posted by jqpdev View Post
I checked out Qt Creator which also looks great but it is too expensive.


Qt creator is free!
 
Old 04-12-2010, 07:27 PM   #24
graemef
Senior Member
 
Registered: Nov 2005
Location: Hanoi
Distribution: Fedora 13, Ubuntu 10.04
Posts: 2,379

Rep: Reputation: 148Reputation: 148
Quote:
Originally Posted by jqpdev View Post
I checked out Qt Creator which also looks great but it is too expensive. Currently my programming time on Linux is my own time and unpaid so, I can't justify the cost of Qt.
You can get a community version of the software. This comes without a cost but I believe that the restriction is that you need to release your code under a LGPL license.
 
Old 04-13-2010, 12:19 AM   #25
jqpdev
Member
 
Registered: Feb 2003
Location: New York, USA
Distribution: Trying out several distros.
Posts: 37

Original Poster
Rep: Reputation: 15
Thanks for the correction... The right side navigation menu on the following page doesn't mention the LGPL download option:
http://qt.nokia.com/products/developer-tools
 
Old 04-13-2010, 01:17 AM   #26
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 454Reputation: 454Reputation: 454Reputation: 454Reputation: 454
Quote:
Originally Posted by jqpdev View Post
Thanks for the correction... The right side navigation menu on the following page doesn't mention the LGPL download option:
http://qt.nokia.com/products/developer-tools

http://qt.nokia.com/products/licensing :


Quote:
This version of Qt is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions contained in the GNU LGPL version 2.1.
If you look into http://get.qt.nokia.com/qtcreator/qt...-1.3.1-src.zip , you'll see it's LGPL.

Last edited by Sergei Steshenko; 04-13-2010 at 01:21 AM.
 
Old 04-13-2010, 01:58 AM   #27
jqpdev
Member
 
Registered: Feb 2003
Location: New York, USA
Distribution: Trying out several distros.
Posts: 37

Original Poster
Rep: Reputation: 15
I created a simple test file called Helloworldtest.cpp with gedit... may as well start with a newb test of my fresh Debian v5.04 install. Here is the Helloworldtest.cpp
Code:
#include <iostream>

int main()
{
    cout << "hello world";
    return 0;
}
After a little hunting I found g++ in /usr/bin. So I typed in:
Code:
/usr/bin/g++ ./Helloworldtest.cpp -o ./testhello.exe
I get the following:
Code:
./hellotest.cpp: In function ‘int main()’:
./hellotest.cpp:5: error: ‘cout’ was not declared in this scope
0.o

I know my c++ is rusty, but I'm really not seeing what is wrong in the file. I tried changing the include statement to:
#include <iostream.h>

but it didn't fix the problem. So, I grabbed the Qt LGPL download and installed it. I created a console project and added my Helloworldtest.cpp to the project. I attempted to build the project using the original include statement but Qt says:
Code:
‘cout’ was not declared in this scope
which is what g++ said. So... If I recreate the simple helloworld.cpp file on a windows box I'm pretty sure it will compile/run just fine with only ansi C++ options enabled.

There is something I'm obviously missing... anyone care to point out the obvious to me. Thanks.
 
Old 04-13-2010, 02:00 AM   #28
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 454Reputation: 454Reputation: 454Reputation: 454Reputation: 454
Quote:
Originally Posted by jqpdev View Post
I created a simple test file called Helloworldtest.cpp with gedit... may as well start with a newb test of my fresh Debian v5.04 install. Here is the Helloworldtest.cpp
Code:
#include <iostream>

int main()
{
    cout << "hello world";
    return 0;
}
After a little hunting I found g++ in /usr/bin. So I typed in:
Code:
/usr/bin/g++ ./Helloworldtest.cpp -o ./testhello.exe
I get the following:
Code:
./hellotest.cpp: In function ‘int main()’:
./hellotest.cpp:5: error: ‘cout’ was not declared in this scope
0.o

I know my c++ is rusty, but I'm really not seeing what is wrong in the file. I tried changing the include statement to:
#include <iostream.h>

but it didn't fix the problem. So, I grabbed the Qt LGPL download and installed it. I created a console project and added my Helloworldtest.cpp to the project. I attempted to build the project using the original include statement but Qt says:
Code:
‘cout’ was not declared in this scope
which is what g++ said. So... If I recreate the simple helloworld.cpp file on a windows box I'm pretty sure it will compile/run just fine with only ansi C++ options enabled.

There is something I'm obviously missing... anyone care to point out the obvious to me. Thanks.

Something like

Code:
using namespace std;
.
 
Old 04-13-2010, 02:05 AM   #29
graemef
Senior Member
 
Registered: Nov 2005
Location: Hanoi
Distribution: Fedora 13, Ubuntu 10.04
Posts: 2,379

Rep: Reputation: 148Reputation: 148
The iostream header file includes the cout method in the std namespace. (In fact all standard library classes method etc are held in the std namespace)

You can solve this in several ways:
  1. change cout to std::cout
  2. add using std::cout in the main function to say that you are going to be using the std version of cout
  3. add using namespace std to say that you will be using the standard library version of all functions.
I would recommend either of the first two.

Last edited by graemef; 04-13-2010 at 02:06 AM.
 
Old 04-14-2010, 11:31 AM   #30
jqpdev
Member
 
Registered: Feb 2003
Location: New York, USA
Distribution: Trying out several distros.
Posts: 37

Original Poster
Rep: Reputation: 15
Thanks guys... seems that I have some reading to do to get up to speed. I completely forgot the scope limitations imposed by namespaces. To the interest of getting up to speed, I picked up "The C++ Programming Language: Special Edition" by Stroustrup.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Newbie needs advice on which Linux to start with aijazlsiddiqui Linux - Distributions 4 01-06-2010 03:35 AM
Advice about Linux software lithops Linux - Software 9 08-15-2009 07:15 PM
Linux PC Desktop - Need Software Advice wfernley Linux - Software 13 02-05-2006 05:07 PM
I am totaly new to linux...Advice me from from where to start B.K.Chaitanya Linux - Newbie 0 10-03-2003 08:31 AM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 12:10 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration