C++ Weekly - Ep 356 - The Python Enabled Calculators of 2022
Vložit
- čas přidán 25. 12. 2022
- ☟☟ Awesome T-Shirts! Sponsors! Books! ☟☟
Upcoming Workshop: Understanding Object Lifetime, C++ On Sea, July 2, 2024
► cpponsea.uk/2024/sessions/und...
Upcoming Workshop: C++ Best Practices, NDC TechTown, Sept 9-10, 2024
► ndctechtown.com/workshops/c-b...
Upcoming Workshop: Applied constexpr: The Power of Compile-Time Resources, C++ Under The Sea, October 10, 2024
► cppunderthesea.nl/workshops/
Episode Notes: github.com/lefticus/cpp_weekl...
Making C++ Fun, Safe, and Accessible: • Making C++ Fun, Safe, ...
Calculator Links:
Casio fx-9750GIII amzn.to/3ExeIcq
NumWorks amzn.to/3TFzMSm
TI-83/84 with Python amzn.to/3hOzOK8
Python test and comparison: tiplanet.org/forum/article.ph...
Calculator comparison: tiplanet.org/forum/compare.ph...
T-SHIRTS AVAILABLE!
► The best C++ T-Shirts anywhere! my-store-d16a2f.creator-sprin...
WANT MORE JASON?
► My Training Classes: emptycrate.com/training.html
► Follow me on twitter: / lefticus
SUPPORT THE CHANNEL
► Patreon: / lefticus
► Github Sponsors: github.com/sponsors/lefticus
► Paypal Donation: www.paypal.com/donate/?hosted...
GET INVOLVED
► Video Idea List: github.com/lefticus/cpp_weekl...
JASON'S BOOKS
► C++23 Best Practices
Leanpub Ebook: leanpub.com/cpp23_best_practi...
► C++ Best Practices
Amazon Paperback: amzn.to/3wpAU3Z
Leanpub Ebook: leanpub.com/cppbestpractices
JASON'S PUZZLE BOOKS
► Object Lifetime Puzzlers Book 1
Amazon Paperback: amzn.to/3g6Ervj
Leanpub Ebook: leanpub.com/objectlifetimepuz...
► Object Lifetime Puzzlers Book 2
Amazon Paperback: amzn.to/3whdUDU
Leanpub Ebook: leanpub.com/objectlifetimepuz...
► Object Lifetime Puzzlers Book 3
Leanpub Ebook: leanpub.com/objectlifetimepuz...
► Copy and Reference Puzzlers Book 1
Amazon Paperback: amzn.to/3g7ZVb9
Leanpub Ebook: leanpub.com/copyandreferencep...
► Copy and Reference Puzzlers Book 2
Amazon Paperback: amzn.to/3X1LOIx
Leanpub Ebook: leanpub.com/copyandreferencep...
► Copy and Reference Puzzlers Book 3
Leanpub Ebook: leanpub.com/copyandreferencep...
► OpCode Puzzlers Book 1
Amazon Paperback: amzn.to/3KCNJg6
Leanpub Ebook: leanpub.com/opcodepuzzlers_book1
RECOMMENDED BOOKS
► Bjarne Stroustrup's A Tour of C++ (now with C++20/23!): amzn.to/3X4Wypr
AWESOME PROJECTS
► The C++ Starter Project - Gets you started with Best Practices Quickly - github.com/cpp-best-practices...
► C++ Best Practices Forkable Coding Standards - github.com/cpp-best-practices...
O'Reilly VIDEOS
► Inheritance and Polymorphism in C++ - www.oreilly.com/library/view/...
► Learning C++ Best Practices - www.oreilly.com/library/view/... - Věda a technologie
To address many comments all at once, I need to clarify the point here:
About 13 months ago (relative the the posting of this comment) I had the opportunity to interact with people who live in very remote locations. They have no electricity nor access to running water.
However, they do have a solar panel with 12v backup battery and the ability to charge a USB device, such as a cellphone, and cellular access available to them.
They are interested in learning more computer skills and know that broader education will help them preserve their current way of life while not having to sell their land and move to the city.
So I began investigating ways of helping to make programming more accessible (and if you had watched the linked video from C++ On Sea, you would have gotten this background, but you did not watch the video, so here we are).
A cellphone pre-loaded with a python environment is a possibility. A calculator that's rechargeable is a possibility. A laptop simply does not work in this scenario!
It takes far more effort to set up and maintain a laptop *and* MUCH more power to charge a laptop. So I have completely ruled out that option in my investigations.
Memory measured in Kb? What's this, a 1980s tribute video? My Atari 1040 had more....
because it's mostly the embedded SRAM on the MCU.
for instance, the M7 of the Numworks come 256 or 384kb variants. the TI-83 has a M0+ which usually comes with 16 or 32k of SRAM (but some have more, like the RP2040 has 264).
So not unusual.
In Numworks you can copy one program to the clipboard and paste it in a new file. That compensates for it not having "save as".
i learned to program on a casio fx-7000g when i was at school. it only did keystroke programming and had a memory of about 500 key presses. but i programmed it to do all sorts of maths stuff, like poisson distribution and normal distribution and i even wrote tic-tac-toe for it :) i learned what variables are and loops, how to get user input and how to display stuff.
now i'm a professional programmer. i owe a lot of it to my old fx 7000g :)
The Casio fx-cg50 color is a great value. It is easy to write an emulator for the calculator plotting functions in pygame so you can write and test all your programs on your computer and just transfer to the calc.
"TI 83 Premium CE Edition Python" is just a French version of the standard European "TI 84 Plus CE-T Python Edition"
With almost 100$ you can buy an android 12 phone with 4gb of ram. What would be the reason for buying a calculator for programing?
Big buttons
@@kevindelnoye9641 can get a keyboard for less than $10
@@loremipsum3147 yh true the only real reason is probably for school exams
The Android devices will typically be barred from use in many scholastic testing environments, while the graphing calculators (despite being capable of all the same functionality, some even including network access) will generally be allowed. When such environmental limitations are ignored, you're definitely better of with a cheap phone or tablet or netbook, however.
I think the battery is a big reason.
Great video again as always. thanks
another option for starting to program could be the mobile phone with remix termux installed. it is a Linux distro running on mobile, and offers "all" programming languages you can dream of. c++ python ...
you can pair mobile with Bluetooth keyboard for easier typing
I think much more accessible to the learner is just one of the python apps for Android. I've also been playing with that.
4:19 i initially thought it doesn't have any keypad at all, but it has all 26 letters, woah. nice.
9:17 > _"and yes, I did ... buy these calcs just ... to make these videos"_
woah
Great video. Python seems to be the language that everyone knows, and everyone can agree to use. Go might also be that type of language for the statically typed world.
If I was back in school in 90’s this would be something me and my classmate would do. Today kids having Chromebook’s it’s a whole different game.
Embedding Python in C++ with pybind11, please Jason!
great idea!!
Ben Heck took apart one of those calculators and the Python implementation is actually very janky. You basically have a seperate microcontroller running python, and the shell just communicates with that microcontroller over serial.
can you share the pointers to that? with pointers mean any non-direct reference, as stupid youtube auto-deletes any links in comments now.
@@yash1152 Just look up "Ben Heck TI 84 Python" on youtube.
This only applies to that one specific model of TI84. None of the other python options are multi-processor.
Fond memories, thanks.
1- For those who miss C in a calculator, you can look for the ancient and lovely CASIO PB-2000C (or PB-1000 if you love BASIC).
2- I still have a CASIO calculator (FX-9700GH), programmed in its own proprietary language which is "on" since 1996 with all my programs from university! ; the menu, keyboard and plastic cover look pretty similar to 4:21, wow, CASIO keeps its soul until today.
3- I am still trying to learn how to use my other calculator, the venerable HP-50g, but I think it's time to move on, I want one of those with Python ;-)
lemme guess, the hp one is using postfix/RPN??
@@yash1152 Yes, but I could never get used to it (tried several times, but always ended up in "algebraic" mode)
@@chololennon wow, i found the postfix (aka rpn) to be quite easy. i wish i could show you how it's as simple as the normal infix notation of calculation. though i don't do videos, but maybe i should do one on the postfix.
I always use (i)python as a calculator instead of a desktop calculator with buttons. It is surprising to see that physical calculators manufacturers leveraged the same approach to the extreme.
try using julia language the next time haha. or, if you want to use the normal units of measurements as well, then use qalculate CLI (FOSS)
Python is a whitespace formatted language with very long attribute lists in the standard library. So let's stick it on a device with limited inputs and screen space! Also the best thing about those calculators is how long the widely available standardized batteries last, let's trash that too! That'll teach those kids...
1:25 what's c++ on sea now? i only heard of cppcon
cpponsea.uk/ There are many C++ conferences held around the world. This list is not always up to date, but it is worth checking out - isocpp.org/wiki/faq/conferences-worldwide/
Calculators have a place but trying to write code on a calculator is almost impossible, I have a similar issue with parents giving their kids low resource Raspberry Pies and telling them "this is how you learn how to code"
What's you issue with "low resource raspberry pies"? Even the lowest spec RPs have insane amount of compute, and you can do essentially anything with them.
Nothing wrong with a Pi to learn to code. The Pi performance isn't an issue, hell I learnt to code on a much slow 386 a few decades ago with a fraction of the RAM and storage. The main thing is you can use a nice monitor and a proper keyboard and mouse. The Pi runs a desktop OS just fine if you don't worry about gaming or heavy web browsing. Learning on a calculator is indeed painful though due to the awful input and display limitations.
In high school I programmed stuff on my TI-84 and it was fine. Obviously you're not going to write the most amazing code of all time, but it works.
womp womp
I don't understand why this would be more useful than giving a basic laptop to a student? This looks hideous to type on.
There is an issue of focus with laptops. They're so versatile that people won't use them to learn programming.
@@Omnifarious0 maybe restrict the laptop then?
Hard to teach constrained development skills in unconstrained environments.
I wrote my very first programs on Casio calculators with Basic. I can tell you that I totally didn't mind the rather unusual method of inputs since most important commands have shortcuts. Really, your first programs are not gonna be complex and at least I got quite fast typing in basic programs (yes, we copied programs by hand a lot since we didn't have a cable). And as others have said already: these devices are very class room friendly (they were our primary calculator in school from 8th grade). I don't see it as a problem that they are more limited than a full feature computer/phone.
For me seeing python capable calculators does sound cool and I'm intrigued to try it out.
I completely agree. There are so many people recommending teaching on a restricted environment like a C64 or a calculator.
But in my opinion, this is mostly nostalgia
How would this be better or less expensive than the fully featured win10 netbooks kids in 3rd world countries currently bring to school? XD
That's only that specific TI84. The newer "Python Edition" ones have just one processor. The other 2 calculators also have only 1.
cant wait to ditch my 2000$ PC to program on this 🤠
The sad thing about the role that calculators play in our educational culture is this: in order to be acceptable as a calculator, i.e. in order to be used in the class room or on tests, the calculator must be AS HARD AS POSSIBLE to be used as a programming environment.
For example, the keyboard cannot be QUERTY. The faster you are at typing in QUERTY, the slower and more frustrated you are going to be typing on a calculator.
Exam modes, which are enforceable by the teacher, lock out most of what is special about the differences between programmable computers and dumb calculators. The better you are at using your calculator to solve actual problems, the worse you will be using it on tests.
Why not just use a smartphone?
Wasn't this suposed to go to your other channel?
Nope, because learning other programming languages is one of my best practices!
I can see the utility of having python on a calculator, but I would have to figure out a way to program using a proper IDE. Those keyboards are inexcusable.
3:34 > _"and they're all Py v3 compatible"_
woah, super bad version numbering scheme by MicroPython right there "v1.9.x", it should have used the same initial as the major version of the python they're compatible with
I think you did a good thing here, but its not practical. the main selling point here is getting python for free with a calculator you already own. So pushing for python to be standardized and available in-stock, not only in France, that would be good.
I think there are better $100 devices for portable python if you are going to buy new. I also think the "just a calculator for education" may be outdated. everyone is using phones, tablets or laptops by now (at least US/EU, not sure other countries)
Not sure but wouldn’t playdate be better to learn programming? In C and you can make games 😊
No keyboard
20:29 > _"using python as a gateway for teaching programming"_
oh no, please pick Julia language for that. There're plenty of tutorials out there for python, but Julia needs you.
my ide: calculator
These are too expensive, I can get a 4g feature phone with 512mb ram for 19$, why should the calculator cost so much more.
It may be cheap for US people, but not cheap at all for third world countries.
Honestly, if you have to program on a phone or calculator, wouldn't you be better off learning how to code on pen and paper? I know it's a common joke, but these people aren't immobile. They likely can go somewhere where there is a PC at least for use temporarily.
It really depends on the people group and purpose though. If there are college students, sure, let them go ahead. But if these are younger-age students, I really see no reason they should be doing this - gives the wrong or even a bad impression of what programming is.
I might agree with you up to this point:
> gives the wrong or even a bad impression of what programming is
Many (100's of thousands?) of programmers around the world learned how to program on devices that were *considerably* more limited than one of these calculators or a cellphone.
This can easily still pique the interest of a new developer.
Education is indocrination
Shame on youtubers not talking about the current nanotechnology slavery agenda
These videos are way too long. Took you 2.5 min to actually start talking about the subject matter this time.
4:19 i initially thought it doesn't have any keypad at all, but it has all 26 letters, woah. nice.