Page 1 of 2

Posted: Fri Jan 24, 2003 10:33 am
by BackupUser
Restored from previous forum. Originally posted by Jimbo_H.

Hi,

Sorry, I'm going over ground I and a number of others have covered here, but I'm frustrated and need to vent a bit of steam :cry:

Well, I've had PB for a few weeks now and what have I achieved? Nothing.

After using Blitz for a couple of hours, and reading through the many newbie oriented step by step tutorials, I was starting to get a feel for the way it worked. Very easy, very rewarding. It was like the good old days of easy coding in AMOS. Ok, not too powerful, but very simple and fun. However, I wanted more than just a games platform, and eventually found PB.

PB looks like a good language, the docs cover the important stuff (as long as you already have some knowledge!) and there seems to be plenty of enthusiasm from users. But, I'm getting nowhere with it because it's just not for beginners. I've found PB an excercise in frustration so far as there is nothing out there for people like me. To make any progress I need to be walked very slowly through different aspects of coding in PB.

Ok, there are a number of source code examples to look at, but they are of limited value for lots of reasons...
a. Because you see someone else's programming style, which may not be the best way of doing something.
b. If you don't grasp one small part of someone's example code, the rest of their program doesn't make sense and you learn nothing.
c. The commenting often only tells you what some command is, not why it's being used and how it fits in context with the rest.
d. Source code examples are no substitute for tutorials.
e. There aren't enough simple code examples as in Blitz Basic.

Let's say, for example, I wanted to write a simple program to convert between several currencies. All I'd have to begin with is an idea and the PB docs. They are of no real use because they don't tell me how to go about creating the project. Yes, I can easily create the forms in one of the 3rd party programs and import the code into PB, but what then? I'd be completely lost.

I keep coming back to the Blitz resources in my mind. If I'm stuck, I go to one of the websites and find a tutorial. It takes me through the why's and wherefores of what commands are used in what context and why. They tell me how a command fits in with the rest of a small program and what results you can expect by using it.

Why don't I stop moaning in here and go back to Blitz? Because Blitz is no good for anything but games and I really believe PB has more potential for beginners to learn real apps programming than is being exploited.

I'm afraid PB will be removed from my HD soon as there is just not enough help for obviously thick people like myself who cannot seem to grasp the basic concepts from reading the supplied docs. It's very disappointing as I started out with lots of what I thought were simple ideas but quickly ground to a halt after failing to understand the documentation.

I'll shut up now as this is the second time I've had a moan in the forums and don't want to increase my reputation as a pain in the backside or troll.

Regards,
Jim.


AMD AthlonXP 1500, 512Mb DDR, 60Gb HDD, GeForce 4 Ti4600, Win2k.

Posted: Fri Jan 24, 2003 11:05 am
by BackupUser
Restored from previous forum. Originally posted by fred.

The real problem is I'm no more a beginner and therefore I'm not good at writing tutorial or a beginner example. All seems very obvious to me and I can't see anymore what can be hard to understand. It's probably a big problem and I don't see an easy solution to your problem. For me, all the sources provided in the Examples/Sources/ directory are easy to read and to follow and you should be able to build at least little apps from them. Else, why not try to write a tutorial for the app you want to do and we could help on this forum. Would be a great start.

Fred - AlphaSND

Posted: Fri Jan 24, 2003 11:12 am
by BackupUser
Restored from previous forum. Originally posted by Jon.

Yeah I remember Amos :) also Blitz on the amiga. I thought I'd give programming on the PC a go after _MANY_ years of no programming whatsoever and thought I'd dip my toes in with a basic. I was going to buy Blitz but it didn't seem to be too good with the simple Windows Apps and since I was only going to hack around writing small tools for my self I thought PB looked promising.

SO I bought PB (After sussing it out in the demos etc.) and then I thought Ooooeeer **** this is harder than I thought! Crap nothing works right! Ok ,Ok I thought... I am just thick or retarded? Right! Wrong....

I have been fiddling and compiling and reading on these forums (like _LOTS_ dude, I started at the first post and worked my way to present, saving all relevant snippets in treepad (cool wee app)) Anyhoo It's been a coupla months and now I can actually kludge a few programs together here and there :) (BUT STILL NO WEBCAM IN A BLOODY WINDOW!!!!!!!!!)

Well hell it's like after midnight and I've been up at work since 5:00am ish and I am probably talking a load of twaddle........................

L8r......

Posted: Fri Jan 24, 2003 11:22 am
by BackupUser
Restored from previous forum. Originally posted by Jon.

Yo, FRED! Cool language mate. Um as a newbie one of my problems is figuring out how to use all the tags(?)....... um here's an example

GetWindowLong_(WindowID(),#GWL_EXSTYLE)!#WS_EX_TOOLWINDOW)

. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Like I understand how to use them, but where do I get some documentation that _CLEARLY_ tells me what they all do?

Geez I am soooooooo tired. L8r.

Posted: Fri Jan 24, 2003 12:50 pm
by BackupUser
Restored from previous forum. Originally posted by freak.

Jon, what you talk about are Windows API calls. These are Functions provided by Windows DLLs.
There is no PB documentation about them because these are no PB commands.

You can get a documentation here:
http://www.mvps.org/vb/code/Win32api.zip

There is also a Documentation by Microsoft which is more compleete than the other one: (but 300MB)
http://www.microsoft.com/msdownload/pla ... sdkupdate/

We can't explain all these commands here as there are several thousands of them. But for some of them there are some Posts in the Tips/Tricks Section.

You should also check out the Tutorials Section of the Recource Site. ArtSentinel has written some nice WinAPI tutorials there:

http://www.reelmediaproductions.com/pb/tutorials.html

Hope that helps a bit...

Timo

Posted: Fri Jan 24, 2003 12:51 pm
by BackupUser
Restored from previous forum. Originally posted by geoff.

I think the best thing bundled with PB are examples. In my
opinion an example is the easiest way to show someone how to
do something even if they don't fully understand the underlying
reasons.

For example, in the Windows API you have to select objects into
device contexts before you can use them. What exactly does this mean?
Well, for most people, you don't need to know what data structures
this operation creates, you just need to know that you have to
do this, for example with a PEN before you can draw with it.

So with Purebasic you might ask "why do I need StartDrawing() and
StopDrawing()". Again, for most people, the best answer is "You
just do".

The examples are excellent, you load one and it works. Then you
modify it to do what you want, all the while checking that your
changes don't cause problems. What could be easier?

I agree with the comments that PureBasic's Forté should be the easy
creation of non-games applications. Of course, PureBasic can be good
at games too. But since that area is already well served by other
languages it would make sense for a bug-free core language to take
priority. For that to be PureBasic's market niche.

At the end of the day, it's up to Fred. It's his language.

Fred already knows what I think. That the language contains too many
complicated functions like linked lists which aren't really necessary
while it still lacks simple functions like loop exit, modulus and
double floats. I see these as core elements that greatly restrict
application of the language.

And while I am in criticise mode, another irritation to me is the
number of messages on this forum describing how the Windows API
can be used to do things that can be done perfectly well in PureBasic.


If you want to do everything in the API why not program in C?

Surely we should use the PureBasic functions where we can and
produce portable code that will not become obsolete overnight
at the whim of those guys in Redmond?

Posted: Fri Jan 24, 2003 1:38 pm
by BackupUser
Restored from previous forum. Originally posted by Danilo.

> Fred already knows what I think. That the language contains too many
> complicated functions like linked lists which aren't really necessary

Hey hey hey !! :)

Linked Lists are necessary and can be useful for
everything. I use them everywhere and many other
people use it too.
What for 1 person is too complicated can be very
useful for other people.

> And while I am in criticise mode, another irritation to me is the
> number of messages on this forum describing how the Windows API
> can be used to do things that can be done perfectly well in PureBasic.

1.) many things cant be done with PB
2.) some people here want to learn WinAPI, so they use it where they can

Generally i have the feeling that most API here
is only used if requested or if its not possible with PB.

> If you want to do everything in the API why not program in C?

Its the same reversed for you: "Why dont you program in Delphi ?"
(yep, such comments are senseless)

Other BASIC's like PowerBasic can also be used for WinAPI
programming. PureBasic allows this too, so users can use it.
If you dont know WinAPI you still cant forbid anyone to use it.
If PB wouldnt allow any WinAPI stuff it wouldnt be very useful
for some people and some people wouldnt have bought PB.

Hope you understand what i mean... dont get it wrong.

cya,
...Danilo
(registered PureBasic user)

Posted: Fri Jan 24, 2003 2:21 pm
by BackupUser
Restored from previous forum. Originally posted by Henrik.

Hi
I don't think that Jimbo care much about winapi at all, i got the feeling
that he bought Purebasic so that he could learn how to program using PB commands first.

i made a search for "hi" using Jimbo's name to see what he have asked for.

first off all you can't compare Blitz to Pure since blitz don't allow you
to make windows appilications like pure does, Yor can compare Biliz to the
3d engine in Pure (Soon) Or BlitzMax(dose'nt exist yet) to pure.

But You want to make a windows App. and there is a few more steps to that.
Looking at your post, i get the feeling that you have looked at some code snippets
Showing how to do a certain thing, and you didn't know what to do with it?
"Like cant implement that in the progarm you want to do."

The first step off making a program is to have some idea off how you want the user
to use your program.
Thats how should my program represent it self to the user.

So first off al you need to know/understand how to create windows and using the diffrent gadgets.
And when you have a pretty good feeling about this, this part off the code won't confuse you anymore.
Then you can use stuff like purevision to make life easyer for you.

If that's the case i guess you want tutorials in thise kind off stepps

Totuial 1. Create Windows using gadgets and manipulate them

Tutoial 2. make something useful with the windows you made, simpel calculations and stuff.

and so on.

Is that right? or am i way off here?

I really think need a site like BlitzCoder for PureNewbe's.


Cya.
Henrik

Posted: Fri Jan 24, 2003 2:35 pm
by BackupUser
Restored from previous forum. Originally posted by vanleth.

geoff:
> Fred already knows what I think. That the language contains too many
> complicated functions like linked lists which aren't really necessary

My thoughts would fall apart without Linked Lists :)

To PB Newcomers:
Fred has a point in his post. Do a Work In Progress post for something you like to make in PB. I find many of the peoble on this forum very helpfull and patient with us newcomers.

Kind Regards
Van

Posted: Fri Jan 24, 2003 2:36 pm
by BackupUser
Restored from previous forum. Originally posted by Justin.

i agree with Jimbo , PB is not for beginers.

i have some programming background and i found more problems than expected when i started , i understand a begginer can give up quickly.

in my opinion the problem cames from the help files because PB syntax is the easiest and most logical of the basic languages i've seen.

let's take the messagerequester function , the help files don't tell you the return value, you have to guess it. not very professional.

it's just an example i could tell more. basically they need to be redone , and maybe more examples. they should follow a template: description, parameters , return values, etc.. like all serious languages. just my opinion.

Posted: Fri Jan 24, 2003 3:07 pm
by BackupUser
Restored from previous forum. Originally posted by blueb.

I agree Justin.

I wrote a small Demo program called PureDemo and placed it on the Reelmedia site http://www.reelmediaproductions.com/pb/ ... redemo.zip
Note: unzip in your PureBasic directory!

I did this because I wanted new users to easily view and paste new code samples from this forum into their directories for later viewing/testing. It turns out that it's not too bad at being a 'Code Librarian' for PB files.

If someone would create a template like you suggest, I wouldn't mind contributing some time to help. I think it's important that beginners start off on the right foot. If they leave PB, there will be no experts in the future.

Regards,
--blueb

Posted: Fri Jan 24, 2003 3:15 pm
by BackupUser
Restored from previous forum. Originally posted by Starax.

Please take this post as a compliment Fred.

Here goes:

I'd have to agree with the guys having problems, I'm a pretty experienced programmer in assembly and basic, but when I bought Purebasic I quickly found myself becoming frustrated at how hard it was to do simple things. I was having to use API calls which I feel is a bit of a let down because I think API calls are for C programmers. I can appreciate that Fred can't be expected to add every possible function to Purebasic, but I do think the 'Basic' functions should be available. If I was Fred I would slow down on adding 3D commands and have a go at making some simple applications like a notepad or Paint program from scratch and then he may start to see the problems that beginners are having.

Fred, I do understand that you want to compete with Blitz3D and Powerbasic, but at the moment I think you are overstreching yourself and you have a compiler that isn't really competing with either of them.

The best options so far are:

Blitz3D for games.
Powerbasic for applications.


Fred, please don't take this post badly. There are lots of compilers out there that aren't very good and I wouldn't even consider posting a message on their forums because they aren't worth the effort. I think Purebasic has the potential to be the best compiler ever made, this is why I am slightly frustrated.


Also, I think alot of the problems come from the fact that you have features in Purebasic that aren't mentioned in the documention. Like #PB_String_Multiline for example.

Another thing that newbies will be having a hard time with is the event handling code, it is very strange to see event handling routines when you are used to programming on a non-multitasking systems. These people expect shopping-list type programs where the instructions at the start of the program are executed first. In Event handling code it isn't obvious where the program starts and finishes.

Because of today's multitasking computers I think that Basic will never be as easy to learn as it was in the old days.

Example:

10 Print "Hello"
20 Goto 10

They don't write em like that anymore. :)

In the old days you could type one line into a compiler and hit the 'Run key' and have a result.

Print "Hello world"
> "Hello world"

Simple!

Try this on Purebasic and the compiler will shout at you. :(


To end on a positive note:

Fred you are a number one guy. You're always posting on the forum and I haven't seen you lose your temper once. It must be so tempting to say:- 'F**K YOU ALL, YOU MISERABLE C*NTS' :)

SO GO ON FRED, GIVE THAT MARK SIBLY A RUN FOR HIS MONEY, BUT FINISH KICKING THE CRAP OUT OF THAT POWERBASIC DUDE FIRST!!!

YOU CAN DO IT!!!

Posted: Fri Jan 24, 2003 3:19 pm
by BackupUser
Restored from previous forum. Originally posted by Andre.
they should follow a template: description, parameters , return values, etc.. like all serious languages.
Yes, Justin. Well done description with all parameters and return values should be included in the reference manual. Best example it the description of "Linked List" commands, reworked by Tinman for last release. :)

Regards
André

*** German PureBasic Support ***

Posted: Fri Jan 24, 2003 3:20 pm
by BackupUser
Restored from previous forum. Originally posted by Berikco.
Originally posted by geoff
Fred already knows what I think. That the language contains too many
complicated functions like linked lists which aren't really necessary
:) Uups...what would i do without Linked Lists...lost forever :)

I use them for about everything, coding my app's would be much more difficult without Linked Lists.
Don't be afraid from the unknown :)


Regards,

Berikco

http://www.benny.zeb.be/purebasic.htm

Posted: Fri Jan 24, 2003 3:42 pm
by BackupUser
Restored from previous forum. Originally posted by geoff.

I agree with many of the comments which resulted from my rather
provocative rant. However, I think you all missed my point about
linked lists.

I am not saying linked lists aren't useful. I'm saying that they
are easily programmed in the high level language, they don't need
to be part of the language. Indeed there are advantages in
programming this stuff yourself. You have greater control over
list ordering, processing of the freelist and fixing broken links.

In any case, this is not the point. We must have the basic core
language working reliable before we even consider adding the
more complicated stuff. For example, if you can't do accurate maths,
the language has very limited application.

With regard to APIs I stand my ground. The PureBasic Forum should
ONLY encourage the use of the APIs when PureBasic can't
be used to do the job. We should be helping each other to do the
job in the simplest way possible, not showing off the breadth of our
knowledge of the bloated Windows API.

In addition, portability is very important. I moved lots of software
from the Atari ST to a PC, different hardware and different OS, but
I did this easily because I used the same high level language.
Insist on using APIs and you are throwing yourselves under the tracks
of the Redmond battletank.