Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

With Oracle vs Google trial, it seems that Java is not entirely Open and free (as free software) as I expected. Although there exists completely free/open JVM, it's hard to know what is a copyright infringement with Java, and what is not.

So I'd like to know if there is a completely Open and free language with open and free IDE (Eclipse-like) out there, Object Oriented if possible, and able to make window-based applications for the main OSs (Linux, Mac, Windows).

share|improve this question

closed as not constructive by maple_shaft Feb 20 '13 at 11:55

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 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, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

2  
What about plain old C? –  mouviciel Jun 4 '12 at 7:30
5  
C++ and Python are the obvious examples, Mono fits, if Microsoft keeps up with their promise. –  Yannis Rizos Jun 4 '12 at 7:30
7  
The ruling in "Oracle vs Google" was that there is no copyright infringement. "a federal judge who recently finished presiding over the six-week Oracle v. Google trial ruled that the structure of the Java APIs that Oracle was trying to assert can't be copyrighted at all." –  vartec Jun 4 '12 at 8:28
    
@vartec it seems from what I've read that Google still owes Oracle 150'000$ for 9 lines of codes, not much but still there. –  XGouchet Jun 4 '12 at 8:46
2  
@JoachimSauer: patents and copyright are completely separate things. And even so, it does not affect developers, other than developers of the language implementation itself. –  vartec Jun 4 '12 at 8:57

4 Answers 4

up vote 10 down vote accepted

Python

The reference implementation, CPython, is released under the Python Software Foundation License, an OSI approved licence. There are bindings for most popular platform-independent GUI toolkits, including:

  • Tkinter
  • wxWidgets
  • Qt
  • Gtk+
  • FLTK
  • FOX
  • OpenGL

As for an IDE, since you mentioned Eclipse, PyDev is probably what you're looking for. I prefer ActiveState's Komodo IDE, but it's not free.

C++

The core language and the standard library are ANSI/ISO standards, and although not strictly an open source language, all major C++ compilers are free to use:

There are quite a few open source bindings / interfaces for most popular platform-independent GUI toolkits, just pick one and search for it. As for an IDE, well, Eclipse with CDT would be my choice.

Mono

Mono is multi-licensed under the MIT licence, GPLv2 and LGPLv2. When it comes to Microsoft's patents, insofar they've followed their promise, but who knows what the future will bring. Mono allows you to work with a variety of open source GUI toolkits, and MonoDevelop seems to be the IDE of choice.

FreePascal

FreePascal is a Pascal / Object Pascal compiler, licensed under the GPL. The Lazarus Component Library (LCL) and fpGUI are the more popular FreePascal GUI toolkits, and Lazarus the IDE of choice.

share|improve this answer
    
The official ISO C++ standard is not free, but a draft that's close enough to the released standard is free-as-in-beer -- and as you say there are several free implementations. –  Keith Thompson Aug 9 '12 at 0:38
4  
@KeithThompson The standard is free, you pay for the publication medium. –  Yannis Rizos Aug 9 '12 at 0:40
2  
clang (clang.llvm.org) is open source too, and more open than gcc ont the licence. –  Klaim Aug 9 '12 at 5:59
2  
@KeithThompson The fee pays the people who typeset the document, the servers that host it, etc, that doesn't mean the standard itself is not free. Could they charge a lot less, or give it away for free? Yes they could and they probably should... –  Yannis Rizos Aug 9 '12 at 6:09
1  
@KeithThompson My definition is that other than the small publication & distribution fee, you don't need to pay to actually use the standard, you can build as many compilers as you want based on it, without paying anyone anything. It's the use of the standard I care about, not getting it once. –  Yannis Rizos Aug 9 '12 at 7:06

Would Mono with MonoDevelop be what you are looking for?

share|improve this answer

Maybe you could make use of a functional programming language. Haskell is an example. it's free.

share|improve this answer
    
You know of a good IDE for Haskell? –  user1249 Jun 4 '12 at 12:15
    
Unfortunately i don't. I'm a noob in Haskell. But i read on their website that there are many free IDE's. –  martini Jun 4 '12 at 13:32
    
Most people use Emacs or Vim to work with Haskell. There are external tools like ghc-mod and scion that provide IDE-like features to both Emacs and Vim. There are also EclipseFP and Leksah, but I think you're far better off with Emacs. –  Tikhon Jelvis Aug 9 '12 at 0:41

The D programming language is open source (at least if using the open source gdc and ldc compilers, see info on this here). It was designed to fix the deficiencies in C++, such as adding (optional) garbage collection and making the language a lot simpler and safe to use, while still being statically compiled for optimal performance.

It is thus combines of the best of two worlds: (almost) script-like syntax, with the performance of statically compiled language.

In addition the transition should be easy for C/C++/Java/C# coders, due to the many syntax similarities. Since you seem to come from Java, be sure to read the "D for Java programmers" page, to get you started.

It has good IDE support on Linux through the Mono-D plugin for MonoDevelop (Functioning debugging and code completion, and syntax highlighting of course).

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.