Complicated Software Programming

Discussion in 'OT Technology' started by madmatrixz3000, May 5, 2007.

  1. madmatrixz3000

    madmatrixz3000 New Member

    Joined:
    Jan 21, 2007
    Messages:
    6
    Likes Received:
    0
    So i am begining to write a Ppt like program that is specific to musicians with special features and multiscreen capability. What is the best code to use (I have been told C++), and where in the world do I start?
     
  2. P07r0457

    P07r0457 New Member

    Joined:
    Sep 20, 2004
    Messages:
    28,491
    Likes Received:
    0
    Location:
    Southern Oregon
    lol. You start by forgetting about writing this for a LONG time. Now go take many courses in software design. You NEED to learn theories like OOP/OOD before you even attempt this.

    There is no "perfect" language. Use what suites your needs and you are most comfortable with. By reading your post, I can tell you have absolutely no clue what you're doing.
     
  3. Peyomp

    Peyomp New Member

    Joined:
    Jan 11, 2002
    Messages:
    14,017
    Likes Received:
    0
    C++ is an extremely difficult language, and is not appropriate for someone attempting their first large project who doesn't know the language very well already.

    You will want to read these two books:

    1) Object Oriented Analysis and Design
    http://www.amazon.com/Object-Oriented-Analysis-Design-Applications-2nd/dp/0805353402

    2) Design Patterns
    http://www.amazon.com/Design-Patter...5908762?ie=UTF8&s=books&qid=1178343715&sr=1-1

    You will also NOT want to try to write a ginormous program first. Think of the smallest set of features anyone would actually use, and make that. Go from there.
     
  4. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    You're putting the cart ahead of the horse. You don't need to be worrying about what language to write it in, because from the sound of it you don't have any sort of written design, or even a list of functionality requirements yet. You can't just make up a program as big as this as you go along; you need to have a plan.
     
  5. Peyomp

    Peyomp New Member

    Joined:
    Jan 11, 2002
    Messages:
    14,017
    Likes Received:
    0
    Fuck that. Define the tiniest thing that would be useful and build it. Dive in. Its the only way to learn. One does not generate a requirements document for one's first project. You will not learn that way. Will he end up with what he wanted? Probably not. But we already know he'll never get there anyway, without years of study. There's more than one way to define success here, and learning the most would be the right way to think about it. So, he needs to read a couple books and dive in.
     
  6. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    I completely agree that he needs to start small. That said, if he plans his project well enough, then the small things he works on could become useful elements in the project later on. That's why it's called planning, not halfassing. He can always ask his techie friends for help planning the thing out -- in fact, I recommend that he does, because they can help him learn to think the right way for this kind of work, and other people's input is alway good when building something that you intend for other people to use. He should practice planning anyway, because even tiny starter projects won't come out the way you want unless you know what you want it to do before you even write "int main(){".

    All this assumes that he has any prior experience in programming, or at least in logic. If he doesn't, then yes, I also agree that he shouldn't even bother taking this project on.
     
  7. madmatrixz3000

    madmatrixz3000 New Member

    Joined:
    Jan 21, 2007
    Messages:
    6
    Likes Received:
    0
    I do have some programming experience, and do not want to explain the in-depth features of this program as it will open it up to be taken.

    Today I worked for the first time with C++ and wrote a simple I/O age calculator on my own in 1 hour. I am devoted and willing to learn, I probably will look at similar source codes and edit them as I learn best by tweaking something and seeing the outcome.
     
  8. Peyomp

    Peyomp New Member

    Joined:
    Jan 11, 2002
    Messages:
    14,017
    Likes Received:
    0
    DO NOT CHOOSE C++. Only a few people on planet earth know C++ thoroughly. It is EXTREMELY COMPLICATED, and if you undertake a project you care about finishing as a C++ novice, you are making a huge mistake.

    This doesn't mean there is anything wrong with C++. It just means that it is not appropriate for YOU in YOUR SITUATION, IF you want to achieve your goal of actually building this thing.

    Java, C#, VB.Net, etc. are what you should look at.

    Whats more, if describing your idea in a few sentences means its can be 'taken,' then you don't have much of an idea.
     
  9. P07r0457

    P07r0457 New Member

    Joined:
    Sep 20, 2004
    Messages:
    28,491
    Likes Received:
    0
    Location:
    Southern Oregon
    :werd:
     
  10. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    Well, let's see. I've never used C# or Java, but I have used VB.NET and JavaScript. My impression of VB.NET is strongly biased by my familiarity with VB6, so I can't really comment on its qualities as a language from the perspective of someone who isn't indoctrinated in "the old ways", so to speak. I also know that JavaScript isn't the same as Java, but if the conventions for writing classes in Java is at all the same as in JS, then I'd have to say it's abstractness is bothersome and inconsistent.

    On the other hand, what I remember about writing C++ in school is that, from a coding perspective, it was incredibly easy to write very consistent code that was easy to read ASSUMING the coder holds themselves to the most stringent of code-formatting rules. I also remember that while its ability to write comprehensible classes and functions was unmatched, it was hellishly-difficult to write command-line interface code that didn't suck, to say nothing of graphical user interface code.

    So I think I've gotta go with a recommendation of .NET. You can download free .NET editors and compilers off Microsoft's website nowadays, which was a really nice gesture on their part -- you won't get all the high-end tools that professional coders use to share and troubleshoot code, but you don't really need those anyway. Using .NET will let you be flexible; you can write classes in C++ or C#, non-classed functions in C++, and build a user interface that doesn't suck ass in VB.NET, and it will all work together without fuss, because it all compiles into the same garbled nonsense when you click the "Run" button.

    EDIT: However, in keeping with what Peyomp said and Jolly quoted (though I'm sure they'll disagree), YOU NEED TO PLAN THIS SHIT OUT FIRST. There is no way a basic overview of your product can give someone else enough info to steal your idea, not as complex as this product will need to be, but at the same time trying to implement an abstract idea floating in your mind is going to put you in a spot where you get overwhelmed trying to keep track of the details as that idea grows in complexity. You really need to draw yourself some diagrams, write down some step-by-step instructions for how the user will use parts of the program, sketch out how the user interface might look, etc, so you have SOMETHING to help you keep track of the project as you start building it so you won't lose control of it.
     
  11. madmatrixz3000

    madmatrixz3000 New Member

    Joined:
    Jan 21, 2007
    Messages:
    6
    Likes Received:
    0
    I have made a complex plan of what I want in Flash to point ouy my different features, and I am having to decide if I want it to run as a DOS program or a windowed program, I am leaning toward DOS as it is easier, but I would like for it to be windowed so I have menu tools that are much easier to edit, vs having to make them myself.
     
  12. madmatrixz3000

    madmatrixz3000 New Member

    Joined:
    Jan 21, 2007
    Messages:
    6
    Likes Received:
    0
    I am currently using dev-C++, is there another compiler that I should look at.

    I downloaded Microsoft's C++ basic compiler and found it very counter-intuitive.

    Do you guys know of any sites with open source code that I can look at to figure out the different commands in creating a windowed program?
     
  13. Peyomp

    Peyomp New Member

    Joined:
    Jan 11, 2002
    Messages:
    14,017
    Likes Received:
    0
    Too bad there's not a monkey fucking a football smiley.
     
  14. GOGZILLA

    GOGZILLA Double-Uranium Member

    Joined:
    Jan 16, 2003
    Messages:
    10,760
    Likes Received:
    3
    Location:
    Plantation, FL
  15. SLED

    SLED build an idiot proof device and someone else will

    Joined:
    Sep 20, 2001
    Messages:
    28,118
    Likes Received:
    0
    Location:
    AZ, like a bauce!
    I stopped reading after this.

    With good design, it wouldn't matter if this were a commandline or windowed program. Looks like you need A LOT more experience in software design before tackling a program like this.
     
  16. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    I'm inclined to say that it doesn't matter what's easier for you to create, but what's easier for the user to use. Or are you just making this program so you can say you made it? Nobody's going to use DOS in 2007.

    And anyway, DOS will not be easier. How on earth can you make a halfway-convenient interface in DOS?
     
  17. P07r0457

    P07r0457 New Member

    Joined:
    Sep 20, 2004
    Messages:
    28,491
    Likes Received:
    0
    Location:
    Southern Oregon
    Not true. We use a GUI for 95% of what we do. But somethings are simply easier in a command-line interface. Heck, I have a backend way to edit translated orders in CLI.

    AS400 and 3270 are also very important in many business markets.

    Some CLIs are faster/more-efficient than GUIs.
     
  18. tyrionlannister

    tyrionlannister New Member

    Joined:
    Jun 13, 2006
    Messages:
    710
    Likes Received:
    0
    Location:
    New York
  19. GOGZILLA

    GOGZILLA Double-Uranium Member

    Joined:
    Jan 16, 2003
    Messages:
    10,760
    Likes Received:
    3
    Location:
    Plantation, FL
    if youre using .NET they have alot of managed shit that makes windows GUI programming alot easier than straight C++'ing it. Still isnt super easy though
     
  20. Peyomp

    Peyomp New Member

    Joined:
    Jan 11, 2002
    Messages:
    14,017
    Likes Received:
    0
    ... for a music program?
     
  21. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    My point, in a nutshell, more or less exactly. You're a gentleman and a scholar, Peyomp.
     
  22. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    Back in the day, people would write DLLs in C++ and build GUIs in VB6. Personally, I think this is still a killer combination.
     
  23. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    Develop everything in .NET and use whichever language you feel like using on any given day, because it all gets ground into the same grits by the compiler.
     
  24. Doc Brown

    Doc Brown Don't make me make you my hobby

    Joined:
    Mar 31, 2006
    Messages:
    16,404
    Likes Received:
    0
    Location:
    Ohio
    I was going to write a program that crushes Microsoft into dust.

    But if c++ is that hard to use, then screw it.
     
  25. Doc Brown

    Doc Brown Don't make me make you my hobby

    Joined:
    Mar 31, 2006
    Messages:
    16,404
    Likes Received:
    0
    Location:
    Ohio
    [​IMG]
     

Share This Page