What languages, would be good to learn re. Fedora? (Have started Java currently, on the curriculum)
What extra(s) would be useful?
Frank
On Sat, Jan 31, 2009 at 16:45:57 +0000, Frank Murphy frankly3d@fedoraproject.org wrote:
What languages, would be good to learn re. Fedora? (Have started Java currently, on the curriculum)
What extra(s) would be useful?
For what purposes?
Bruno Wolff III wrote:
On Sat, Jan 31, 2009 at 16:45:57 +0000, Frank Murphy frankly3d@fedoraproject.org wrote:
What languages, would be good to learn re. Fedora? (Have started Java currently, on the curriculum)
What extra(s) would be useful?
For what purposes?
For helping with packaging\ bringing new stuff in\ crating gui(s) where the need arises, bug fixing (as distinct from just reporting)
Frank
On Sat, Jan 31, 2009 at 05:45:31PM +0000, Frank Murphy wrote:
Bruno Wolff III wrote:
On Sat, Jan 31, 2009 at 16:45:57 +0000, Frank Murphy frankly3d@fedoraproject.org wrote:
What languages, would be good to learn re. Fedora? (Have started Java currently, on the curriculum)
What extra(s) would be useful?
For what purposes?
For helping with packaging\ bringing new stuff in\ crating gui(s) where
Packaging is going to depend on whatever language the application you are packaging was written in. Most of the GUIs are done via some kind of GTK binding, be it C/C++ or python.
the need arises, bug fixing (as distinct from just reporting)
Bug fixes also depends on the package you are working with.
Fedora has a variety of languages used throughout it's packages. The most common are likely:
C C++ Python Perl Java
josh
On Sat, Jan 31, 2009 at 17:45:31 +0000, Frank Murphy frankly3d@fedoraproject.org wrote:
Bruno Wolff III wrote:
On Sat, Jan 31, 2009 at 16:45:57 +0000, Frank Murphy frankly3d@fedoraproject.org wrote:
What languages, would be good to learn re. Fedora? (Have started Java currently, on the curriculum)
What extra(s) would be useful?
For what purposes?
For helping with packaging\ bringing new stuff in\ crating gui(s) where the need arises, bug fixing (as distinct from just reporting)
C would probably be encountered the most. But if you think you target some particular niche the answer could be different.
Besides what other people mentioned, you might want to spend some time learning build systems such as autotools, make, cmake, scons and the like.
In the realm of general advice, I would look at things I would want to see packaged in Fedora that currently aren't (or perhaps are orphaned) and look at what I would need to learn to be able to effectively package those things. There is more than learning the programming languages used, but packages using the same languages will often have similarities in what you need to do from the point of view of a packager. So if there are more things that you would like to help package than you have time for, you might look for groups that use the same programming languages or for other reasons are similar to package. That way you would be able to be more efficient.
On Sat, 31 Jan 2009 17:45:31 +0000, Frank Murphy frankly3d@fedoraproject.org wrote:
What languages, would be good to learn re. Fedora? (Have started Java currently, on the curriculum)
What extra(s) would be useful?
For what purposes?
For helping with packaging\ bringing new stuff in\ crating gui(s) where the need arises, bug fixing (as distinct from just reporting)
Python is most common in new projects these days, and quite a bit of Fedora infrastructure is already written in Python (e.g. Anaconda).
Java is nice, but WORA is unbearable. So it's rare. I think the only two useful applications we ship are Azureus and RSSowl, and neither is used by Fedora to do Fedora things.
-- Pete
Le samedi 31 janvier 2009 à 18:28 -0700, Pete Zaitcev a écrit :
Java is nice, but WORA is unbearable. So it's rare. I think the only two useful applications we ship are Azureus and RSSowl, and neither is used by Fedora to do Fedora things.
And Eclipse, and all the java server stuff, and bits of OpenOffice.org, etc
Java's current sweet spot is middleware, it does that very well, and the desktop stuff will come as soon as people are used to the idea we have openjdk available in every good distros, and the openjdk/Sun people are finished fixing the last legacy desktop warts (such as, font discovery and handling hint hint).
On Sunday 01 February 2009 01:45:20 am Nicolas Mailhot wrote:
Le samedi 31 janvier 2009 à 18:28 -0700, Pete Zaitcev a écrit :
Java is nice, but WORA is unbearable. So it's rare. I think the only two useful applications we ship are Azureus and RSSowl, and neither is used by Fedora to do Fedora things.
And Eclipse, and all the java server stuff, and bits of OpenOffice.org, etc
Java's current sweet spot is middleware, it does that very well, and the desktop stuff will come as soon as people are used to the idea we have openjdk available in every good distros, and the openjdk/Sun people are finished fixing the last legacy desktop warts (such as, font discovery and handling hint hint).
Shark[0] will go a long way towards making OpenJDK useful on every arch other than x86 and x86_64. But the current status of OpenJDK on PPC and non-x86 archs is it's vastly slower than GCJ.
[0]: http://gbenson.net/
Regards,
Frank Murphy wrote:
What languages, would be good to learn re. Fedora? (Have started Java currently, on the curriculum)
What extra(s) would be useful?
The kernel and most GNU and GNOME programs and most system tools are written in C. KDE is mostly in C++. Python is getting popular for helpers like yum, config tools, koji, ...
Perl, Ruby and Lua have their niches.
Java is more or less an universe of its own that has not much connection to the Linux universe.
Same is true for PHP which is mainly restricted to dynamic web pages.
Additional to "real" programming languages shell (bash) scripts are used a lot in packaging, init scripts, ...
Florian
Frank Murphy frankly3d@fedoraproject.org wrote:
Florian Festi wrote:
Frank Murphy wrote:
What languages, would be good to learn re. Fedora?
Thanks for the replies, gives me a base to look at.
In my experience, it makes very little sense to try to learn a language on its own. Look at packages that interest you, select some (especially ones written in the same language) and start hacking away. That way you won't get bored, and learn from more experienced people's (hopefully with good taste too) code.
Happy hacking!
2009/1/31 Frank Murphy frankly3d@fedoraproject.org
What languages, would be good to learn re. Fedora? (Have started Java currently, on the curriculum)
What extra(s) would be useful?
If you already know Java, C# is not hard to pick up and more programs are starting to leverage the .NET framework in Linux these days. With Fedora comes MonoDevelop which is an excellent easy to approach IDE, it supports many popular languages but I highly recommend it for working with C#.
- David
On Sat, Jan 31, 2009 at 08:57:02PM +0100, David Nielsen wrote:
If you already know Java, C# is not hard to pick up and more programs are starting to leverage the .NET framework in Linux these days. With Fedora comes MonoDevelop which is an excellent easy to approach IDE, it supports many popular languages but I highly recommend it for working with C#.
I think if someone asks for appropriate programming languages for helping with Fedora, the last advise he should get is looking at C#, .NET or Java. The Fedora (and Unix/Linux world) supports these, but only languages like C/C++/Python/Perl/shell are (and should) used for the base environment.
Please do not encourage people to use C# or Java for system-level programs.
Le samedi 31 janvier 2009 à 21:09 +0100, Jos Vos a écrit :
On Sat, Jan 31, 2009 at 08:57:02PM +0100, David Nielsen wrote:
If you already know Java, C# is not hard to pick up and more programs are starting to leverage the .NET framework in Linux these days. With Fedora comes MonoDevelop which is an excellent easy to approach IDE, it supports many popular languages but I highly recommend it for working with C#.
I think if someone asks for appropriate programming languages for helping with Fedora, the last advise he should get is looking at C#, .NET or Java. The Fedora (and Unix/Linux world) supports these, but only languages like C/C++/Python/Perl/shell are (and should) used for the base environment.
Please do not encourage people to use C# or Java for system-level programs.
For system-level programs no, but for middleware and up Java is a good choice and we have many Red Hat/Fedora people working hard to make openjdk work well under Linux. Fedora is more than just low-level system work.
As for C#/Mono… it has specific adoption problems and it's certainly not something we should suggest to an innocent beginner.
On Sat, Jan 31, 2009 at 09:24:59PM +0100, Nicolas Mailhot wrote:
For system-level programs no, but for middleware and up Java is a good choice and we have many Red Hat/Fedora people working hard to make openjdk work well under Linux. Fedora is more than just low-level system work.
Agreed, but IIRC the context of the original question was more system-level oriented and not about middleware/application programming.
David Nielsen wrote:
If you already know Java, C# is not hard to pick up and more programs are starting to leverage the .NET framework in Linux these days. With Fedora comes MonoDevelop which is an excellent easy to approach IDE, it supports many popular languages but I highly recommend it for working with C#.
Do you really have to recommend M$ languages? .NET is a horrible choice for GNU/Linux programming.
That said, Java isn't that much better... But at least it's not from M$.
Kevin Kofler