7 ms·
The thing I appreciate the most about a device like this is that it's largely self-contained. I can program my phone in Python, sure, but I largely can't progra
by don-code 5y ago
The thing I appreciate the most about a device like this is that it's largely self-contained. I can program my phone in Python, sure, but I largely can't program my phone in Python on the phone. There are tools which do this, but the device isn't optimized for it, and the usage metaphor isn't really compatible - coding UI applications with a soft keyboard doesn't sound fun or useful.
On the other hand, getting a text-based REPL that I can quickly enter some commands on is great - that was why I really loved TI-BASIC on my TI-83. In college it made it easy to write a small program, roughly when I needed that program. In one extreme example, my girlfriend and I took ours to the grocery store every week, and used a BASIC app I wrote for meal planning for the week (this was pre-smartphone era).
I'd hope that this is _something_ of an answer to the concern that computing is getting too complicated and detached. Just thinking about the near-ubiquity of the TI-83 when I was in high school, giving kids the ability to code out of their pockets without having to worry about UI mechanics, publishing to an app store, or _threads_ even (AFAIK Android throws exceptions if you do certain things on the main thread), sounds pretty powerful.
- ineedasername 5y agoWouldn't it be even harder to code on this using its limited keyboard? On a phone the soft keyboard may take up half the screen, but that's still at the same size or larger that this calculator, with a higher resolution. That's not to say programming on a phone is a pleasant experience, just that it seems at least a little easier, with much higher cpu/ram/storage resources.
- zozbot234 5y agoTyping on a soft keyboard sucks. Typing computer code, that has to be absolutely typo free, is totally unworkable. Even a chiclet keyboard like what was featured on the lowest-build-quality home computers from the 1970s and 1980s (e.g. early ZX Spectrum) is miles better than trying to input code on a phone touch screen. (In fact a bare-membrane keyboard, that was only ever used on extremely-low-specced home computers where only trivial programs would ever be written, arguably provides a better feel than what you'd get from a touchscreen.)
- thinkmassive 5y agoI agree a physical keyboard is better for preventing typos, although one huge advantage of an on-screen keyboard is it can change based on context. Especially considering the topic of a Python IDE, that seems like an application where predictive text and/or contextual menus could be a huge benefit for many users.
- zozbot234 5y agoPython is a thoroughly dynamic language, so the scope for "predictive" coding just isn't there. The best language for that is actually something as strict as Agda, where you can build out your code step-by-step by picking your operands from a well-defined list of in-scope bindings, with powerful type constraints guiding your choice at all times. Python is the polar opposite of that, even with the newfangled 'gradual' typing systems that are now being suggested.
- ineedasername 5y agoI agree even bad keyboards are often better than soft ones, but this calculator isn't qwerty which for my preferences would be too large a disadvantage even over a phone's soft keyboard. Now, if you could attach a USB keyboard to the calculator, that would be perfect.
- uyjulian 5y agoIt is possible to attach a USB keyboard using a USB-A to USB mini-A adapter. This feature was added to OS 5.1.5.
- don-code 5y agoYes and no - something that TI-BASIC on the TI-83 series has going for it is that it's tokenized, so directives like `While` or `ClrHome` are actually options, rather than full words. So I don't have to type "While" on the TI-83's cumbersome keyboard, but rather just hit Prgm+5. I'm making a big assumption that the Python implementation is similar. I don't know this, but where this is a big feature of TI-BASIC, I'd hope it carried forward.
- andrepd 5y ago> In one extreme example, my girlfriend and I took ours to the grocery store every week, and used a BASIC app I wrote for meal planning for the week (this was pre-smartphone era). Ironically, in the smartphone era, devices aren't even supposed to be programmable anymore (to the end user). They're simply means of consuming content (and a way to be surveilled). The idea that a computer is a programmable machine has all but disappeared from the mainstream.
- II2II 5y agoBoth Google and Apple invest heavily in development tools for their respective platforms. These tools may not be as accessible to end users as BASIC, but that is because these tools support much more than basic math and graphics. Android also has a number of development tools that are vastly easier for end users to use (and, from my meager understanding, the same is true for modern iOS). The reason why you don't see this advertised for mobile devices is for much the same reason that you don't see programmability advertised for modern computers: it is a feature that only appeals to a tiny subset of the market. The reason why you see programmability advertised in a calculator is due to its utility for the target market (e.g. programming is often introduced in math class).
- andrepd 5y agoI disagree. There was a big push at some point in the development of personal computers to make programming something that even nontechnical persons could do. Think hypercard, or even smalltalk. A way for regular users to program their computer to do something else. That's long gone. There's no such tools (that I'm aware of) in the mainstream for smartphones or even computers. You say two things: "they support so much more than TI-basic", well yes and that's the problem. They are developer's tools, not user-programmer tools. If you want to write a quick program to help you in some task you don't have a quick BASIC-like tool to do that. And you also say "a feature that appeals only to a tiny subset of the market", again a self-fulfilling prophecy. There are no tools for non-technical users to program their devices, so only a minority of users do want to program their devices (or even realise that they can do so!)
- pgn674 5y agoThose are some good points that reflect my own experience. My first language was TI-BASIC, self-taught during high school study halls on the TI-83 Plus. My second language was Z80 assembly on that calculator. I think the self contained nature of the programming and running environment in a portable device, along with limited features and power, is really what got me started. And it ended up helping me choose Computer Science as my college degree and put me on the career path I'm on now. TI has its faults, but I'll be ever thankful for their roll in my job satisfaction.
- ivan_ah 5y agoSame here. I was programming "demos" with animations in class all the time. They were running really slow, so I even learned a bit of z80 assembler, and had to learn how to solder together diode + resitor to create a SERIAL cable to transfer programs (didn't have the budget to buy an official one). Good times.
- bradrn 5y agoI’ve recently been thinking of learning assembly, but I’m struggling to find resources. For those of us who don’t have an old TI calculator lying around, can you recommend anything? (Honestly, what everyone’s saying about programming with the TI calculators sounds amazing… I wasn’t alive then, and it’s a pity I never got to have that experience.)
- Ivoah 5y agoLearn Assembly in 28 Days[0] is what I remember going through when I first started messing with assembly on TI calculators. Another great resource is Cemetech[1], a forum/community dedicated to (mostly TI) graphing calculators and hacking/programming them. [0] https://tutorials.eeems.ca/ASMin28Days/welcome.html https://tutorials.eeems.ca/ASMin28Days/welcome.html [1] https://www.cemetech.net/ https://www.cemetech.net/
- bradrn 5y ago
- twobitshifter 5y agoPythonista is a great option on the iPhone (Don’t understand how Apple allows it), but like you said, coding in python on a soft keyboard is not fun.
- qsort 5y agoYou can install iSH and stock CPython inside it. I have it on my phone right now and it's usable, but the soft keyboard is indeed not fun.
- pjmlp 5y agoBecause it is interpreted and you can't really make full apps with 100% to everything unless exposed as interpreter API. There are several other languages as well, including .NET.
- ndiddy 5y agoThe new TI calculators are still Z80 based, so the Python interpreter runs on a separate ARM CPU that communicates with the Z80 over SPI. This creates such a large bottleneck for performance that in most cases TI-BASIC is much faster than Python (and due to TI banning assembly programs, that means that kids wanting to get anything resembling decent performance still get to program in TI-BASIC just like you remember doing). As far as I can tell the Python support is a toy feature mainly included to meet curriculum requirements in certain European countries. Additionally it's a calculator so text entry is very cumbersome, personally I would much rather write code on a smartphone than one of these. https://www.cemetech.net/forum/viewtopic.php?p=285843#285843 https://www.cemetech.net/forum/viewtopic.php?p=285843#285843 for more information on the Python performance
- isoprophlex 5y agoIt seems inexcusable that TI is still running their calculators on a Z80... what an absolutely glacial pace of innovation. Are they just lazy monopolists or am I missing something crucial?
- phinnaeus 5y agoDo they have any competition? Those chips are probably effectively free for them. R&D isn't.
- nl 5y agoCasio makes very popular and we'll supported graphics calculators.
- qq4 5y agoAgreed. Casio got me through my beginning of undergrad with a wonderful calculator. TI always seemed liked too little for the money.
- watersb 5y agoCasio made the first graphing calculator. I got one, so great. Statistical Student's T at the lab bench for advanced freshman chemistry. In 1987.