View previous topic - View next topic |
Author |
Message |
DeveloperX 202192397
Joined: 04 May 2003 Posts: 1626 Location: Decatur, IL, USA
|
Posted: Mon Oct 03, 2005 5:57 pm Post subject: |
[quote] |
|
janus wrote: | Anyway, if you're having trouble understanding what 'homogenous aggregates' means, maybe you should get a dictionary. |
Actually, I have to agree with Tony, because too many authors use overly complicated descriptions of things.
Too many times these authors assue the vocabulary of the reader, and that just isnt any fun especially when the reader is too young to be exposed to such words.
My youngest cousin is 8 years old, and wanted to learn C, I lent him my book, but soon realized that he couldn't understand 99% of it.
I sat down with him and taught him how to write a few programs, and explained in small-words each of the processes.
Text books for learning programming shouldn't require a college-level vocabulary to make use of it.
I wish more authors would use something simpler than 'concatenate' :P I get tired of explaining that one to people. _________________ Principal Software Architect
Rambling Indie Games, LLC
See my professional portfolio
|
|
Back to top |
|
|
tcaudilllg Dragonmaster
Joined: 20 Jun 2002 Posts: 1731 Location: Cedar Bluff, VA
|
Posted: Mon Oct 03, 2005 7:04 pm Post subject: |
[quote] |
|
Sorry, I didn't complete my programming "school" rant.
Most people don't want to have to tweak something to have to get it to work, or to have to learn an entire NEW system just to get the effect they want. They want something that will WORK. They don't care about the intricacies and "beauty" of the system at all. They just want it to work.
Another thing: this idea about forcing people to use "preferred" practices. It's stupid, and it makes people upset. Lastingly upset. They don't just get over it, because there is no concrete logic behind it. When people are forced to adapt to something illogical, they don't adapt at all. They rebel. Another thing: you'll notice that while there is a lot of harping about "preferred" practices in software, you never see the people who are trying to enforce it actually get up in someone's face over it, except from the safe (and merely annoying) vantagepoint of a forum like this one. Why don't they? Because they know what happens to someone who tries to enforce stupidity: mutiny.
If someone like Unknown is saying that "FB sucks I'm going back to QB", then the FreeBasic project is sadly emerging as a failure. I remember reading about the project when it was first announced. People were ecstatic. I can't say for sure whether or not the person who started it really wanted its "preferred" practice enforcement or not. More likely, he was blasted as "an idiot" or "incompetant" by people trying to bury the Full BASIC way once and for all. I've not heard much about "preferred" practice enforcement from TrueBASIC. Have you?
At any rate, FB appears to be failing as the successor to QB. All is not lost: the project is opensource and the offending "preferred" practice enforcements can be stripped and an independent version made. Maybe I'll even make one for myself. (because without the mess FB appears ready to bury QB, I'll admit) QB was never designed to produce professional programs as we think of them today. It remains a hobbiest, nostalgic tool, which is what BASIC is best at. It is a scientific language, an experimentalist's language. It was designed by scientists for scientists (my nanotech researching cousin once told me they used it to write test programs back in the 70's) and because scientists have always made great professors (for those who disdain the nihllist philosophy of Neitzche that says, "we CAN never be SURE we know anyTHING!") it has been easy for people to adopt this "scientists" language. It's no wonder Bill Gates, himself a business-scientist, fell in love with it and fashioned QB in the first place. (although the interface was pioneered by Borland's Turbo series, and let's not forget Wordstar) Of course it is understandable that people who disagree with M$' software design philosophy (which focuses on making software easy to use at the expense of complexity) would try to destroy it, because they disdain simplicity.
Simplicity is QB. Simplicity is BASIC. Anything not simple, simply isn't BASIC, but something "said" to be BASIC. What is said and what is being, are completely different. QB will not die, because simplicity will not die. So long as scientificially minded-people live, there will always be a way to break down the complex into a network of interconnected simplicities, because that is, simply, who we are and what we do. QB may be recoded, and made faster, and maybe even function pointers may be added to make it more flexible, but it will still be simple, and the first choice for those who prefer simplicity.
|
|
Back to top |
|
|
tcaudilllg Dragonmaster
Joined: 20 Jun 2002 Posts: 1731 Location: Cedar Bluff, VA
|
Posted: Mon Oct 03, 2005 8:41 pm Post subject: |
[quote] |
|
That rant aside, I can't find anything wrong with FB.
RuneLancer, here's an idea: make a version of FB that outputs SNES ASM. :)
Last edited by tcaudilllg on Mon Oct 03, 2005 9:48 pm; edited 1 time in total
|
|
Back to top |
|
|
tcaudilllg Dragonmaster
Joined: 20 Jun 2002 Posts: 1731 Location: Cedar Bluff, VA
|
|
Back to top |
|
|
RuneLancer Mage
Joined: 17 Jun 2005 Posts: 441
|
Posted: Mon Oct 03, 2005 10:07 pm Post subject: |
[quote] |
|
LordGalbalan wrote: | RuneLancer, here's an idea: make a version of FB that outputs SNES ASM. :) |
As fun as having cross-language compilers sounds, it wouldn't work that way. It'd be possible (in fact, pretty easy) to output 65816 code for algorithms, but the startup code and hardware routines don't map very well to other languages. I've never used FB, though, just QB then went straight to C++.
The algorithm part wouldn't be impossible though... _________________ Endless Saga
An OpenGL RPG in the making. Now with new hosting!
|
|
Back to top |
|
|
LeoDraco Demon Hunter
Joined: 24 Jun 2003 Posts: 584 Location: Riverside, South Cali
|
Posted: Mon Oct 03, 2005 10:18 pm Post subject: |
[quote] |
|
LordGalbalan wrote: | Simplicity is QB. Simplicity is BASIC. Anything not simple, simply isn't BASIC, but something "said" to be BASIC. What is said and what is being, are completely different. QB will not die, because simplicity will not die. So long as scientificially minded-people live, there will always be a way to break down the complex into a network of interconnected simplicities, because that is, simply, who we are and what we do. QB may be recoded, and made faster, and maybe even function pointers may be added to make it more flexible, but it will still be simple, and the first choice for those who prefer simplicity. |
Any language which requires me to explicitely signify the ending of a block with that silly BASIC syntax is anything but simple.
Also, if I remember correctly, BASIC was meant as a beginners language, not as a "scientists" language. _________________ "...LeoDraco is a pompus git..." -- Mandrake
|
|
Back to top |
|
|
tcaudilllg Dragonmaster
Joined: 20 Jun 2002 Posts: 1731 Location: Cedar Bluff, VA
|
Posted: Mon Oct 03, 2005 11:08 pm Post subject: |
[quote] |
|
Right, but "beginners" didn't have access to it at the time it was made, right? That was my point.
Anyway, to make a port of a PC language to a console, you'd have to cut out all of the non-console stuff from the former, like direct access to pixels, for example. It would require a lot of planning to get across in code, especially for something like the SNES. For example, it would be necessary to strip out PSET, and PRESET, and PLAY. (although personally I think PLAY just needs a redesign for multiple channels) You could set BSAVE to save-RAM/BLOAD to the same, SOUND to sample playback (you'd need something like "LSOUND" to load the sample first), jettison INKEYS$ and KEY ON/OFF, and map the joystick functions TRON and TROFF to the joypad. I guess you would have to do something with the file system... and you'd have to hook PRINT to a default font tileset. PUT and GET would work quite well with tiles, I'd think. The issues of communicating directly with the hardware for data storage and retreival would persist as problems, but perhaps putting substituting the address for the filename in "OPEN" for example, would work. Like this:
Code: |
OPEN &0000 FOR BINARY AS #1
|
and leave INP and OUT as they are.
A BASIC dialect does exist for the Gameboy, but it was just an interpreter. The Gameboy is too slow for an interpreter.
|
|
Back to top |
|
|
Nodtveidt Demon Hunter
Joined: 11 Nov 2002 Posts: 786 Location: Camuy, PR
|
Posted: Mon Oct 03, 2005 11:11 pm Post subject: |
[quote] |
|
BASIC was indeed designed as a beginner's language...it's what the B means in the acronym: Beginner's. But that's what it was originally, not what it is today. Today's BASICs are far more advanced than the BASICs of even 10 years ago (let alone BASICs of the 60s, when it was invented). Unfortunately, it still carries the label of "newbie language"...if it were such a newbie language, scientists wouldn't use it for their work. :) It is true that BASIC is very often used for scientific purposes...it's one of the best languages for quick-n-dirty algo work and scientific formulas. :)
FB is certainly not failing at the successor to QB. Pretty much everything QB could do, FB can do better. While not everything is directly portable to FB (it's not a QB clone), it's easier to port something from QB to FB than from QB to anything else...it's even often easier to port a program from QB to FB than it is to port from QB to Microsoft's own VB. :) You'd have to grasp for some pretty major straws to say that QB is in any way better. Sure...a language with an IDE that often eats sourcecode (I lost 2 QB projects to this), has terribly slow floating point operations, and doesn't even truly compile to native code...wow! Must be the greatest thing since sliced bread! :D Gimme a break...
Not to say that FB has no shortcomings, because it has quite a few...but most are due to its youth. I've found dozens of bugs in the compiler myself (all of which were fixed though) and the lack of a standard IDE makes it rather intimidating for the newcomer who would then run to the safety of the comfy blue IDE of QB. But for someone who's used to a commandline compiler (or someone who doesn't mind the current IDE offerings for FB), FB just leaves QB far, far in the dust...and most other BASICs as well.
Of course...I could be an FB zealot since I was there at its birth...oh well, sue me. :D
EDIT: LG, making a compiler for a console is no different than making a compiler for the PC...you simply adapt to the system. I myself use HuC, a C compiler developed for the TG16. I've also used DragonBasic, a BASIC compiler developed for the GBA. There's a GCC port for the Sega Genesis which I've also used, and a number of decent 65816 assemblers (plus one half-hearted attempt at a C compiler which never really got far). About a month or so ago, I discovered a GCC build specifically for V810, which is the architecture used in NEC's PC-FX console. So it's clear that retrofitting compilers for other platforms, or even reusing a language across many platforms, is viable and has been done many times before.
EDIT2: And yes, beginners DID have access to BASIC when it was first developed...way back in 1964 at Dartmouth College in New Hampshire. It was first used in the classrooms of the professors who developed it, John G. Kemeny and Thomas E. Kurtz. _________________ If you play a Microsoft CD backwards you can hear demonic voices. The scary part is that if you play it forwards it installs Windows. - wallace
|
|
Back to top |
|
|
RuneLancer Mage
Joined: 17 Jun 2005 Posts: 441
|
Posted: Mon Oct 03, 2005 11:54 pm Post subject: |
[quote] |
|
Quote: | So it's clear that retrofitting compilers for other platforms, or even reusing a language across many platforms, is viable and has been done many times before. |
That, is easy. But I think what he meant was more along the lines of outputting direct 65816 code from standard FB code. Which would mean either using predefined startup routines to set up the processor (less control), or expanding the language (less true to the real thing). _________________ Endless Saga
An OpenGL RPG in the making. Now with new hosting!
|
|
Back to top |
|
|
tcaudilllg Dragonmaster
Joined: 20 Jun 2002 Posts: 1731 Location: Cedar Bluff, VA
|
Posted: Tue Oct 04, 2005 12:13 am Post subject: |
[quote] |
|
Or it would mean both, which would be the best solution.
|
|
Back to top |
|
|
RuneLancer Mage
Joined: 17 Jun 2005 Posts: 441
|
Posted: Tue Oct 04, 2005 12:45 am Post subject: |
[quote] |
|
LordGalbalan wrote: | Or it would mean both, which would be the best solution. |
So... having less control over the produced executable and straying from the original language would be better? _________________ Endless Saga
An OpenGL RPG in the making. Now with new hosting!
|
|
Back to top |
|
|
tcaudilllg Dragonmaster
Joined: 20 Jun 2002 Posts: 1731 Location: Cedar Bluff, VA
|
Posted: Tue Oct 04, 2005 12:53 am Post subject: |
[quote] |
|
Yeah. At the points where it was necessary. For example, you need to do a lot of bank switching crap for the SNES, right? (for the NES that was true, at least) That stuff would need to be prefixed to the start of the executable. Sound samples must be loaded from ROM, so a function specific to that need would make sense. (hence LSOUND) PLAY could be re-engineered as well to organize samples into music playback. A file system doesn't exist on the SNES, so it would have to be replaced with ROM addresses.
|
|
Back to top |
|
|
RuneLancer Mage
Joined: 17 Jun 2005 Posts: 441
|
Posted: Tue Oct 04, 2005 1:09 am Post subject: |
[quote] |
|
Wasn't the whole point to compile FB to 65816? :) _________________ Endless Saga
An OpenGL RPG in the making. Now with new hosting!
|
|
Back to top |
|
|
tcaudilllg Dragonmaster
Joined: 20 Jun 2002 Posts: 1731 Location: Cedar Bluff, VA
|
Posted: Tue Oct 04, 2005 9:05 pm Post subject: |
[quote] |
|
No because it doesn't directly. Of course you would have to make the changes. That's why you think about what works and what doesn't, and realize what changes need to be made, and make them in a way that is most accessible to most people's psychology.
|
|
Back to top |
|
|
janus Mage
Joined: 29 Jun 2002 Posts: 464 Location: Issaquah, WA
|
Posted: Wed Oct 05, 2005 2:44 am Post subject: |
[quote] |
|
LordGalbalan wrote: | No because it doesn't directly. Of course you would have to make the changes. That's why you think about what works and what doesn't, and realize what changes need to be made, and make them in a way that is most accessible to most people's psychology. | Or you could just break down the problem into manageable pieces, write tests for each problem, code until all the tests work, and be done.
I guess you could spend 3 years analyzing what's acceptable to people's psychology, too. Most people seem to prefer writing software that works, though.
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|