PDA

View Full Version : honest question.......



darkangelx
12-16-2001, 12:25 AM
I would really like to help out with SEQ, granted I do not know alot about coding, but I would however like to learn what all is needed. I figure its done in C or C++ which I know some basics. What tools would anyone recommend (other than the lovely vi)?
Not trying to get flamed, I am asking for a point in the right direction. No one was borning doing this, and you all had to start somewhere, thats all I am asking for is a starting point.

awhamilt
12-16-2001, 06:59 AM
Congratulations on deciding to learn how to work on Open Source projects! It'll be a great feeling the first time that you see some of your code patched into a project.

Personally, I do use "the lovely vi" as my primary development tool: have a few windows open, vi stuff in a couple, make in the third... however I do realize this isn't everybody's cup of tea.

I do know that a lot of people use KDEvelop for their C/C++ development. I've never tried it, since it would have taken me more than 3 minutes to install, and I was too lazy. However, I've heard that it's an excellent IDE.

If KDEvelop doesn't have a debugger built in, you'll want to learn how to use gdb (gnu debugger). Even knowing how to do a stack trace will save you a lot of time chasing down segmentation faults.

The caffeinated candy sampler from ThinkGeek (http://www.thinkgeek.com/) is also an excellent development tool, as are products from Pizza Hut (http://www.pizzahut.com/).

That's about all I can think of off the top of my head.

MisterSpock
12-16-2001, 09:13 AM
Me too... I'm very eager to contribute as well. I've got lots of programming experience (20+ years), but very little in this (Linux)environment.

Often, I'm in the situation where I know exactly what to do to fix/improve code pieces, but I don't know the tools well enough!

So -- what's the next step? How does one get involved?

cjd1
12-16-2001, 12:47 PM
Take an Open Source project you are interested in, use, whatever. Think of some little thing that's always annoyed you. Find it, fix it.

That's the easiest way to start navigating source for an existing project. Slowly you'll fix this and that, and the hunt involved in that gets you acquainted with more and more of C++, Qt, Linux, etc.

darkangelx
12-16-2001, 05:21 PM
Originally posted by awhamilt
Congratulations on deciding to learn how to work on Open Source projects! It'll be a great feeling the first time that you see some of your code patched into a project.

I cant tell if your being sarcastic or not, but if you are sincere, I thank you for the information.

awhamilt
12-16-2001, 10:33 PM
Originally posted by darkangelx
I cant tell if your being sarcastic or not, but if you are sincere, I thank you for the information.

Oh, I'm being sincere.

repudi8or
12-18-2001, 06:20 PM
I have some ideas which I would like to try out for showeq myself. I have some c++ experience (tho on windoze and using the MS IDE) and am looking for an equivalent IDE on linux. I have looked on freshmeat for IDE's and found one called Anjuta. Has anyone got any experience with this? I looked for KDEvelop there also but it was not listed. Where can I find a RPM for KDEvelop? I was wondering if anyone has a Anjunta project set up for showeq to save me building it? If not I will go ahead and create the project and make it available to anyone else who may be interested.

Regards
Repudi8or

casey
12-18-2001, 07:19 PM
kdevelop is decent, but if your goal is only to build showeq, an IDE is way way overkill.

running 4 commands to build showeq is easier than loading it into some ide and setting up a project defenition.

and to be honest, i find vi + ddd (x interface to gdb) to be all the dev tools i need :)

destef
12-19-2001, 04:22 PM
Personally I stick to the joe editor when I am remotely logged in and need to edit files. Otherwise I use a windows editor (programmers file editor) to edit the code with a few telnet sessions open in the backgroud. I have a drive mapped via samba to my windoze box (my linux box servers as my file server too) and saving code in the windoze app writes it over the network. One session is open to do an "arrow up" and compile each time, another window or two to actually run and the programs, etc.

I rarely ever use xwindows environments for development mainly because the code I write is usually non-GUI code (network monitoring, memory management algorithms, etc) and they usually run as background processes. If I did do GUI stuff I'd have to break down an use X.

As far as learning some programming I'd suggest starting with small idea of your own. Little utilities and such are great way to learn some C or C++. Even if its already been done you can learn a lot by trying to take someone else's concept (east ones at first) and doing the same thing in your own way--maybe even better.

I learned low-level socket programming by just learning the C functions and writing some packet-capture programs. Then I built on it by actually doing stuff with the packets i captured. As I learned how to work with the low-level functions I knew enough to be able to write some real apps. Don't like how the ping app looks?, write you own. Build on your idea with things like multi-threadding, shared memory management, etc. Don't forget to pick up a copy of the "C bible" (Kernigan & Ritchie's C book). Its a good reference.

I personally could never really learn more complex programming concepts by reading someone else's code, I had to just take the idea and try to make it work myself. In this respect I've always tried to avoid using other libs wherever possible (except for the common ones like glibc, curses, etc), I just write the simple routines myself. People may think its a waste of time but I learn a lot more doing that and I also gain the flexibility of not being limited to the abilities of someone else's lib--or having to learn their lib code to expand on it. But, each programmer has their own style of learning. Some people like to make use of all the varios libs out there and thats cool. It really depends on what your app really needs.

Most people make the mistake of wanting to write that huge great app as their first attempt to learn C. Thats a big mistake because you will make lots of mistakes (bugs) in your early programs and/or end up too frustrated and give up. Any good programmer will tell you they've spent countless hours (more than played on eq for some) learning how to "code better". It requires more patience and persistance that getting to 250 in your jewelcraft skill and is a neverending process.

I've been a Linux systems programmer for a good 5 years now and every time a start to develop a new app I refine my process and write "better programs". When I go back and look at my old programs they seem "sloppy". That tells me that I'm improving my programming style and making progress (hopefully).

Good luck.