PeterO wrote:
Library support ? Without it BASIC is useless for working with all the hardware addons that need libraries to make them easily useable.
PeterO
What BASIC are you using that does not have library support?
ShiftPlusOne wrote:
In what sense is it discouraged? RPF have chosen python, but I don't see them telling people not to use BASIC if they want to.
I think when people make the decision of what language to use, it's more practical than worrying about goto statement or line numbers. Nobody really cares about any of that, it's just a reason they might give when pressed to give a reason.
The lack of any provision for people to learn BASIC, and the strong push of other languages, I think make a huge statement against BASIC by RPi. My view.
What's the job market like for BASIC vs Python? If Python already does what people need, what's the motivation for them to use something else? Why don't Google, MS, Mozilla or anybody else who has the most on the line use BASIC?
They are not on with Python any more than BASIC. There are many other questions about those two companies that would discount that argument in my view. Though this is not about talking about companies.
Neither one has much of a job market (though both do have a small job market).
If BASIC has an image problem, I'd say lead by example. Release software written in BASIC that outperforms existing solutions and that people love using. Start a BASIC meetup in your area. See if there are any students wanting to introduce BASIC in their schools. If that's not happening, it seems like there's a problem with BASIC itself and that most people just don't enjoy using it as much as other languages.
Fair poitn overall, EXCEPT FOR:
Many students do get into modern structured BASIC, and do a lot with it, and really like it. Then they get into university, and there prof tells them something along the lines of "BASIC is evil, it will create bad habbits that can not be reversed" and they run from BASIC on the word of another, usually the prof was talking about the old limited BASIC that was the last he/she used. Often these students are seen to decrese in productivity after they leave BASIC.
AND: BASIC compilers do not get the same attention as C compilers, so optimization legs behind a bit. All because of the poor image of BASIC.
"Structured Programming" as it was formulated in the 1850's / 60's does not say anything about data types or typed variables. neither were those things mentioned when I was taught the principles of Structured programming in the 1970's.
Rather Structured Programming is all about structuring ones flow of execution and specifying it. You know, sequence, selection, iteration, recursion. With some notion of functions and procedures.
This is true. Though I am speaking of structured programming as taught in university.
Having dynamic typing like Python or Javascript removes a lot of syntactic noise from a language design. Which is of great advantage when starting out rank beginners.
Now, until BASIC can toggle a GPIO pin on a Raspberry Pi 3 at 50MHz or calculate the first million digit Finonacci number in 13 seconds on my PC I see no reason to look at it.
Toggling a GPIO on the RPi from BASIC at high speed has been done many times over. The limit is not usually the language, it is the Hardware.
The Finonacci number is something I do not even think you could do on a much more powerfull system with the best optimizing compiler in any programming language, that is unreasonable.
People don't use basic because it went out of fashion for teaching and in the recent up surge in computing again in UK schools then scratch at the start and python later on are now the recommend tools. Some use Visual Studio if they want as well and whichever basic/c/.. they wish to use there.
Because they are what people may use when they are in jobs.
As is BASIC (for some closed source stuff you will be surprised), not allowed to say anything more specific, though there are companies that prefer modern BASIC and make closed source products that are used by millions of customers.
Ok I can see C, as it is used quite heavily commercially. Though it seems that Python is more of a hobbiest language than proffesional.
I don't think it is so dramatic. There are just often better languages to chose from so there is no need to stick to Basics.
While you can make the list of Basic basic features very long I somehow don't find anything that is better than with other languages.
No language is really better than most in any way. That is part of the point.
FYI, the BASIC on the C64 was an example of the wrong way around it, and not a good example of even the BASIC versions of that time. I do not know AMOS, on Amiga I used originally AmigaBASIC, then a few compilers compatible with AmigaBASIC with some extensions.
Yes it is a language that originally targeted beginners, and is still good at that, my primary point.
Though for those that wish to continue to use it, it has grown up to a full rich structured language, that can be applied for major projects.
That does not say that people should stick with it, just that for beginners it should be more readilly available if they wish to try it, and not be put down by those that remember a BASIC that no longer exists.
I have attempted to make most of these same points in favor of the C programming language, though it seems that people do not see it as easy, even though it is easier than Python for those students here that are taking part in a program to see what language works best for a begginner language. The instructers are carefull of teaching method so that the teaching method does not stand in the way of the language, trying to see what language really does work best.
So far it seems that young students do best with BASIC, with C being a close second, Pascal after that, then Java, after that is Scratch, further down the list is Python. Knowing this information (as I helped push the project into exestence a few years ago) is part of the many reasons that I mention it. And why I attempted to word the opening of this thread to actually have a positive descussion.