Welcome, Guest. Please login or register.

Author Topic: Newbie Coding?  (Read 5218 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline nastyTopic starter

  • Sr. Member
  • ****
  • Join Date: Nov 2005
  • Posts: 460
    • Show only replies by nasty
Newbie Coding?
« on: December 31, 2005, 11:17:32 PM »
Hey guys, we'll this is gonna be my last post of 2005 and i thought it should be something abit better than I'm having trouble with .........  (well you seen my posts :-D )So my question is what is the best program to learn coding on and do you know of any guides for learning to program?
Specs:
A1200PT, mediator c/w voodoo 3 2000, sb128, 60G HDD,OS3.9,LITEON CDR, nec 4x4 changer,External Scan Doubler,Cocolino adapter,PS2 keyboard adaptor.

Morphos 2.6, mini mac g4 @ 1.25ghz.
 

Offline Castellen

Re: Newbie Coding?
« Reply #1 on: December 31, 2005, 11:41:51 PM »
My advice would be to learn something universal and portable like C.

There's plenty of "teach yourself" books and websites available, but you need an overdose of motovation and self discipline to get through most of them.

As with most things, it's a major learning curve to begin with and very frustrating, but once you understand the basics, you suddenly just click and everything starts to makes sense.

I took a part time beginners C course at Polytech, was the best thing I ever did.  Made the learning process so much easier.  That would be my #1 suggestion for learning a new language.

As for Amiga programming, I use SAS/C but there are other freeware(?) compilers like GCC and Dice, though I've not used them.  Also there is Storm C from H&P which is supposed to be OK.

Last bit of advice, don't set your expectations too high.  Many beginners have this misconception they'll be writing Quake 4 within a few months months of learning C.  That isn't going to happen :-)  Start simple and progress your way through simple text user interfaces, eventually moving onto ReAction/MUI GUIs and the likes.

Hope that helps.  And happy new year!
 

Offline Plaz

Re: Newbie Coding?
« Reply #2 on: January 01, 2006, 01:38:59 AM »
This could be my last reply of 2005 :-)

I second the thoughts of Castellen. C (and C++) is the way to go these days for Amiga programing. It's another argument if it's the "best" or not, but it's definitly one of the most used languages right now in Amiga, linux, unix and even windows. Everyone will have suggestions on the best book to start with. I've found that you have to find the right one for the way you learn. What's great for me might be horrible for the next person. The "C bible" is called "The C programming language" by Dennis Ritchie. Most will tell you this is a must have and I agree. But it's not an easy book for the newbie. Personally I liked the book called "C by Dissection". You can read about these and others on Amazon.com. Then you can find the best prices on the same books at bookpool.com. Once you know C, the journey's not over yet. You'll then need to look up Amiga reference docs to figure out how to apply your new C language in the Amiga OS. Some take to C like fish in water, for me it was harder, and still others find it impossible. Good luck and studies if you decide to take it on.

Plaz
 

Offline Castellen

Re: Newbie Coding?
« Reply #3 on: January 01, 2006, 04:40:32 AM »
Agreed, Dennis Ritchie's book (K&R) is probably one of the best C references available, though probably not overly useful for the beginner.

One of the learning C books recommended by many is "Teach yourself C in 24 hours" by Sams Publishing.
It takes you through 24 x 1 hour lessons.
I tried it, but I always ended up not quite understanding things properly, hence the Polytech course I took where the tutor gave a good explanation to my many questions.  Worked out well as I'm as thick as a whale omelette at the best of times  :-)

Took me a few months to actually get the hang of it though as I'd programmed in BASIC and Motorola assembly before, C was a completely different approach on everything I'd ever known about programming.

There's also a Yahoo mailing list called amiga_bcg which an Amiga specific C programmers group.  It's a good place to seek answers to C questions in general as well as Amiga specific programming.
 

Offline Dr_Righteous

  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 1345
    • Show only replies by Dr_Righteous
Re: Newbie Coding?
« Reply #4 on: January 01, 2006, 05:50:00 AM »
I've come to the conclusion C is evil... The ROOT of all computer evil. Programs were small and tight when everyone had to code in assembler for space and speed purposes. Now we have our gigs of RAM and terabytes of drive space... Our machines are faster, but our programs aren't... They are bloated and slow.

Sure, assembly programs a not portable... But when you're coding for a specific platform for your own enjoyment, who cares?! Those who run slower machines will thank you.
- Doc

A4000D, A3640 OC-36.3MHz, custom tower, Mediator A4000D. Diamond Banshee 16M, Indivision AGA 4000, GVP HC+8.

Mac Mini 1.5GHz, that might run MorphOS someday, when the fools who own it come to the realization that 30 minutes just isn\'t enough time to play with it enough to decide whether or not you like it enough to cough up $200.

 - Someone please design SOME kind of DIY accelerator for the A4000. :D -
 

Offline Plaz

Re: Newbie Coding?
« Reply #5 on: January 01, 2006, 06:39:29 AM »
Quote
I've come to the conclusion C is evil... The ROOT of all computer evil.


Hear, Hear! But I didn't want to compicate his day by adding "If you learn ASM first, every thing else is easier to learn, but it's not portable." :-)

I think C can be good when you learn to mix it with ASM. (though it will always be a bit bigger and slower). It definitly turns fully evil easily in the hands of a bad or malicious coder.

Can you imagine the look on the face of a VB programmer if you told them the had to learn ASM and the architecture of the hardware first? :lol:

Plaz

 
 

Offline Waccoon

  • Hero Member
  • *****
  • Join Date: Apr 2002
  • Posts: 1057
    • Show only replies by Waccoon
Re: Newbie Coding?
« Reply #6 on: January 01, 2006, 07:39:54 AM »
Quote
I've come to the conclusion C is evil... The ROOT of all computer evil. Programs were small and tight when everyone had to code in assembler for space and speed purposes. Now we have our gigs of RAM and terabytes of drive space... Our machines are faster, but our programs aren't... They are bloated and slow.

First, ask yourself what you intend to write, then choose a language.

The nice thing about C compared to ASM is that it teaches you not to think too much about the hardware and more about what you are doing.  Programming languages are really supposed to do that.  I think things really began to bloat out of control when OOP showed up, and it became "trendy."  It has its uses, but most of the time, people use it when they shouldn't.

Bloat is caused by bad technique or using tools too complex to suit the job.  Using a 50+MB package like Perl, or forcing an app to behave like, or actually use, stateless web tools comes to mind.  Don't spend time with ASM unless you intend to make 4K demos.  ;-)

Personally, I think C++ should be replaced with a new interpreted language but without all the Virtual Machine toolkit crap like your typical 100+ MB Java installation.  C should be used only for low-level stuff.  ASM should be outright banned for anything other than games or architecture toolkits (like endian conversion).

As for books, I'm afraid all I know about programming I picked up myself.  I got into refactoring other people's projects, so I learned most lessons the hard way.  Nothing teaches you what NOT to do than to pick up someone else's rotten code.  :-)

If technique is your question, rather than style or syntax, I recommend "The Art of UNIX Programming" by Eric S. Raymond.  An online version is here.  It's easy to follow for newbies.

Quote
Can you imagine the look on the face of a VB programmer if you told them the had to learn ASM and the architecture of the hardware first?

You know, all BASIC spinoffs look wretched to me, now.  I started on AMOS and Blitz basic, and I find it remarkable that these languages had no sense of modular programming and basic function calls.  AMOS was written in assembler, after all.  I have no idea why having integrated BASIC was so damned important for most early 8-bit systems, and why they still teach kids how to program in BASIC in high school.
 

Offline Dr_Righteous

  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 1345
    • Show only replies by Dr_Righteous
Re: Newbie Coding?
« Reply #7 on: January 02, 2006, 03:03:20 AM »
Actually I liked BASIC... I found it much easier to swallow C and PERL having been familiar with the structures used in BASIC. I think that was actually the logic in including it with all the old systems... To get people to think about programming.

[RANT]
Me myself personally, I don't believe anyone should be allowed to purchase a computer without learning DOS and BASIC inside and out. A computer operators license!
[/RANT]

Sorry, I've been having flashback-nightmares of my end-user tech support days lately. I was on the front lines when Win95 came out! PTSD anyone?
- Doc

A4000D, A3640 OC-36.3MHz, custom tower, Mediator A4000D. Diamond Banshee 16M, Indivision AGA 4000, GVP HC+8.

Mac Mini 1.5GHz, that might run MorphOS someday, when the fools who own it come to the realization that 30 minutes just isn\'t enough time to play with it enough to decide whether or not you like it enough to cough up $200.

 - Someone please design SOME kind of DIY accelerator for the A4000. :D -
 

Offline amigadave

  • Lifetime Member
  • Hero Member
  • *****
  • Join Date: Jul 2004
  • Posts: 3836
    • Show only replies by amigadave
    • http://www.EfficientByDesign.org
Re: Newbie Coding?
« Reply #8 on: January 02, 2006, 04:49:49 AM »
Quote

Dr_Righteous wrote:
Actually I liked BASIC... I found it much easier to swallow C and PERL having been familiar with the structures used in BASIC. I think that was actually the logic in including it with all the old systems... To get people to think about programming. [end quote]

Looking at all the languages available to start my 12 year old son learning on, I have been leaning toward AMOS Pro or Blitz Basic then moving on to SAS-C, GCC or Storm-C.  I believe Blitz Basic is also available on the PC after he starts his programming on our many Amigas (since I already own all of the above languages for Amiga and GCC is free).
How are you helping the Amiga community? :)
 

Offline SamuraiCrow

  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 2281
  • Country: us
  • Gender: Male
    • Show only replies by SamuraiCrow
Re: Newbie Coding?
« Reply #9 on: January 02, 2006, 09:05:49 PM »
C is a good general purpose language but it isn't for beginners.  I'd recommend learning to write scripts in Python first then move on to C.

Are you going to be using a PC first and then moving on to the Amiga?  If so the PC version of Python is here and the classic Amiga version is here. Finally the textbook to help you learn Python is online: How to Think Like a Computer Scientist:  Programming with Python as either a web page or a .PDF file.

If you'd rather start out in C++ the textbook for that is How to Think Like a Computer Scientist:  Programming with C++.  But be sure to get the C++ Standard Template Library before using this book as it needs it badly.
 

Offline amigadave

  • Lifetime Member
  • Hero Member
  • *****
  • Join Date: Jul 2004
  • Posts: 3836
    • Show only replies by amigadave
    • http://www.EfficientByDesign.org
Re: Newbie Coding?
« Reply #10 on: January 02, 2006, 09:21:37 PM »
Quote

SamuraiCrow wrote:
C is a good general purpose language but it isn't for beginners.  I'd recommend learning to write scripts in Python first then move on to C.

Are you going to be using a PC first and then moving on to the Amiga?  If so the PC version of Python is here and the classic Amiga version is here. Finally the textbook to help you learn Python is online: How to Think Like a Computer Scientist:  Programming with Python as either a web page or a .PDF file.

If you'd rather start out in C++ the textbook for that is How to Think Like a Computer Scientist:  Programming with C++.  But be sure to get the C++ Standard Template Library before using this book as it needs it badly.


We will be starting him on the Amiga with an easy language to learn the logic of programming, then move on to C, C++ on the Amiga and finally on to the PC for DOS, Windows and Linux programs.  I have the programs, books and Amiga machines and the interest in Amiga, plus there is so many PD programs for the Amiga that have source code available to look at, it will help in the learning process. Not interested in it for financial gain, just trying to expand his twelve year old mind to see the immense possibilities available.   :-)
How are you helping the Amiga community? :)
 

Offline koaftder

  • Hero Member
  • *****
  • Join Date: Apr 2004
  • Posts: 2116
    • Show only replies by koaftder
    • http://koft.net
Re: Newbie Coding?
« Reply #11 on: January 02, 2006, 09:35:13 PM »
Quote

nasty wrote:
Hey guys, we'll this is gonna be my last post of 2005 and i thought it should be something abit better than I'm having trouble with .........  (well you seen my posts :-D )So my question is what is the best program to learn coding on and do you know of any guides for learning to program?


Ive been asked this question a countless number of times over the years, and nobody ive ever heard ask this ever persued the subject. I'm not saying you are gonna do this, and i hope you do persue some programming, it's a lot of fun and it really expands the ammount of stuff you can do with your machine.

Honestly, it doesnt matter which language you start off with, as long as you dont give up when your program doesnt run the first 10 times you try.

Most of the time people give up because they trip up on language syntax. It's highly annoying for a newbie to remember to end every line with ';' and the {} stuff and all that. the '#' stuff for the preparser and the like.

Dont spend too much time learning language specifis, learn how to program instead. Learn several languages at once. Most languages are awfully similar, though each one stressed ceertain concepts, which once you learn, you can apply them towards any language...
 

Offline Invisix

  • Full Member
  • ***
  • Join Date: Jan 2004
  • Posts: 204
    • Show only replies by Invisix
Re: Newbie Coding?
« Reply #12 on: January 03, 2006, 04:04:03 PM »
C / C++? Pah! Get down and dirty, and get awsome speed with pure ASM code.  :-D
Amiga 1200T: D-Box 1200 Tower, PC-Key 1200, Blizzard 1260
  • 50Mhz, 32mb Fast Ram, 3gig HDD, 52x CD-ROM Drive, ToastScan Scan Doubler, Mediator PCI 1200 SX, FastATA 1200 MK-III, PCMCIA Adapter, PCMCIA Network Card MKIII, Amiga OS 3.5[/b]
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show only replies by Piru
    • http://www.iki.fi/sintonen/
Re: Newbie Coding?
« Reply #13 on: January 03, 2006, 04:30:06 PM »
Whatever you, do not start with assembler. I'd recommend C, it has most in common with other languages and gives most benefit overall. C has excellent education material, books, online tutorials etc available.

Later you probably want to look into other languages aswell, and eventually also assembler (maybe m68k, it's one of the easiest and most logical ones).
 

Offline nastyTopic starter

  • Sr. Member
  • ****
  • Join Date: Nov 2005
  • Posts: 460
    • Show only replies by nasty
Re: Newbie Coding?
« Reply #14 on: January 03, 2006, 04:44:43 PM »
Thanks guys for all the 2 cents/pennys/rubys and anything else there is :lol:, its most useful  
Specs:
A1200PT, mediator c/w voodoo 3 2000, sb128, 60G HDD,OS3.9,LITEON CDR, nec 4x4 changer,External Scan Doubler,Cocolino adapter,PS2 keyboard adaptor.

Morphos 2.6, mini mac g4 @ 1.25ghz.