Types of Programming

Started by
4 comments, last by Irlan Robson 9 years, 7 months ago

Hi, I would like to know types of programming that there are, I am sure there is more.

  • Artificial Intelligence
  • Networking
  • Game Programming
  • Cryptography
  • Data Mining

And so on... I am wondering which of them should I get going? I know the basics in programming up to the point to OOP and planning to learn C++. My previous experience were Python, Java and C# (All which I learnt at the point OOP and pretty much stopped). I want to create a game, but the logic behind seems to be very complicated to understand.

Finally, which would you recommend to program? I just want to enhance my knowledge and cover all the concepts, since I dug a hole so deep from learning different languages and not sure where to start.

One more thing, I am planning to do Software Engineer next year, as I already applied to university and waiting for my offer. In other words, I am practicing programming not for hobby, but an essential skill that can help me in future throughout my second and third year in university.

Quick edit:

I am not asking the type of programming language to focus, and I am mainly going to focus on C++/Java. I guess the word "algorithm" would be the best to describe my case scenario.

Advertisement

I say just pick something that interests you and pursue it. It doesn't hurt to have some general knowledge about all aspects of programming, but it is good to still specialize in something. Sometimes knowledge from one part of computer science crosses over into other parts, so don't think of them as completely separate either. This technique combines neural networks, something usually associated with AI, to render graphics. The most important thing you can do is to just keep programming things you find interesting.

My current game project Platform RPG

You're not really talking about programming at this point, but domain-specific knowlege. If programming is carpentry, then being a AI programmer is like being a carpenter who specializes in building stairways, or being a network programmer is like being a carpenter who specializes in installing windows. They're trades based on the same foundations, but with some additional specialized knowledge, tools, and experience.

I would suggest that going into your second year of university might not be the best time for you to choose a life-long specialization; instead, look at it as an opportunity to grow as a *general programmer* through pursuing *specialized problems* that interest you. For now, choose something that interests you to help motivate your studies, rather than trying to set your life's path. Besides, there are very few people of any occupation who make a living strictly from a narrow specialization, especially in technology. You need to be a strong generalist as well as having one or more areas of specialist knowlege and skill level. Don't be afraid to spread yourself out while you're young, it may be the only time in your life that you're free to change your own direction without having to justify your decision to your obligations -- it may not be possible to change course in the future to pursue a life as a game programmer if it means having to leave your well-paid but unfulfilling life in data mining when you have student debt, a mortgage, or a family to support.

If you don't already have a strong feeling that there's one of these that you want to do, don't feel like you have to make a decision now. Try out different things until something draws you in.

throw table_exception("(? ???)? ? ???");


I would like to know types of programming that there are

I agree largely with Ravyne's comments. At your age and level of experience (with life as well as programming), your interests will very likely change in the next few years. Your opening comment indicates you haven't discovered all the areas that may interest you in the future. Leave your mind open for now.

Along that line, I would suggest you do not think of going to university for an undergraduate degree as an opportunity to become a specialist. Although there will be specific areas you must be good in (math, for instance.. and physics, math, and physics), concentrate on learning how to learn, not on gaining knowledge in a particular area. A time-worn quip: "A B.S. degree is just Basic S__t. An M.S. is More of the Same. And a Ph.D. is just Piled Higher and Deeper."

Something to consider - a large amount of programming is simulation - imitation of a natural process in code - game characters responding to collisions and gravity, a programmable heart monitor interpreting electrical signals, analysis and plotting of ocean currents, etc. In your first few years at university, prepare yourself with the tools to translate some subject you've never heard of before into code. Using Ravyne's analogy, you'll be able to do that if you're competent with the basic tools of your trade.

To aid that preparation, early on, try to take some courses that will expose you to areas you're not familiar with - biology, chemistry, oceanography, art. At some point in the not-too-distant future, it's likely you'll read or see something and you'll think: "Holey Moley! That is really neat stuff!" Be prepared for that moment.

Please don't PM me with questions. Post them in the forums for everyone's benefit, and I can embarrass myself publicly.

You don't forget how to play when you grow old; you grow old when you forget how to play.

Thanks, I think I should keep my mind open and hoping to find something that catches my interest in future, by doing some research in other subjects and enhance my knowledge in programming at the same time. One more thing, in the university I am planning to go, most of third year students in Software Eng. they would focus something that is implemented to our lifestyle. So, I am most likely try to build a simple simulation and see where I go with my project.

You're not smart in being a programmer. You're smart in applying the theory successfully. This is just an language like American English, Brazilian, Japanese, etc.

I'd say "Software Architeture" instead of "Game Programming" and "Applied Sciences" instead of "types of programming". :-).

This topic is closed to new replies.

Advertisement