What should I code in?
You should stick to using ICE and/or TI-BASIC.
 28%  [ 2 ]
You should use C and/or Assembly, those are better.
 71%  [ 5 ]
Total Votes : 7

I have a TI 84 Plus CE. I want to make programs on it. I do have some experience with TI-BASIC and even less with ICE. Is it okay if I just stay on those programming languages? Or should I move to C and ez80 assembly? Should I feel ashamed for using one over the other?

I think you should be ashamed for even asking this question.

Use whatever language you want. No one cares.
MateoConLechuga wrote:
I think you should be ashamed for even asking this question.

Please don't be judgemental. This is actually my first post, so sorry for the stupid question.
I think that as long as you're having fun writing code, it doesn't really matter what language you use! The only reason to use a different language (In my opinion) is if you can't do what you want to do with your program in the language you're using right now. Otherwise, don't stress out about it! Very Happy
Thanks TIny_Hacker!
You shouldn't be ashamed for programming in any language.

With that being said, some programming languages are better suited to some things than others are, so depending on what types of programs you want to make, you might find it beneficial to use different programming languages.

TI-BASIC is obviously good for writing programs that involve math. It's significantly slower and has more limited control over the CE's hardware than the rest of the programming languages available for the CE, though, so if you want to make graphical games it's probably not the best choice.

ICE uses the same syntax as TI-BASIC for the most part, making it easy to learn, but is significantly faster than TI-BASIC. It's also possible to program on-calculator. It's also worth noting that ICE is no longer being developed, so if you run into a bug with ICE in the future, you may just be out of luck, and also that there aren't as many people who still use it that would be able to help you with it in the future.

C is even faster and offers even more control than ICE, while also giving you tools like variable scope and a type system that when used properly help you find bugs in your code before you even run it. It's very widely used, so there are many tutorials and examples for it online.

ez80 assembly gives you full control over your code, but at the same time can be difficult to debug. Assembly is good for parts of a program where you absolutely need speed, like graphics routines that have loops that get called many times, or when you have a program that needs to interact with the OS or the hardware in a way that isn't possible with C. I would not recommend trying to write an entire program in it at first.

So, nobody's going to judge you for using certain languages, although you may be able to get help for some more easily than others. If you're interested in learning a language, definitely give it a try. But don't only use a language because you feel like it will make you more of a "real" programmer or whatever.
I would definitely learn C if I were you, since it is has more practical applications in the real world, teaches better programming practices, and has a good balance between the ease of TI-Basic and the speed of ASM. I would never use ASM if I were you unless you really really need to for performance, but the standard libraries in the CE toolchain have tons of built in and already optimized functions written in ASM already. Generally, C programs run fast enough on the TI 84 Plus CE.
Definitely no shame in programming in any of these languages. If you're interested in software development long term, then C would be the most beneficial. But if you're still new to coding, TI-Basic can be great to learn about conditionals, looping, user input and using variables to display things dynamically.

Delving straight into ez80 or any Assembly language would be a steep learning curve, but if you have patience and you're not expecting to make a full blown game overnight, then it can be fun to learn.
Mateo doesn't mince words, but he makes a good point.
What about Python? :kekw:
Python (on the CE Python Edition) is fine so long as you don't want to take user input, use more than a few thousand bytes of memory, have your programs run in a reasonable amount of time, work on older calculators, work on non-calculators, work on emulated calculators, work on other brands' calculators, work on the same brand's calculators, work with the rest of the OS of the same calculator, do anything involving high precision, do anything involving large numeric arrays, do anything useful, do anything interesting, do anything hacky, or especially do anything fun.

It's fine for learning what a for loop is and then never touching again because nobody in their right mind would do anything serious with it and then generalizing that all coding is hard/tedious/stupid, I guess.
You should use the language you're the most comfortable with, while trying to learn C as well to see if you might actually like it more in the end. Who knows? Maybe you'll actually love assembly instead?

That said, if you decide to choose between TI-BASIC, ICE or Python to make games, then you should forget about Python unless you get a Numworks or TI-Nspire CX II because file size and memory constraints will be way too limiting. Small games are possible, with far more graphical capabilities than TI-BASIC, but there's no getKey/direct input support and it might not be that much faster.

One advantage TI-BASIC has over assembly, ICE and C is that it's compatible with the TI-82 Advanced Édition Python calculator that recently came out, but I do not know what is the market share of that calculator in France so it's possible that the audience increase might be negligible. You can also use ASM, ICE and C libraries in your TI-BASIC programs if you have the Asm() command or ArTIfiCE/Asmhook installed, but no matter how many libs you use your TI-BASIC game will almost always be far slower than its pure ICE, ASM or C counterpart.

I love the fact that we have that many languages, though. This makes calculator programming more accessible.
DJ Omnimaga wrote:
One advantage TI-BASIC has over assembly, ICE and C is that it's compatible with the TI-82 Advanced Édition Python calculator that recently came out,

I am from the US, but it looks like a Ti 84 plus CSE but it is a TI 84 Plus CE.
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum