Yahoo Answers is shutting down on May 4th, 2021 (Eastern Time) and beginning April 20th, 2021 (Eastern Time) the Yahoo Answers website will be in read-only mode. There will be no changes to other Yahoo properties or services, or your Yahoo account. You can find more information about the Yahoo Answers shutdown and how to download your data on this help page.

How is a professional software made? Programming help!?

I'm 15 years old and I've been into Computers lately. I get straight A's at school and I've always been keen on computers now, i wish I could go to MIT but it' way to hard.

Well, I know software is made using computer languages (C, C++, Python, Java...), but are programs like AdobePhotoshop, MozillaFirefox and Microsoft Word, done in those languages?

Where is the language written?

Please explain me how software is made. Thanks!

Update:

When I say "where is the language written?" I mean, if I know a language and want to start creating a program, where do I write it? If It's Python, i'll open Python, but if it is C or Java?

7 Answers

Relevance
  • Anonymous
    10 years ago
    Favorite Answer

    There's no such thing as "professional software". E.g. on the transition from Netscape to Mozilla Foundation, it took a huge effort to make the code "not so embarrassing".

    Free software (as in freedom), generally, has a much higher quality level, yet most programmers aren't professionals on the field.

    As for something to learn, I suggest Python, it's a simple, clean and "efficient-enough" programming language. Once you got some experience, you should learn C.

    Most big applications use more than one language, specially for scripting and GUI modeling. Firefox for example uses XUL and JavaScript for the user interface.

    History of languages is diverse, some where done out of curiosity, others with very specific needs in mind... you should look at Wikipedia, articles about programming languages generally include a brief resume of it's history.

    How do you write software? well, you just sit down and write code... ah, and you will need loads of coffee/tea. That's how prototyping starts... then you need to decide who you'll show it first. If you have something very specific in mind, perhaps you don't need to prototype, and go straight to do the real thing (then you should use TDD).

    It's a long trip... good luck!

  • ?
    Lv 6
    10 years ago

    You need a C compiler to create C programs. There are free linux C compilers, but none that I'm aware of for Windows.

    You can write C, Python, Java, whatever you want in nothing more than notepad. The problem is you can't then do anything with the code. You need a compiler or an interpreter to make anything useful out of any program, and in many cases that means paying money. Microsoft produces Visual C# Express and Visual Basic Express, both for free. Other free development tools exist. If you look around for developer tools, you can probably find some.

    Keep in mind the language you use isn't all that important. It's critical for professional programmers since they're collaborating, but most languages can handle just about any task just fine.

  • 10 years ago

    The superoversimplistic response is yes, those softwawres are made using those languages. Mostly the languages are written, these days, at universities. Fortran Ada and Cobol were written by business consortiums (which gives the lie to the mantra about business being betterr at doing things than the government is). C was written at Bell Labs in Murray Hill NJ Now part of Alcatel and while my brother in law worked there when it was Bell Labs his son in law works there now).

    Nicholas Wirth, a college professor in Berne, and Bjarne Stroustrup, also a college professor who now teaches in Texas created Pascal and C++ respectively. I should also mention the GCC compiler created as part of the GNU tools by Richard Stallman, a grad student at MIT. It is part of the fabric of the GNU/Linux operating system, is free software and because it was intended to be OS and hardware platform independent is probably the most widely used compiler in the world, used on everything from smartphones to supercomputers.

    Now, the question in bold and I'll be done. How is a professional software made? The need is defined and a description, generally called specs, short for specifications are written. These are then given to the programmer who translates them into a programming language. The original firefox was put together by an executive at the mozilla foundation who wondered what would happen if they just cut out the backward-compatibility functions which had kept them from releasing a product for five years, and a sixteen year old intern who when he was given the specs wrote the browser in two weeks. The real truth though is that Firefox, and Seamonkey, its sister program which I am writing this on, suns in an interpreted language called XUL on an engine or interpreter which is written in C++. Photoshop and Word do similar things, though of course as proprietary code you can't just download the source and poke around in it.

  • 10 years ago

    All of the software you list are written almost exclusively in C and C++.

    Adobe Photoshop is written by Adobe using tools from other companies and represents the way most software is written.

    Mozilla Firefox is interesting because although there is a company behind it, what they do they do in the open. That is to say they allow everyone to view te C++ source code that goes into the product. I've linked a document below that explains how to get into the source code.

    Firefox an be built from source code using GNU compilers on a Linux based operating system; all of that software will be written in C++ and all of that software is available to see. However Firefox's C++ code is written to build using other compilers on other operating system, so it will build using Microsoft's C++ compiler on Microsoft operating systems (although it is probably distributed from code built using the GNU compiler).

    Microsoft Word is written by Microsoft, whereas Firefox is written using code everyone can see, Word is written using code only people in the Microsoft Office group can see. Microsoft Office work with tools from the Microsoft Compiler group and primarily target operating systems produced by the Microsoft Windows group. A special teams inside or outside Microsoft will port the Windows version of Word to other operating system if there is money to be made from them, so there is a Word for Mac and in the past there has been a Word for UNIX.

    Microsoft is unusual in that it is a software company that makes everything. There are some large software companies, like Adobe, but few produce all the software they use. There have been companies in the past that built whole computers and all the software available for them, people like IBM and DEC, but that era is pretty much over now. The closest company to Microsoft is Oracle, who are responsible for Java.

    While C++ is pretty much the only language used for shrink wrapped software like you list, other languages are looking like they may take over in the next decade. Oracle's Java and Microsoft's C# are both contenders. Way back in C#'s history is indeed a close link to Microsoft Office, the technologies C# is used to drive came out of the Office group.

    Many of your answers recommend learning Visual Basic. I would recommend avoiding Visual Basic if you want a career in creating tools like the ones you list. Visual Basic is not used for creating them because it is unsuited to the purpose. The origins of the Basic language are the 1960s where it was intended to teach FORTRAN programming. Those days are over. Visual Basic today is still used in teaching, but because teachers are lazy. It is also used in businesses for simple programs for running those businesses; you will rarely find businesses that actually sell software written in Basic.

    If you want to learn software development look at Java and C#. Both these languages represent more closely what you would be working on when you enter the job market. Both these languages help you write good code, although you can write bad code in any language. Both these langauges can also be easy to learn, easier than Basic, because they are small consistent languages designed and written by small groups.

    Good luck. I've linked Microsoft's C# and Oracle's Java free development tools below.

  • How do you think about the answers? You can sign in to vote the answer.
  • 10 years ago

    I hope you make it. You sound very positive and enthusiastic.

    A computer program is written in an english-based language (C, C++, Visual Basic, etc) that uses specific words and "grammar" that a compiler understands.

    The program is a set of instructions that tell the computer step-by-step what to do in a highly logical manner.

    A compiler takes this english "source code" and converts it into something the CPU can understand - a string of 1's and 0's that combine to make instructions for the CPU to carry out.

    If you want to learn a language, start with something simple such as BASIC. "BASIC" stands for " Beginners All-purpose Symbolic Instruction Code."

    You can also learn C (or C+ or C-sharp C#), but it might not be as easy to learn as BASIC.

    Ultimately, every program you run on your PC is compiled into these 1's and 0's (machine language or ML for short).

    Originally, people would enter the pnemonic names that represent what the 1's and 0's do. This is called Assembly Language (AL), with such commands as MVI or LDI or CPA etc which tell the CPU to move a value or load a value or compare two values, etc.

    We've come a long way since AL, but every program written in one of the modern languages (BASIC, Python, etc) are all ultimately converted into ML that the CPU can understand.

    You don't have to worry about AL or ML, but when you go learn a modern programming language, you DO need to be concerned with more than just the language. You need to learn the logic behind programming, regardless of the language.

    For instance, you might learn how to loop through a group of instructions (there are several ways to loop through a sequence of commands); but that doesn't teach you WHEN to use a loop, or which one to use. It doesn't teach you the logic of how to sort a list of names along with their addresses, for instance, or how to search for a particular name/address combination once you have sorted the list.

    So there is more to programming than just the language you use, and once you learn the logic behind programming, you can apply that logic to ANY language.

    This is a VERY brief introduction to the world of programming, and I hope it helps even a little.

    Good luck, and "happy programming" :-)

    Source(s): 20+ years programming.
  • ?
    Lv 4
    4 years ago

    Software Made

  • 10 years ago

    Don't limit yourself to consumer application development (that includes apps for smart phones). Think also about embedded systems. To be truly marketable, it is good to have two strong suites - software being one but also some other field like medical (for building the next-gen PET scanner or pacemaker) or astronomy (for building Mars rovers and the like). There are open source C/C++ compilers for windows - download cygwin and you will get a Unix-like environment for Windows. There is also something called VHDL (and Verilog) for defining FPGA behavior. It looks like software but it is for defining hardware behavior - like defining a new processor, robotics or sensor command and control.

    Good luck! I think you have a bright future ahead of you!

Still have questions? Get your answers by asking now.