ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
Note to moderators: please move this topic accordingly if I am in the wrong place.
Hi folks, I'm starting up a project which, I think, might interest some of you. The thing is that we are only beginning, so we need to get some initial developpers to give opinions, "prepare the terrain", or should I say, help build the foundation for it. (There is no code yet)
I, myself, have no programming skills whatsoever, I'm only a designer, the project manager, and the weird kid that had that idea since I don't want to clutter that topic, I will not paste a complete description of the software (which is called Specto), but instead give a small exerpt:
Specto is an “event notifier” for Linux, watching for every event that happens in real time and reports what happened while you were out (chat, website updates, emails, etc)
I have setup the sourceforge project, the project page, the blog and wiki, and I'm now entering the recruiting phase. Feedback is much appreciated! ^^ besides, if you got other suggestions as to "how to admin it all", say 'em! I'm totally new to this, and willing to learn.
Even if you don't want to get involved, you may share your ideas and questions here. They're important.
I guess that's something to be debated, and that will depend on the devs joining in I guess from what I understand of programming, of course it could be done in C; would be helluva faster, but it may also be a lot harder to code than python. One example I have in mind is pitivi.org; the guy is rewriting it from scratch in python, because he had enough of multiple-level C bugs spawning everywhere (but there are parts that are kept in C for performance reasons).
Additionally, here's a chat I just had with someone about this, feel free to comment back
(15:43:17) Roptaty: Well, why use C when you can use python?
(15:43:31) Kiddo: for speed I guess
(15:43:48) Kiddo: but I wonder what kind of speed diff there would be for this kind of application
(15:44:30) Roptaty: This isnt a time critical operation C is error prone. just imagine all those potential buffer overflows.
(15:45:25) Roptaty: The biggest time difference will be starting up the application. The speed difference when running the app, is hardly noticable by the end user.
(15:47:14) Kiddo: I'm thinking of replying with what we're currently talking, to get them to be more precise
(15:47:25) Roptaty: Why dig with a stick, when you can use a spade?
(15:48:10) Roptaty: Python has a faster development cycle than C. Yes, C is faster, but do you really need the speed improvement?
(15:49:26) Kiddo: well that's what I can't really judge myself but I reckon we are not building a render farm app
So, if you got something to precise I'm gladly taking comments! Thanks for the feedback already ^ ^
It is interesting that you would like to manage a project while you does not have the programming skill.
I do mean no offence. Kiddo, you could be an excellent manager if you were my boss. Because, afterall, you can order me to do whatever you want to do, and at the end a great product may roll out. However, my point of view is that the nature of OSS requires people to take part voluntarily. And whenever there is a technical issue surfaced, the issue has to be resolved in accordance to technical merit and OSS principle (not any executive order).
So, kiddo, you would be put in a very disadvantaged position because there is a risk that you would be "push around" in these technical arguments.
-- "Option A is good", "No, Option A sucks. Option B is good".
-- "We should do A", " No, because of XYZ we cannot"
Being a manager and yet unable to settle this issue when needed greatly handicap your degree of freedom.
I think you are on the right track to suggest python because it is fast to build prototype in python and hence can prove your concept. Besides, it is relatively easy to learn, and probably your programming skill (at least "read only" skill) can grow with the project's progress. With C I would think you will be distracted by many issues (e.g. QT or GTK? C or C++? cross-platform issues...)
On the other hand, when you have a working prototype, you can worry about the speed then. You may decide to convert it to C for example.
I think now there is already a first test of you as a lead: "C/C++" or "python". Can you make a choice and stick to it? Can you explain your choice? Can you stay focus on issues?
I'm really more interested in python, first because it's intended to be a lot more simple (read: human readable) and flexible (with other languages... if there's something you can't do with it, well, you can add some part in C). I also prefer a programming language that's "younger" (C and C++ are.. 30+ years old?). This being a "not so complicated" desktop app, why roll out something that would take a lot more work from devs? I think someone coming from C to python can get along quite well, the contrary would be less likely. Now, on a more technical aspect, C is more ... manual, I'd say. And I believe automation by computers is not a drawback, but a feature; of course you can tweak your engine a little bit faster if you do it by hand, but at the expense of how much tweaking time to get that extra performance? (I'm currently thinking of building a car from scratch, or linux from scratch if you prefer. Yeah you can do something real fast. But I think I'd like to see something appear BEFORE longhorn does ). Having memory allocation automatically managed (not by humans), you don't have to worry about weird errors that behave differently everywhere you go and can focus on the actual software, not bugs dating back to the '70s (sorry C fans, I'm not trying to insult/flame anything/anyone here).
And finally.. I might learn some bits of python just by reading up what's written (and I would be very happy to learn something from this project!), while I don't stand a chance with C/C++/C# I might get less C fans to develop for specto, but I think python really is more "open" to anyone.
To put it into context, I'm the main developer of PiTiVi. To put a stop to all this python/C[|++|#] flaming take into account the following facts (from experience after doing several open/proprietary python and C programs):
Python is way faster to code than in any other language, forget C# too ==> Faster development time
Python programs are easier to modify ==> Add features faster, correct bugs faster
Python's core is C-coded (and so are several bindings) ==> Runs slightly slower than a program made in C
Python code is easy to understand ==> Easier adoption by "newbies", easy to understand by non-python coders
Python is fun
Kiddo is not a developer to start with, but seems to have a sense of organization that a lot of us developers lack (or at least lacked at the beginning) ==> He'll spend a few days/weeks before being able to hack in python, and a few months before being able to compile a C program without error
I've got serious doubts as to whether the people flaming python have actually used it at all, whether for a small hacking or for a more serious project. When you want fast high-level application development, and you are weak in every languages (because you're a beginner), languages like python are the way to go.
I do understand the credo of the C.. advocates, but give it a chance with python first, at least the concept will be proven, and if it's really slow (doubtly), critical parts of it can be converted to compiled languages. Oh, I almost forgot, making plugins is very easy if you use python, you can also easily make python<->C bindings for it.
Yes, python is very fun. I've coded on it a couple of times :-D. But I think, that C is more suitable, because with python we can make only scrpit, not a program. Also very funny are functional languages. I'm fond of it
Nad0xFF: You can't use python to make programs ????????????
Go and try flumotion (www.flumotion.net) , a streaming server capable of handling thousands of simultaneous connections, done in python
And your "we can only do scripts in python" argument just proves that you don't have a clue what python really is. Functions, classes, modules (equivalent of libraries), network framework (twisted), multimedia framework (gst-python), etc ...... What do you want more to do a programm ???
What you surely mean is that is not compiled, which is way different.... it's even better, don't have to wait an eternity for the compilation when you're working on a big project. You can even reload parts of your program for it's file without having to stop the program from running !!