Showing posts with label windows. Show all posts
Showing posts with label windows. Show all posts

Wednesday, September 22, 2021

End User Programming - Real Computer Literacy

Most people will agree that it is good to understand the mechanical working of cars if you are going to drive one. It helps you to drive more safely, and if you break down somewhere you stand a chance of helping yourself out of a tough spot. When you go to the mechanic you will be able to avoid being ripped off by unscrupulous people.

It is no different with computers. If you learn to program computers it helps you to take advantage of them, and not the other way around. This is the real computer literacy; not the ability to operate a tablet or cell phone, or to know your way around the preferences or control panel of Windows or Mac OS. Many times I see people praising this kind of feature knowledge by young people. "Oh, young people are so smart. When I have a problem with my phone I ask my kids for help." We need to give them more than that, or else they may think more highly of themselves than they ought to.

So, what vehicle can we use to give computer literacy to the people? Computer programming is the critical thing because it gives the user a real understanding of computers. For the average person to attain programming skills we don't need a complicated enterprise grade programming language, which would frustrate more than enlighten people. BASIC was the engine for people to learn programming in the early days, and still could be if Windows, Mac and Linux would just include it.  Easy programming languages are missing or hidden from the user, and this causes a very real harm.

Why don't people create their own software anymore? They don't feel the need for it. They can just buy what they need.  While this is true, there are so many times when packaged software doesn't do exactly what is needed. There are also so many kinds of useful software that could be written that will not make it onto store shelves.

In fact they may even wonder why they should bother. They aren't encouraged to learn programming anymore like they once were. They don't know what they're missing if you ask me. Programming is a much better way to spend brain cells than watching TV or surfing the web. Personal computing was envisioned as a way to bring the power of the computer to the individual, a very empowering idea. Being limited to using prewritten applications is like being told that as an artist you're only allowed to paint by numbers.

So we need an easy way to start programming. It can be really hard to create software with the programming languages endorsed by the mainstream.  We have gotten away from simpler languages like BASIC, perhaps under the assumption that more complexity is better, but good computing avoids needless complexity.  Even with a language like Python there is too much to learn before you get results.  The Raspberry Pi computer, a device popular in schools, is a strong device for many purposes but it is too complicated to be a foundation for teaching computing to K-12 or as a first programming tool for most adult beginners.

Computers don't come with an easy to use programming language anymore.  This is SOOOO important. It used to be that when you turned the average computer on, the first thing it did was start BASIC. You could start programming immediately, and it was very easy to pick up. Nothing bad happened if you made a mistake, and it was fun!

People like to say that BASIC is a bad language for teaching programming.  The early versions of BASIC do have their weak points, but newer versions of BASIC are very strong for students and end users.  An entire industry of computer software came out of young people using computers that started up in BASIC programming mode.

Tuesday, August 02, 2016

High DPI Issues

These days we see the arrival of very high resolution displays such as Apple's retina screens and the 4K monitors.  These are very cool, but for programmers they can be a real pain in the side.

Any application designed for a normal monitor will be tiny when viewed on a very high resolution monitor.  Windows provides a way to make things larger on screen so that the user isn't left reaching for a magnifying glass, but the effect isn't consistently applied to all the widgets and fonts, so that the user is left with an unsatisfying and unsatisfactory result.

The programming is left with the job of cleaning this up.

Check out the ongoing thread about this in our forum.

http://libertybasic.conforums.com/index.cgi?board=general&action=display&num=1456442864&start=0

Wednesday, January 13, 2016

Liberty BASIC file type association

Liberty BASIC doesn't map the BAS file extension to itself when it is installed.  This is because I didn't want to be so presumptuous as to steal a common file type away from another version of BASIC that might be installed.

So, because there is a bug in Windows which makes it really hard to remap a file extension and there have been discussions about this in the Liberty BASIC forum at conforums.com one of our member Chris Iverson (thanks Chris!) has contributed some Liberty BASIC code to solve this problem.

  Click to see thread in the forum

Enjoy!

Tuesday, December 29, 2015

How to get started with Liberty BASIC

I got an email today from someone who was frustrated trying to figure out how to get started with Liberty BASIC.  This seemed like good blogging material.  :-)

Here is a start on the subject of getting started.

Try it - Download the trial software and install it.  It works on pretty much all versions of Windows that run on laptops and desktop PCs.  We don't support Windows Server but it may run.

  Here's the download link http://www.libertybasic.com/download.html

Liberty BASIC comes with a tutorial.  Once you start up Liberty BASIC look at the Help menu for the tutorial and the help documentation

There is a softcover book that you can purchase at Amazon's site.

  Here is the link for the book:
    http://www.amazon.com/Beginning-Programming-Liberty-BASIC-Gundel/dp/0557228115

Monday, February 04, 2008

iPhone development - activation experience

Since we have decided to create some iPhone development features for Run BASIC I bought an iPhone for this purpose. I thought it would be interesting to post my personal iPhone experience.

So, I went to the Apple store. I said that I wanted to buy an iPhone, so the youthful Apple employee grabbed me a small black box from behind the counter and handed it to me. "Big day," he said with a certain air of importance. I thought that was a little over the top. I mean, it's a phone. I wasn't having a baby. My daughter put it well, "Maybe if he was going to give you the $400 phone for free it would have been a big day." Ah well. I suppose Apple store employees can be forgiven for drinking the corporate koolaid. ;-)

I told him that I was buying the iPhone because I am working on easy development tools for it. He didn't quite get it right away that I wasn't working on iPhone apps for people to consume, but a really easy way for anyone to create their own iPhone apps that run in the Safari browser. I explained more carefully and got a gratifying 'Ahhhh' response from him. Gotta work on that marketing message.

So I took the phone home and unpacked it. There's no manual at all. There really should be for that price.

Alright, I understand that you activate the iPhone using iTunes. I am a Mac user (and a PC user) so I thought I would activate the phone from my Mac. That didn't work. I needed a newer version of iTunes. No big deal. I downloaded and installed the latest. Still no good. Why? Because then I discovered that I needed OS X v10.4.x or better. What then dawned on me made me a bit angry. I was going to need to activate the phone using iTunes on Windows. I think that qualifies as mistreatment by Apple of its customers.

Okay, so now I upgraded to the latest version of iTunes on my Vista box. I plugged the phone in and activated it. It went smoothly from there.

I'll post more about the iPhone and our work to support it using Run BASIC in the days to come.

Wednesday, June 27, 2007

Adding SQLite to Run BASIC

Here is some example code that runs under Run BASIC using SQLite v3.4. I haven't pushed this stuff onto the publicly hosted site. SQLite will come with the Run BASIC personal server and should be suitable for many projects. Support for other databases like Oracle, PostgreSQL, SQL Server, etc. will be added with the professional server license.

sqliteconnect #users, "test.db"
call execAndPrint "select * from users"
call execAndPrint "select count(*) from users"
#users disconnect()
end

sub execAndPrint query$
#users execute(query$)

while #users hasanswer()
result$ = #users nextrow$(",")
print result$
wend
end sub

SQLite is a popular database engine provided as a library and is supported for Windows, Mac and Linux. The source code is available and is in the public domain so it is completely free. We will support the parts of Run BASIC that integrate with SQLite, but as for the specific level of conformance to the SQL standard and other technical details, see http://www.sqlite.org/

The SQLITECONNECT #obj, "databasefile.db" statement connects to a database and sets the #obj variable to be a connection object. The connection object understands EXECUTE(), HASANSWER(), NEXTROW$() and DISCONNECT(). I'm sure there will be more commands.

Notice the NEXTROW$() method. It returns each query result row as a string, with each item delimited by the specified string ("," in the example but it could be CHR$(9) or something else). It is trivial then to use the WORD$() function to extract the information. We will certainly also add the ability to get items by name.