how to create software?

Discussion in 'other software & services' started by unnamed, Jan 9, 2009.

Thread Status:
Not open for further replies.
  1. unnamed

    unnamed Registered Member

    Feb 12, 2008
    my knowledge of computers is very very basic
    i have a question-
    how is software created? what do you need to study, in order to create software? can you specifically mention what i need to study
    for a computer beginner like myself, is there any hope of learning how to create software? how difficult will it be? can i learn on my own, through books?
    the subject intrigues me, can you give me some advice
  2. Shankle

    Shankle Registered Member

    May 2, 2006
    I would advise taking some computing courses.
    There are 2 schools of programming, the high level boys and the
    Assembler crowd. IMHO I feel that the high level languages are for people
    that really don't care what they are doing. Usually I find that high level languages are full of bloat. Assembler cuts to the chase but is a little more difficult to absorb.
    So it is not something that your can acquire overnight.
    If you are truly interested I would advise the college courses and a high
    level language like "c" to get started but also after awhile investigate
    the Assembler languages. It is worth the effort.
  3. Sully

    Sully Registered Member

    Dec 23, 2005
    Ooh. I second that. Assembly would have been so very nice to have known before anything else, but definately get a little c under your belt.

    And it also depends on what you want to make. If it is just little tools to help do something, you may not even need to go full-out. For example, let's say you wanted to make your own piece of software to keep track of your digital music or something. You could use many of the higher level languages, or you could use something like AutoIt, which is more like scripting with a GUI. Easier than a 'language', but more limited in what you can do in the end.

  4. wilbertnl

    wilbertnl Registered Member

    Dec 29, 2004
    Tulsa, Oklahoma
    You don't tell us which platform you intend to develop for, unnamed.
    Practice is a great way to learn.
    I would start with the free XDS modula-2 compiler, which enables you to create win32 applications.
    Here is a tutorial that you would use with that compiler.

    When you get the hang of it, you know better which direction you want to go.

    Oh, don't expect to become a programmer overnight...
  5. ambient_88

    ambient_88 Registered Member

    Jun 23, 2008
    If you truly want to learn, you'd need to buy (and read!) books about programming. If you can, take classes since the instructor will help you absorb the material more easily (probably, depends on how well you learn). I recommend starting with Java, since it is a pretty easy language to learn.
  6. emperordarius

    emperordarius Registered Member

    Apr 27, 2008
    Who cares
    It's pretty much simple to make programs nowadays-that is, unless they have a deep interaction with the system , then it gets difficult.

    There are two types of programming languages: native ones and managed ones. The seconds are newer and are generally easier to use, but also require the user to install an additional piece of software which contains all the library function (which depends on the language, the huge .NET framework for .NET languages, the Java VM for Java etc.). Advantages of the managed languages are the slightly bigger ease of use, generally more safety and garbage collecting. However, they are bigger, slower and very very easy to decompile. The native languages are generally more difficult to learn (though not much). Normally they don't need any additional piece of software, are smaller, more difficult to decompiler and faster. However, you have to do more things manually (with less built-in functions), and you have no garbage collection (actually you CAN have it with external programs, although that increases memory usage).
    So which one to go for?

    My recommendation would be for C or Java. They're both perfect for single and cross platform development. C is a native language, Java a managed one. C is generally preferred for deep interaction with the system, and it's one of the highest-performaning languages. The best part is that it is fully supported by all the major OSs: Windows, Mac (for even better performance you can learn Objective-C, which is almost the same as C) and Linux/UNIX. Java is easier to learn, and can run on all the major OSs by installing the Java VM. Though it is not completely supported, especially for <another time> deep interaction with the system.

    I would say to go with C. You can find hundreds of thousands of tutorials, and hundreds of free ebooks.
  7. ThunderZ

    ThunderZ Registered Member

    May 1, 2006
    North central Ohio, U.S.A.
    What is anyone hearing about C++. Thought it was to be the latest, greatest, easiest. Have heard little about it really.

    Had also heard about a "plan language" programing language some time ago. Any word on that? Could see where it would be quit bloated but perhaps simpler for all to use.
  8. markymoo

    markymoo Registered Member

    Sep 25, 2007
    unnamed said his knowledge of computers is very very basic so jumping in and trying to learn assembler or c which access the hardware directly straight off is a no no. btw it is possible to do things in c that are as powerful and as fast as in assembler. There is no point having power if you dont know how the hardware works to utilize that power. Best to start off mild so choosing something like VB.NET or a scripting language be a gentler approach and so it a good learning curve. A good one to start off is Python which can be powerful but gentle and use other languages. It has excellent support. A friendlier language can make you more creative but still give power and speed.

    A good scripting language to learn nowadays is PHP as it is being used more and more as web applications play a bigger part. There are a few scripting languages that provide a c compiler as well.

    There is also Autoit and Autohotkey which have been described as easy to do something easy but the hardest to do something hard.

    Best to read as much as you can and get some good books and learn about the computer as well.
    Last edited: Jan 10, 2009
Thread Status:
Not open for further replies.