Free software projects in Java or C++

Free software projects in Java or C++

Micha michf at post.tau.ac.il
Sat Dec 26 15:09:36 IST 2009


On 26/12/2009 10:05, Uri Even-Chen wrote:
> On Sat, Dec 26, 2009 at 9:51 AM, Oron Peled<oron at actcom.co.il>  wrote:
>> On Friday, 25 בDecember 2009 23:38:38 Uri Even-Chen wrote:
>>> A friend of mine suggested me to join a free software (open source)
>>> project in Java or C++, to gain experience in these languages.
>>
>> Your friend gave you a good advice. However, please note that usually
>> there is no *immediate* reward. It's not like a (free software) newbie
>> joins a project and three months later he is swamped with job requests.
>>
>> Working on a free software project tend to increase your capabilities
>> by exposing you to different technologies and working styles. On the
>> long run (years), this can bring you not only fun, but work as well.
>
> Thanks for your advice.
>
>>> Do you have an idea how to find a good project I can join, in Java or
>>> C++ or maybe Python?
>>
>> There are many sites hosting free software projects. Some of them:
>>   www.sourceforge.net
>>   savannah.gnu.org
>>   gna.org
>>   github.com
>>
>> Since you used some scripting languages in the past (PHP), it looks
>> like python would provide easier learning curve for you.
>
> I personally prefer compiled programming languages than scripting
> ones.  I have experience with both, Pascal and C vs. Basic and PHP and
> Perl.  I want to learn Python, but I think there are less jobs with
> Python, so it's better I learn Java or C++.  I think there are many
> jobs in Java and C++.  There are also jobs in C# and .NET, but I
> prefer not to be stuck with Microsoft technologies.  I don't like
> Microsoft, although I have been using their products for many years.
> Also, thanks for the websites you sent me.  I know sourceforge, the
> others I will check later.
>

I don't know where java is at the moment. It's been years since I worked with it 
seriously. If previous experience still applies, the leap from c to java is much 
bigger than from c to c++. Java is much more of a zealot about object oriented 
approaches. It means it will take longer to do the move, but will teach you more 
about object oriented paradigms and force you not to get stuck at the position 
of writing c in c++.

If you go with c++, take note that a lot of companies that do c++ and windows 
will use microsoft specific approaches. It can help to learn cross platform 
libraries though. Allows you to be cross platform and with smaller companies you 
may be able to push your will.

boost is a very important set of libraries for solving a lot of things.
stl vs atl/mfc is always a big issue where stl is standard but sometimes a bit 
of an overkill.

As for GUIs, personally I like wxwidgets which is cross platform and LGPL. The 
other main mature option is qt which, if things haven't changed again, has an 
option of a GPL license also for windows for open source projects and a 
commercial license for commercial projects. wxwidgets uses the native gui, qt 
draws it's own. Each approach has it's merits (native look vs consistent look)

If you look at wxwidgets, have a look at wxformbuilder for designing the GUI.

> Uri.
>
> _______________________________________________
> Linux-il mailing list
> Linux-il at cs.huji.ac.il
> http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il




More information about the Linux-il mailing list