Computer Science Canada

help new to programming

Author:  dirwin [ Tue Mar 22, 2005 6:39 pm ]
Post subject:  help new to programming

Hello everybody i just registered here today
i was just wondering what would be an easy languge to learn in my spare time i.e. after school i already know html Smile yea i know its not really coding but its still handy to know
i dont have money for a compliler so i dont think i can learn c++ or vb or anything like that im just looking for a code that i can program small games like tetris or pac man Smile somthing small to get me started anyone know of any languages that dont need a store bought complier.? or one that i can get a freeware complier of the net to use
thanks
dirwin

Author:  Mazer [ Tue Mar 22, 2005 7:08 pm ]
Post subject: 

C++ has free compilers available on the internet. But it may be tough to learn on your own enough to make a game, especially if your programming experience consists of HTML.

Turing is pretty simple to use. Except that it's not free (yet...).
Try Python, maybe? Graphics are possible with Python, though I've never used them yet.
I'm sure wtd will probably come and recommend Ruby, but I'm not absolutely positive that you can do graphics with it.

EDIT: When you start learning, don't even think about starting to make a game until you're confident that what you've learned will be enough to make a game (except for graphics/input/sound). You don't want to rush the beginning stuff, even if it seems a bit boring.

Author:  Martin [ Tue Mar 22, 2005 7:09 pm ]
Post subject: 

You can definately use C++, as there are a number of free compilers and IDE's for it.

I wouldn't recommend starting with it though, as it has a fairly steep learning curve. Many people here would recommend starting with a language such as ruby. If you look through the general programming section, you can find snippits of code from a bunch of different languages. Choose one that you think looks interesting.

Author:  wtd [ Tue Mar 22, 2005 7:10 pm ]
Post subject:  Re: help new to programming

dirwin wrote:
Hello everybody i just registered here today
i was just wondering what would be an easy languge to learn in my spare time i.e. after school i already know html Smile yea i know its not really coding but its still handy to know
i dont have money for a compliler so i dont think i can learn c++ or vb or anything like that im just looking for a code that i can program small games like tetris or pac man Smile somthing small to get me started anyone know of any languages that dont need a store bought complier.? or one that i can get a freeware complier of the net to use
thanks
dirwin


You can certainly get free C++ compilers. The language has been independently standardized, so it can't be controlled by any single company. GCC is popular, and if you're using Windows, you can get MinGW which gives you a native C++ compiler.

That said... I do not by any means suggest C++ as the first language you learn. It's not necessarily a bad language, but it can test a person's attention span pretty quickly. In addition, while there are people who are good C++ programmers, a lot of people aren't, and though well-intentioned, they can steer you wrong when asking for advice.

I do recommend languages like Ruby, Python, or Haskell. Perhaps more important than any other aspects of these languages, they have interctive interpreters, which allow you to very quickly experiment with code.

Let's consider something like... oh... you ant to figure out what kind of value getting the sine of 90 degrees will return. Well, first, a bit of math... 90 degrees is Pi divided by 4 radians. Now, let's see programs to help us figure this out.

For C++, first we have to create a source file:

code:
#include <cmath>
#include <iostream>

int main()
{
   const double PI = 3.14159265358979;
   double result = std::sin(PI / 4);

   std::cout << result << std::endl;

   return 0;
}


Now, we have to compile it:

code:
prompt> g++ my_source.cpp -o my_program.exe


And then we have to run it:

code:
prompt> my_program


Now, compare that to any of the following.

Ruby... in irb:

code:
prompt> irb
irb(main):001:0> Math::sin(Math::PI / 4)
=> 0.707106781186547
irb(main):002:0> exit
prompt>


Python:

code:
prompt> python
Python 2.4.1a0 (#2, Mar  1 2005, 15:45:39)
[GCC 3.3.5 (Debian 1:3.3.5-8ubuntu2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import math
>>> math.sin(math.pi / 4)
0.70710678118654746
>>>
prompt>


Haskell... in ghci (Glasgow Haskell Compiler Interactive):

code:
prompt> ghci
   ___         ___ _
  / _ \ /\  /\/ __(_)
 / /_\// /_/ / /  | |      GHC Interactive, version 6.2.2, for Haskell 98.
/ /_\\/ __  / /___| |      http://www.haskell.org/ghc/
\____/\/ /_/\____/|_|      Type :? for help.

Loading package base ... linking ... done.
Prelude> sin (pi / 4)
0.7071067811865475
Prelude> :q
Leaving GHCi.
prompt>

Author:  Martin [ Tue Mar 22, 2005 7:14 pm ]
Post subject: 

Well, this topic sure generated a lot of response :p

Author:  wtd [ Tue Mar 22, 2005 7:18 pm ]
Post subject: 

Coutsos wrote:
I'm sure wtd will probably come and recommend Ruby, but I'm not absolutely positive that you can do graphics with it.


Graphics are possible with just about anything. Whether there's some kind of "standard" graphics library is another matter. Yes, though, Ruby has numerous libraries for doing graphics work, and several libraries for doing GUI work.

Coutsos wrote:
EDIT: When you start learning, don't even think about starting to make a game until you're confident that what you've learned will be enough to make a game (except for graphics/input/sound). You don't want to rush the beginning stuff, even if it seems a bit boring.


Absolutely. There's an enormous amount of stuff you can learn just using a text-based environment.

Adding graphics at an early stage simply does one thing: It makes the environment more complicated. The more complicated the environment is, the more places there are for your programs to fail, and you're going to be hard put at it to deal with the bugs that creep up just writing stuff for the command-line.

Oh, and I don't mean to sound negative. You can conquer these things, but weird stuff is going to happen, and you should limit the ways things can break early on. Students learning to be mechanics don't get a Porsche engine to disassemble and put back together the first day. They usually get a lawnmower, and the goal is to make it work at all, not to make it the fastest, prettiest thing around.

Take the same approach to programming. Your code doesn't have to be fast or pretty to start with, but make sure it's correct.

Ok, now I'll stop typing and let others ramble on. Smile

Author:  McKenzie [ Tue Mar 22, 2005 7:47 pm ]
Post subject: 

If you know and enjoy HTML you may want to consider Javascript or Flash actionscript. This way you are expanding what you currently know and may feel more comfortable. They both have syntax that follows a lot of the old C standard that so many languages do.

I would suggest trying Python first (I have no knowledge of Ruby so I could be wrong) then if you find yourself getting too frustrated after about a month or so then take a look at the above scripting languages.

Author:  dirwin [ Tue Mar 22, 2005 8:11 pm ]
Post subject: 

thanks for the input im going to go try that ruby code looks like less programming to try to master Smile

thanks

Author:  wtd [ Tue Mar 22, 2005 9:12 pm ]
Post subject: 

dirwin wrote:
thanks for the input im going to go try that ruby code looks like less programming to try to master Smile

thanks


Feel free to ask questions in General Programming.

Author:  koopaling [ Fri Oct 27, 2006 4:40 pm ]
Post subject: 

Wow! I am supprised that nobody mentioned Turing yet!

Turing has a very simple (and small) list of commands (a couple hundred) It also has a help system for using commands. I find that very usefull. Turing has a whole pile of example programs for users to examine and learn from (though lots of them dont work Sad ) AND It is considered to be one of the most basic programming languages (to my knowledge) except for q-basic and Basic. All and all, I recomend that you learn Turing first and get the whole idea behind programming. Then you can move on to more complicated languages like C++. Remember, the more powerful a programming language is. The more likely it is to be complicated to use.

Author:  cool dude [ Fri Oct 27, 2006 4:49 pm ]
Post subject: 

koopaling wrote:
Wow! I am supprised that nobody mentioned Turing yet!

Turing has a very simple (and small) list of commands (a couple hundred) It also has a help system for using commands. I find that very usefull. Turing has a whole pile of example programs for users to examine and learn from (though lots of them dont work Sad ) AND It is considered to be one of the most basic programming languages (to my knowledge) except for q-basic and Basic. All and all, I recomend that you learn Turing first and get the whole idea behind programming. Then you can move on to more complicated languages like C++. Remember, the more powerful a programming language is. The more likely it is to be complicated to use.


if you read through all the posts you would notice that mazer mentioned it and said it was pretty simple but its not free. and if you read dirwin post you would notice that he doesn't want to go to the store and buy anything so he can't use turing.

Edit: Wow this is a really old post!!!

Author:  wtd [ Fri Oct 27, 2006 5:09 pm ]
Post subject: 

Holy necro-posting, Batman!

Author:  Piro24 [ Tue Nov 07, 2006 8:09 am ]
Post subject: 

Turing is a free download from the internet...Thats how I got mine...

But it's asked that you are in a computer science class which uses turing...So yeah...

Author:  wtd [ Tue Nov 07, 2006 10:49 am ]
Post subject: 

Piro24 wrote:
Turing is a free download from the internet.


No, it's not.

Author:  Andy [ Tue Nov 07, 2006 2:05 pm ]
Post subject: 

it will be once we get our asses together and write a platformable turing compiler!

Author:  Booya [ Wed Nov 08, 2006 2:48 pm ]
Post subject:  Turing

So turing is not free???????????????????? Ok i thought it was! Anyways, what is free then, Ruby and C++?????? I have a question, for getting java. Are there like diffrenet types of java programs. I heard of one called "ready to Program with java" is that the only one?

Author:  batman [ Wed Nov 08, 2006 3:03 pm ]
Post subject: 

Quote:

So turing is not free???????????????????? Ok i thought it was! Anyways, what is free then, Ruby and C++?????? I have a question, for getting java. Are there like diffrenet types of java programs. I heard of one called "ready to Program with java" is that the only one?


Turing is not free u should already no this by now. Ruby and C++ are free. There are a lot of java programs but usually schools give you ready to program with java.

Author:  Andy [ Wed Nov 08, 2006 3:15 pm ]
Post subject: 

which is again, NOT FREE! RTP is in the same boat as turing. There are, however, many free java compiler/editors

Author:  wtd [ Wed Nov 08, 2006 3:24 pm ]
Post subject:  Re: Turing

Booya wrote:
what is free then


In no particular order, and not nearly exhaustive:


  • Ruby
  • Python
  • Perl
  • Rebol
  • Common Lisp
  • Scheme
  • Java
  • Eiffel
  • Pascal
  • Javascript
  • C
  • C++
  • Objective-C
  • Objective-C++
  • D
  • Scala
  • Nice
  • Groovy
  • Boo
  • C#
  • Nemerle
  • Ada
  • Logo
  • Assembly
  • Awk
  • Bash
  • BASIC
  • BeanShell
  • Smalltalk
  • Forth
  • O'Caml
  • SML
  • Haskell
  • Clean
  • Mozart/Oz
  • Prolog
  • Dylan
  • Erlang
  • F#
  • Fortran
  • Io
  • Lua
  • MSH
  • PHP
  • Pike
  • Rexx
  • Sed
  • VB.NET

Author:  batman [ Wed Nov 08, 2006 4:24 pm ]
Post subject:  Programs

Quote:

Ruby

Python

Perl

Rebol

Common Lisp

Scheme

Java

Eiffel

Pascal

Javascript

C

C++

Objective-C

Objective-C++

D

Scala

Nice

Groovy

Boo

C#

Nemerle

Ada

Logo

Assembly

Awk

Bash

BASIC

BeanShell

Smalltalk

Forth

O'Caml

SML

Haskell

Clean

Mozart/Oz

Prolog

Dylan

Erlang

F#

Fortran

Io

Lua

MSH

PHP

Pike

Rexx

Sed

VB.NET


Thats a huge list. Ive only heard of about 5 on that list. Those all cant be the diffrenet languages rught? Some of them have to be the smae like diffrenet verisons of C++ or something????????? Anyways im going to research all of those.

Author:  wtd [ Wed Nov 08, 2006 4:28 pm ]
Post subject: 

Some share superficial syntactic or semantic similarities, but they are all distinct languages.

Author:  md [ Wed Nov 08, 2006 6:38 pm ]
Post subject: 

That also isn't a complete list of languages. There are plenty more; some more or less obscure.

Author:  jack [ Thu Nov 09, 2006 5:15 pm ]
Post subject: 

You forgot HTML Cool

Author:  wtd [ Thu Nov 09, 2006 5:20 pm ]
Post subject: 

HTML is a markup language. It is not the same as a programming language. That said, of course, it can be used in conjunction with programming languages like Javascript.

Author:  md [ Thu Nov 09, 2006 6:28 pm ]
Post subject: 

wtd wrote:
HTML is a markup language. It is not the same as a programming language. That said, of course, it can be used in conjunction with programming languages like Javascript.


Or any language really, PHP, ruby, perl, etc. are more commonly used however.

Author:  Andy [ Thu Nov 09, 2006 7:51 pm ]
Post subject: 

cgi ftw! some one please remind me why CGI died again?

Author:  rdrake [ Thu Nov 09, 2006 8:00 pm ]
Post subject: 

Andy wrote:
cgi ftw! some one please remind me why CGI died again?
It was slow. Also, many people jumped onto the PHP bandwagon.

Author:  md [ Thu Nov 09, 2006 8:04 pm ]
Post subject: 

rdrake wrote:
Andy wrote:
cgi ftw! some one please remind me why CGI died again?
It was slow. Also, many people jumped onto the PHP bandwagon.


It's actually not that slow at all; it's on par or faster then PHP. Mostly it was just more work then php is and people are lazy.

Author:  Andy [ Thu Nov 09, 2006 8:35 pm ]
Post subject: 

interesting... i propose we revive CGI and do something really really fancy with it. Like putting our turing compiler online! and then anyone could access it

Author:  wtd [ Thu Nov 09, 2006 10:17 pm ]
Post subject: 

CGI is not a programming language. It is a standard for communications. Many languages have CGI modules.

CGI did not die, for that matter. Nor, if you are conflating CH with Perl, did that language die. It is alive and quite well, though relegated to the status of a quiet workhorse. At least until Perl 6 is released, assuming that ever happens.

Author:  Andy [ Thu Nov 09, 2006 11:04 pm ]
Post subject: 

yes i am aware that it's not a programming language, in fact, i dont think i even implied it.
i meant hooking our c compiler to an CGI module, and allow it to be used via the interweb.

Author:  rdrake [ Fri Nov 10, 2006 8:07 am ]
Post subject: 

md wrote:
rdrake wrote:
Andy wrote:
cgi ftw! some one please remind me why CGI died again?
It was slow. Also, many people jumped onto the PHP bandwagon.


It's actually not that slow at all; it's on par or faster then PHP. Mostly it was just more work then php is and people are lazy.
Hm... I stand corrected. I guess it just depends which language you're using (those benchmarks use C++).

Andy wrote:
i meant hooking our c compiler to an CGI module, and allow it to be used via the interweb.
Interesting idea, let's just hope nobody abuses it.


: