On 26/12/2009 10:05, Uri Even-Chen wrote:
On Sat, Dec 26, 2009 at 9:51 AM, Oron Peled<o...@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@cs.huji.ac.il
http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
_______________________________________________
Linux-il mailing list
Linux-il@cs.huji.ac.il
http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il