Jump to content

Photo

Is Java any benefit to programming for the 2600?


21 replies to this topic

#1 Fr0st OFFLINE  

Fr0st

    Moonsweeper

  • 386 posts
  • Location:Éire

Posted Wed Sep 13, 2017 2:05 AM

I have a School near me that's doing evening courses for computer programming in the Java language.

 

I have absolutely no knowledge when it comes to programming.

 

Would this course in any way benefit me in learning more about eventually programming for the Atari 2600?

 

Thanks for any advise anyone can offer.



#2 zzip ONLINE  

zzip

    Stargunner

  • 1,563 posts

Posted Wed Sep 13, 2017 1:30 PM

I have a School near me that's doing evening courses for computer programming in the Java language.

 

I have absolutely no knowledge when it comes to programming.

 

Would this course in any way benefit me in learning more about eventually programming for the Atari 2600?

 

Thanks for any advise anyone can offer.

 

You will never program the 2600 in Java of course,  but learning Java will teach you concepts that many other languages use, so it will definitely help



#3 Fr0st OFFLINE  

Fr0st

    Moonsweeper

  • Topic Starter
  • 386 posts
  • Location:Éire

Posted Wed Sep 13, 2017 2:52 PM

Thanks, appreciate your reply

#4 wood_jl OFFLINE  

wood_jl

    Quadrunner

  • 6,851 posts
  • Location:West TN, USA

Posted Wed Sep 13, 2017 4:25 PM

Where's the Java 2600 cross-compiler for PC??   Where are all the heroes and geniuses????



#5 Jinroh OFFLINE  

Jinroh

    Dragonstomper

  • 596 posts
  • Catgirl Maid Lover

Posted Thu Sep 14, 2017 12:25 PM

Well, there was a Java project to make a VCS Binary a while ago.

 

https://www.mikekohn...ri2600_java.php

 

The author made a couple demos and a complete game from it.

 

I'd say stick with bAtari BASIC or ASM, but still a cool wacky thing.

 

Isn't there also a C project in the works?


Edited by Jinroh, Thu Sep 14, 2017 12:25 PM.


#6 nanochess OFFLINE  

nanochess

    River Patroller

  • 4,894 posts
  • Coding something good
  • Location:Mexico City

Posted Thu Sep 14, 2017 12:30 PM

Not a good language. If you don't have any programming language background I would suggest to go for Batari or directly 6502 using the tutorials.

#7 Cafeman OFFLINE  

Cafeman

    Quadrunner

  • 6,451 posts
  • Location:Allegheny Mountains east of the Monongahela River

Posted Thu Sep 14, 2017 12:31 PM

The kind of java you drink helps. 😋

#8 Fr0st OFFLINE  

Fr0st

    Moonsweeper

  • Topic Starter
  • 386 posts
  • Location:Éire

Posted Fri Sep 15, 2017 2:22 AM

Not a good language. If you don't have any programming language background I would suggest to go for Batari or directly 6502 using the tutorials.

 

Sincerely, I get what you mean. My problem is, I am illiterate when it comes to programming anything.

I live in a rural area in Ireland, there aren't a wealth of night classes available to me, so at least if I give this Java thing a bash, it may help me better to understand programming/coding in general, would you think?

At least if I do it then I may have a better understanding of the tutorials you mention above, no?

 

It's only ten classes, plus it will help keep me out of the pub on a thursday :)

 

I'm going to sign up and see how it goes, and will be back in ten odd weeks!



#9 Mr SQL OFFLINE  

Mr SQL

    Stargunner

  • 1,748 posts

Posted Fri Sep 15, 2017 5:25 AM

Well, there was a Java project to make a VCS Binary a while ago.

 

https://www.mikekohn...ri2600_java.php

 

The author made a couple demos and a complete game from it.

 

I'd say stick with bAtari BASIC or ASM, but still a cool wacky thing.

 

Isn't there also a C project in the works?

 

Wow, that's awesome to see Java running on the VCS! :) I remember being impressed with the Java compiler running on the C64. 

 

Agree with NanoChess that asm or BASIC is better suited to the VCS given the limitations of the hardware and memory constraints.

 

Fr0st, there are two new BASIC's linked in my signature you may like that are easy to setup on Windows 10 with enhanced graphics capabilities. 



#10 danwinslow OFFLINE  

danwinslow

    River Patroller

  • 2,531 posts

Posted Fri Sep 15, 2017 6:18 AM

 

Sincerely, I get what you mean. My problem is, I am illiterate when it comes to programming anything.

I live in a rural area in Ireland, there aren't a wealth of night classes available to me, so at least if I give this Java thing a bash, it may help me better to understand programming/coding in general, would you think?

At least if I do it then I may have a better understanding of the tutorials you mention above, no?

 

It's only ten classes, plus it will help keep me out of the pub on a thursday :)

 

I'm going to sign up and see how it goes, and will be back in ten odd weeks!

 

Well, Java is a fine language in general, but it is not applicable hardly at all to 2600 programming. As was mentioned, the very basic rock-bottom concepts like data, if/then,looping, etc. are able to be learned in any language.

If that's the only course you have, then sure give it a shot, but keep in mind that Java is NOT an introductory language, no matter what the colleges seem to think. It is an advanced subject, so if you find yourself baffled and overwhelmed it does not mean that you have some kid of problem understanding, it means that even basic Java it really hard without any prior experience programming. Or, maybe you have a knack for it and you'll do great, I don't know, but I expect you'll have some trouble. I do have some other suggestions for you:

1. Google for online courses. There are probably some free ones even, like 'introduction to programming' on you-tube or whatever.

2. Learn BASIC instead. BASIC was created to be easy to learn ( Beginners All-purpose Symbolic Instruction Code). If you have an actual 8-bit Atari, you can use that, or you can grab the Altirra emulator and use that.

3. You can grab tons of different kinds of BASICS for use on your home computer. This, for instance : http://www.nicholson.com/rhn/basic/. Assuming you're on Windows, you could even download the free Visual Basic Express stuff (which I think is now called 'Visual Studio Community' or something dumb like that). Tons of on-line course material on all of the BASICs.

 

I would not try Batari first unless you are a genius. The language is fine, but that 2600 machine is so bizarre and restricted and low-level it's like trying to program a toaster.


Edited by danwinslow, Fri Sep 15, 2017 6:41 AM.


#11 Jinroh OFFLINE  

Jinroh

    Dragonstomper

  • 596 posts
  • Catgirl Maid Lover

Posted Fri Sep 15, 2017 6:56 AM

 

Wow, that's awesome to see Java running on the VCS! :) I remember being impressed with the Java compiler running on the C64. 

 

Agree with NanoChess that asm or BASIC is better suited to the VCS given the limitations of the hardware and memory constraints.

 

Fr0st, there are two new BASIC's linked in my signature you may like that are easy to setup on Windows 10 with enhanced graphics capabilities. 

 

Ugh sorry Mr SQL, I was so tired I forgot to mention your awesome BASIC flavours. >_<



#12 zzip ONLINE  

zzip

    Stargunner

  • 1,563 posts

Posted Fri Sep 15, 2017 8:06 AM

 

Well, Java is a fine language in general, but it is not applicable hardly at all to 2600 programming. As was mentioned, the very basic rock-bottom concepts like data, if/then,looping, etc. are able to be learned in any language.

If that's the only course you have, then sure give it a shot, but keep in mind that Java is NOT an introductory language, no matter what the colleges seem to think. It is an advanced subject, so if you find yourself baffled and overwhelmed it does not mean that you have some kid of problem understanding, it means that even basic Java it really hard without any prior experience programming. Or, maybe you have a knack for it and you'll do great, I don't know, but I expect you'll have some trouble. I do have some other suggestions for you:

 

I don't see why Java can't be an introductory language.   You can easily steer clear of advanced topics, and stick with basic hello.world type programs.   Knowing Java, it's easier to jump to other widely-used languages like C, C++, C# ( for .NET programming),  Objective-C (for iOS apps) 

 

Basic isn't all that popular anymore.   Especially not the line-number centric Basic interpreters of the 70s and 80s.    If you learn on those old Basics, it's easy to fall to the temptation of writing spaghetti code full of goto's.   If you learn on a modern language, you will learn to code without the 'goto crutch', and that will help you write better code if you go back and learn basic. 



#13 danwinslow OFFLINE  

danwinslow

    River Patroller

  • 2,531 posts

Posted Fri Sep 15, 2017 9:43 AM

Yeah, I expected someone to say this. You're not wrong in fact, but I personally feel like Java and the other OO languages can put a burden of extra complexity in when all you are doing is just to try and learn programming basics, especially when your stated target is 2600 programming. I figured BASIC would be a good way to prepare for Batari. BASIC has this rep for 'spaghetti code' but let me assure you you can freely create pasta in any language, and people often do. Using a language that doesn't prevent you from doing it in fact is a good way to learn the importance of certain hygienic programming practices. Use of goto is not in and of itself bad, and there are situations even in modern languages where it is an appropriate choice.

 

Actually, I always recommend plan ANSI C as the proper introductory language for a serious computer education. If you learn C well, you will learn everything you'll ever need to know and stuff that most people don't ever know, and you will appreciate the modern languages much better. 



#14 zzip ONLINE  

zzip

    Stargunner

  • 1,563 posts

Posted Fri Sep 15, 2017 10:57 AM

Yeah, I expected someone to say this. You're not wrong in fact, but I personally feel like Java and the other OO languages can put a burden of extra complexity in when all you are doing is just to try and learn programming basics, especially when your stated target is 2600 programming. I figured BASIC would be a good way to prepare for Batari. BASIC has this rep for 'spaghetti code' but let me assure you you can freely create pasta in any language, and people often do. Using a language that doesn't prevent you from doing it in fact is a good way to learn the importance of certain hygienic programming practices. Use of goto is not in and of itself bad, and there are situations even in modern languages where it is an appropriate choice.

 

Actually, I always recommend plan ANSI C as the proper introductory language for a serious computer education. If you learn C well, you will learn everything you'll ever need to know and stuff that most people don't ever know, and you will appreciate the modern languages much better. 

 

C is worse as a beginner language than Java in that C will give you a gun and let you shoot yourself in the foot and not give you much indication what you did wrong other than "segmentation fault" or some such error.   Plus if you want to work with strings..   Java is much easier there.    

 

I like and use C a lot.   It is powerful, but the price of that is it will not hold your hand in any way. 

 

Yes Java is OO, but when you are just learning, you can put everything in a single class and it will behave similarly to a non-OO language.   


Edited by zzip, Fri Sep 15, 2017 10:57 AM.


#15 Mr SQL OFFLINE  

Mr SQL

    Stargunner

  • 1,748 posts

Posted Fri Sep 15, 2017 12:52 PM

 

C is worse as a beginner language than Java in that C will give you a gun and let you shoot yourself in the foot and not give you much indication what you did wrong other than "segmentation fault" or some such error.   Plus if you want to work with strings..   Java is much easier there.    

 

I like and use C a lot.   It is powerful, but the price of that is it will not hold your hand in any way. 

 

Yes Java is OO, but when you are just learning, you can put everything in a single class and it will behave similarly to a non-OO language.   

 

All good points zzip, but a lot of that power was added later to the RUNTIME and not specific to Java, though it's certainly elegant for calling the runtime. 

 

I remember Corel rewrote WordPerfect in Java and immediately folded, realizing there was no way to print with the immature runtime.

 

I also remember the AWT - abstract windowing toolkit, a runtime GUI that looked like it was drawn with crayons.  

 

Databases? Sybase folded their own shop and lived off Microsoft licensing (SQL Server is their codebase) because they tried to build development tools in Java - the string handling was so rigid it rendered the tools completely useless with rediculous workarounds prompting you to use the old version written in C, or at least the parts that you needed.

 

That was all long before WebSphere; it's their runtime lilbraries and middleware making a world of difference. 

 

I've been toying with the idea of writing a Java compiler for my Flashback BASIC RUNTIME because it surfaces an object set with a soft blitter chip that would be ideal for Java oriented programmers to marshall.

 

It works fine calling the objects from BASIC or asm for that matter, but it may be less natural for BASIC programmers to write something like the Display list demo where N instances of the camera pan the virtual world through different sections of the screen using inheritance and overloading because the BASIC prograrmmer often has to learn about these concepts while the Java programmer must be familiar with them.

 

otoh, games that create one instance of the camera and other objects are simpler to write and the API's feel more natural to BASIC, I noticed this when I added the DLI API's though they added alot of capabilities.



#16 Gemintronic OFFLINE  

Gemintronic

    Jason S. - Lead Developer & CEO

  • 8,851 posts

Posted Fri Sep 15, 2017 2:22 PM

Java was a great idea to allow programs to just "run anywhere". However, HTML5 and .NET/mono has pretty much taken center stage.

BASIC was the gateway to programming for me. You can focus on expressing yourself rather than baffling hardware nuances or language over-complexity.

#17 zzip ONLINE  

zzip

    Stargunner

  • 1,563 posts

Posted Fri Sep 15, 2017 2:42 PM

 

All good points zzip, but a lot of that power was added later to the RUNTIME and not specific to Java, though it's certainly elegant for calling the runtime. 

 

I remember Corel rewrote WordPerfect in Java and immediately folded, realizing there was no way to print with the immature runtime.

 

I also remember the AWT - abstract windowing toolkit, a runtime GUI that looked like it was drawn with crayons.  

 

Databases? Sybase folded their own shop and lived off Microsoft licensing (SQL Server is their codebase) because they tried to build development tools in Java - the string handling was so rigid it rendered the tools completely useless with rediculous workarounds prompting you to use the old version written in C, or at least the parts that you needed.

 

 

Right, but a lot of that is ancient history too.   I've worked with Java a long time, and I remember clunky AWT interface apps, and buggy, slow JVMs before they had JIT compilers and native threading.   At one point, I was filing Java VM bugs with Sun's support on a weekly basis, for my company, and the support engineers knew me by name!    It has improved since.

 

Nowadays, most Android apps are written in Java, and Java powers a lot of the apps on the web.



#18 Mr SQL OFFLINE  

Mr SQL

    Stargunner

  • 1,748 posts

Posted Fri Sep 15, 2017 10:05 PM

 

Right, but a lot of that is ancient history too.   I've worked with Java a long time, and I remember clunky AWT interface apps, and buggy, slow JVMs before they had JIT compilers and native threading.   At one point, I was filing Java VM bugs with Sun's support on a weekly basis, for my company, and the support engineers knew me by name!    It has improved since.

 

Nowadays, most Android apps are written in Java, and Java powers a lot of the apps on the web.

 

Very cool, precipitating teamwork from the field is the best resource (you) the Java team has for making improvements, and the JIT compiler was awesome, agree it made a big difference - I remember Sun fixing bench mark tests before that because of the interpreter.  

 

Agree about the prevelance of Java, if you include Microsofts c# Java clone the base is even larger.

 

I really like  BASIC dialects because of how rapidly you can express yourself with a minimum of code, the 10 liner contests where people are building incredible games in 10 lines of BASIC are a classic example of what is not possible in Java or c#, or C or C++, those are all awesome fun languages too but you don't have the speed of creative expression to create code that does a lot in a small footprint. That's where BASIC shines, ditto for the BASIC examples in Math and Science texts from the 80's and 90's.

 

I really like PowerShell because we can write BASIC in C and do all the same tricks - single line of code apps that do a lot, single statement apps, tiny footprint code all free form with only the structuring that we define, and all the same problems if we don't define it.   

 

Java was a great idea to allow programs to just "run anywhere". However, HTML5 and .NET/mono has pretty much taken center stage.

BASIC was the gateway to programming for me. You can focus on expressing yourself rather than baffling hardware nuances or language over-complexity.

^This :)

fourmillionslinesofBASIC.jpg

Another interesting programming discussion here



#19 danwinslow OFFLINE  

danwinslow

    River Patroller

  • 2,531 posts

Posted Sat Sep 16, 2017 5:18 PM

 

C is worse as a beginner language than Java in that C will give you a gun and let you shoot yourself in the foot and not give you much indication what you did wrong other than "segmentation fault" or some such error.   Plus if you want to work with strings..   Java is much easier there.    

 

I like and use C a lot.   It is powerful, but the price of that is it will not hold your hand in any way. 

 

Yes Java is OO, but when you are just learning, you can put everything in a single class and it will behave similarly to a non-OO language.   

 

I get it, but I don't agree. It's not about what's easy or safe, it's about understanding. I've been a professional developer for almost 40 years, and this is my opinion.



#20 Gemintronic OFFLINE  

Gemintronic

    Jason S. - Lead Developer & CEO

  • 8,851 posts

Posted Mon Sep 18, 2017 9:14 AM

I get it, but I don't agree. It's not about what's easy or safe, it's about understanding. I've been a professional developer for almost 40 years, and this is my opinion.


You only get to know best practices by doing. If the barrier to entry is too high that never happens. I think as eperienced developers we tend to forget that.

#21 BNE Jeff OFFLINE  

BNE Jeff

    Moonsweeper

  • 288 posts
  • Location:Virginia, USA

Posted Mon Sep 25, 2017 4:04 AM

Atariage has a beginner course you can do at night:

 

http://atariage.com/...mming/2600_101/

 

Its done at a very basic level.



#22 Fr0st OFFLINE  

Fr0st

    Moonsweeper

  • Topic Starter
  • 386 posts
  • Location:Éire

Posted Wed Sep 27, 2017 12:29 PM

Just a heads up, the course was cancelled, not enough people signed up.




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users