Advertisement

Question about becoming a computer programer?!?

Started by June 10, 2001 09:22 PM
36 comments, last by Kryptic 23 years, 8 months ago
Well, as you keep mentioning ADA, I''ll tell you what I know about it. It''s a high-level language designed for programming real-time multithreaded systems. I believe the Department of Defense requires all programs they use for some systems to be written in ADA. It''s almost a dead language other than that. One of my professors actually knows a lot about it, as he''s done projects sponsored by the DOD before, and he says its one of the worst designed languages he''s ever used... And that would be why it''s not used anywhere it isn''t required to be used.
quote:
Original post by c_wraith

Well, as you keep mentioning ADA, I''ll tell you what I know about it. It''s a high-level language designed for programming real-time multithreaded systems. I believe the Department of Defense requires all programs they use for some systems to be written in ADA. It''s almost a dead language other than that. One of my professors actually knows a lot about it, as he''s done projects sponsored by the DOD before, and he says its one of the worst designed languages he''s ever used... And that would be why it''s not used anywhere it isn''t required to be used.


The last time I worked for gov''t contracts was 95 or so, and I heard rumor that the DoD was looking at relaxing their ADA requirement since C (and C++) were becoming so widely used. I don''t know what came of that, though. I do know that ADA has its naysayers, but so does every language.

As for ''what language is used to program games'', a quick trip through www.gamasutra.com will show that it seems about 50-70% of games are made with C/C++ in part. There are some freaks, like Roller Coaster Tycoon, that were done in assembly. But professionally, you basically just stick to whatver platform and language your shop is using. And don''t be surprised when you have to learn a script or shell language here and there as well.
Advertisement
I would say that learning languages is easy (well, most languages ), it''s learning to think like a programmer thats difficult.

So my advice would be to select a language that''s easy and learn to program using that (and really try to master that language). This will make you quite well equipped to learn other (more complex) languages.

Most languages are after all very similar.

The first language I really learned was Turbo Pascal, which is in my opinion a very good language for beginners, though it''s very seldom used in a professional setting. Then I migrated to C++ (which contrary to popular opinion, I found quite easy, possibly because I already knew how to program Turbo Pascal).


In the introductory computer-science courses at my local university the first language they teach is ML (a functional language), followed by Java (an imperative language).

My teachers there claim that functional languages are easier to learn for non-programmers. I don''t know if I agree on that, but then it could just be that I''m so stuck in the imperative way of thinking.

Oh, and BTW, if you want to program games, make sure you pay attention in your mathematics classes. It will pay off later
As a professional computer consultant, here''s my advice:

1) Have a genre that drives you to learn, but don''t let that prevent you from doing other things. Always try to learn new things.
2) Learn things conceptually. If you understand how things really work at an abstract layer, you can extrapolate that information to other areas.
3) Focus on your favorite languages, but don''t descriminate against the others. The more languages you know, the better the chance you can work where and when you want.
4) Unless you make it big by accident, get a computer-related post-secondary education. When you are trying to break into the field, you need every edge you can get.
5) After working for a while (if you think you''re good), stop working for others and start working for yourself. Computer consulting is lucrative. Start up your own business (in the U.S. you guys have S-corps which are great).

Good luck.
Man, starting a new Company in Austria is a pain.. (at least what I''ve heard...) you have to pay so many taxes that it, at first doesn''t even pay off...

I strongly recommend kinda starting on 2 basis:
1.) C and non Web oriented languages (C, C++, Pascal, and so on)
2.) java-script and other weborientated Languages. (java-script, Java, HTML of course, .php and so on)

this will give you a real nice Base to start off.. you never know what direction the mainstream will go... I guess it''s more on the web side, anyway, that''s another story..

ok,
I wish you lots of luck,
it for sure won''t be easy,
but one kinda famous guy said one thing:

"If you do what you love, and do it as well as you can, good things will eventually come of it. Not neccassarily quickly or easily, but if you stick with it, they will come."
- Mike Abrash

Always have that in mind and you''ll find your way :O)
//-> moralic->off(); :p

cya,
Phil



Visit Rarebyte!
and no!, there are NO kangaroos in Austria (I got this questions a few times over in the states
Visit Rarebyte! and no!, there are NO kangaroos in Austria (I got this question a few times over in the states ;) )
At 12 I would have to recommend something like Visual Basic or Delphi (Pascal). Both Pascal and Basic were developed to teach programming. Basic is most likely the better starting point. Pascal enforces more structure, but starting out just learning to program period is an accomplishment. Also most scripting languages in applications is in Basic. Both Visual Basic and Delphi will allow you to accomplish a good deal with very little effort. That is extremely important starting out. You need to be able to impress yourself quickly to get the positive reinforcement needed to keep going. Ultimately yes you do need to learn C++, but ultimately you need to learn many languages because the chance of you coding in C++ when you are 60 is about zero. Languages come and go, but the process of learning one stays the same. You might as well start on an easy language since you have plenty of time.
Keys to success: Ability, ambition and opportunity.
Advertisement
Please, please, please... if you''re gonna take up programming, either (a) try and take some classes somewhere, or (b) buy a good book on the subject.

The reason I say this, is that although you can pick up programming just by doing it, reading source code, experimenting and so on, there is so much you miss without a good knowledge of the theory. Without the theory, you may develop poor programming habits that are hard to get out of at a later stage. (And don''t think that other people''s code is perfect, even when they are in the industry! Far from it.) You need to learn about hashing, linked lists, binary/decimal/hexadecimal, trees, recursion, abstraction, algorithmic complexity, and so on. (Plus polymorphism, inheritance, overloading, STL etc if you use C++.)

Without understanding these basic concepts, your programming skills will be hampered. A lot of people, especially on these boards, seem to get stuck on the simple stuff, just because they never learned some of the more fundamental concepts of computer science. Expecting to learn C++ just from code is like expecting to learn French just from a phrase book. You need the context and background to truly learn it.
I started out at 12, just like you, programming in QBASIC. BASIC is a good language to start with, as it was designed to teach programming. After fooling around with it for a while (mind you, I never really mastered QBASIC), I was encouraged to try C or C++. A (much older) friend loaned me his copy of "The C Programming Language", and I immersed myself in C theory. I didn''t understand all of it, but I learned a lot. A friend of my father''s, a professor of Mechanical Engineering and Mathematics, then told me to jump straight into C++. Conventional wisdom at the time (and to a large part even now) was that one had to learn C before C++. Not so.

About then I became something of a language packrat, briefly programming in assembly, PowerBuilder, VisualBasic (which I still use), FORTRAN and C, along with my day-to-day C++. I once learned Perl in 4 days for a job. In other words, once you''ve learned one language, you can quickly become proficient in another, though not a master.

I don''t advocate that you follow my footsteps, because I''ve pciked up dozens of good and bad idiosyncracies, largely as a direct result of fooling with too many languages at once. Take the excellent advice that has been proferred to you to learn a high level language and learn it well. Then begin to learn others, taking time to understand them thoroughly. Also, keep abreast of new language developments. I was out of the loop for a few years, and now may need some remedial C++ classes to take advantage of newer language features.

Above all, believe in yourself. Be patient ad be diligent, and you will succeed.
I know a guy who is just starting to learn C now (he''s 14) and he is doing it coming from Visual Basic, and I''m telling you, Visual Basic is a bad starting point to go from. He always tries to do things like use the = operator for string copying, doesn''t understand why he can overrun arrays and use pointers without having to allocate memory to them. He also doesn''t understand why strings have to have a zero on the end of them. He didn''t know that = returns a value and will not give a warning if you use it with if().
I learned C first, and so I didn''t have any of these problems with it. I learned C when I was 10 (but it took me two years, if you start older it takes you less time to learn) so you should not have too much trouble with it.
I started to learn C thanks to a tutorial on the internet at:

http://book.ygm.itu.edu.tr/Book/Corona/CTut/index.htm

I found it absolutely excellent -- the author assumes you''ve never used C before, and it gave me a strong basis on which to build from.

Helped me masses here at university where we use Java. Had I not learned the basics of C in my spare time while at school, I''d be having a tough time!

This topic is closed to new replies.

Advertisement