Showing posts with label C. Show all posts
Showing posts with label C. Show all posts

Tuesday, November 8, 2011

Some general information and links on C/C++, Fortran, and Java and an IDE or editor-compiler combination

While exploring new computer programming languages (as of right now I am fairly good with MATLAB/Octave m-file programming;  I did take a class on C programming back in college, but I have rarely used it so I pretty much know nothing about other languages;  I feel it is important to try to learn as many as possible because this will help with my general understanding of computer programming and it will be a great marketing tool for job searches), I have come across some interesting and helpful links which include forum discussions and other websites.  For this post I am going to put up some links I have found while searching topics such as: best IDE in Ubuntu 11.10, best IDE in linux or Ubuntu 11.11 for C/C++, Fortran, and/or Java, Eclipse IDE, etc.  This post is going to strictly deal with C/C++ and IDEs.

There seem to be many options for a computer language editor and compiler for Ubuntu.  The first is using a text editor such as gedit, jEdit, or the many others available in Ubuntu to write the program, then compile the program in the terminal using GCC.  The second route is to use an all in one package to write and compile usually called an IDE.  As of now I am trying out Geany.  Many others include Eclipse, Emacs, Vi, Code::Blocks, Code Lite, Anjuta, etc.  There is also the option to download and install the non-commercial Intel compilers.

Here is a link from the Ubuntu Community site on how to install and a little about GCC.  https://help.ubuntu.com/community/InstallingCompilers

Link and information on GCC, the GNU Compiler Collection.  http://gcc.gnu.org/

The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, Ada, and Go, as well as libraries for these languages (libstdc++, libgcj,...). GCC was originally written as the compiler for the GNU operating system. The GNU system was developed to be 100% free software, free in the sense that it respects the user's freedom. 
We strive to provide regular, high quality releases, which we want to work well on a variety of native and cross targets (including GNU/Linux), and encourage everyone to contribute changes or help testing GCC. Our sources are readily and freely available via SVN and weekly snapshots. 
Major decisions about GCC are made by the steering committee, guided by the mission statement.

GCC has support for

http://gcc.gnu.org/c99status.html

C++ http://gcc.gnu.org/projects/cxx0x.html

Fortran http://gcc.gnu.org/fortran/

Java http://gcc.gnu.org/java/

and a few others.

Here is an Ubuntu Forum thread over a C/C++ IDE for commercial use.  Even though they mention commercial, there is still some interesting discussions on Eclipse and a few other IDEs.  http://ubuntuforums.org/showthread.php?t=172849

Some links on how to run and compile a C/C++ code on Ubuntu

http://blog.sudobits.com/2011/05/08/how-to-compile-and-run-c-c-plus-plus-program-on-ubuntu-11-04/

http://www.wikihow.com/Compile-a-C/C%2B%2B-Program-in-Ubuntu

http://www.ubuntugeek.com/how-to-install-c-and-c-compilers-in-ubuntu-and-testing-your-first-c-and-c-program.html

Another Ubuntu Forum thread on C/C++ editor and compiler.  http://ubuntuforums.org/showthread.php?t=1724796

Another Ubuntu Forum discussion on editors and compilers.

http://ubuntuforums.org/showthread.php?t=1580148

Ubuntu Forum thread where I found out about Sun Studio, now Oracle Solaris Studio, and KDevelop.  http://ubuntuforums.org/showthread.php?t=463955

Oracle Solaris Studio http://www.oracle.com/technetwork/server-storage/solarisstudio/overview/index.html

Oracle Solaris Studio, formerly Sun Studio, is a free comprehensive C, C++, and Fortran tool suite for both Oracle Solaris and Linux operating systems that accelerates the development of scalable, secure, and reliable enterprise applications.
KDevelop http://kdevelop.org/

is a free, open source IDE (Integrated Development Environment) for MS Windows, Mac OS X, Linux, Solaris and FreeBSD. It is a feature-full, plugin extensible IDE for C/C++ and other programming languages. It is based on KDevPlatform, and the KDE and Qt libraries and is under development since 1998.

Discussion from Stackflow on Fortran and IDEs.  http://stackoverflow.com/questions/3473854/best-fortran-ide

An interesting discussion on KDev and g77 for a Fortran compiler and IDE.  http://ubuntuforums.org/showthread.php?t=1094563

Some comments from the above thread link.
KDevelop and Visual Studios are IDE's, they give you a nice coding environment they have backend compilers that actually do the compiling...not the IDE itself 
Kdevelop is just somekind of glueprogram, that has en texteditor, and this program calls/executes the compiler. This is called an ide "integrated dev. environment" Normally it contains funky features like, syntax highlighting, api lookup... You can write your sourcecode in whatever editor you want. And then compile it by hand, by typing Code: gcc yourfile.cpp In a terminal. Makefiles are just a program that simply executes a series of compilations, while checking for dependencies in your program. All compilers as I know them, are commandline tools. The gnu compiler for assembler sourcefiles is called g77.

Intersting discussion on Fortran IDEs and compilers.  http://mandrivausers.org/index.php?/topic/15152-what-ide-is-best-for-fortran/

http://www.linuxquestions.org/questions/linux-newbie-8/how-to-build-a-fortran-project-in-kdevelop-876096/

http://www.linuxquestions.org/questions/linux-software-2/intel-fortran-compiler-under-kdevelop-240242/

Ubuntu Forum FAQ's on programming and such.  http://ubuntuforums.org/showthread.php?t=1006666

Ubuntu Forum on programming guides, has the above FAQ's thread and many more useful tools and information.  http://ubuntuforums.org/showthread.php?t=1766253

I will try to update this post or add others on programming and such...to be continued...in progress...

Friday, August 5, 2011

Eclipse IDE

Eclipse - The Eclipse Foundation open source community website.

About the Eclipse Foundation - http://www.eclipse.org/org/

What is Eclipse and the Eclipse Foundation?

Eclipse is an open source community, whose projects are focused on building an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the lifecycle. The Eclipse Foundation is a not-for-profit, member supported corporation that hosts the Eclipse projects and helps cultivate both an open source community and an ecosystem of complementary products and services.

The Eclipse Project was originally created by IBM in November 2001 and supported by a consortium of software vendors. The Eclipse Foundation was created in January 2004 as an independent not-for-profit corporation to act as the steward of the Eclipse community. The independent not-for-profit corporation was created to allow a vendor neutral and open, transparent community to be established around Eclipse. Today, the Eclipse community consists of individuals and organizations from a cross section of the software industry.



Eclipse Projects - http://www.eclipse.org/projects/

Eclipse projects now cover runtimes; static and dynamic languages; thick-client, thin-client, and server-side frameworks; modeling and business reporting; embedded and mobile; and, yes, we still have the best Java IDE.

This page is designed to be a gateway into the projects for users, adopters, team members, and the merely curious.


Eclipsepedia - the Eclipse.org Wiki - Main Page - http://wiki.eclipse.org/Main_Page

The Official Eclipse FAQs - http://wiki.eclipse.org/The_Official_Eclipse_FAQs

IRC FAQ -
A collection of FAQs gathered in the Eclipse IRC channels. Some of them are logged, see the specific channel for details.
- http://wiki.eclipse.org/IRC_FAQ

FAQ What is Eclipse? - http://wiki.eclipse.org/FAQ_What_is_Eclipse%3F

Eclipse means a lot of different things to different people. To some Eclipse is a free, state-of-the-art Java development environment. To others, Eclipse is a flexible environment to experiment with new computer languages or extensions to existing languages. To yet others, Eclipse is a comprehensive framework that deploys many advanced and modern software design and implementation techniques.

Eclipse is open because its design allows for easy extension by third parties. It is an Integrated Development Environment (IDE) because it provides tooling to manage workspaces; to build, launch and debug applications; to share artifacts with a team and to version code; and to easily customize the programming experience. Eclipse is a platform because it is not a finished application per se but is designed to be extended indefinitely with more and more sophisticated tooling. The platform has no explicit or implicit support whatsoever for Java development as provided by the Java development tools (JDT). The JDT has to play according to the same rules as all the other plug-ins that use the platform.

Speaking more technically, Eclipse is built on a mechanism for discovering, integrating, and running modules called plug-ins. A contributor to Eclipse delivers as one or more plug-ins an offering that manifests itself with a product-specific user interface (UI) in the workbench. Multiple, usually unrelated, products can be installed in one Eclipse instance and happily live and cooperate to perform a certain task. The class of end products includes IDEs, but also so-called rich clients, applications that benefit from the Eclipse Platform design and its components but do not look like an IDE. Examples of the latter category include the latest generation of applications based on IBM Workplace Client Technology, the first of which will be Lotus Workplace Messaging 2.0 and Lotus Workplace Documents 2.0.


Eclipse Classic 3.7 - http://www.eclipse.org/downloads/packages/eclipse-classic-37/indigor

The classic Eclipse download: the Eclipse Platform, Java Development Tools, and Plug-in Development Environment, including source and both user and programmer documentation.


Eclipse Downloads - http://www.eclipse.org/downloads/

Hint:
You will need a Java runtime environment (JRE) to use Eclipse (Java SE 5 or greater is recommended). All downloads are provided under the terms and conditions of the Eclipse Foundation Software User Agreement unless otherwise specified.


TeXlipse - http://texlipse.sourceforge.net/

TeXlipse is a plugin that adds Latex support to the Eclipse IDE.



TeXlipse - Introduction http://texlipse.sourceforge.net/manual/intro.html

The TeXlipse plugin for Eclipse provides support for LaTeX projects. It is primarily aimed at users who already know the basics about LaTeX, newbies will surely find it useful but also a steeper learning curve. The following main features are offered:

Syntax highlighting
Document outline
Code folding
Templates
Build support, also partial building
Annotations for errors (while editing)
Content assist (completion of commands and references)
Easy navigation with F3
Outline of the current file and the full project
Spell checking
Menu with common LaTeX math symbols
BibTeX editor and BibTeX-support
Line wrapping
Table editor
Support for several platforms (Windows, Linux, OS X)
...and many more
In other words, TeXlipse includes quite a complete set of features for day-to-day editing tasks. This manual explains the use of these features in detail, but plese go ahead and explore TeXlipse!

TeXlipse version 1.0 was brought to you by the Texlapse-team as a software project on the SoberIT lab of the Helsinki University of Technology. The Texlapse-team includes (in alphabetical order): Taavi Hupponen, Kimmo Karlsson, Jani Laitinen, Oskar Ojala, Antti Pirinen, Esa Seuranen and Laura Takkinen.

TeXlipse version 1.4.0 was developed from 1.0 as an open source project on SourceForge. The team that developed it consisted of Oskar Ojala, Kimmo Karlsson, Boris von Loesch and Tor Arne Vestbø. Additionally, several contributions were received from users of TeXlipse.

TeXlipse uses Jazzy since version 1.4.0 for spell checking.

Eclipse also has the capability to develop C/C++ codes and programs through the Eclipse CDT (C/C++ Development Tooling).  http://www.eclipse.org/cdt/

The CDT Project provides a fully functional C and C++ Integrated Development Environment based on the Eclipse platform. Features include: support for project creation and managed build for various toolchains, standard make build, source navigation, various source knowledge tools, such as type hierarchy, call graph, include browser, macro definition browser, code editor with syntax highlighting, folding and hyperlink navigation, source code refactoring and code generation, visual debugging tools, including memory, registers, and disassembly viewers.

As well as C/C++ support, Eclipse seems to also have a Fortran capability as well through the use of Photran - An Integrated Development Environment and Refactoring Tool for Fortran.  http://www.eclipse.org/photran/

Photran 7.0 supports Fortran 77-2008. It includes 31 refactorings (including Rename, Extract Procedure, and loop transformations), as well as the following IDE features: 
- Syntax-highlighting editor 
- Outline view Content assist* 
- Open declaration* 
- Declaration view and hover tips* 
- Fortran language-based searching* 
- Support for CVS & other VCS's** 
- Interactive debugger (gdb GUI) 
- Makefile-based compilation 
- Optional Makefile generation 
- Recognition of error messages from most popular Fortran compilers 
* A project must explicitly have analysis support enabled for these features to work. See the Photran documentation for more information. 
** CVS is supported in most Eclipse installations. Subversion, Git, and other version control systems are supported via third-party Eclipse plug-ins. 
Photran is a component of the Eclipse Parallel Tools Platform (PTP).

Friday, July 22, 2011

GSL - GNU Scientific Library - GNU Project - Free Software Foundation (FSF)

There is a link on this site to DL the GSL reference manual Gzipped in postscript -> http://www.gnu.org/software/gsl/manual/gsl-ref.ps.gz

GSL - GNU Scientific Library - GNU Project - Free Software Foundation (FSF)

and the HTML version of the GSL RM

GNU Scientific Library -- Reference Manual - http://www.gnu.org/software/gsl/manual/html_node/

From the site, "The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. It is free software under the GNU General Public License."