Subject: Modern programming

From: Owen Brand <[email-masked]>
Date: Mon, 26 Apr 2010 13:35:13 -0400

I can't put it off anymore....  I have a few utilities I need to write  
for PC and it will require learning a modern language---- I've been  
playing around with Java, but the "object" orientation of the language  
is foreign to me.  I was wondering if any of you had any suggestions  
on a language that would be more along the lines of the linear style  
that I'm used to.  Thanks

Owen Brand
Opry99er.com

---

From: "Jon Vogel" <[email-masked]>
Date: Mon, 26 Apr 2010 12:48:58 -0500

What utils do you need to write?  I've found that I can do an amazing number of things in just Excel VBA.  And VBA is just like BASIC.

Regards,

Jon

  From: Owen Brand

---

From: Owen Brand <[email-masked]>
Date: Mon, 26 Apr 2010 14:04:39 -0400

I'm working on a music program that turns your PC keyboard into a  
synth pad....  Up to 3 voices at a time, and then it will kick out  
both assembly BYTE data as well as the XB CALL SOUND equivalent....  
There will be a simple editor, a basic metronome, and even an "Export  
to TIFILES" if I can get it done... I'm still a ways away yet, but  
there is a need over at Atariage for this kind of thing, and I want to  
help the new guys out as much as I can.  The program would be  
simple!!!  I even did a mockup in XB just to see how it would work.   
In essence, it will be a multitrack recorder, square wavelength, 3  
total possible musical voices--- which can be exported to a text file  
for use on an emulator, or (if i can figure out how ro do it) export  
to a ready-to-use TI format.  It would make music so much easier to  
create for game-development.  But to achieve what I want to achieve, I  
gotta do it on a PC.  :) VBA?  Visual BASIC of some kind?  What is  
needed to run the programs written in this language?

Owen Brand
Opry99er.com

On Apr 26, 2010, at 1:48 PM, "Jon Vogel" <[email-masked]> wrote:

> What utils do you need to write?  I've found that I can do an  
> amazing number of things in just Excel VBA.  And VBA is just like  
> BASIC.
>
> Regards,
>
> Jon
>
> From: Owen Brand
>

---

From: Scott Zeiser <[email-masked]>
Date: Mon, 26 Apr 2010 11:16:18 -0700 (PDT)

Owen,
Visual Basic 6 (VB6) was the last such language for a modern Windows OS.  Now it's all about C# (.NET), but then you're back to OO programming...  I recommend learning C# - you can do quite a bit without having to learn the hardcore OO principles.

________________________________
From: Owen Brand <[email-masked]>
To: "[email-masked]" <[email-masked]>
Sent: Mon, April 26, 2010 1:35:13 PM
Subject: [TI994A] Modern programming

Owen Brand
Opry99er.com

---

From: "Jon Vogel" <[email-masked]>
Date: Mon, 26 Apr 2010 13:28:35 -0500

VBA = Visual BASIC for Applications.  Microsoft's "scripting" language for its Office products.

Based on your description, though, you want to access sounds on your PC, which means accessing the sound chip.  So, I think you need to look at something a little more heavier.  You're going to need either Visual BASIC (not to be confused with VBA) or Visual C or C++.  The nice thing about C++ is that you can ignore all the C++ extras and use it as pretty much straight C.  The bad thing about programming in C/C++ under Windows is that you almost have to use MFC (Microsoft Foundation Classes) which is heavily dependent on OOP.

So, it seems like your best bet is to to try Visual BASIC, bu I'm not sure what its support for sound generation is.  I'll have to research that.

Ok, there's support for some stuff:  http://support.microsoft.com/support/vbasic/vbmm.asp?SD=gn&LN=en-us&gssnb=1

But, I didn't see anything about the FM synthesizer, which is what you want to use.  Ok, hunting around, I see some sample code that controls the FM Synthesizer from Visual BASIC, so I guess that it can be done.  

Regards,

Jon

  ----- Original Message ----- 
  From: Owen Brand 
  To: [email-masked] 
  Sent: Monday, April 26, 2010 1:04 PM
  Subject: Re: [TI994A] Modern programming

  I'm working on a music program that turns your PC keyboard into a synth pad....  Up to 3 voices at a time, and then it will kick out both assembly BYTE data as well as the XB CALL SOUND equivalent.... There will be a simple editor, a basic metronome, and even an "Export to TIFILES" if I can get it done... I'm still a ways away yet, but there is a need over at Atariage for this kind of thing, and I want to help the new guys out as much as I can.  The program would be simple!!!  I even did a mockup in XB just to see how it would work.  In essence, it will be a multitrack recorder, square wavelength, 3 total possible musical voices--- which can be exported to a text file for use on an emulator, or (if i can figure out how ro do it) export to a ready-to-use TI format.  It would make music so much easier to create for game-development.  But to achieve what I want to achieve, I gotta do it on a PC.  :) VBA?  Visual BASIC of some kind?  What is needed to run the programs written in this language? 

  Owen Brand
  Opry99er.com

---

From: "Jon Vogel" <[email-masked]>
Date: Mon, 26 Apr 2010 13:29:59 -0500

One of the nice things about C# is that you can at least download the development tools for free from Microsoft.

Regards,

Jon

  ----- Original Message ----- 
  From: Scott Zeiser 
  To: [email-masked] 
  Sent: Monday, April 26, 2010 1:16 PM
  Subject: Re: [TI994A] Modern programming

  Owen,

------------------------------------------------------------------------------

  Owen Brand
  Opry99er.com

---

From: mark wills <[email-masked]>
Date: Mon, 26 Apr 2010 20:25:33 +0000 (GMT)

Have a look at Dark Basic. People are writing full-on Doom type games with it. Incredible.

>
>From: Jon Vogel <[email-masked]>
>Sent: Mon, 26 April, 2010 19:29:59
>One of the nice things about C# is that you can at 
>least download the development tools for free from Microsoft.
> 
>Regards,
> 
>Jon
> 
>>Visual 
>>  Basic 6 (VB6) was the last such language for a modern Windows OS.  Now 
>>  it's all about C# (.NET), but then you're back to OO programming. ..  
>>  I recommend learning C# - you can do quite a bit without having to learn the 
>>  hardcore OO principles.
>>
>>
>>
>>
>>
>>
________________________________
 From: Owen Brand <owenbrand@opry99er. com>
>>To: "TI994A@yahoogroups .com" 
>>  <TI994A@yahoogroups. com>
>>on 
>>  a language that would be more along the lines of the linear style 
>>that I'm 
>>  used to. Thanks
>>
>>Owen Brand
>>Opry99er.com
>>
>>
>>
>>
>>

---

From: "chris20636" <[email-masked]>
Date: Tue, 27 Apr 2010 02:47:32 -0000

Wiki Entry for IDE's
<http://en.wikipedia.org/wiki/Comparison_of_integrated_development_envir\
onments#C.2FC.2B.2B>

See the link above for a list of GPL (and other license) IDE's if you
want to play with some of these languages.  I went from TI BASIC in high
school, to MS FORTRAN on PC Jr's in college, to Borland Turbo C on MS
DOS machines.  I currently do "C" with GNU compilers on Linux machines. 
The newer OO philosophy doesn't come natural to me either.

---

From: "Michael Zapf" <[email-masked]>
Date: Tue, 27 Apr 2010 17:37:56 -0000

Hello Owen,

> the "object" orientation of the language is foreign to me.  I was wondering if any of you had any suggestions  
> that I'm used to. 

Java programming is linear - each line is only executed after the previous line finished. If you know C, Java is no problem for you. Do not think too hard about object orientation. You can even ignore the object orientation by only using static methods. Too many people do, in fact.

Java is my personal favorite since 1996. It delivers what I always attributed to BASIC: Take your editor, write some lines, run and see. (Sure, there is compiling in between). You almost can't get running programs more quickly. No lockups. 

If I need a tool which I cannot (or don't know how to) program in a command shell, Java is my choice. I also used it for my tool to convert SCSI images to HFDC and to read disk images (similar to TI99dir), to convert from track to sector dump etc.

Michael

---

From: "Michael Zapf" <[email-masked]>
Date: Tue, 27 Apr 2010 20:36:04 -0000

> The newer OO philosophy doesn't come natural to me either.

Just out of curiosity ... to all of you who do not feel comfortable with object orientation: What is the point that you consider most difficult to understand with OO? Really, no advocacy intended, I'm just wondering.

As I said, I have been programming with Java since the very beginning, and before I already did some C++. I believe I generally think in objects when programming, so it is difficult for me to see why this could be troublesome. 

Alternatively, most people probably suspect some sophisticated philosophy behind, and feel urged to "properly" design their programs. You need not make use of inheritance, of overloading, whatever. 

Michael

---

From: "chris20636" <[email-masked]>
Date: Wed, 28 Apr 2010 00:37:45 -0000

First off I have no objections to the OO programming method, i.e. I don't think it's the devil or is for inferior species or responsible for the downfall of the civilized world.  I don't do it simply because it is hard for me to do.  It's like being a right handed person and trying to write left handed.  I could make some barely legible chicken scratch, that might get me by, but I'm much better and efficient at using the right hand.  I have used some of the C++ syntax to do procedural programming but I don't consider using an OO language that way as being true object oriented.

I can see how object oriented programming might be useful to me if I were given a "box of objects" and told to connect them together to perform a given task.  However, the few times I've tried to do that the whole encapsulation and inheritance stuff just frustrated me.  I spent most of my time trying to decipher the documentation and trying to figure out (usually with no luck) why my use of a class wasn't working right or why it wouldn't compile.  I suppose, as like anything, I would eventually get better at it with lots of practice.  However, what I'm doing now works just as well, so there is not a big incentive to keep banging my head against the desk until I "get it".

When I tried to write my own classes, I got so hung up on design (which is what OO says is a strong point of their method) and trying to imagine all the ways I might use a class, that I spent way too much time on the task than was warranted.  OO method seems to force me into too much design up front.  I know in a software development environment that previous sentence sounds stupid (how can too much design be a problem?!), but my programming skills are used in an engineering data analysis environment where very large amounts of data need to be processed.  The data formats and data types (which occasionally are not even IEEE standard) are fluid enough that programs are usually quick "one offs" that don't have a long useful lifetime.   I'm used to diving right in to a problem and thinking/designing/writing in parallel as I go.   First I need to do this....write code...then this...write code...etc...which, as I understand it, is essentially procedural programming.

Finally, I have 25+ years of procedural programming ingrained in my brain which started by being taught that in engineering classes via FORTRAN programming and procedural C programs in my job.  That's a lot of inertia to try and over come to change to a different way of thinking.  Thinking in objects may have once been "natural" to me, and it may actually be easier for new programmers to get started that way, but it no longer seems "natural" to me.