Google Ads

April 22, 2015

Setup Objective-C programming environment on Ubuntu Distributions

Objective-C is a programming language which expands C programming language by including Smalltalk object orientated programming language. It has robustness like C programming language as well as it is feature rich like C++ and Java. It fully supports object oriented programming including Encapsulation, Data hiding, Inheritance and Polymorphism. It is the main programming language for OS X and iOS application development.

GNU Compiler Collection (GCC) provides compiling support for Objective-C source files through GNUstep framework. It is very easy to setup Objective-C development environment on Ubuntu based distributions. We just have to install few packages on to our Ubuntu System.

From your favourite package manager just install the following packages:



Or in the terminal put the following command:

sudo apt-get install gobjc gnustep gnustep-make gnustep-common gnustep-core-devel gnustep-devel

Once all the packages are installed properly, you should be able to compile any Objective-C source file by entering the following command in the terminal:

gcc source.m `gnustep-config --objc-flags` -lobjc -lgnustep-base

This should produce a.out binary in the current directory.

For Example, put the following codes into a text editor and save it as Hello.m

#import <Foundation/Foundation.h>

int main(int argc, char *argv[])

    NSLog(@"Hello, World!\n");
   return 0;

Now, compile the source file Hello.m using following command in the terminal:

gcc Hello.m `gnustep-config --objc-flags` -lobjc -lgnustep-base

Now, run the executable file by putting following command in the terminal:


You should see something like below in the terminal,

2015-04-22 19:24:26.483 a.out[31686] Hello, World!

April 12, 2015

Do Programming on Ubuntu/Kubuntu Linux

Programming on Linux
Linux in general is great development platform where the operating system's kernel itself is free and Open Source. So there is virtually no limit of what you want to do with your Linux computer. Kubuntu, Ubuntu and Gnome Ubuntu are all great Linux Desktop distributions with bleeding edge desktops and touch pad user interfaces. You pick your Linux distribution flavor and start working on your projects in no time. All Ubuntu variant distributions have common package names for development and application support.

Programming Language support

Ubuntu Linux by default comes with GNU Compiler Collection and you will find almost all of the software build for the system uses GNU Compiler Collection (GCC). With GCC you can program for C, C++, Objective-C, Objective-C++, Fortran, Java, Ada, Go and many other programming languages. One good thing about GCC is that it is available for many different operating systems for example Microsoft Windows, Apple Mac OS. Furthermore, GCC is supported on all major CPU architectures.

Programming in C and C++ languages

GCC will give you gcc compiler and g++ compiler for C and C++ source files respectively. Both gcc and g++ compiler support almost all existing C standards for example ANSI C, ISO C, C99 and C11.

Installation of required packages

To get minimal development environment with C and C++ compilers, install the following packages under Ubuntu distributions:



in the terminal:

sudo apt-get install build-essential autoconf automake flex bison libtool gcc-multilib g++-multilib

Then, install manual pages which will help you understand function definitions.

in the terminal:

sudo apt-get install manpages-dev manpages-posix

Now, you can start writing your programs in the text editor of your choice  and compile your source files easily from the terminal by putting the following command:

For C program:

gcc source_file.c

For C++ program

g++ source_file.cpp

This will produce executable file named a.out in the current directory.

If you want to read manual of a function just type the following in the terminal:

man name_of_the_function

For example:

man printf

to exit from manual press q keyboard key. Use Up and Down arrow key to navigate through the manual.

If you prefer Integrated Development Environment (IDE) then check out the following IDEs. Here I put my experiences with different IDEs:


Build on Java, solid user interface, recommended for all kind of developments


Uses native user interface, simple and good for experimentation and start-up projects


Build on Java, Extensible in nature


Native KDE development environment, good for C++ and QT projects


Lightweight native IDE, good for simple projects

Finally, if you ask me which IDE I would prefer, I would definitely say Netbeans :)