PlaneShift

Fan Area => The Hydlaa Plaza => Topic started by: Caldazar on September 23, 2003, 07:22:03 pm

Title: Programming etc.
Post by: Caldazar on September 23, 2003, 07:22:03 pm
I\'ve been thinking quite a lot about my future, and I\'ve decided that I want to work within the computer business. Since this is quite a large area, I would like to know what different areas there are. I\'ve been studying CAD at school, and I\'ll be studying some graphics and C++ next year. If anyone could recommend a site about these things I would be very greatful.
Title:
Post by: Hamled on September 24, 2003, 09:48:10 am
There are quite a number of C++ tutorials out there, just try a whole bunch, some are more comprehensive than others. Your best bet though, is to get a book, because many of the more complicated (yet fundamental) aspects of C/C++ are not covered in the tutorials. Also, if you\'re interested in creating 3D engines or working on them (although with Crystal Space, why would you want to......heh), try nihil.gamedev.net
Title:
Post by: sashok on September 24, 2003, 10:09:34 pm
when studying c++ make sure you understand all of the concepts good. concepts such as polymorphysm, inheritance, etc etc.  understand recursion.  when you fully master arrays, don\'t hang on them, go right into pointers and linked lists.  

well :), that\'s all the advice I can give.

programming and graphics  are like best friends who have nothing in common with each other. Persue them both you would have to spend too much time.
  yes, to make 3d graphics, really smart programmers had to write programs for it first, but these people usually won\'t get into using them. if you don\'t want to be stuck in between these 2 fields, choose one carefully and persue it to the fullest.
Title:
Post by: Grakrim on September 24, 2003, 10:34:52 pm
If you don\'t mind paying, the best book that you can get about C++ is The C++ Programming Language by Bjarne Stroustrop (the creator and original implementor of C++).  Its the most complete standard C++ book on the market, or at least to my knowledge.  I think MSRP is probably about 40 USD for the 3rd edition.

As for CAD, I know surprisingly little about that (considering my father is a CAD/drafting instructor.)
Title:
Post by: Xandria on September 24, 2003, 11:31:17 pm
All I can say is that C++ just plain rocks!  I\'ve tried several languages, and it is just so cool because you can do just about anything with it.

And sashok20 is exactly right: you need to understand the concepts more than anything, because that\'s what real programming is.  If you somehow move to another language in the future, the coding will likely be different but the programming concepts are exactly the same.

There are a number of good books out there, but again, look for something that emphasizes concepts.  I\'ve got tons of books that have cool coding things in them, but if you don\'t master the basics you\'ll get really confused, espcially with C++.

Oh yeah, and recursion rules!  :D
Title:
Post by: FateGiver on September 25, 2003, 12:41:18 am
C++ rules!!!!!!!!!!!!!!!!!!! :))
Title:
Post by: Caldazar on September 25, 2003, 12:23:06 pm
Oh well, I looked at the tutorials, but I think that learning c++ in english might be very hard, so I\'ll wait one year and learn it in school instead.
I just downloaded Milkshape, and it seems to quite a nifty little program :)
Title:
Post by: Nikech on September 25, 2003, 12:37:19 pm
Quote
Originally posted by Caldazar
Oh well, I looked at the tutorials, but I think that learning c++ in english might be very hard, so I\'ll wait one year and learn it in school instead.
I just downloaded Milkshape, and it seems to quite a nifty little program :)


There are some C++ books available in Finnish, so there must be some in the Viking language(Swedish/Norwegian?).
Title:
Post by: Drilixer on September 25, 2003, 01:28:41 pm
Caldazar if you are looking at freeware 3d programs - check out blender... it may be alot more complex than milkshake... but within 30 minutes of starting to use milkshake you will begin to see the limitations that this program has in comparison to the \'big\' programs...
Title:
Post by: Caldazar on September 25, 2003, 04:15:33 pm
Quote
Originally posted by Drilixer
Caldazar if you are looking at freeware 3d programs - check out blender... it may be alot more complex than milkshake... but within 30 minutes of starting to use milkshake you will begin to see the limitations that this program has in comparison to the \'big\' programs...

I will check out Blender.. could you recommend a newbiefriendly tutorial?
Title:
Post by: Altharion on September 27, 2003, 01:33:09 am
http://www.cprogramming.com
http://www.cplusplus.com
Title:
Post by: Caldazar on September 27, 2003, 05:34:21 pm
No tutorials for Blender there, but thanks anyways ;)
Title:
Post by: Keldorn on September 27, 2003, 06:48:38 pm
You want blender tutorials? You go to http://www.3dbuzz.com

Tutorials for blender can be found there...
Title:
Post by: Auran on September 27, 2003, 06:49:40 pm
So then. I learn finally that my dear  Comerade Caldazarovsky is a kid in school:D. This changes things a lot. Heh! Heh!.

Anywayz, there\'s nothing wrong with that but its good ribbin fodder;).

But seriously Caldazar programming is a very loose term and my advice to you is
\"Think of what you want to do with the programming skills you pick up\".

I know that most guys are interested in making games (thats how i started :)) )but that is a quite involved process. You\'ll need to think the following first-

1. Do I want to be an all powerful hacking guru?
2. Do I want to be a programmer whose programs sell?
3. Am I developing for the general public or for my use ?
4. Do I want to go into graphics?
5. Do I want to go into system modelling?
6. Do I want a job in this field?
7. Do I want to have complete control over the Computer, the machine?
8. Do I want to impress my friends and chicks?;)
9. Which os will i develop for ?
10. Most importantly - Do I want to be a scientist, engineer or user?

If you want any advice from me you\'ll need to post the answers to those questions first :).

Yours sincerely
Auran

PS- dont start on blender just yet. Resolve your needs first. Take it from me- I\'ve been there;):P.
Title:
Post by: shadowmancer on October 06, 2003, 05:53:56 am
I wanna be a network admin!
Title:
Post by: Xandria on October 06, 2003, 07:41:02 am
Programming is just plain awesome, especially if you\'re born a good programmer (like me).  My answers:

1) Heck yeah!
2) Yup
3) Both
4) No (unless you\'re talking about writing a 3d engine or something)
5) Not exactly sure what you mean
6) I\'d love a real job as a programmer
7) This is what C/C++ programming is all about!
8) Oh yeah!
9) Win32, maybe Linux if I figure out how
10) Engineer; always have been a creator, always will be :)
Title:
Post by: shadowmancer on October 06, 2003, 08:03:39 am
Hacking isn\'t as cool as everyone thinks it is. I got busted for that. Lots of trouble. You don\'t want to get caught. And a hacking guru isn\'t all-powerful; the FBI is. Nothing is untracable. However, plenty of people don\'t get caught, and hacking is fun. So, basically, don\'t do anything stupid, and nothing stupid will happen.
Yes, I made sense; If it doesn\'t seem that way, it\'s your fault.
Title:
Post by: Davis on October 06, 2003, 08:05:10 am
Ooh look so other people are on.
I\'m gonna stop now. 2:04.
Title:
Post by: Xandria on October 06, 2003, 04:56:43 pm
Hacking doesn\'t always have to mean something that is illegal.  I\'ve heard a lot of references to things called hacking that are perfectly ok.  Usually things that have to do with modifiying your OS in a way you\'re not supposed to (my friend called it \"Hack your Mac\").  It\'s not really illegal, it\'s just fun to make your OS do cool things  8)
Title:
Post by: Auran on October 06, 2003, 05:45:43 pm
Ever heard of FEM? Thats one example system modelling. Well \'System modelling\', for the uninitiated, is about creating mathematical models to simulate real phenomenon as closely as possible eg- modelling fluid flow, metal deformation under different states of stress, Kinematic chains etc. It is one of the most interesting applications of the Computer and one that is extensively used in scientific research, product design and things like that. Its one of the most rewarding things one can do as an engineer. These things really add to one\'s resume.

Hacking is good upto the extent that it is a fun way of clearing up one\'s fundamentals. But beyond that its plain boring. More often than not its a kid showing off or some frustrated loser trying to make others as miserable as he is. But surely its an easy way of impressing ppl.

Professional programmers are required to do a lot of mundane programming. Only 15% of all the assignments are really interesting. But if you really want a programming job it pays to know things like Dbase, SQL, networking and other boring stuff like that. It will also help if you do relevant projects.

As to the OS try programming on the Windows 2000 platform. That is what most companies are using right now. Very select and extremely hardcore companies use Unix.

And lastly C/C++ are not meant for giving you control of the m/c. Though it is an excellent language, if you really want to take control you\'ll need to learn Assembly both real and protected mode.

Any queries? just ask.

Always glad to help out programming students.

Auran
Title:
Post by: zabeal on October 06, 2003, 06:56:48 pm
Wow, from reading the guild forum, I\'d never think I\'d say this, but auran is absolutely right. You have to get your priorities in order before yu start learning, or you\'ll learn the wrong stuff. No point playing around with blender if you just want to work on networking.

All I can add to this discusion is point out that java is my personal favorate, not because of the normal reasons(cross-platform, very similar to C++, faster than scripted languages, i8n, etc), but because Sun\'s own tutorial is very good, and teaches you enuf to make a multi-threaded network program in just a few lesons. Doing that in C++ would take a fairly long time.
http://java.sun.com/docs/books/tutorial/index.html
Title:
Post by: Xandria on October 07, 2003, 09:51:57 am
Quote
Originally posted by Auran
Ever heard of FEM? Thats one example system modelling. Well \'System modelling\', for the uninitiated, is about creating mathematical models to simulate real phenomenon as closely as possible eg- modelling fluid flow, metal deformation under different states of stress, Kinematic chains etc.


Now THAT...sounds really friggin cool!  8)   Have you got into chaos theory much?  Now that\'s what I would love to do!

Quote
Originally posted by Auran
Professional programmers are required to do a lot of mundane programming. Only 15% of all the assignments are really interesting.


An unfortunate reality of programming.   :(   Still, I like solving puzzles. :)

Quote
Originally posted by Auran
As to the OS try programming on the Windows 2000 platform. That is what most companies are using right now. Very select and extremely hardcore companies use Unix.


Unix seems to be loosing ground to Linux, since a lot of Unix programs can just be recompiled for use on their new (and free) counterparts.  Linux programming seems to be pretty cool, with open-source a great thing to look forward to for retirement  ;)

Quote
Originally posted by Auran
And lastly C/C++ are not meant for giving you control of the m/c. Though it is an excellent language, if you really want to take control you\'ll need to learn Assembly both real and protected mode.


Lol, assembly is SO hardcore! Even still, my C/C++ instructor informed us that probably the very best assembly programmer in the world going up against the best C++ programmer in the world would probably write the exact same program that would run at most 3% faster.  Obviously writing an entire OS in assembly to gain 3% performance is absolutely ludicrous.  Knowing assembly and being able to tweak your C++ code at key areas is a good skill as well.  But still, for things like video card drivers, 3% is a big deal, and not a large bulk of code to write in assembly (is my guess anyway).

Quote
Originally posted by Auran
Always glad to help out programming students.


Thanks  :D
Title:
Post by: Auran on October 08, 2003, 04:12:27 pm
heh! Thats what instructors are supposed to say! they never tell you the good stuff. Assembly isnt really hard once you get to know it and the things you can do with it beat anything C/C++ could do anyday;). I mean wouldn\'t it be cool if you wrote a ring-3 program and got it the priviledges of a ring-0 program at runtime :D. Such undocumented calls are something no instrustor would ever tell you ;).  Of course I would never advise doing bulk programming with it, that would be plain stupid.


Ok by unix i meant it and its derivatives:P.


The Chaos theory-

No I havent had an encounter with that yet. I am more of a Fuzzy logic/ Neural networks person :).
Title:
Post by: Xandria on October 08, 2003, 07:28:22 pm
Quote
Originally posted by Auran
The Chaos theory-

No I havent had an encounter with that yet. I am more of a Fuzzy logic/ Neural networks person :).


Fuzzy logic?  Neural networks? Sounds cool!  :D


Chaos theory is cool; it basically has to do with \"simplicity in chaos,\" that a simple equation can represent a complex pattern (fractals).  It also involves things like \"unpredictability\" and \"sensitivity to initial conditions\" (even though an accurate weather model was created by Edward Lorenz, long-term forecasting is still an impossibility).

If you want a humourous, but accurate, explanation of chaos, go watch \"Jurassic Park\" and pay attention to Malcolm, because he is a \"chaotician\" and he explains chaos theory.

Or if you want a more in-depth explanation, you can read James Gleick\'s \"Chaos: Making a New Science.\"  I found it very interesting to read both the first time when I was too young to understand it  :D and the second time after I took calculus and could understand most of it.
Title:
Post by: Altharion on October 08, 2003, 09:07:51 pm
http://www.cprogramming.com
http://www.cplusplus.com
Title:
Post by: Auran on October 09, 2003, 04:47:13 am
My! You really do have an interest in these things dont you Xandria!! I like that:). How old are you? If you have gone through Chaos theory at a young age that is really an accomplishment:). I\'ll see if I can locate the books you mention.
Title:
Post by: Xandria on October 09, 2003, 08:42:30 am
I\'m 18, though I don\'t consider myself an expert  :P

It\'s something I would like to study further, if I can find the time.  I have several books on practical applications of fractal theory in programming.  One of explains things like using fractals to enhance draw distance in a 3d environment; with the correct setup, a field of grass from 1000m away looks like a large green carpet, at 1m away will draw individual blades of grass, everything in between looks smooth, and the result is a realistic looking landscape with a relatively low number of polygons.  Another topic was compressing images using fractal algorithms.  This worked (from what I remember when I was skimming the book) by turning the image into a set of fractal patterns; analagous to turning a bitmap of a schematic into a vector graphic.  In any case, the image could then be represented by this set of fractal equations.  Although you loose some image quality (like any lossy compression), fractals are infinitely detials by nature, so you could zoom into the image and still maintain sharp borders between colors (whereas most images you would experience pixelation).

So, pretty cool stuff.  I just gotta figure out how I can combine it with programming, then figure out how to do something useful with it  :)
Title:
Post by: Auran on October 09, 2003, 04:19:57 pm
Well something that I learnt some time ago about graphics is that if you love the math involved you\'ll have to forget using them since they\'ll have too complex representations to be of any use and if you want to use then the things will have to have no more complex math than NURBS.

By the way since you seem interested why dont you subscribe to the Computer Graphics journal published (i think) by IEEE. If you want I can give you the details of how to apply.
Title:
Post by: Xandria on October 10, 2003, 06:27:06 am
Computer graphics isn\'t really my field; I just write programs, and let someone else draw the pretty pictures  :P