Re: Free software projects in Java or C++
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. Uri. ___ Linux-il mailing list Linux-il@cs.huji.ac.il http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
Re: Free software projects in Java or C++
On Saturday 26 Dec 2009 10:05:37 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 There are some lists for them here: * http://en.wikipedia.org/wiki/Category:Free_software_hosting_facilities * http://en.wikipedia.org/wiki/Comparison_of_open_source_software_hosting_facilities * http://www.dmoz.org/Computers/Open_Source/Project_Hosting/ In addition you may wish to browse, search or follow http://freshmeat.net/ or http://directory.fsf.org/ - they are directories for software with announcements. 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. Just a note - there is no dichotomy between compiling a language and it being a scripting language. For example, Perl, Python and PHP are all compiled into bytecodes, and CRuby will get a bytecode-based backend in ruby-1.9.x. What you probably mean is compiled into binary machine-code executables. This actually is possible to some extent with dynamic languages too. And just for the record see: * http://xoa.petdance.com/Stop_saying_script * http://www.perl.com/pub/a/2007/12/06/soto-11.html Java and the .NET-based languages are also compiled into bytecode, which is then executed. (Though there's an extra level of JIT). 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++. Yes, for better or for worse. Personally, it has been my feeling that programs written in either Java or C++ seem incredibly difficult to get right, although in these cases from different reasons. Maybe working in C++ with a framework such as Qt is a good idea: http://www.shlomifish.org/open-source/portability-libs/ I have a multi-threaded program that someone who contacted me about http://www.shlomifish.org/rwlock/ wrote in C++ which works perfectly if you use printf and gets stuck quickly if you replace them with cout (I have a define for toggling them). Someone once gave me a link to a forum post which documented this, but this seems so basic that it should just work. He also was unable to use my RWLock (despite prefering it over the built-in POSIX rwlock) because it caused him more problems. Eventually, he said that he became convinced that he should have written his program in C instead of 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. I should note that C#/.NET/etc., while having originated from Microsoft, are not specific to Microsoft and http://www.mono-project.com/ has implemented them for most other OSes besides Microsoft. Recently I ported some Perl 5 code to Mono and C# (because the Perl code ran too slowly for my taste and what I tried to do). Without really knowing C# beforehand, it took me only a day to write that program (409 lines of C# code and 113 lines of Perl code to help test it (according to SLOCCount)), and it ran fine - started quickly and seems to have run much faster than the Perl code. So I was happy I chose C# for that instead of C which I know better. Naturally, this is just a relatively simple algorithmic and command line program, which isn't representative of the more complex software that C# tends to be used for, so I cannot comment on the suitability for it. What you are right about is that most C# and .NET shops will expect you to develop and deploy on Windows, because Mono is both incomplete and deploying .NET apps on non-Windows platforms may exhibit bugs or non-portabilities in the program. Someone once sent me a C#/.NET program he wrote and I couldn't run it on Linux because it used backslashes for paths. (This is naturally not limited to .NET - you can write Windows-specific software in almost any language). Also, thanks for
Re: Free software projects in Java or C++
On 26/12/2009 10:05, Uri Even-Chen wrote: On Sat, Dec 26, 2009 at 9:51 AM, Oron Peledo...@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
Re: Free software projects in Java or C++
On Saturday 26 Dec 2009 15:09:36 Micha wrote: On 26/12/2009 10:05, Uri Even-Chen wrote: On Sat, Dec 26, 2009 at 9:51 AM, Oron Peledo...@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. Actually, things have indeed changed: * http://lwn.net/Articles/315843/ - It was a pleasant surprise, then, when Nokia announced that the Qt library will be released under the LGPL version 2.1. * Same in Whatsup.org.il in Hebrew: http://www.whatsup.org.il/modules.php?op=modloadname=Newsfile=articlesid=6247 It kinda makes sense for Nokia to do that, because: 1. The GPL/Commercial dual-licence was the foundation of Troll Tech's (= Qt's Parent Company) revenue stream. However, for Nokia it is just a drop in the bucket, and not their main line of business. 2. Nokia should strive to make Qt as commonplace as possible so it will be commonly used and ubiquotous. 3. Some companies are still too scared of the LGPL to use it in their commercial projects (or even in-house ones) and would prefer to shell out the money for the commercial licence. I'm not saying this fear is rational, but that's life.[Licences] [Licences] - Someone I talked to said he would prefer not to use OpenSSL (which is under the original BSD Licence) for something he needed to do, because some of their customers were under the impression that open-source implied something GPL-like, and so had a more problematic licensing terms. But in any case, it's good news for people who would like to develop Qt-based software under non-GPL compatible licences, including proprietary ones. I should note that Qt contains QtCore and Wx contains WxBase which are two pure-API and non-GUI libraries that abstract away many system services such as data structures and threads. They may pose a good and tested alternative to STL/Boost . For other libraries like that look at: http://www.shlomifish.org/open-source/portability-libs/ 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. Yes, there are many other differences between Qt and wxWidgets too. Regards, Shlomi Fish --
Re: Free software projects in Java or C++
On Sat, Dec 26, 2009 at 03:09:36PM +0200, Micha wrote: 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. Yes, something has changed. An extra option of LGPL (2.1). -- Tzafrir Cohen | tzaf...@jabber.org | VIM is http://tzafrir.org.il || a Mutt's tzaf...@cohens.org.il || best ICQ# 16849754 || friend ___ Linux-il mailing list Linux-il@cs.huji.ac.il http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
Re: Free software projects in Java or C++
You can go for http://openpegasus.org/ - interesting NMS project. David 2009/12/25 Uri Even-Chen u...@speedy.net Hi people, I am looking for a new job right now, and I want to work in programming Java or C++, or maybe Python. I know PHP and C and Visual Basic and Access, but I don't have experience with Java or C++. A friend of mine suggested me to join a free software (open source) project in Java or C++, to gain experience in these languages. But I don't know how to find such a project. Do you have an idea how to find a good project I can join, in Java or C++ or maybe Python? I want to gain experience so I will be able to find a job. Without experience, chances are low to find a job in Java or C++ - companies want programmers with experience in the programming language they need. I have more than 15 years of experience programming, even 20, but not in object oriented languages. There are many jobs in Java and C++ and they don't want to interview me, because of my lack of experience in those languages. How do I gain the experience I need? Uri Even-Chen Mobile Phone: +972-50-9007559 E-mail: u...@speedy.net Blog: http://www.speedy.net/uri/blog/ ___ 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
Free software projects in Java or C++
Hi people, I am looking for a new job right now, and I want to work in programming Java or C++, or maybe Python. I know PHP and C and Visual Basic and Access, but I don't have experience with Java or C++. A friend of mine suggested me to join a free software (open source) project in Java or C++, to gain experience in these languages. But I don't know how to find such a project. Do you have an idea how to find a good project I can join, in Java or C++ or maybe Python? I want to gain experience so I will be able to find a job. Without experience, chances are low to find a job in Java or C++ - companies want programmers with experience in the programming language they need. I have more than 15 years of experience programming, even 20, but not in object oriented languages. There are many jobs in Java and C++ and they don't want to interview me, because of my lack of experience in those languages. How do I gain the experience I need? Uri Even-Chen Mobile Phone: +972-50-9007559 E-mail: u...@speedy.net Blog: http://www.speedy.net/uri/blog/ ___ Linux-il mailing list Linux-il@cs.huji.ac.il http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
Re: Free software projects in Java or C++
By the way, I am thinking... since long ago I wanted to develop a free software (open source) project to automatically compose music. About 10 years ago I worked on a project called Speedy Composer (http://www.speedy.net/composer/), which is automatic composition of music. I developed it using Matlab, but there is currently no user interface. Maybe I will develop it using Java? What do you think? I will need to convert the Matlab files to Java, which might be difficult, but maybe after a few month's work I will be able to do it? What do you think? Then I will need to create a user interface program for composing music, or maybe using the web. 10 years ago I developed user interface using Visual Basic, but it was not complete. I might need help from another programmer, it would be difficult to do it alone. But I want to develop this program. If you want, you can listen to melodies composed on the website (Speedy Composer). Or write me and I will send you melodies off list. Uri Even-Chen Mobile Phone: +972-50-9007559 E-mail: u...@speedy.net Blog: http://www.speedy.net/uri/blog/ On Fri, Dec 25, 2009 at 11:38 PM, Uri Even-Chen u...@speedy.net wrote: Hi people, I am looking for a new job right now, and I want to work in programming Java or C++, or maybe Python. I know PHP and C and Visual Basic and Access, but I don't have experience with Java or C++. A friend of mine suggested me to join a free software (open source) project in Java or C++, to gain experience in these languages. But I don't know how to find such a project. Do you have an idea how to find a good project I can join, in Java or C++ or maybe Python? I want to gain experience so I will be able to find a job. Without experience, chances are low to find a job in Java or C++ - companies want programmers with experience in the programming language they need. I have more than 15 years of experience programming, even 20, but not in object oriented languages. There are many jobs in Java and C++ and they don't want to interview me, because of my lack of experience in those languages. How do I gain the experience I need? Uri Even-Chen Mobile Phone: +972-50-9007559 E-mail: u...@speedy.net Blog: http://www.speedy.net/uri/blog/ ___ Linux-il mailing list Linux-il@cs.huji.ac.il http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
Re: Free software projects in Java or C++
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. 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. Good luck, -- Oron Peled Voice: +972-4-8228492 o...@actcom.co.il http://users.actcom.co.il/~oron linux/reboot.h: #define LINUX_REBOOT_MAGIC1 0xfee1dead ___ Linux-il mailing list Linux-il@cs.huji.ac.il http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il