How do you make applications for the computer?

  • 50 Replies
  • 23397 Views

0 Members and 1 Guest are viewing this topic.

*

Offline Simulated

  • Neilep Level Member
  • ******
  • 7188
  • Simulated..What more do you needa know :P
    • View Profile
    • Facebook
How do you make applications for the computer?
« on: 24/01/2008 21:24:23 »
I'm considered the computer guy of my class yet I don't know how to make a program. Any tutorials out there that I haven't seen?

Thanks

*

another_someone

  • Guest
How do you make applications for the computer?
« Reply #1 on: 25/01/2008 04:28:58 »
It depends on the kind of application you want to write.

A simple application can be no more than a batch file (or, in the Linux/Unix world, a Shell script); or it can be as complex as a full GUI application using a language such as C++ or Java (or any number of other computer languages).

The first thing you have to do is have a clear understanding of what it is you want the application to achieve (this is the design phase).  More applications have failed because people did not understand what they were trying to achieve than any other reason.

The next phase is it code the program in some programming language.  Different programming languages have different strengths and weaknesses, so in the ideal world you would select one of the languages better suited to the type of application you are writing, but in the real world, other constraints often make that choice less than ideal.

Since you have no previous programming experience, it is probable best to start with a simple scripting language, where you can simply write a few lines of code, and watch them do something immediately, rather than write huge wads of well designed code, but then watch it all fail, and have to carefully debug which line is it that is causing the error.

For my purposes, if I am writing a very simple piece of code that does not need a GUI interface, then I would use a language called PERL, but you will need to download the PERL interpreter onto your computer (assuming you are running Windows - on Linux/Unix computers, PERL will normally be installed as standard) from http://www.activestate.com/store/download.aspx?prdGUID=81fbce82-6bd5-49bc-a915-08d58c2648ca

The download will include manuals that explain how to use the PERL language, but they will not teach you the basics of how to design a program and think about structuring a program.  Not sure offhand where one would find a resource to do that (when I was learning programming, there was no Internet to learn from, and a lot was learnt simply by doing it, and talking to more experienced programmers, and working in teams of programmers who would not tolerate bad programming practice).

You can use PERL/TK to write some rather clunky GUI programming as well, but it certainly is not the language I would choose to write GUI applications in (in fact, I would question whether PERL is an ideal language for writing very large applications in either, although some people do - but it is a very good language to write something small that you want up and running quickly).

Personally, if I am writing a GUI application, I would choose JAVA (although I have my reservations about the language).  There are many people who would argue that languages such as Visual Basic and Delphi will allow you to get a simple screen up and running quicker than Java, and to some extent they are right; but I find that once you get to the logic behind the screen, it is easier to use some thing like Java (not tried Delphi, so I may be being unfair on that, and I know a lot of good applications that have been written in Delphi).

But I would advise starting in the non-GUI world before venturing into the GUI world.  GUI may be nicer for the user, but you need to understand more about programming principles before you start coding for it.
« Last Edit: 26/01/2008 17:03:28 by another_someone »

*

Offline Simulated

  • Neilep Level Member
  • ******
  • 7188
  • Simulated..What more do you needa know :P
    • View Profile
    • Facebook
How do you make applications for the computer?
« Reply #2 on: 25/01/2008 21:41:53 »
Thank you George. I'm not exactly sure what I'd like to make yet, but I'll look at it all better over the weekend. Its been a busy week and I have lots of stuff to catch up on.

Maybe a Simulation Game?

*

another_someone

  • Guest
How do you make applications for the computer?
« Reply #3 on: 26/01/2008 00:19:56 »
Thank you George. I'm not exactly sure what I'd like to make yet, but I'll look at it all better over the weekend. Its been a busy week and I have lots of stuff to catch up on.

Maybe a Simulation Game?

Simulation games are complex (and usually, graphical in nature) applications.

I would not even consider doing anything as complex as that for your first application.

*

Offline Simulated

  • Neilep Level Member
  • ******
  • 7188
  • Simulated..What more do you needa know :P
    • View Profile
    • Facebook
How do you make applications for the computer?
« Reply #4 on: 26/01/2008 01:00:57 »
What about..Making a image viewer or somethinG?

*

Offline Simulated

  • Neilep Level Member
  • ******
  • 7188
  • Simulated..What more do you needa know :P
    • View Profile
    • Facebook
How do you make applications for the computer?
« Reply #5 on: 26/01/2008 01:27:18 »
Or maybe an addition to a program like WMP is that is possible

*

paul.fr

  • Guest
How do you make applications for the computer?
« Reply #6 on: 26/01/2008 15:41:38 »
Sim, you really need to know what it is you want to make, and the possibility that you can make it.
George, do you agree that you should start learning one of the basic programming languages first to get the basics and steadily progress from there?

*

another_someone

  • Guest
How do you make applications for the computer?
« Reply #7 on: 26/01/2008 17:20:56 »
Yes, I do agree totally.

The kind of programs being mentioned (image viewers, or addons for complex applications) are all very complex tasks that even someone with considerable experience would look at as a serious project.

With addons, the additional complexity is that you not only have to learn how your own code works, but also have to learn about the idiosyncrasies of the application you are making the addon for, and how the interface to that application works (often you get your bit right, but then realise you misunderstood something about the interface, or something does not work exactly in the way it was documented to work - all of which makes your own task infinitely more complex).

You have to remember that what you are trying to do is give yourself tasks to allow you to learn, so the nature of the task should reflect your level of skill.

Do the whole thing in small incremental steps, starting from the naively trivial, and in small increments until you gain confidence and skill, before trying some serious work.

Usually, the very first task a naive person learning programming will start with (I know it's boring - but you have to get through the boring bits first) is just to display a piece of text on the screen (the archetypal "Hello, World" program that just prints the text "Hello, World" on the screen).  It may be a meaningless program to write, but it is the first step to proving that you understand how to get even a trivial piece of code to be executed (and if you can't get that right, then it makes no sense to go headlong into the difficult stuff).

Next just write a small program that takes two numbers, adds them together, and prints the result.  Now you can prove you can get a program to do some work (even if only a small trivial bit of work).

Then write a small calculator program that allows you to enter a more complex series of numbers, and do different things with the numbers, and print out the results (all of this still as plain text, not as GUI windows applications).

When you have got there, if you want to start playing with simple GUI programs (again, starting with "Hello, World" before progressing to other things - that is something for you to judge if you feel ready for that).  Before you even start thinking about writing a GUI application, you will need to read up all about the interfaces required to make GUIs work (and this will depend on what programming language you wish to write for the GUI - it is very possible that you may wish to use a different programming language for the GUI than for the text based programming you will start with).

*

Offline Simulated

  • Neilep Level Member
  • ******
  • 7188
  • Simulated..What more do you needa know :P
    • View Profile
    • Facebook
How do you make applications for the computer?
« Reply #8 on: 26/01/2008 18:03:05 »
I might have missed it, but what kind of application would you reccomend for a person that hasn't done it yet?

*

Offline DoctorBeaver

  • Naked Science Forum GOD!
  • *******
  • 12656
  • A stitch in time would have confused Einstein.
    • View Profile
How do you make applications for the computer?
« Reply #9 on: 26/01/2008 21:20:27 »
I agree with everything George has said.

I started programming in 1978 (yes, computers did exist then!  [:(!] ). My background is databases and commercial systems (Financial, maintenance management, stock control, automated warehousing, building climate control. I was co-author of the loan control system used by the builders of the channel tunnel; consultant, analyst and project manager for the tunnel maintenance management system, and I designed the safety system for the tunnel - which worked perfectly when there was a fire!  [^] )

But with all that experience behind me I would still hesitate to attack programming graphics applications - especially games. As George said, graphics applications are complex and you need to learn the protocols & encryption for each graphics type.

If you want to write a fairly straightforward application that you could actually use, try a php/mySQL system to catalogue your MP3 files. I could design a mySQL database for it, so you'd only have to write the data input & display functions. It would be taxing enough to keep you interested - with plenty to learn - but you don't need any specialist knowledge to code it. Tackling something like that would give you a good grounding for other projects that you'd probably think of while writing it.

I recommend php because it's the most widely used language for interactive websites, it's fairly easy to learn the basics, but it's powerful enough to write large, complex systems. This forum is written in php with a mySQL database (so is my website & forum, and 99% of other forums on the web).

I'd be pleased to give you a few pointers and I dare say George would too.
« Last Edit: 26/01/2008 21:24:15 by DoctorBeaver »
Fledgling science site at http://www.sciencefile.org/SF/content/view/54/98/ needs members and original articles. If you can help, please join.

*

another_someone

  • Guest
How do you make applications for the computer?
« Reply #10 on: 26/01/2008 22:55:00 »
I would disagree about using PHP as a starting point.  Nothing wrong with the language, but starting with a web based language puts another layer of complexity (far less complexity than a graphics based application, but still additional complexity) than you might wish for in the initial few months.

The other thing to take into account is that it requires setting up a server to run all of this on, or buying space on someone else's server.

Certainly, once you have got simple text based programming behind you, and if you are willing to set up a server (preferably that means having two machines, one as a client and one as a server, although you can run them both on the same machine), then running a PHP or PERL script as a web based application would be a good next step.

*

Offline DoctorBeaver

  • Naked Science Forum GOD!
  • *******
  • 12656
  • A stitch in time would have confused Einstein.
    • View Profile
How do you make applications for the computer?
« Reply #11 on: 26/01/2008 23:10:35 »
He could install JSAS under Windows. That has Apache, mySQL & php and is a doddle to install. It's what I use for development of php/mySQL applications and interactive websites.

I don't really see that it adds another level of complexity. He wouldn't need all the HTML or CSS formatting; the browser defaults would be sufficient. All he'd need from HTML would be <a></a> for the menu tags and a couple of forms. No matter which language he used, he'd have to have some kind of redirection from the menu, and a data input mechanism. Learning how to do that using HTML & php is no more complex than it would be in any other language (& a lot easier than some).

Plus, php could give him a gentle introduction to OOP which could prove very useful if he moves on to a language like VB, Delphi or Python.
« Last Edit: 26/01/2008 23:13:05 by DoctorBeaver »
Fledgling science site at http://www.sciencefile.org/SF/content/view/54/98/ needs members and original articles. If you can help, please join.

*

another_someone

  • Guest
How do you make applications for the computer?
« Reply #12 on: 26/01/2008 23:24:36 »
The point is that a client/server application (even a simple web based application) is another set of configurations to worry about, and when your first program is not working, and you have no idea why not, the last thing you want to worry about is if you have a configuration problem with your server.

Start by keeping it as simple as possible, with the minimum of configuration issues.  First get that working, and then if you want to add the extra layer of complexity, you have a little more confidence that you can understand whether the problem is with your code or a misconfigurated server.

*

Offline DoctorBeaver

  • Naked Science Forum GOD!
  • *******
  • 12656
  • A stitch in time would have confused Einstein.
    • View Profile
How do you make applications for the computer?
« Reply #13 on: 26/01/2008 23:41:03 »
JSAS handles all the config. I knew practically zilch about Linux servers when I installed it, but I had it up & running in a few minutes and I've had no trouble whatsoever with it. Every error I've had has been down to programming (most commonly forgetting the ; at the end of a line  [>:(] ). I've not had to touch the Apache config at all.

Also, I code within the default php settings so I've not even had to worry about things like register_globals. Anyway, I doubt Ryan would code anything yet where he needed to know the contents of php.ini or whatever. The only time I've had to mess with php.ini so far was when I was writing a file uploader and I wanted to change the default max filesize.
« Last Edit: 26/01/2008 23:47:55 by DoctorBeaver »
Fledgling science site at http://www.sciencefile.org/SF/content/view/54/98/ needs members and original articles. If you can help, please join.

*

Offline Simulated

  • Neilep Level Member
  • ******
  • 7188
  • Simulated..What more do you needa know :P
    • View Profile
    • Facebook
How do you make applications for the computer?
« Reply #14 on: 27/01/2008 03:49:51 »
Wow. I missed a little. Haha. I'm gonna need time to read that all..

*

another_someone

  • Guest
How do you make applications for the computer?
« Reply #15 on: 27/01/2008 16:51:45 »
Thinking a little more about this, another limitation with client/server applications is with regard to debugging - you can't use symbolic debugging tools on the server when you are running the client - whereas a standalone application you can debug with a symbolic debugger.

*

another_someone

  • Guest
How do you make applications for the computer?
« Reply #16 on: 27/01/2008 22:29:59 »
But, I suppose where I really started out with this issue of why I don't think that PHP is a good starting point is that the only way you can try something in PHP is to write a source file, save it to the server, then go over to the browser, try and run it, and maybe get something, maybe get nothing, maybe get a server error, maybe get a program error.

Which a language such as PERL or interpretive BASIC, you can just try a one liner there and then on the screen, without writing any files, and just get a feel whether the basic syntax of what you are writing is valid, and whether the one line will give the results you want - which can be very comforting for someone who has not even ever written a single line of program code.

OK, when the guy feels comfortable writing a few lines of code put together, then it will inevitably have to be placed in a file (I still think there is less complexity if you don't need to run the file on a server, but can run it immediately - but that may be something we will have to accept to disagree about - and as I said above, standalone programs can also use symbolic debuggers, although using symbolic debuggers can be an art in itself, even though they are enormously useful for hunting for bugs).

*

Offline DoctorBeaver

  • Naked Science Forum GOD!
  • *******
  • 12656
  • A stitch in time would have confused Einstein.
    • View Profile
How do you make applications for the computer?
« Reply #17 on: 27/01/2008 23:26:53 »
My IDE can execute the programs, so I can try them as I write them without resorting to a browser. I just point my IDE at php.exe & mySQL in the settings.

It also has an in-built syntax checker and can do a certain amount of auto-correction.

In any case, JSAS lists all your projects so you just click on the 1 you want and it opens the index.php (or index.html etc) file in your default browser. You don't have to bugger about entering http://localhost:85/blah/index.php in the browser address bar every time. Then, any time I add or alter code I just save it and click the refresh button. I don't find that overly onerous.

As for debugging, I find the errors thrown up by php & mySQL perfectly adequate for tracking down bugs without difficulty. Mostly, it's mis-spelling a table or field name or, as I said earlier, forgetting the ; at the end of a line. If you need to check your logic, you can do vardumps in php to track down where a variable is, or isn't, being assigned correctly.

Don't get me wrong, PERL is a good enough language (although it seems to be falling out of favour), but I think php would be the best bet looking longer-term.

Delphi & Python are OK too. They both have fairly easy syntax and complex applications can be built fairly quickly once you get the hang of coding in snippets. But if Ryan wanted to progress to an interactive website, getting a host with either of those wouldn't be as easy as a host offering php/mySQL.

Of course, he could always try Java or JavaScript but I haven't used either of those enough to be able to say how easy it is to build full-blown applications using them. I only ever use JS for adding nifty little goodies to website pages.
« Last Edit: 27/01/2008 23:30:01 by DoctorBeaver »
Fledgling science site at http://www.sciencefile.org/SF/content/view/54/98/ needs members and original articles. If you can help, please join.

*

another_someone

  • Guest
How do you make applications for the computer?
« Reply #18 on: 28/01/2008 00:31:04 »
Yes, I have used PHP extensively, so I know all about vardump.

This is not really an issue between PERL and PHP (both are languages with their own strengths and weaknesses, and I can get equally frustrated with both).  My issue is whether one should start programming on a web based application, or start with a standalone application (at least until you are confident with something more than a one liner).

I don't have experience of JSAS, so when you say your IDE can run a PHP application without resorting to the browser, it might be that it is using the standalone version of PHP, which I have no experience in, so cannot comment on.

*

Offline DoctorBeaver

  • Naked Science Forum GOD!
  • *******
  • 12656
  • A stitch in time would have confused Einstein.
    • View Profile
How do you make applications for the computer?
« Reply #19 on: 28/01/2008 08:24:39 »
My IDE didn't come with JSAS; it's a separate program I acquired (ahem!).

JSAS comes bundled with Apache, mySQL, php & PERL although I do have php & mySQL as stand-alones too.

I take your point that in the initial stages a stand-alone language can be easier. But I don't really see that learning the syntax for a given language then, when you want to progress past the very basics, learning a different 1 is advantageous. Both php & PERL are fairly easy to get to grips with on a basic level, so why not go for the 1 that's going to be more use later on?
Fledgling science site at http://www.sciencefile.org/SF/content/view/54/98/ needs members and original articles. If you can help, please join.

*

another_someone

  • Guest
How do you make applications for the computer?
« Reply #20 on: 28/01/2008 13:22:58 »
I take your point that in the initial stages a stand-alone language can be easier. But I don't really see that learning the syntax for a given language then, when you want to progress past the very basics, learning a different 1 is advantageous. Both php & PERL are fairly easy to get to grips with on a basic level, so why not go for the 1 that's going to be more use later on?

I don't disagree with any of the above.

The point is that I have no experience with using standalone PHP, so I really would not like to comment too much upon it, while web based PERL has actually been around longer than web based PHP.

Yes, PHP has some nice object oriented things, but even that is only somewhat half hearted (certainly it does not compare to object oriented programming in Java or C++).  Even PERL claims some slight degree of object orientedness when it deals with packages, but I grant you it is an even weaker implementation than PHP.  PERL 6 was meant to overcome those limitations, but too date PERL 6 is something that is more a promise than a product.

In terms of what exists and is used in the wider marketplace, although PHP is slightly more used in the web world than PERL (at least for newer projects - plenty of legacy projects use PERL), but there is very extensive use of PERL for non web applications (whether it be as a job control language, or as a text handling language), so overall PERL actually has a much wider and larger demand than PHP.

I am not arguing against starting off with standalone PHP - I just don't have any experience with using it, or with the tools involved; I am merely saying that if one starts with standalone PERL there is no reason one cannot still continue to use that in the web environment.

*

Offline DoctorBeaver

  • Naked Science Forum GOD!
  • *******
  • 12656
  • A stitch in time would have confused Einstein.
    • View Profile
How do you make applications for the computer?
« Reply #21 on: 29/01/2008 23:41:43 »
I know php's OOP capability is rather limited, that's why I said it would a good gentle introduction to it. It gives a simple, basic understanding of what objects are & how they can be used. As for C++, fer-git it if you're a beginner trying to teach yourself.

As for PERL being more widely-used than php, that may well be the case. But, from my own observations, there seem to be many more web hosts offering php than PERL. I also think the amount, and quality, of php tutorials available is superior to PERL.

I think an important factor in selecting which language Ryan should go for is what sort of programs he would like to write in the future. But, until he starts programming and gets some ideas, he probably won't know (which is the whole crux of this thread).
Fledgling science site at http://www.sciencefile.org/SF/content/view/54/98/ needs members and original articles. If you can help, please join.

*

another_someone

  • Guest
How do you make applications for the computer?
« Reply #22 on: 30/01/2008 00:51:56 »
I know php's OOP capability is rather limited, that's why I said it would a good gentle introduction to it. It gives a simple, basic understanding of what objects are & how they can be used. As for C++, fer-git it if you're a beginner trying to teach yourself.

[:)] agreed.

Ofcourse, in terms of object orientedness, even JavaScript claims a certain amount, probably on par with PHP (although few naive JavaScript programmers are aware of the capabilities).

As for PERL being more widely-used than php, that may well be the case. But, from my own observations, there seem to be many more web hosts offering php than PERL. I also think the amount, and quality, of php tutorials available is superior to PERL.

My experience is there is not much difference between support for PHP and PERL.

In terms of online tutorials, I am not sure about this (the PERL documentation is actually not that bad in terms of tutorials), but in terms of online help (reference documentation, rather than tutorials), I do agree that PHP is superior to PERL.

I think an important factor in selecting which language Ryan should go for is what sort of programs he would like to write in the future. But, until he starts programming and gets some ideas, he probably won't know (which is the whole crux of this thread).

I do agree about this, but I suspect in the real world, he will probably have to learn quite a few languages anyway.

My temptation is initially to go for the short term solution, on the basis that we probably don't know what the long term solution is until we get further down the road.

*

paul.fr

  • Guest
How do you make applications for the computer?
« Reply #23 on: 30/01/2008 02:43:17 »
Is all of this (however interesting), not too much for a teenager with no experiance of any form of coding or programming?

*

another_someone

  • Guest
How do you make applications for the computer?
« Reply #24 on: 30/01/2008 03:18:45 »
Is all of this (however interesting), not too much for a teenager with no experiance of any form of coding or programming?

I am assuming that Ryan would have stopped reading after the first few posts - the rest being between Eth and myself.

*

Offline DoctorBeaver

  • Naked Science Forum GOD!
  • *******
  • 12656
  • A stitch in time would have confused Einstein.
    • View Profile
How do you make applications for the computer?
« Reply #25 on: 30/01/2008 07:55:24 »
Is all of this (however interesting), not too much for a teenager with no experiance of any form of coding or programming?

What's Billy No Mates doing here?
Fledgling science site at http://www.sciencefile.org/SF/content/view/54/98/ needs members and original articles. If you can help, please join.

*

Offline DoctorBeaver

  • Naked Science Forum GOD!
  • *******
  • 12656
  • A stitch in time would have confused Einstein.
    • View Profile
How do you make applications for the computer?
« Reply #26 on: 30/01/2008 07:58:06 »
Quote
I do agree about this, but I suspect in the real world, he will probably have to learn quite a few languages anyway.

I bet he ends up with HTML/CSS, php, JScript & Flash - with, maybe, a bit of VB thrown in for good measure  [:D]
« Last Edit: 30/01/2008 19:50:10 by DoctorBeaver »
Fledgling science site at http://www.sciencefile.org/SF/content/view/54/98/ needs members and original articles. If you can help, please join.

*

another_someone

  • Guest
How do you make applications for the computer?
« Reply #27 on: 30/01/2008 12:34:08 »
Quote
I do agree about this, but I suspect in the real world, he will probably have to learn quite a few languages anyway.

I bet he ends up with HTML/CSS, php, JScript & Flash - with, maybe, a bit of VB thrown in for good neasure  [:D]

Well, if he is going to end up with VB, we could always start him with ASP.

Ofcouse, we could always start him on Prolog, Lisp and APL (maybe a bit of RPG/400 thrown in - there is a lot of money in RPG/400).

Although to be fair, the first language I learnt (although did not actually use until some years later) was Plan (ICL1900 assembler) - and I've always had a soft spot for assemblers - at least you understand what the machine is doing.  In fact I did teach someone without any programming experience how to program in Intel assembler (only at a very crude level) using the Debug tool - but this was more to give them an understanding of how processors worked than really to teach programming.  To be fair, there were two people I tried teaching this to; one took to it like a fish to water, and the other was left hopelessly lost.

*

Offline DoctorBeaver

  • Naked Science Forum GOD!
  • *******
  • 12656
  • A stitch in time would have confused Einstein.
    • View Profile
How do you make applications for the computer?
« Reply #28 on: 30/01/2008 15:21:06 »
I've used Debug. What a pain! But you can do a lot of damage with it so I wouldn't advise anyone without good ASM skills to go anywhere near it.

As for assemblers - 6502 (although 90% of that was pure machine language), 8080, MC68000, 80x86, DEC VAX, DG Nova, IBM 360 BAL. I've not done any assembler programming on Pentiums or Athlon processors, though.

The 1st language I learned was BASIC on a Commodore PET, migrating shortly after to an Apple II. Then I "upgraded" my skills to COBOL (that was soooo long ago & now I'm back to divs with HTML!  [:D] ). My COBOL came in very handy in 1999 when there was the Y2K problem. Anyone with good COBOL could name their own price.

We didn't have CRTs when I worked on the 1st IBM 360. It was all punch cards & tape.

The DG Novas that I worked on had to have the bootstrap routine keyed in using toggle switches - 1 set for the address, another for the instruction. Talk about crude!

I can't remember if I did Pascal or Fortran after that.

Subsequently I've dabbled with APL, Forth, Lisp, C, C++, K-Man, Ada, RPG, Delphi, Python, Java, Javascript, PERL, and php.
Fledgling science site at http://www.sciencefile.org/SF/content/view/54/98/ needs members and original articles. If you can help, please join.

*

another_someone

  • Guest
How do you make applications for the computer?
« Reply #29 on: 30/01/2008 18:41:35 »
Assemblers:

  • ICL1900 PLAN
  • Intel 8080
  • Zilog Z80 (essentially a superset of of the 8080)
  • Macro-11
  • IBM 370 core dumps, but never really programmed it.
  • Intel 8086 (did some on the 80386, but that was really just 8086 assembly running in a 80386 environment - never actually dealt with the paging, etc. that differentiated the 80386 from the 8086; and have never done the SSE and stuff that differentiates the Pentium from its precursors).

High level languages (of what I can recall):

  • BASIC (a number of different dialects, including VB and VBA).
  • Fortran
  • Algol-68
  • PL/1
  • Databus
  • C and C++
  • Java (just very cursory dabbling)
  • HTML/CSS/Javascript
  • PHP
  • PERL

*

Offline DoctorBeaver

  • Naked Science Forum GOD!
  • *******
  • 12656
  • A stitch in time would have confused Einstein.
    • View Profile
How do you make applications for the computer?
« Reply #30 on: 30/01/2008 19:56:46 »
I forgot about the Z80. What jolly fun that was!  [:D] And I've used more dialects of BASIC than you could shake a stick at. I think every home machine produced in the late 70s/early 80s had its own dialect and implementation.

I must admit a certain fondness for QBASIC - still very simple but with calls & variable scope. And it came with its own IDE!

I've looked at Algol & PL/1 but never really done anything much more with them than the ubiquitous "Hello World" bit.

This is fast turning into a nostalgia thread!  [;D]
« Last Edit: 30/01/2008 20:00:13 by DoctorBeaver »
Fledgling science site at http://www.sciencefile.org/SF/content/view/54/98/ needs members and original articles. If you can help, please join.

*

Offline Simulated

  • Neilep Level Member
  • ******
  • 7188
  • Simulated..What more do you needa know :P
    • View Profile
    • Facebook
How do you make applications for the computer?
« Reply #31 on: 31/01/2008 01:52:52 »
This is a bunch of stuff.

Can you simplify it for me please guys?

*

Offline DoctorBeaver

  • Naked Science Forum GOD!
  • *******
  • 12656
  • A stitch in time would have confused Einstein.
    • View Profile
How do you make applications for the computer?
« Reply #32 on: 31/01/2008 13:06:40 »
This is a bunch of stuff.

Can you simplify it for me please guys?

Go away... I'm talking to George!  [:P]
Fledgling science site at http://www.sciencefile.org/SF/content/view/54/98/ needs members and original articles. If you can help, please join.

*

paul.fr

  • Guest
How do you make applications for the computer?
« Reply #33 on: 31/01/2008 13:08:43 »


Go away... I'm talking to George!  [:P]

Sim, this post should be reported to the monopolies commission!

*

Offline DoctorBeaver

  • Naked Science Forum GOD!
  • *******
  • 12656
  • A stitch in time would have confused Einstein.
    • View Profile
How do you make applications for the computer?
« Reply #34 on: 31/01/2008 13:17:20 »
This is a bunch of stuff.

Can you simplify it for me please guys?

Different languages are better suited to different applications. For instance, COBOL is (was) brilliant for financial applications, scientific stuff would have been coded in Fortran, etc.

These days, though, most common languages can be used in a wide variety of applications (although I wouldn't want to attempt a fluid dynamics problem in Delphi. You still get the specialised languages that are used for, say, AI research, physics problems, pattern-matching, and so forth. C and C++ are very good for writing Operating Systems, interpreters, compilers, and the like; but are also good for general applications.

George & I have been around for so long that we've used lots of different languages for many diverse applications. We have just been waxing nostalgic  [:D]

Prior to that, we were discussing which language(s) may be best for you to start with.

Fledgling science site at http://www.sciencefile.org/SF/content/view/54/98/ needs members and original articles. If you can help, please join.

*

Offline Simulated

  • Neilep Level Member
  • ******
  • 7188
  • Simulated..What more do you needa know :P
    • View Profile
    • Facebook
How do you make applications for the computer?
« Reply #35 on: 31/01/2008 19:16:46 »
Um. I'm still lost. Do you know a of site that shows you how to do it step by step for even a really usless program or any kinds of links that i could understand.

*

Offline DoctorBeaver

  • Naked Science Forum GOD!
  • *******
  • 12656
  • A stitch in time would have confused Einstein.
    • View Profile
Fledgling science site at http://www.sciencefile.org/SF/content/view/54/98/ needs members and original articles. If you can help, please join.

*

Offline Simulated

  • Neilep Level Member
  • ******
  • 7188
  • Simulated..What more do you needa know :P
    • View Profile
    • Facebook
How do you make applications for the computer?
« Reply #37 on: 31/01/2008 22:39:40 »
Getting right on that

*

Offline Simulated

  • Neilep Level Member
  • ******
  • 7188
  • Simulated..What more do you needa know :P
    • View Profile
    • Facebook
How do you make applications for the computer?
« Reply #38 on: 31/01/2008 22:41:23 »
The C or the C++ ones sound good for a guy like me.

Now what? (thanks doc)

*

Offline DoctorBeaver

  • Naked Science Forum GOD!
  • *******
  • 12656
  • A stitch in time would have confused Einstein.
    • View Profile
How do you make applications for the computer?
« Reply #39 on: 01/02/2008 08:11:17 »
It would be advisable to learn C before attempting C++ or C#. So now you have to get a C compiler, some C libraries, an editor, and find a tutorial like this 1... http://members.tripod.com/johnt/c.html

Or you could wade your way through this site http://www.programmingtutorials.com/ which will allow you to look at a variety of languages.
« Last Edit: 01/02/2008 08:17:02 by DoctorBeaver »
Fledgling science site at http://www.sciencefile.org/SF/content/view/54/98/ needs members and original articles. If you can help, please join.

*

Offline Simulated

  • Neilep Level Member
  • ******
  • 7188
  • Simulated..What more do you needa know :P
    • View Profile
    • Facebook
How do you make applications for the computer?
« Reply #40 on: 01/02/2008 12:40:10 »
This above can be shown as printf("I am %d years old",12) which will result in the following result:I am 12 years old


So where do you put that?

*

Offline DoctorBeaver

  • Naked Science Forum GOD!
  • *******
  • 12656
  • A stitch in time would have confused Einstein.
    • View Profile
How do you make applications for the computer?
« Reply #41 on: 01/02/2008 12:56:20 »
C programs must start with a main() function. If all you want to do is print "I am 12 years old", you put it in there.

But you may want to do something like

Input your year of birth.
Calculate how many years ago that was.
Display the difference (i.e. the person's age).

Because I don't like putting I/O (input/output) stuff in with the program logic, I would write 3 functions to handle that, and main would call them in sequence.

In pseudo-code, my program would be...

Code: [Select]
function main
{
 birth_year = get_year()
 difference = calc_years_diff(birth_year, this_year)
 display_value(difference)
}

function get_year(year)
{
 input year from keyboard
 return year
}

function calc_years_diff(birth_year, this_year)
{
 years_diff = this_year - birth_year
 return years_diff
}

function display_value(value)
{
 print value
 return
}

Fledgling science site at http://www.sciencefile.org/SF/content/view/54/98/ needs members and original articles. If you can help, please join.

*

another_someone

  • Guest
How do you make applications for the computer?
« Reply #42 on: 01/02/2008 18:56:56 »
Various C compilers can be found at http://www.thefreecountry.com/compilers/cpp.shtml and at http://parinyasoft.com/resources.html

My own preference is for the GCC compiler, which has a windows port that is known as MinGW (other windows ports also exist); but it is probably easier for you to start with a full IDE (Integrated Development Environment), so you could do worse than downloading the one from http://parinyasoft.com/download.html (which you can download complete with the MinGW compiler).

*

another_someone

  • Guest
How do you make applications for the computer?
« Reply #43 on: 01/02/2008 19:04:14 »
I note that the site that Eth suggested prefers the Borland compiler.  Each to their own (some consider that Borland are not as up to date as the GCC compiler, but will that really matter at this point?).

If you follow the links from the page Eth suggested (http://www.learn-programming.za.net/programming_c_learn01.html), it does take you through writing simple programs.  If you are using an IDE, then the differences between one compiler and another should not be noticeable until you get to quite advanced stuff.


*

another_someone

  • Guest
How do you make applications for the computer?
« Reply #45 on: 01/02/2008 20:57:20 »
One thing that is totally deceptive in the web page Eth was pointing to (not for one moment suggesting that Eth agrees with everything on the page) is where it says:

http://www.learn-programming.za.net/articles_howtolearnprogramming.html
Quote
Scripting Languages(Python, Perl) - Easier to program in than compiled languages but not always as useful

Yes, it is true that they are not always as useful, but sometimes they are far more useful.  There are things I would never dream of using PERL or Python for, and other tasks where they would be my language of choice.

There are some programmers who see languages like PERL and Python as not 'real' or 'professional' programming languages.  I have seen some very professional applications written in them (particularly in Python), whereas PERL is extremely useful for short little utilities that would be a pain to write if you had to code everything in C or C++.  Certainly, I agree that PERL can be a pain for larger projects, but not every program is part of a larger project (or, even if it forms a part of a project, it may be a unit that comfortably stands apart from the rest of the project).  One thing I often do is to write PERL programs to generate C code where there is a lot of repetitive C code to be written that would be tedious to write by hand - so both languages work together to achieve the desired result.

*

Offline DoctorBeaver

  • Naked Science Forum GOD!
  • *******
  • 12656
  • A stitch in time would have confused Einstein.
    • View Profile
How do you make applications for the computer?
« Reply #46 on: 01/02/2008 21:12:31 »
I note that the site that Eth suggested prefers the Borland compiler.  Each to their own (some consider that Borland are not as up to date as the GCC compiler, but will that really matter at this point?).

I didn't take a lot of notice of which compiler it was preferring. I just glanced at it quickly & thought it looked a reasonably good tutorial.

Quote
Yes, it is true that they are not always as useful, but sometimes they are far more useful.  There are things I would never dream of using PERL or Python for, and other tasks where they would be my language of choice.

Good point & I totally concur.
Fledgling science site at http://www.sciencefile.org/SF/content/view/54/98/ needs members and original articles. If you can help, please join.

*

Offline Atomic-S

  • Hero Member
  • *****
  • 960
    • View Profile
How do you make applications for the computer?
« Reply #47 on: 04/03/2008 05:45:55 »
I have used various forms of BASIC in recent years. Mainly because they came with the computers, except the most recent, which did not. For it, I got Liberty Basic off of its web site.  Of these languages, it must be said that they are generally very straightforward and user friendly. Some of them have brilliant features.  However, most of them have certain significant weaknesses, that would become more apparent as one tried to do things that were more than quite simple. Visual Basic I found a bit difficult to use, Liberty Basic not so much so (and it also can handle large files and blocks of data) but it suffers from a number of inadequacies.
 

*

another_someone

  • Guest
How do you make applications for the computer?
« Reply #48 on: 04/03/2008 12:42:37 »
I have used various forms of BASIC in recent years. Mainly because they came with the computers, except the most recent, which did not. For it, I got Liberty Basic off of its web site.  Of these languages, it must be said that they are generally very straightforward and user friendly. Some of them have brilliant features.  However, most of them have certain significant weaknesses, that would become more apparent as one tried to do things that were more than quite simple. Visual Basic I found a bit difficult to use, Liberty Basic not so much so (and it also can handle large files and blocks of data) but it suffers from a number of inadequacies.

As I hinted above, all languages have, in their own way, limitations.

BASIC was designed as a teaching language (as was Pascal).  C was designed as a language for writing operating systems and low level software.  PHP was designed as a web language.   PERL was designed as a tool for handling text files, and as a very sophisticated system control language (for executing system commands, parsing their output (which is human readable text) and doing some other processing.  PERL also was the first widely used web programming language because the web is also text based, and PERL was already there to do the job.

The problem is that while BASIC was a good teaching language, it no longer really suites that role because most dialects of BASIC (any I have come across) do not support a lot of modern programming paradigms.

*

Offline Gabe2k2

  • Jr. Member
  • **
  • 32
    • View Profile
How do you make applications for the computer?
« Reply #49 on: 11/09/2008 22:56:41 »
Dark Basic  I would recomend it to a begginer designing applications !