Noobs use C, real programmers use Basic

Discuss Demos / Games / Applications written by Atari coders

Moderators: Mug UK, Silver Surfer, Moderator Team

MrPixel
Captain Atari
Captain Atari
Posts: 191
Joined: Mon Jan 08, 2018 4:31 am

Noobs use C, real programmers use Basic

Postby MrPixel » Fri Feb 16, 2018 1:49 am

this would be true in another world but i wanted your opinions on the BASIC vs C argument

flame shield on

User avatar
Foxie
Captain Atari
Captain Atari
Posts: 354
Joined: Wed Feb 03, 2016 7:12 pm

Re: Noobs use C, real programmers use Basic

Postby Foxie » Fri Feb 16, 2018 2:04 am

Undeniably, all real programmers use either Fortran or Pascal.

Most implementations of BASIC are much slower than C. Even if you compile it, the intrinsic problem with BASIC is the integers need to be large. You also have no pointers, and the language enforces bounds checking (but a really fast compiler could omit that).

That said, if you're not doing speed critical stuff or you write your high speed stuff in assembly then you can use BASIC just fine. Lots of modern programmers poo-poo it, but it's a perfectly usable language. Certainly better and safer than Javascript.

When I was just starting out with Atari programming in the late 80s, I managed to do raster bars in GFA BASIC and later STOS BASIC. But they were only stable if you turned the mouse off. The language was barely fast enough. I also experimented with trying to do lower border removal in BASIC, but never got it to work reliably.

You could easily do stable rasters and border removal in C since there's no slow interpreter. But for ultimate control, you'd want to go to assembly language. I think some programmers would find the transition from BASIC to assembly easier than the transition from BASIC to C. So-called "structured" programming is a whole different thing to what BASIC programmers are used to.

Of course these days there are lots of open source libraries you can use with C. But be careful - many of them are so bloated they will make the Atari user inside you cry. If you are working in BASIC or assembly, you have fewer choices. Especially BASIC.

MrPixel
Captain Atari
Captain Atari
Posts: 191
Joined: Mon Jan 08, 2018 4:31 am

Re: Noobs use C, real programmers use Basic

Postby MrPixel » Fri Feb 16, 2018 2:51 am

understandable. though i question the use of Fortran as a language as of 2018. sill, i don't do physics so it's not my area. Amstrad Basic for example, is decent but i prefer C to an extent, primarily due to ease of use (the simple act of drawing a house in basic...ugh) but for readability, i use basic. Machine code is a grey area. i checked the Compute! scans and the MLX program is useless. i pity you 1980's kids

gilles504
Atari freak
Atari freak
Posts: 69
Joined: Thu Aug 11, 2011 4:17 pm

Re: Noobs use C, real programmers use Basic

Postby gilles504 » Fri Feb 16, 2018 8:20 am

real programmers use the most adequate language for a platform and a kind of project ;) (and also the language they are the most comfortable with).
For atari I used mostly GFA + some assembly. Then on 386 PC Pascal and C (borland pascal and C were great and debugging was as simple as with basic). Now I use C, perl, shell, php, java, javascript, C++... and even PL/SQL sometimes.
For atari structured basic like GFA and omicron are great but a cross compilation of C is also a good option.

Moulinaie
Captain Atari
Captain Atari
Posts: 201
Joined: Wed Feb 01, 2012 9:34 pm

Re: Noobs use C, real programmers use Basic

Postby Moulinaie » Fri Feb 16, 2018 8:44 am

What I like in BASIC is when you have to read the work of another programmer : each line is self-explanatory. I mean that in C, if you didn't read the variable definitions, or the *.H file, sometimes you can't know what a line is doing.
In BASIC you know easely that a variable is an array, a string, an integer or a floating point number.

User avatar
iceman
Captain Atari
Captain Atari
Posts: 182
Joined: Sat Mar 02, 2013 11:03 pm

Re: Noobs use C, real programmers use Basic

Postby iceman » Fri Feb 16, 2018 8:57 am

"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
- Edsger W. Dijkstra

/thread
Atarian since 1989. Atari 1040STFM, 4MB 520STe with UltraSatan and Unitor N, A dodgy 1 MBSTe that bombs out after a few minutes, and a 14MB 48MHz Falcon 030 with NetUSBee and Soundpool 8 channel DAC. Plus my new MiST!

joska
Hardware Guru
Hardware Guru
Posts: 4148
Joined: Tue Oct 30, 2007 2:55 pm
Location: Florø, Norway
Contact:

Re: Noobs use C, real programmers use Basic

Postby joska » Fri Feb 16, 2018 9:48 am

iceman wrote:"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."


Bullsh*t :) Programmers that are irreparably "damaged" by BASIC would never have become good programmers anyway.
Jo Even

VanillaMiNT - Firebee - Falcon060 - Milan060 - Falcon040 - MIST - Mega ST - STM - STE - Amiga 600 - Sharp MZ700 - MSX - Amstrad CPC - C64

User avatar
simonsunnyboy
Moderator
Moderator
Posts: 5017
Joined: Wed Oct 23, 2002 4:36 pm
Location: Friedrichshafen, Germany
Contact:

Re: Noobs use C, real programmers use Basic

Postby simonsunnyboy » Fri Feb 16, 2018 4:46 pm

iceman wrote:"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
- Edsger W. Dijkstra

/thread


This is true for old-style linenumbered BASIC.

If it had data structures or records as PASCAL, I'd use GFABASIC to this day. it is the only feature lacking.

C is always a better macro assembler so you cannot compare them. Interpreted BASIC is easier to debug for the novice so I'd still recommend apprentice coders on the ST to get going with GFABASIC or Omikron first.

STOS is linenumbered sh** and I am totally with Dijkstra there. And starting directly with assembly language is a challenge.

I personally use C these days for Atari coding with Vincent's excellent crosscompiler. (it is important to not link with Mintlib or your binary size explodes)
Simon Sunnyboy/Paradize - http://paradize.atari.org/

Stay cool, stay Atari!

1x2600jr, 1x1040STFm, 1x1040STE 4MB+TOS2.06+SatanDisk, 1xF030 14MB+FPU+NetUS-Bee

MrPixel
Captain Atari
Captain Atari
Posts: 191
Joined: Mon Jan 08, 2018 4:31 am

Re: Noobs use C, real programmers use Basic

Postby MrPixel » Fri Feb 16, 2018 6:15 pm

what bothers me is the different dialects of basic available. i am teaching atari basic at my day program and it's pure hell without a few Compute! magazines. are there other resources i could use (preferably in mobile app form)

User avatar
Foxie
Captain Atari
Captain Atari
Posts: 354
Joined: Wed Feb 03, 2016 7:12 pm

Re: Noobs use C, real programmers use Basic

Postby Foxie » Fri Feb 16, 2018 7:08 pm

joska wrote:
iceman wrote:"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."


Bullsh*t :) Programmers that are irreparably "damaged" by BASIC would never have become good programmers anyway.


I quite agree! Many excellent demo coders started out with BASIC and then moved to assembly. While the old school mainframe programmers hammering out structured code on Unix never wrote anything fast or compact in their lives. Except when it comes to things like saving a few bytes by shortening command names to two letters. Rendering the interface nearly unusable. ls, rm, cd, dd, wc, ln, cc, etc. Not my cup of tea.

BBC BASIC was probably the best BASIC of the 80s, with its structured design and inline assembler. It's the best of both assembly and BASIC. Compare to the truly awful Microsoft BASIC on the C64 and it's night and day.


MrPixel wrote:what bothers me is the different dialects of basic available. i am teaching atari basic at my day program and it's pure hell without a few Compute! magazines. are there other resources i could use (preferably in mobile app form)


There was BASICODE to try and work around that, but it never caught on in a big way. I'm curious what you're doing with Atari BASIC! I think BASIC is probably the best language to learn by far, it's so accessible and provides immediate results. You need to learn so much syntax and theory to program in C that it turns a lot of people off programming.

Perhaps the only thing missing from BASIC is structs. You can do them in assembly quite easily (especially 68000) but not so easy in BASIC. Parallel arrays are the order of the day, which aren't so bad really. The built-in string handling of BASIC is massively superior to C.

User avatar
shoggoth
Nature
Nature
Posts: 942
Joined: Tue Aug 01, 2006 9:21 am
Location: Halmstad, Sweden
Contact:

Re: Noobs use C, real programmers use Basic

Postby shoggoth » Fri Feb 16, 2018 7:14 pm

In the end, what matters is the end result. I prefer C, but there are extremely talented and productive people out there who have released major applications written in e.g. GFA Basic (which btw is actually maintained).
Ain't no space like PeP-space.

MrPixel
Captain Atari
Captain Atari
Posts: 191
Joined: Mon Jan 08, 2018 4:31 am

Re: Noobs use C, real programmers use Basic

Postby MrPixel » Sat Feb 17, 2018 7:17 pm

tried 68000, hard as cluck to get anything done

sporniket
Atariator
Atariator
Posts: 17
Joined: Fri Feb 16, 2018 5:39 pm

Re: Noobs use C, real programmers use Basic

Postby sporniket » Sat Feb 17, 2018 8:44 pm

From my personnal experience, a noob will be spotted because of a lack of computer science knowledge (e.g. some years ago I had to work with a trainee who graduated from a computer science college, and he didn't even know how to navigate inside a tree data structure).

As a teenager, I tried to code a Tetris clone with Stos basic. I failed to achieve the game loop because I didn't know how to design a proper data model for the game and overcomplicated the collision test. It stroke me years later when I went to the computer science college.

mlynn1974
Captain Atari
Captain Atari
Posts: 205
Joined: Mon Mar 03, 2008 10:33 pm
Contact:

Re: Noobs use C, real programmers use Basic

Postby mlynn1974 » Sun Feb 18, 2018 12:23 am

BASIC was popular and give rise to languages like Visual BASIC for good or for bad in the 70s and 80s because computing needed applications to be developed quickly and easily. It was also a good first language for many. It was suitable for the constraints of systems of that era. It is a language that allows software to be written quickly. To preserve this idea James Martin (IBM), Microsoft and others promoted the term "rapid application development" to detract from the negative connotations of using BASIC.

C was born out of operating system development needs and portability. That is why it is not a language for "noobs" then or now. The development of operating systems (especially Unix) would have been significantly delayed if C had not been developed.

C is a beautiful language but using a C Compiler on a system without a hard disk like the ZX Spectrum or a regular Atari ST is very, very slow.

The problem today seems to be that computers (or rather operating systems) are not provided with any BASIC language at all. It isn't necessary for most users. On old computers you needed BASIC to even load a game.

I really dispair when programmers come along who have only ever used Javascript. Javascript is a horrible misuse of the C style syntax. And what about kids being taught "languages" like Scratch?
It can teach sequence, selection and iteration which is good but it is done in a totally visual point and click way, like creating a Flash animation. Maybe that is the new BASIC?
Still got, still working: Atari 4Mb STe, 520STFM, 2.5Mb STF.
Hardware: Cumana CSA 354, Ultimate Ripper, Blitz Turbo, Synchro Express II (US and UK Versions).

User avatar
charles
10 GOTO 10
10 GOTO 10
Posts: 2394
Joined: Tue Aug 17, 2004 12:11 am
Location: ont. Canada
Contact:

Re: Noobs use C, real programmers use Basic

Postby charles » Sun Feb 18, 2018 12:50 am

are you trying to get me to argue ?..lol
pascal or gfa

is my input

both are great and very useful.
The radioactive half-life : )
Atari is a lifestyle,not a hobby.
HOLD ON ! ! ! Im printing unreadable characters ...!

User avatar
ggn
Atari God
Atari God
Posts: 1203
Joined: Sat Dec 28, 2002 4:49 pm

Re: Noobs use C, real programmers use Basic

Postby ggn » Sun Feb 18, 2018 6:07 am

You're all wrong, the answer sadly is Emacs:

Image
is 73 Falcon patched atari games enough ? ^^

User avatar
wongck
Ultimate Atarian
Ultimate Atarian
Posts: 12463
Joined: Sat May 03, 2008 2:09 pm
Location: Far East
Contact:

Re: Noobs use C, real programmers use Basic

Postby wongck » Sun Feb 18, 2018 9:16 am

ggn wrote:You're all wrong, the answer sadly is Emacs:

:lol: Oh yeah EMACS.. was using that like 30 years or more ago on system connecting to UMRCC.
My Stuff: FB/Falcon CT63/CTPCI+ATI+RTL8139+USB 512MB 30GB HDD CF HxC_SD/ TT030 68882 4+32MB 520MB Nova/ 520STFM 4MB Tos206 SCSI
Shared SCSI Bus:ScsiLink ethernet, 9GB HDD,SD-reader @ http://phsw.atari.org
My Atari stuff for sale - click here for list

User avatar
mrbombermillzy
Captain Atari
Captain Atari
Posts: 152
Joined: Tue Sep 13, 2016 9:24 am

Re: Noobs use C, real programmers use Basic

Postby mrbombermillzy » Sun Feb 18, 2018 9:41 am

I have found that it is the design that is the real important matter here.

In my experience if you have a well designed program, then the coding part is more or less trivial, in whatever language you prefer. (Personally I use very modular code).

Some people prefer thinking like the machine (more efficient assembly) whereas others like having the nearer natural human language/thought process approach (basic type languages). Others, somewhere inbetween (better structured languages C/++ smalltalk, etc).

In the end, its what the individual programmer is happy to use.

My answer.. if I was doing a quick/small rapid prototype game low on design structures, I would use STOS. Something larger would steer me towards assembly or maybe C.

MrPixel
Captain Atari
Captain Atari
Posts: 191
Joined: Mon Jan 08, 2018 4:31 am

Re: Noobs use C, real programmers use Basic

Postby MrPixel » Fri Feb 23, 2018 3:03 am

well, this is devolving into chaos. shall i open another thread or lock it?

User avatar
charles
10 GOTO 10
10 GOTO 10
Posts: 2394
Joined: Tue Aug 17, 2004 12:11 am
Location: ont. Canada
Contact:

Re: Noobs use C, real programmers use Basic

Postby charles » Fri Feb 23, 2018 4:46 am

emacs lol
ldw basic came with emacs ,,,
its a strange breed of its own ,
could use a slight overhaul then it would be better
The radioactive half-life : )
Atari is a lifestyle,not a hobby.
HOLD ON ! ! ! Im printing unreadable characters ...!

User avatar
calimero
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2223
Joined: Thu Sep 15, 2005 10:01 am
Location: STara Pazova, Serbia
Contact:

Re: Noobs use C, real programmers use Basic

Postby calimero » Sat Feb 24, 2018 8:14 am

Does anyone here have experience with Rebol?

It is made by Amiga Exec author Carl Sassenrath. It surely looks and sound interesting.

Regarding JavaScript and browsers there is Eml. New language that fix JavaScript in many ways.


I like to read about new languages since obivious biggest problem today is the way how we make new programs.
I really liked Alan Kay ideas with Xerox Star and Smalltalk: if you watched Alan Kay new presentation you could notice that presentation program (or better called "system") is interpreter that can run many languages and all elements in this "system" are frelly programable. There is no separation to: application and data (file format) nut rather user directly is control over system and can manipulate data and programing level (user is not limited on functions of application). It is hard to explain but if you watch Alan Kay presentation you will see what I am talking about:

https://youtube.com/watch?v=ubaX1Smg6pY

and here you can see same principle on original SmallTalk from 70s (they manage to restore tapes from 80s!)

https://youtube.com/watch?v=AnrlSqtpOkw
using Atari since 1986.http://wet.atari.orghttp://milan.kovac.cc/atari/software/ ・ Atari Falcon030/CT63/SV ・ Atari STe ・ Atari Mega4/MegaFile30/SM124 ・ Amiga 1200/PPC ・ Amiga 500 ・ C64 ・ ZX Spectrum ・ RPi ・ MagiC! ・ MiNT 1.18 ・ OS X

joska
Hardware Guru
Hardware Guru
Posts: 4148
Joined: Tue Oct 30, 2007 2:55 pm
Location: Florø, Norway
Contact:

Re: Noobs use C, real programmers use Basic

Postby joska » Sun Feb 25, 2018 11:33 am

mrbombermillzy wrote:In my experience if you have a well designed program, then the coding part is more or less trivial, in whatever language you prefer.


Then you have never tried to make something even remotely complex in BASIC. AFAIK there is no BASIC for the ST that has any features for structuring data except old school indexed arrays. That makes them pretty frustrating to use as soon as you need to work with even slightly complex data. Also, most BASICs has no concept of scope and you work with just a huge number of global variables and arrays.
Jo Even

VanillaMiNT - Firebee - Falcon060 - Milan060 - Falcon040 - MIST - Mega ST - STM - STE - Amiga 600 - Sharp MZ700 - MSX - Amstrad CPC - C64

User avatar
mrbombermillzy
Captain Atari
Captain Atari
Posts: 152
Joined: Tue Sep 13, 2016 9:24 am

Re: Noobs use C, real programmers use Basic

Postby mrbombermillzy » Sun Feb 25, 2018 12:02 pm

joska wrote:
mrbombermillzy wrote:In my experience if you have a well designed program, then the coding part is more or less trivial, in whatever language you prefer.


Then you have never tried to make something even remotely complex in BASIC. AFAIK there is no BASIC for the ST that has any features for structuring data except old school indexed arrays. That makes them pretty frustrating to use as soon as you need to work with even slightly complex data. Also, most BASICs has no concept of scope and you work with just a huge number of global variables and arrays.


Actually Jo, I HAVE made something fairly big and complex in BASIC! :)

However, your second line may well be true. I have not really used any of the ST basics much (maybe I tried looking at Exxos' F030 STOS).

I have coded a fairly complete (90%+ of the coding done) PC game in a modified basic dialect that has some OO functionality.

And I like to think that this means that you can still produce complex code with the so called 'old school' global arrays for data structures. As long as you conpartamentalise each design part (split things up so you can fix/change one problem at a time type of thing) and avoid 'hardwiring' as much data as possible, its still doable.

At some point, if all goes well from the Atari side, I will use just my design document along with my array/var list and probably convert some of the major modules over to my TT/Falcon, via assembly, to create a (slightly cut down from what it is now) game framework.

joska
Hardware Guru
Hardware Guru
Posts: 4148
Joined: Tue Oct 30, 2007 2:55 pm
Location: Florø, Norway
Contact:

Re: Noobs use C, real programmers use Basic

Postby joska » Sun Feb 25, 2018 7:49 pm

mrbombermillzy wrote:I have coded a fairly complete (90%+ of the coding done) PC game in a modified basic dialect that has some OO functionality.


That's something else and has nothing to do with coding in BASIC on the ST.

mrbombermillzy wrote:And I like to think that this means that you can still produce complex code with the so called 'old school' global arrays for data structures.


Of course you can. But it's something like 10000000% easier with a language that allows you to create proper data structures in the first place.
Jo Even

VanillaMiNT - Firebee - Falcon060 - Milan060 - Falcon040 - MIST - Mega ST - STM - STE - Amiga 600 - Sharp MZ700 - MSX - Amstrad CPC - C64

User avatar
mrbombermillzy
Captain Atari
Captain Atari
Posts: 152
Joined: Tue Sep 13, 2016 9:24 am

Re: Noobs use C, real programmers use Basic

Postby mrbombermillzy » Sun Feb 25, 2018 8:42 pm

joska wrote:
mrbombermillzy wrote:I have coded a fairly complete (90%+ of the coding done) PC game in a modified basic dialect that has some OO functionality.


That's something else and has nothing to do with coding in BASIC on the ST.


The topic starter or forum section doesnt actually stipulate the ST dialect of BASIC at all, but I will again say that I havent really used any ST BASICS, so they may well not have this feature set present.

Alot of 'modern' BASICS do actually incorporate some form of OO to some extent.


joska wrote:
mrbombermillzy wrote:And I like to think that this means that you can still produce complex code with the so called 'old school' global arrays for data structures.


Of course you can. But it's something like 10000000% easier with a language that allows you to create proper data structures in the first place.


I believe 'easiness' is relative, depending on how hard you find your current system of workflow. :D

I never got used to heavy C++ OO programming and find thinking like the machine (i.e. Assembler) easier!
Last edited by mrbombermillzy on Sun Feb 25, 2018 9:02 pm, edited 4 times in total.


Social Media

     

Return to “Non Atari Platforms”

Who is online

Users browsing this forum: No registered users and 2 guests