Let's be consistent here, folks...
by
erat
·
· Score: 3
This group says hoorah when someone wastes their time porting Linux to Palm devices (which is useless: the Palm is the LAST device that will be running Linux effectively. Devices like the iPaq, Yopy, and the soon to be released Agenda VR* are MUCH better suited for Linux use), but when a group of people seek to provide something people can actually use you thrash 'em, and it's only because of some kind of M$ association.
Come on... I'll never touch KBasic, but I think it's cool that it's being done.
In my opinion, the problems with VB viruses in Outlook, Word, Excel, et al are issues with Outlook, Word, Excel, et al, not VB. First off, there's nothing saying that apps need to support KBasic as a scripting language. Second, the apps themselves -- if written correctly -- should not allow the same idiocy that Outlook et al allowed from VB.
Besides, M$ didn't invent BASIC. They cloned it from another system (VMS? I can't remember).
The whole reason people keep using BASIC is because people can use it.
One of the reasons Windows spread to the desktop so well is because of its wealth of applications. The biggest cause of this wealth of applications was Visual Basic-- a language/IDE that would allow even the beginning programmer to create a useful application for the everyday Joe.
As a seasoned C++ programmer, I fully agree that any BASIC variation could never perform as well as its C++ counterpart. However, as a seasoned network administrator, I can also tell you the sole reason our corporation uses Windows is because one of the critical applications is a Windows only application. While C++ and most other languages provide better performance and control than BASIC variants, a good majority of applications in use dont require such performance and control-- and having a pool of programmers that is 10x as large to choose from usually makes for a better application in the end.
A programming language, originally designed for Dartmouth's experimental timesharing system in the early 1960s, which for many years was the leading cause of brain damage in proto-hackers. Edsger W. Dijkstra observed in "Selected Writings on Computing: A Personal Perspective" that "It is practically impossible to teach good programming style to students that have had prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration." This is another case (like Pascal) of the cascading lossage that happens when a language deliberately designed as an educational toy gets taken too seriously. A novice can write short BASIC programs (on the order of 10-20 lines) very easily; writing anything longer (a) is very painful, and (b) encourages bad habits that will make it harder to use more powerful languages well. This wouldn't be so bad if historical accidents hadn't made BASIC so common on low-end micros in the 1980s. As it is, it probably ruined tens of thousands of potential wizards.
So, why do we need BASIC?
-- Every expression is true, for a given value of 'true'
I realise this is not a popular opinion around here, but Visual Basic is really not a bad language. It's obviously not designed for use by seasoned coders on large projects, but as a starter language or for getting a small job done quickly...it really is excellent.
No, it isn't.
Visual Basic is a very poor language. The form editor isn't bad, the Object Browser quite handy, the IDE is so-so, but the language is terrible. Here is some food for thought:
Arrays. Say you've got a function which returns an array of some sort - let's say an array of variants to make it easy. How do you return an array of 0 items cleanly?
Object-Orientation. Ever attempted type-safe inheritance or polymorphism in VB? Variants do not count.
String Concatenation. Say you have an HTML page being generated by an ActiveX component called from ASP in IIS (apologies for the MS jargon... this really happened at my workplace though). If you are generating a table, and it has, say 20 columns by 100 rows (or in our case, sometimes more), you naturally would simply generate a big string of the HTML and pass it back to the ASP to spit out, right? But in the process of generating those 2000 table cells, you do quite a few string concatenations. Here's the problem: VB's string concatenation is O(n^2)! (as according to MS, apparently, not to mention our own testing). It can take many seconds or even minutes to spit out something that should be done in a fraction of a second. In the end we wrote a "FastString" component in C++ and used that in the VB. It instantly brought one test case down from 8.5 minutes to 2.5 seconds. Not exactly what I'd call getting a "job done quickly".
So, the obvious question: What's the alternative that's so much better, huh? As a matter of fact, I do have one in mind: Python. It does everything VB does, and much much more. The language is a lot nicer than Visual Basic. *Especially* for beginners. The in-built types are just so much more powerful. Lists and dictionaries being integral parts of the language automatically makes those simple jobs much simpler. (Yes, I realise there is Scripting.Dictionary for VB, but it's not as convenient.)
More impressively, with Python you don't hit your head against a brick wall when you decide to attempt something larger than 50 lines - it's a language that scales well between beginners *and* experts.
If you're wondering, yes I do hate VB with a vengenance, and I code in it (almost) every day. I feel qualified to rant.
[breathes deeply]
Ahhh.... that's better.
-Spiv.
Not really true these days...
by
sheldon
·
· Score: 3
BASIC has evolved well beyond what it first was. It has taken on aspects of other languages.
At the time Dijkstra wrote his observation BASIC didn't support user defined functions, used line numbers, and a whole lot of other ancient problems.
Visual BASIC today competes successfully against Java and has 2-3 times as many developers using it in complex projects well over 20 lines of code.
As an aside, why did the parent message to this get moderated down?
Just because you disagree with something doesn't mean it should be moderated down! I disagreed with their opinion, too. But I'd rather see you say *why* you think someone is wrong, than simply say "You're wrong" - or even worse, say it by anonymously moderating them down.
Thanks for the comments on Python! I'm sitting here, Python book by my side, currently trying to learn it. Was getting disheartened but reading posts like yours fill me with confidence again.
Glad to hear it!
I personally learnt Python from Programming Python, from ORA, which is a fairly good book, but I soon learnt that the Online Documentation was invaluable. Especially the Library Reference.
For those who are interested, I have a small python cgi here . Just to pretend this is on-topic... "I'd hate to write even that in VB".:)
-Spiv.
Geeks who cut their teeth on it malign it?
by
substrate
·
· Score: 3
I see that a lot of negative comments are being made about BASIC at this point. I don't know that I'd deploy my industrial strength e-commerce application on BASIC but I still think having BASIC around is a really good thing. A lot of people, myself included, cut our teeth and first aquired a desire to code on BASIC on our VIC 20s, Commodore 64s and Apple IIes. The easy to learn language and use language allowed many of us to learn from coding algorithms gleaned from the pages of BYTE (before it started to suck and didn't cater to the lowest common denominator it was closer to Doctor Dobb's Journal than just another IT rag).
Knowing Perl, C, C++ or the language du jour only makes you a well payed trained monkey. Understanding algorithms and how they effect efficiency is a lot more important. This can be gleaned using any language, BASIC had the advantage that it was simple to use, you didn't need to worry about syntax or memory allocation or pointers.
Maybe spending effort on a modern BASIC is misguided, but to bitch and moan about the language many geeks learned from is inane. I've thought for a while that PERL was the BASIC of the present era, I think its shameful that it's not included on every machine shipped, much like BASIC was not too long ago.
Having a BASIC or PERL that could do native GUI stuff on whatever box it exists on would be a great thing if it was shipped on every box regardless of OS. It'd get more people actually interested in computer science at an early age rather than the current state where most people seem to be in it for the money and have little or any talent.
Visual Basic is a very poor language... VB's string concatenation is O(n^2)!
Ouch! They must have worked very hard at Redmond to make it *that* bad, given that the obvious string concat implementation is O(n). That would make naive concatentation of N strings K characters each O(K N^3).
But that is a language implementation problem. Not a language problem per se. Nothing's to stop the KBasic team from doing better. They could do a lot better, actually: with a little thought and a little exponential overallocation in the string implementation, naive concatenation of N K-character strings would be only O(K N lg(K N)).
/A
Core libraries should be shared with Gnome Basic
by
-benjy
·
· Score: 3
Gnome already has a nicely designed alpha of Gnome Basic (http://www.gnome.org:65348/gb/). This is really a point where KDE and Gnome should cooperate. While they will certainly need to have different front end GUIs, a lot of the back end code can be abstracted into a library and used by both projects. Since they are constrained by a pseudo-standard set by Microsoft, it is not like they will be too inconvenienced by working together.
I hope the KDE team is willing to lend their assistance so that both projects are speeded to completion.
Now, before everyone starts screaming about viruses and the need for this, let me add another thought. At least for Gnome Basic, Michael Meeks was very conscientious about making gb have a secure sandbox from which an evil virus could not escape. The worst thing that can happen right now is DoS RAM consumption.
Also, there is an actual need for Basic in both Gnome and KDE. If we are going to capture any portion of the business users, Open Source must offer spreadsheets and word processors which are compatible with Micro$oft Basic. A large number of companies have huge collections of pre-existing documents which *must* work correctly or they will never even consider switching to Linux/BSD. Gnome Office and K Office must provide this capability before they can make serious inroads in the corporate world.
I applaud the KBasic team for their efforts and I wish them well on a successful implemntation of KBasic.
To all of you Linux Hypocrites out there who are spitting on a legitimate GNU/Free Software project, I have a few words for you. KBasic could, in fact catapult Linux onto many corporate desktops almost overnight, I would like to remind all of you that if it were not for the toolset M$ provides to actually code something for the Windows platform, I don't think that corporate America would have remained stuck in Windows for so long.
Certainly Visual Basic is is one of those tools. The bottom line in corporate America is that a button is a button and a combo box is a combo box, and a text box is a text box. Corporate America wants tools that are easy to use so they can:
1) connect to their databases
2) put stuff into them, pull stuff out of them,
3)and maybe show the user a little something along the way.
It seems like the KBasic team has the vision thing and all of you who posted negatively about a VB or Basic clone, will be kissing their feet in a few years.
Once again, good luck to the KBasic team.
-- I'm still working on a clever footer.
Do not download! KBasic supports the bourgeoisie!
by
faeryman
·
· Score: 5
The member list. Read down at the bottom, at the "Additional thanks to" section. Or rather read the BLANK space there.
Yes my fellow working class GNULIX user, those bastard capitalists programmers list only themselves as creating KBasic. I ask you - should not the man who created thier keyboards be listed too? Or the workers at the powerplant who provide the electricity needed for them to program? Or even Ivan who runs the breadstore down the road for providing nourishment to the programmers?
I also see they have released this software under the GPL. Blasphemy! Marx is spinning in his grave at this. How can the bourgeoisie release such foul capitalist inspired code under the sacred socialist liscence - the GPL?
Yes my fellow men, abandon KBasic as you would abandon your class in society. As you would embrace Lenin, embrace the One True BASIC - GWBASIC!
Reading the site seems to indicate a functional but unpolished grasp of English. Their claim that the project is "pretentious" smacks of a trasnlation problem.
Here's definition number one of pretentious from dictionary.com: "Claiming or demanding a position of distinction or merit, especially when unjustified."
So I can easily see how this might be mistaken for "difficult" or "involved" by a non native speaker. Especially given the, ahem, high quality of cross-language dictionaries in the world.;) --
--
Behold the Power of Cheese!
whether or not you like this, its what Linux needs
by
ZxCv
·
· Score: 4
There is a lot of reason why Linux can and should replace Windows as a desktop OS. For many, this is already the case-- but for most, this is far from the case. One of the major things holding Linux back as a desktop OS is the lack of a solid, gui-based BASIC language to create apps for it. Historically, Visual Basic was one of the key elements in spreading Windows to so many desktops-- such a vast range of programmers, from basic beginners to advanced gurus, could use it to create apps that anyone could use. The abundance of applications written for Windows is basically the sole reason anyone I know uses Windows. The ability to create applications with the same speed and BASIC language syntax as Windows programmers enjoy would be a great boost to spreading Linux (and even other UNIX OS's) to the desktop.
Ok, before anyone jumps to any rash conclusions or gets into state of nastiness...the Gnome project is up the same mischief.....I wonder if this is really good for the linux X-windows environment? It seems to be the trend.
http://www.gnome.org:65348/gb/
On the plus side, contemporary Linux developers will garner some hard-core experience dealing with the wickedness that comes with churing out your own language. I have already taken Theory of Automata and Compiler Theory and found that more than a little challenging. I think it will be a good warm-up for something better.
This group says hoorah when someone wastes their time porting Linux to Palm devices (which is useless: the Palm is the LAST device that will be running Linux effectively. Devices like the iPaq, Yopy, and the soon to be released Agenda VR* are MUCH better suited for Linux use), but when a group of people seek to provide something people can actually use you thrash 'em, and it's only because of some kind of M$ association.
Come on... I'll never touch KBasic, but I think it's cool that it's being done.
In my opinion, the problems with VB viruses in Outlook, Word, Excel, et al are issues with Outlook, Word, Excel, et al, not VB. First off, there's nothing saying that apps need to support KBasic as a scripting language. Second, the apps themselves -- if written correctly -- should not allow the same idiocy that Outlook et al allowed from VB.
Besides, M$ didn't invent BASIC. They cloned it from another system (VMS? I can't remember).
So, like, chill dudes...
The whole reason people keep using BASIC is because people can use it.
One of the reasons Windows spread to the desktop so well is because of its wealth of applications. The biggest cause of this wealth of applications was Visual Basic-- a language/IDE that would allow even the beginning programmer to create a useful application for the everyday Joe.
As a seasoned C++ programmer, I fully agree that any BASIC variation could never perform as well as its C++ counterpart. However, as a seasoned network administrator, I can also tell you the sole reason our corporation uses Windows is because one of the critical applications is a Windows only application. While C++ and most other languages provide better performance and control than BASIC variants, a good majority of applications in use dont require such performance and control-- and having a pool of programmers that is 10x as large to choose from usually makes for a better application in the end.
Perl - $Just @when->$you ${thought} s/yn/tax/ &couldn\'t %get $worse;
So, why do we need BASIC?
Every expression is true, for a given value of 'true'
No, it isn't.
Visual Basic is a very poor language. The form editor isn't bad, the Object Browser quite handy, the IDE is so-so, but the language is terrible. Here is some food for thought:
Arrays. Say you've got a function which returns an array of some sort - let's say an array of variants to make it easy. How do you return an array of 0 items cleanly?
Object-Orientation. Ever attempted type-safe inheritance or polymorphism in VB? Variants do not count.
String Concatenation. Say you have an HTML page being generated by an ActiveX component called from ASP in IIS (apologies for the MS jargon... this really happened at my workplace though). If you are generating a table, and it has, say 20 columns by 100 rows (or in our case, sometimes more), you naturally would simply generate a big string of the HTML and pass it back to the ASP to spit out, right? But in the process of generating those 2000 table cells, you do quite a few string concatenations. Here's the problem: VB's string concatenation is O(n^2)! (as according to MS, apparently, not to mention our own testing). It can take many seconds or even minutes to spit out something that should be done in a fraction of a second. In the end we wrote a "FastString" component in C++ and used that in the VB. It instantly brought one test case down from 8.5 minutes to 2.5 seconds. Not exactly what I'd call getting a "job done quickly".
So, the obvious question: What's the alternative that's so much better, huh? As a matter of fact, I do have one in mind: Python. It does everything VB does, and much much more. The language is a lot nicer than Visual Basic. *Especially* for beginners. The in-built types are just so much more powerful. Lists and dictionaries being integral parts of the language automatically makes those simple jobs much simpler. (Yes, I realise there is Scripting.Dictionary for VB, but it's not as convenient.)
More impressively, with Python you don't hit your head against a brick wall when you decide to attempt something larger than 50 lines - it's a language that scales well between beginners *and* experts.
If you're wondering, yes I do hate VB with a vengenance, and I code in it (almost) every day. I feel qualified to rant.
[breathes deeply]
Ahhh.... that's better.
-Spiv.
BASIC has evolved well beyond what it first was. It has taken on aspects of other languages.
At the time Dijkstra wrote his observation BASIC didn't support user defined functions, used line numbers, and a whole lot of other ancient problems.
Visual BASIC today competes successfully against Java and has 2-3 times as many developers using it in complex projects well over 20 lines of code.
As an aside, why did the parent message to this get moderated down?
Just because you disagree with something doesn't mean it should be moderated down! I disagreed with their opinion, too. But I'd rather see you say *why* you think someone is wrong, than simply say "You're wrong" - or even worse, say it by anonymously moderating them down.
-Spiv.
Isn't it obvious?
Language wars, of course! Just look at all the flamin^Wdiscussion it's generating!
-Spiv.
Glad to hear it!
I personally learnt Python from Programming Python, from ORA, which is a fairly good book, but I soon learnt that the Online Documentation was invaluable. Especially the Library Reference.
For those who are interested, I have a small python cgi here . Just to pretend this is on-topic... "I'd hate to write even that in VB". :)
-Spiv.
Knowing Perl, C, C++ or the language du jour only makes you a well payed trained monkey. Understanding algorithms and how they effect efficiency is a lot more important. This can be gleaned using any language, BASIC had the advantage that it was simple to use, you didn't need to worry about syntax or memory allocation or pointers.
Maybe spending effort on a modern BASIC is misguided, but to bitch and moan about the language many geeks learned from is inane. I've thought for a while that PERL was the BASIC of the present era, I think its shameful that it's not included on every machine shipped, much like BASIC was not too long ago.
Having a BASIC or PERL that could do native GUI stuff on whatever box it exists on would be a great thing if it was shipped on every box regardless of OS. It'd get more people actually interested in computer science at an early age rather than the current state where most people seem to be in it for the money and have little or any talent.
Ouch! They must have worked very hard at Redmond to make it *that* bad, given that the obvious string concat implementation is O(n). That would make naive concatentation of N strings K characters each O(K N^3).
But that is a language implementation problem. Not a language problem per se. Nothing's to stop the KBasic team from doing better. They could do a lot better, actually: with a little thought and a little exponential overallocation in the string implementation, naive concatenation of N K-character strings would be only O(K N lg(K N)).
/A
Now, before everyone starts screaming about viruses and the need for this, let me add another thought. At least for Gnome Basic, Michael Meeks was very conscientious about making gb have a secure sandbox from which an evil virus could not escape. The worst thing that can happen right now is DoS RAM consumption.
Also, there is an actual need for Basic in both Gnome and KDE. If we are going to capture any portion of the business users, Open Source must offer spreadsheets and word processors which are compatible with Micro$oft Basic. A large number of companies have huge collections of pre-existing documents which *must* work correctly or they will never even consider switching to Linux/BSD. Gnome Office and K Office must provide this capability before they can make serious inroads in the corporate world.
I applaud the KBasic team for their efforts and I wish them well on a successful implemntation of KBasic.
To all of you Linux Hypocrites out there who are spitting on a legitimate GNU/Free Software project, I have a few words for you. KBasic could, in fact catapult Linux onto many corporate desktops almost overnight, I would like to remind all of you that if it were not for the toolset M$ provides to actually code something for the Windows platform, I don't think that corporate America would have remained stuck in Windows for so long.
Certainly Visual Basic is is one of those tools. The bottom line in corporate America is that a button is a button and a combo box is a combo box, and a text box is a text box. Corporate America wants tools that are easy to use so they can:
1) connect to their databases
2) put stuff into them, pull stuff out of them,
3)and maybe show the user a little something along the way.
It seems like the KBasic team has the vision thing and all of you who posted negatively about a VB or Basic clone, will be kissing their feet in a few years.
Once again, good luck to the KBasic team.
I'm still working on a clever footer.
I'm sure you're saying "Oh komrad faeryman! Why not?"
The member list. Read down at the bottom, at the "Additional thanks to" section. Or rather read the BLANK space there.
Yes my fellow working class GNULIX user, those bastard capitalists programmers list only themselves as creating KBasic. I ask you - should not the man who created thier keyboards be listed too? Or the workers at the powerplant who provide the electricity needed for them to program? Or even Ivan who runs the breadstore down the road for providing nourishment to the programmers?
I also see they have released this software under the GPL. Blasphemy! Marx is spinning in his grave at this. How can the bourgeoisie release such foul capitalist inspired code under the sacred socialist liscence - the GPL?
Yes my fellow men, abandon KBasic as you would abandon your class in society. As you would embrace Lenin, embrace the One True BASIC - GWBASIC!
Thank you.
With love,
,
faeryman
Reading the site seems to indicate a functional but unpolished grasp of English. Their claim that the project is "pretentious" smacks of a trasnlation problem.
;)
Here's definition number one of pretentious from dictionary.com: "Claiming or demanding a position of distinction or merit, especially when unjustified."
So I can easily see how this might be mistaken for "difficult" or "involved" by a non native speaker. Especially given the, ahem, high quality of cross-language dictionaries in the world.
--
Behold the Power of Cheese!
There is a lot of reason why Linux can and should replace Windows as a desktop OS. For many, this is already the case-- but for most, this is far from the case. One of the major things holding Linux back as a desktop OS is the lack of a solid, gui-based BASIC language to create apps for it. Historically, Visual Basic was one of the key elements in spreading Windows to so many desktops-- such a vast range of programmers, from basic beginners to advanced gurus, could use it to create apps that anyone could use. The abundance of applications written for Windows is basically the sole reason anyone I know uses Windows. The ability to create applications with the same speed and BASIC language syntax as Windows programmers enjoy would be a great boost to spreading Linux (and even other UNIX OS's) to the desktop.
Perl - $Just @when->$you ${thought} s/yn/tax/ &couldn\'t %get $worse;
Ok, before anyone jumps to any rash conclusions or gets into state of nastiness...the Gnome project is up the same mischief.....I wonder if this is really good for the linux X-windows environment? It seems to be the trend.
http://www.gnome.org:65348/gb/
On the plus side, contemporary Linux developers will garner some hard-core experience dealing with the wickedness that comes with churing out your own language. I have already taken Theory of Automata and Compiler Theory and found that more than a little challenging. I think it will be a good warm-up for something better.